@strapi/admin 5.0.0-alpha.5 → 5.0.0-alpha.7

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-5S4b9ytt.js} +4 -4
  2. package/dist/admin/{AdminSeatInfo-_XP-L7m2.js.map → AdminSeatInfo-5S4b9ytt.js.map} +1 -1
  3. package/dist/admin/{AdminSeatInfo-CcqY0G1v.mjs → AdminSeatInfo-A6gxA301.mjs} +4 -4
  4. package/dist/admin/{AdminSeatInfo-CcqY0G1v.mjs.map → AdminSeatInfo-A6gxA301.mjs.map} +1 -1
  5. package/dist/admin/{ApplicationInfoPage-dcW27-S0.js → ApplicationInfoPage-Fxy6RARu.js} +5 -5
  6. package/dist/admin/{ApplicationInfoPage-dcW27-S0.js.map → ApplicationInfoPage-Fxy6RARu.js.map} +1 -1
  7. package/dist/admin/{ApplicationInfoPage-RZ5VPA_M.mjs → ApplicationInfoPage-SaBco4KU.mjs} +5 -5
  8. package/dist/admin/{ApplicationInfoPage-RZ5VPA_M.mjs.map → ApplicationInfoPage-SaBco4KU.mjs.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-Iyagtqob.mjs} +17 -17
  14. package/dist/admin/{AuthenticatedLayout-a3vBuls_.mjs.map → AuthenticatedLayout-Iyagtqob.mjs.map} +1 -1
  15. package/dist/admin/{AuthenticatedLayout-hl04NCFE.js → AuthenticatedLayout-tRi16L9c.js} +17 -17
  16. package/dist/admin/{AuthenticatedLayout-hl04NCFE.js.map → AuthenticatedLayout-tRi16L9c.js.map} +1 -1
  17. package/dist/admin/{ComponentConfigurationPage-bbpuW93V.mjs → ComponentConfigurationPage-6CnnkE6E.mjs} +4 -4
  18. package/dist/admin/{ComponentConfigurationPage-bbpuW93V.mjs.map → ComponentConfigurationPage-6CnnkE6E.mjs.map} +1 -1
  19. package/dist/admin/{ComponentConfigurationPage-hNHSQ40m.js → ComponentConfigurationPage-LpuZH_80.js} +4 -4
  20. package/dist/admin/{ComponentConfigurationPage-hNHSQ40m.js.map → ComponentConfigurationPage-LpuZH_80.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-9-R9hmOH.js} +2 -2
  24. package/dist/admin/{CreateActionEE-3ppNGqrP.js.map → CreateActionEE-9-R9hmOH.js.map} +1 -1
  25. package/dist/admin/{CreateActionEE-zqa6Hnzk.mjs → CreateActionEE-fPOnLJuM.mjs} +2 -2
  26. package/dist/admin/{CreateActionEE-zqa6Hnzk.mjs.map → CreateActionEE-fPOnLJuM.mjs.map} +1 -1
  27. package/dist/admin/{CreatePage-52sUoJpg.js → CreatePage-Fu_8X4K8.js} +4 -4
  28. package/dist/admin/{CreatePage-52sUoJpg.js.map → CreatePage-Fu_8X4K8.js.map} +1 -1
  29. package/dist/admin/{CreatePage-92_pj9pV.js → CreatePage-UjSB-dgp.js} +3 -3
  30. package/dist/admin/{CreatePage-92_pj9pV.js.map → CreatePage-UjSB-dgp.js.map} +1 -1
  31. package/dist/admin/{CreatePage-yBddklgC.js → CreatePage-ZPziliHk.js} +9 -9
  32. package/dist/admin/CreatePage-ZPziliHk.js.map +1 -0
  33. package/dist/admin/{CreatePage-99wXBVyY.mjs → CreatePage-couIKeZQ.mjs} +3 -3
  34. package/dist/admin/{CreatePage-99wXBVyY.mjs.map → CreatePage-couIKeZQ.mjs.map} +1 -1
  35. package/dist/admin/{CreatePage-oegPjlEc.mjs → CreatePage-k_yey8N_.mjs} +4 -4
  36. package/dist/admin/{CreatePage-oegPjlEc.mjs.map → CreatePage-k_yey8N_.mjs.map} +1 -1
  37. package/dist/admin/{CreatePage-5GygA62E.mjs → CreatePage-t0FqkFrZ.mjs} +9 -9
  38. package/dist/admin/CreatePage-t0FqkFrZ.mjs.map +1 -0
  39. package/dist/admin/{CreateView-Ic6HHrsX.mjs → CreateView-3rY4Zptu.mjs} +3 -3
  40. package/dist/admin/{CreateView-Ic6HHrsX.mjs.map → CreateView-3rY4Zptu.mjs.map} +1 -1
  41. package/dist/admin/{CreateView-nS-FdJkE.js → CreateView-41To--31.js} +3 -3
  42. package/dist/admin/{CreateView-nS-FdJkE.js.map → CreateView-41To--31.js.map} +1 -1
  43. package/dist/admin/{CreateView-vQmc3UBu.js → CreateView-Tg9Mh5T3.js} +3 -3
  44. package/dist/admin/{CreateView-vQmc3UBu.js.map → CreateView-Tg9Mh5T3.js.map} +1 -1
  45. package/dist/admin/{CreateView-4i8XqKqF.mjs → CreateView-ePHsDH45.mjs} +3 -3
  46. package/dist/admin/{CreateView-4i8XqKqF.mjs.map → CreateView-ePHsDH45.mjs.map} +1 -1
  47. package/dist/admin/{EditConfigurationPage-6doXCBmp.mjs → EditConfigurationPage-msmjy1KU.mjs} +4 -4
  48. package/dist/admin/{EditConfigurationPage-6doXCBmp.mjs.map → EditConfigurationPage-msmjy1KU.mjs.map} +1 -1
  49. package/dist/admin/{EditConfigurationPage-lpPR7rS-.js → EditConfigurationPage-xUIWyyB3.js} +4 -4
  50. package/dist/admin/{EditConfigurationPage-lpPR7rS-.js.map → EditConfigurationPage-xUIWyyB3.js.map} +1 -1
  51. package/dist/admin/{EditPage-WEpVsF5C.js → EditPage--MbF06mK.js} +6 -6
  52. package/dist/admin/EditPage--MbF06mK.js.map +1 -0
  53. package/dist/admin/{EditPage-LUNpO2Hs.mjs → EditPage-3SBMJVop.mjs} +9 -9
  54. package/dist/admin/{EditPage-LUNpO2Hs.mjs.map → EditPage-3SBMJVop.mjs.map} +1 -1
  55. package/dist/admin/{EditPage-d7F-x_Y0.js → EditPage-GG3uO1tK.js} +5 -5
  56. package/dist/admin/{EditPage-d7F-x_Y0.js.map → EditPage-GG3uO1tK.js.map} +1 -1
  57. package/dist/admin/{EditPage-foeIMKkr.mjs → EditPage-KuoEv50O.mjs} +6 -6
  58. package/dist/admin/EditPage-KuoEv50O.mjs.map +1 -0
  59. package/dist/admin/{EditPage-4n8-yx0o.mjs → EditPage-SySHhxVT.mjs} +8 -8
  60. package/dist/admin/{EditPage-4n8-yx0o.mjs.map → EditPage-SySHhxVT.mjs.map} +1 -1
  61. package/dist/admin/{EditPage-qKcSRKvg.js → EditPage-ZB_Kwtk6.js} +9 -9
  62. package/dist/admin/{EditPage-qKcSRKvg.js.map → EditPage-ZB_Kwtk6.js.map} +1 -1
  63. package/dist/admin/{EditPage-YN3E4YNP.mjs → EditPage-cCyAao8t.mjs} +5 -5
  64. package/dist/admin/{EditPage-YN3E4YNP.mjs.map → EditPage-cCyAao8t.mjs.map} +1 -1
  65. package/dist/admin/{EditPage-Id--0zN8.js → EditPage-qUg5s7MV.js} +8 -8
  66. package/dist/admin/{EditPage-Id--0zN8.js.map → EditPage-qUg5s7MV.js.map} +1 -1
  67. package/dist/admin/{EditView-awLo_z9u.js → EditView-NPoSYint.js} +4 -4
  68. package/dist/admin/{EditView-awLo_z9u.js.map → EditView-NPoSYint.js.map} +1 -1
  69. package/dist/admin/{EditView-GXGcvgNt.mjs → EditView-uTB8aFye.mjs} +4 -4
  70. package/dist/admin/{EditView-GXGcvgNt.mjs.map → EditView-uTB8aFye.mjs.map} +1 -1
  71. package/dist/admin/{EditViewPage-QWb2DMRg.mjs → EditViewPage-8eo8XEp-.mjs} +4 -4
  72. package/dist/admin/{EditViewPage-QWb2DMRg.mjs.map → EditViewPage-8eo8XEp-.mjs.map} +1 -1
  73. package/dist/admin/{EditViewPage-1NY3YGcc.mjs → EditViewPage-GUkP1rzn.mjs} +6 -6
  74. package/dist/admin/{EditViewPage-1NY3YGcc.mjs.map → EditViewPage-GUkP1rzn.mjs.map} +1 -1
  75. package/dist/admin/{EditViewPage-1ZxYkrZ9.js → EditViewPage-K7ytzy_P.js} +4 -4
  76. package/dist/admin/{EditViewPage-1ZxYkrZ9.js.map → EditViewPage-K7ytzy_P.js.map} +1 -1
  77. package/dist/admin/{EditViewPage-cZsfhXI4.js → EditViewPage-aIpRJ8vJ.js} +6 -6
  78. package/dist/admin/{EditViewPage-cZsfhXI4.js.map → EditViewPage-aIpRJ8vJ.js.map} +1 -1
  79. package/dist/admin/{EventsTable-3Mp9Iad-.js → EventsTable-LHOhvL6b.js} +2 -2
  80. package/dist/admin/{EventsTable-3Mp9Iad-.js.map → EventsTable-LHOhvL6b.js.map} +1 -1
  81. package/dist/admin/{EventsTable-Iv41t-aJ.mjs → EventsTable-miLAex8G.mjs} +2 -2
  82. package/dist/admin/{EventsTable-Iv41t-aJ.mjs.map → EventsTable-miLAex8G.mjs.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-Jm3DRgjx.mjs → Filters-NuK9aAYl.mjs} +4 -4
  88. package/dist/admin/Filters-NuK9aAYl.mjs.map +1 -0
  89. package/dist/admin/{Filters-l2eZFcAk.js → Filters-dwU8wA6T.js} +4 -4
  90. package/dist/admin/Filters-dwU8wA6T.js.map +1 -0
  91. package/dist/admin/{Form-V8XluZgD.js → Form-QoOkjEjV.js} +5 -5
  92. package/dist/admin/Form-QoOkjEjV.js.map +1 -0
  93. package/dist/admin/{Form-f20Ab8pl.mjs → Form-y8gH26Xy.mjs} +5 -5
  94. package/dist/admin/Form-y8gH26Xy.mjs.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-Zoe67a6N.js → HomePage-33ElW8Xc.js} +3 -3
  100. package/dist/admin/{HomePage-Zoe67a6N.js.map → HomePage-33ElW8Xc.js.map} +1 -1
  101. package/dist/admin/{HomePage-Mt5yKmaK.mjs → HomePage-89WRumlX.mjs} +5 -5
  102. package/dist/admin/{HomePage-Mt5yKmaK.mjs.map → HomePage-89WRumlX.mjs.map} +1 -1
  103. package/dist/admin/{HomePage-PNJzW3TF.mjs → HomePage-K72cOtYS.mjs} +3 -3
  104. package/dist/admin/{HomePage-PNJzW3TF.mjs.map → HomePage-K72cOtYS.mjs.map} +1 -1
  105. package/dist/admin/{HomePage-HylT9MsA.js → HomePage-qj5mNY6J.js} +5 -5
  106. package/dist/admin/{HomePage-HylT9MsA.js.map → HomePage-qj5mNY6J.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-JxGSf9_Y.mjs} +3 -3
  116. package/dist/admin/{Layout-yOQ2mhrf.mjs.map → Layout-JxGSf9_Y.mjs.map} +1 -1
  117. package/dist/admin/{Layout-0VrIQ4NX.js → Layout-T0g-F0J1.js} +3 -3
  118. package/dist/admin/{Layout-0VrIQ4NX.js.map → Layout-T0g-F0J1.js.map} +1 -1
  119. package/dist/admin/{Layout-y3dNAJVd.mjs → Layout-u3VVVTce.mjs} +5 -5
  120. package/dist/admin/{Layout-y3dNAJVd.mjs.map → Layout-u3VVVTce.mjs.map} +1 -1
  121. package/dist/admin/{Layout-8VTNG14A.js → Layout-v-mkhXKv.js} +5 -5
  122. package/dist/admin/{Layout-8VTNG14A.js.map → Layout-v-mkhXKv.js.map} +1 -1
  123. package/dist/admin/{ListConfigurationPage-9EnV4loI.js → ListConfigurationPage-MwlySSVK.js} +5 -5
  124. package/dist/admin/{ListConfigurationPage-9EnV4loI.js.map → ListConfigurationPage-MwlySSVK.js.map} +1 -1
  125. package/dist/admin/{ListConfigurationPage-duFCwpIH.mjs → ListConfigurationPage-bltmUKBT.mjs} +5 -5
  126. package/dist/admin/{ListConfigurationPage-duFCwpIH.mjs.map → ListConfigurationPage-bltmUKBT.mjs.map} +1 -1
  127. package/dist/admin/{ListPage-Cq-wLIdK.mjs → ListPage-6TwMzZ42.mjs} +5 -5
  128. package/dist/admin/{ListPage-Cq-wLIdK.mjs.map → ListPage-6TwMzZ42.mjs.map} +1 -1
  129. package/dist/admin/{ListPage-2i4GNvMp.js → ListPage-L-_ih7Hh.js} +5 -5
  130. package/dist/admin/{ListPage-2i4GNvMp.js.map → ListPage-L-_ih7Hh.js.map} +1 -1
  131. package/dist/admin/{ListPage-Z663tCxD.mjs → ListPage-QKnSioEM.mjs} +9 -9
  132. package/dist/admin/ListPage-QKnSioEM.mjs.map +1 -0
  133. package/dist/admin/{ListPage-EmtzWMVt.js → ListPage-VNJqXKYM.js} +3 -3
  134. package/dist/admin/{ListPage-EmtzWMVt.js.map → ListPage-VNJqXKYM.js.map} +1 -1
  135. package/dist/admin/{ListPage-v1vvnXr3.mjs → ListPage-cB1S2S4t.mjs} +4 -4
  136. package/dist/admin/{ListPage-v1vvnXr3.mjs.map → ListPage-cB1S2S4t.mjs.map} +1 -1
  137. package/dist/admin/{ListPage-hxaNrHLd.mjs → ListPage-ea3ZLj4B.mjs} +3 -3
  138. package/dist/admin/{ListPage-hxaNrHLd.mjs.map → ListPage-ea3ZLj4B.mjs.map} +1 -1
  139. package/dist/admin/{ListPage-ICxXUAUL.js → ListPage-jUKAQtpH.js} +5 -5
  140. package/dist/admin/{ListPage-ICxXUAUL.js.map → ListPage-jUKAQtpH.js.map} +1 -1
  141. package/dist/admin/{ListPage-gP4TzJZw.js → ListPage-nvhOIoAg.js} +9 -9
  142. package/dist/admin/ListPage-nvhOIoAg.js.map +1 -0
  143. package/dist/admin/{ListPage-wpMBvGVG.mjs → ListPage-pP9hYRl0.mjs} +5 -5
  144. package/dist/admin/{ListPage-wpMBvGVG.mjs.map → ListPage-pP9hYRl0.mjs.map} +1 -1
  145. package/dist/admin/{ListPage-v6SUIF_T.js → ListPage-t2yAStC4.js} +7 -6
  146. package/dist/admin/ListPage-t2yAStC4.js.map +1 -0
  147. package/dist/admin/{ListPage-0jv2yLPQ.mjs → ListPage-tR89wtOV.mjs} +8 -7
  148. package/dist/admin/ListPage-tR89wtOV.mjs.map +1 -0
  149. package/dist/admin/{ListPage-i77Lk7qj.js → ListPage-zMNnrnTB.js} +4 -4
  150. package/dist/admin/{ListPage-i77Lk7qj.js.map → ListPage-zMNnrnTB.js.map} +1 -1
  151. package/dist/admin/{ListView-IqhnTHjC.js → ListView-I9Hfj5vj.js} +4 -4
  152. package/dist/admin/ListView-I9Hfj5vj.js.map +1 -0
  153. package/dist/admin/{ListView-A1dYCFAI.mjs → ListView-MbnmLD5H.mjs} +4 -4
  154. package/dist/admin/ListView-MbnmLD5H.mjs.map +1 -0
  155. package/dist/admin/{ListView-4givZ4Eb.mjs → ListView-TAmGuKTG.mjs} +4 -4
  156. package/dist/admin/ListView-TAmGuKTG.mjs.map +1 -0
  157. package/dist/admin/{ListView-NPtyW54W.js → ListView-mCiRJwrY.js} +4 -4
  158. package/dist/admin/ListView-mCiRJwrY.js.map +1 -0
  159. package/dist/admin/{ListViewPage-rkQXnquk.mjs → ListViewPage-J4KUAgai.mjs} +9 -9
  160. package/dist/admin/ListViewPage-J4KUAgai.mjs.map +1 -0
  161. package/dist/admin/{ListViewPage-67EL6F80.js → ListViewPage-dluuhb-d.js} +9 -9
  162. package/dist/admin/ListViewPage-dluuhb-d.js.map +1 -0
  163. package/dist/admin/{Login-IanfGhcK.mjs → Login-eWkr5rD0.mjs} +3 -3
  164. package/dist/admin/{Login-IanfGhcK.mjs.map → Login-eWkr5rD0.mjs.map} +1 -1
  165. package/dist/admin/{Login-69DnR_WO.js → Login-xaRTR09T.js} +3 -3
  166. package/dist/admin/{Login-69DnR_WO.js.map → Login-xaRTR09T.js.map} +1 -1
  167. package/dist/admin/{MagicLinkEE-uUVMUi92.js → MagicLinkEE-DdAnlnbT.js} +3 -3
  168. package/dist/admin/{MagicLinkEE-uUVMUi92.js.map → MagicLinkEE-DdAnlnbT.js.map} +1 -1
  169. package/dist/admin/{MagicLinkEE-pA-tsFIv.mjs → MagicLinkEE-jSJRGswm.mjs} +3 -3
  170. package/dist/admin/{MagicLinkEE-pA-tsFIv.mjs.map → MagicLinkEE-jSJRGswm.mjs.map} +1 -1
  171. package/dist/admin/{MarketplacePage-io_-I4d2.js → MarketplacePage-7R9OXLe5.js} +3 -3
  172. package/dist/admin/{MarketplacePage-io_-I4d2.js.map → MarketplacePage-7R9OXLe5.js.map} +1 -1
  173. package/dist/admin/{MarketplacePage-FFt5PPmM.mjs → MarketplacePage-NuCSMXXA.mjs} +3 -3
  174. package/dist/admin/{MarketplacePage-FFt5PPmM.mjs.map → MarketplacePage-NuCSMXXA.mjs.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-fFjISpV-.mjs} +3 -3
  198. package/dist/admin/{ReviewWorkflowsColumn-m0_IsejA.mjs.map → ReviewWorkflowsColumn-fFjISpV-.mjs.map} +1 -1
  199. package/dist/admin/{ReviewWorkflowsColumn--7xdU3EE.js → ReviewWorkflowsColumn-woA2SXEC.js} +3 -3
  200. package/dist/admin/{ReviewWorkflowsColumn--7xdU3EE.js.map → ReviewWorkflowsColumn-woA2SXEC.js.map} +1 -1
  201. package/dist/admin/{SelectRoles-3rrUCBYq.js → SelectRoles-IagtXRkz.js} +4 -4
  202. package/dist/admin/{SelectRoles-3rrUCBYq.js.map → SelectRoles-IagtXRkz.js.map} +1 -1
  203. package/dist/admin/{SelectRoles-6zNSDXAX.mjs → SelectRoles-wkrG60gH.mjs} +4 -4
  204. package/dist/admin/{SelectRoles-6zNSDXAX.mjs.map → SelectRoles-wkrG60gH.mjs.map} +1 -1
  205. package/dist/admin/{SingleSignOnPage-7AQ0D0BD.mjs → SingleSignOnPage-EnR7TNHn.mjs} +3 -3
  206. package/dist/admin/{SingleSignOnPage-7AQ0D0BD.mjs.map → SingleSignOnPage-EnR7TNHn.mjs.map} +1 -1
  207. package/dist/admin/{SingleSignOnPage-yqv1ULMO.js → SingleSignOnPage-QtJcKvz1.js} +3 -3
  208. package/dist/admin/{SingleSignOnPage-yqv1ULMO.js.map → SingleSignOnPage-QtJcKvz1.js.map} +1 -1
  209. package/dist/admin/{Table-hIWrkIyR.mjs → Table--Lb2Jk8K.mjs} +4 -4
  210. package/dist/admin/Table--Lb2Jk8K.mjs.map +1 -0
  211. package/dist/admin/{Table-9qwpBhgp.js → Table-EGrwI1DE.js} +4 -4
  212. package/dist/admin/Table-EGrwI1DE.js.map +1 -0
  213. package/dist/admin/{TokenTypeSelect-I0IiW8L9.mjs → TokenTypeSelect-Vsm3x9aT.mjs} +3 -3
  214. package/dist/admin/TokenTypeSelect-Vsm3x9aT.mjs.map +1 -0
  215. package/dist/admin/{TokenTypeSelect-O5IkOZVo.js → TokenTypeSelect-nSM_sCJb.js} +3 -3
  216. package/dist/admin/TokenTypeSelect-nSM_sCJb.js.map +1 -0
  217. package/dist/admin/{UseCasePage-BwOhufaK.mjs → UseCasePage-LDFlFUgh.mjs} +4 -4
  218. package/dist/admin/{UseCasePage-BwOhufaK.mjs.map → UseCasePage-LDFlFUgh.mjs.map} +1 -1
  219. package/dist/admin/{UseCasePage-vqdvr-uv.js → UseCasePage-lb8KTjmb.js} +4 -4
  220. package/dist/admin/{UseCasePage-vqdvr-uv.js.map → UseCasePage-lb8KTjmb.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--j5MCV5y.mjs → constants--6hi2sq7.mjs} +5 -5
  226. package/dist/admin/{constants--j5MCV5y.mjs.map → constants--6hi2sq7.mjs.map} +1 -1
  227. package/dist/admin/{constants-ZPElfE3j.mjs → constants--TURFsEh.mjs} +3 -3
  228. package/dist/admin/{constants-ZPElfE3j.mjs.map → constants--TURFsEh.mjs.map} +1 -1
  229. package/dist/admin/{constants-gHOCp7wo.js → constants-aUUP-q78.js} +5 -5
  230. package/dist/admin/{constants-gHOCp7wo.js.map → constants-aUUP-q78.js.map} +1 -1
  231. package/dist/admin/{constants-AAeFmxXA.js → constants-yG6U1h1n.js} +3 -3
  232. package/dist/admin/{constants-AAeFmxXA.js.map → constants-yG6U1h1n.js.map} +1 -1
  233. package/dist/admin/{index-dBY0pLkw.js → index-lSQdx61-.js} +67 -48
  234. package/dist/admin/index-lSQdx61-.js.map +1 -0
  235. package/dist/admin/{index-NzLAHRwx.mjs → index-oXhvt6Nv.mjs} +67 -48
  236. package/dist/admin/index-oXhvt6Nv.mjs.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-bTVTWj4N.mjs} +2 -2
  296. package/dist/admin/{useAdminRoles-PSfwOXiz.mjs.map → useAdminRoles-bTVTWj4N.mjs.map} +1 -1
  297. package/dist/admin/{useAdminRoles-eaHgHT8Y.js → useAdminRoles-efJpe2jv.js} +2 -2
  298. package/dist/admin/{useAdminRoles-eaHgHT8Y.js.map → useAdminRoles-efJpe2jv.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-4B6SglGc.mjs} +3 -3
  308. package/dist/admin/{useLicenseLimitNotification-kTCLbD6I.mjs.map → useLicenseLimitNotification-4B6SglGc.mjs.map} +1 -1
  309. package/dist/admin/{useLicenseLimitNotification-mOmwgQuN.js → useLicenseLimitNotification-lLyTIkNR.js} +3 -3
  310. package/dist/admin/{useLicenseLimitNotification-mOmwgQuN.js.map → useLicenseLimitNotification-lLyTIkNR.js.map} +1 -1
  311. package/dist/admin/{useReviewWorkflows-Ji_rsoyJ.mjs → useReviewWorkflows-1IXSO8ml.mjs} +2 -2
  312. package/dist/admin/{useReviewWorkflows-Ji_rsoyJ.mjs.map → useReviewWorkflows-1IXSO8ml.mjs.map} +1 -1
  313. package/dist/admin/{useReviewWorkflows-ZcRZstgn.js → useReviewWorkflows-KJq-ld3U.js} +2 -2
  314. package/dist/admin/{useReviewWorkflows-ZcRZstgn.js.map → useReviewWorkflows-KJq-ld3U.js.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-1RnC2GKb.js} +3 -3
  324. package/dist/admin/validateWorkflow-1RnC2GKb.js.map +1 -0
  325. package/dist/admin/{validateWorkflow-cwVWZu1s.mjs → validateWorkflow-BOHXHGsM.mjs} +3 -3
  326. package/dist/admin/validateWorkflow-BOHXHGsM.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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditPage--MbF06mK.js","sources":["../../admin/src/pages/Settings/pages/Webhooks/components/Events.tsx","../../admin/src/pages/Settings/pages/Webhooks/components/EventsTable.tsx","../../admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.tsx","../../admin/src/pages/Settings/pages/Webhooks/components/TriggerContainer.tsx","../../admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.tsx","../../admin/src/pages/Settings/pages/Webhooks/EditPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n BaseCheckbox,\n Checkbox,\n FieldLabel,\n Flex,\n RawTable as Table,\n RawTbody as Tbody,\n RawTd as Td,\n RawTh as Th,\n RawThead as Thead,\n RawTr as Tr,\n Typography,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { useFormikContext, FieldInputProps } from 'formik';\nimport { MessageDescriptor, useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\n/* -------------------------------------------------------------------------------------------------\n * EventsRoot\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EventsRootProps {\n children: React.ReactNode;\n}\n\nconst EventsRoot = ({ children }: EventsRootProps) => {\n const { formatMessage } = useIntl();\n\n const label = formatMessage({\n id: 'Settings.webhooks.form.events',\n defaultMessage: 'Events',\n });\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <FieldLabel aria-hidden>{label}</FieldLabel>\n <StyledTable aria-label={label}>{children}</StyledTable>\n </Flex>\n );\n};\n\n// TODO check whether we want to move alternating background colour tables to the design system\nconst StyledTable = styled(Table)`\n tbody tr:nth-child(odd) {\n background: ${({ theme }) => theme.colors.neutral100};\n }\n\n thead th span {\n color: ${({ theme }) => theme.colors.neutral500};\n }\n\n td,\n th {\n padding-block-start: ${({ theme }) => theme.spaces[3]};\n padding-block-end: ${({ theme }) => theme.spaces[3]};\n width: 10%;\n vertical-align: middle;\n text-align: center;\n }\n\n tbody tr td:first-child {\n /**\n * Add padding to the start of the first column to avoid the checkbox appearing\n * too close to the edge of the table\n */\n padding-inline-start: ${({ theme }) => theme.spaces[2]};\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * EventsHeaders\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EventsHeadersProps {\n getHeaders?: typeof getCEHeaders;\n}\n\nconst getCEHeaders = (): MessageDescriptor[] => {\n const headers = [\n { id: 'Settings.webhooks.events.create', defaultMessage: 'Create' },\n { id: 'Settings.webhooks.events.update', defaultMessage: 'Update' },\n { id: 'app.utils.delete', defaultMessage: 'Delete' },\n { id: 'app.utils.publish', defaultMessage: 'Publish' },\n { id: 'app.utils.unpublish', defaultMessage: 'Unpublish' },\n ];\n\n return headers;\n};\n\nconst EventsHeaders = ({ getHeaders = getCEHeaders }: EventsHeadersProps) => {\n const { formatMessage } = useIntl();\n const headers = getHeaders();\n\n return (\n <Thead>\n <Tr>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'Settings.webhooks.event.select',\n defaultMessage: 'Select event',\n })}\n </VisuallyHidden>\n </Th>\n {headers.map((header) => {\n if (['app.utils.publish', 'app.utils.unpublish'].includes(header?.id ?? '')) {\n return (\n <Th\n key={header.id}\n title={formatMessage({\n id: 'Settings.webhooks.event.publish-tooltip',\n defaultMessage: 'This event only exists for content with draft & publish enabled',\n })}\n >\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage(header)}\n </Typography>\n </Th>\n );\n }\n\n return (\n <Th key={header.id}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage(header)}\n </Typography>\n </Th>\n );\n })}\n </Tr>\n </Thead>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EventsBody\n * -----------------------------------------------------------------------------------------------*/\ninterface FormikContextValue {\n events: string[];\n}\n\ninterface EventsBodyProps {\n providedEvents?: Record<string, FormikContextValue['events']>;\n}\n\nconst EventsBody = ({ providedEvents }: EventsBodyProps) => {\n const events = providedEvents || getCEEvents();\n const { values, handleChange: onChange } = useFormikContext<FormikContextValue>();\n\n const inputName = 'events';\n const inputValue = values.events;\n const disabledEvents: string[] = [];\n\n const formattedValue = inputValue.reduce<Record<string, string[]>>((acc, curr) => {\n const key = curr.split('.')[0];\n\n if (!acc[key]) {\n acc[key] = [];\n }\n acc[key].push(curr);\n\n return acc;\n }, {});\n\n const handleSelect: React.ChangeEventHandler<HTMLInputElement> = ({\n target: { name, value },\n }) => {\n const set = new Set(inputValue);\n\n if (value) {\n set.add(name);\n } else {\n set.delete(name);\n }\n onChange({ target: { name: inputName, value: Array.from(set) } });\n };\n\n const handleSelectAll: React.ChangeEventHandler<HTMLInputElement> = ({\n target: { name, value },\n }) => {\n const set = new Set(inputValue);\n\n if (value) {\n events[name].forEach((event) => {\n if (!disabledEvents.includes(event)) {\n set.add(event);\n }\n });\n } else {\n events[name].forEach((event) => set.delete(event));\n }\n onChange({ target: { name: inputName, value: Array.from(set) } });\n };\n\n return (\n <Tbody>\n {Object.entries(events).map(([event, value]) => {\n return (\n <EventsRow\n disabledEvents={disabledEvents}\n key={event}\n name={event}\n events={value}\n inputValue={formattedValue[event]}\n handleSelect={handleSelect}\n handleSelectAll={handleSelectAll}\n />\n );\n })}\n </Tbody>\n );\n};\n\nconst getCEEvents = (): Required<Pick<EventsBodyProps, 'providedEvents'>>['providedEvents'] => {\n const entryEvents: FormikContextValue['events'] = [\n 'entry.create',\n 'entry.update',\n 'entry.delete',\n 'entry.publish',\n 'entry.unpublish',\n ];\n\n return {\n entry: entryEvents,\n media: ['media.create', 'media.update', 'media.delete'],\n };\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EventsRow\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EventsRowProps {\n disabledEvents?: string[];\n events?: string[];\n inputValue?: string[];\n handleSelect: FieldInputProps<string>['onChange'];\n handleSelectAll: FieldInputProps<string>['onChange'];\n name: string;\n}\n\nconst EventsRow = ({\n disabledEvents = [],\n name,\n events = [],\n inputValue = [],\n handleSelect,\n handleSelectAll,\n}: EventsRowProps) => {\n const { formatMessage } = useIntl();\n const enabledCheckboxes = events.filter((event) => !disabledEvents.includes(event));\n\n const hasSomeCheckboxSelected = inputValue.length > 0;\n const areAllCheckboxesSelected = inputValue.length === enabledCheckboxes.length;\n\n const onChangeAll: React.ChangeEventHandler<HTMLInputElement> = ({ target: { name } }) => {\n const valueToSet = !areAllCheckboxesSelected;\n\n handleSelectAll({\n target: { name, value: valueToSet },\n });\n };\n\n const targetColumns = 5;\n\n return (\n <Tr>\n <Td>\n <Checkbox\n indeterminate={hasSomeCheckboxSelected && !areAllCheckboxesSelected}\n aria-label={formatMessage({\n id: 'global.select-all-entries',\n defaultMessage: 'Select all entries',\n })}\n name={name}\n onChange={onChangeAll}\n value={areAllCheckboxesSelected}\n >\n {removeHyphensAndTitleCase(name)}\n </Checkbox>\n </Td>\n\n {events.map((event) => {\n return (\n <Td key={event}>\n <BaseCheckbox\n disabled={disabledEvents.includes(event)}\n aria-label={event}\n name={event}\n value={inputValue.includes(event)}\n onValueChange={(value) => handleSelect({ target: { name: event, value } })}\n />\n </Td>\n );\n })}\n {events.length < targetColumns && <Td colSpan={targetColumns - events.length} />}\n </Tr>\n );\n};\n\n/**\n * Converts a string to title case and removes hyphens.\n */\nconst removeHyphensAndTitleCase = (str: string): string =>\n str\n .replace(/-/g, ' ')\n .split(' ')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ');\n\nconst Events = { Root: EventsRoot, Headers: EventsHeaders, Body: EventsBody, Row: EventsRow };\n\nexport { Events };\nexport type { EventsRowProps, EventsHeadersProps, EventsRootProps, EventsBodyProps };\n","import { Events } from './Events';\n\nconst EventTableCE = () => {\n return (\n <Events.Root>\n <Events.Headers />\n <Events.Body />\n </Events.Root>\n );\n};\n\nexport { EventTableCE };\n","import * as React from 'react';\n\nimport {\n Box,\n FieldLabel,\n Flex,\n Grid,\n GridItem,\n TextButton,\n TextInput,\n ComboboxOption,\n CreatableCombobox,\n ComboboxProps,\n IconButton,\n} from '@strapi/design-system';\nimport { Minus, Plus } from '@strapi/icons';\nimport { Field, FieldArray, FieldInputProps, useFormikContext } from 'formik';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\n/* -------------------------------------------------------------------------------------------------\n * HeadersInput\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FormikContext {\n headers: Array<{ key: HTTPHeaders; value: string }>;\n}\n\nconst HeadersInput = () => {\n const { formatMessage } = useIntl();\n const { values, errors } = useFormikContext<FormikContext>();\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <FieldLabel>\n {formatMessage({\n id: 'Settings.webhooks.form.headers',\n defaultMessage: 'Headers',\n })}\n </FieldLabel>\n <Box padding={8} background=\"neutral100\" hasRadius>\n <FieldArray\n validateOnChange={false}\n name=\"headers\"\n render={({ push, remove }) => (\n <Grid gap={4}>\n {values.headers.map((header, index) => {\n const formikError = errors.headers?.[index];\n\n const comboboxError = typeof formikError === 'object' ? formikError.key : undefined;\n const textInputError =\n typeof formikError === 'object' ? formikError.value : undefined;\n\n return (\n <React.Fragment key={`${index}.${header.key}`}>\n <GridItem col={6}>\n <Field\n as={HeaderCombobox}\n name={`headers.${index}.key`}\n aria-label={`row ${index + 1} key`}\n label={formatMessage({\n id: 'Settings.webhooks.key',\n defaultMessage: 'Key',\n })}\n error={comboboxError}\n />\n </GridItem>\n <GridItem col={6}>\n <Flex alignItems=\"flex-end\">\n <Box style={{ flex: 1 }}>\n <Field\n as={TextInput}\n name={`headers.${index}.value`}\n aria-label={`row ${index + 1} value`}\n label={formatMessage({\n id: 'Settings.webhooks.value',\n defaultMessage: 'Value',\n })}\n error={textInputError}\n />\n </Box>\n <Flex\n paddingLeft={2}\n style={{ alignSelf: 'center' }}\n paddingTop={textInputError ? 0 : 5}\n >\n <StyledIconButton\n borderRadius={30 / 16}\n width={20 / 16}\n height={20 / 16}\n padding={3 / 16}\n alignItems=\"center\"\n justifyContent=\"center\"\n disabled={values.headers.length === 1}\n onClick={() => remove(index)}\n label={formatMessage(\n {\n id: 'Settings.webhooks.headers.remove',\n defaultMessage: 'Remove header row {number}',\n },\n { number: index + 1 }\n )}\n >\n <Minus />\n </StyledIconButton>\n </Flex>\n </Flex>\n </GridItem>\n </React.Fragment>\n );\n })}\n <GridItem col={12}>\n <TextButton\n type=\"button\"\n onClick={() => {\n push({ key: '', value: '' });\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: 'Settings.webhooks.create.header',\n defaultMessage: 'Create new header',\n })}\n </TextButton>\n </GridItem>\n </Grid>\n )}\n />\n </Box>\n </Flex>\n );\n};\n\nconst StyledIconButton = styled(IconButton)`\n svg {\n width: 0.5rem;\n rect {\n fill: ${(props) => props.theme.colors.primary600};\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * HeaderCombobox\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderComboboxProps\n extends FieldInputProps<string>,\n Required<Pick<ComboboxProps, 'label' | 'error'>> {}\n\nconst HeaderCombobox = ({ name, onChange, value, ...restProps }: HeaderComboboxProps) => {\n const {\n values: { headers },\n } = useFormikContext<FormikContext>();\n const [options, setOptions] = React.useState<HTTPHeaders[]>([...HTTP_HEADERS]);\n\n React.useEffect(() => {\n const headerOptions = HTTP_HEADERS.filter(\n (key) => !headers?.some((header) => header.key !== value && header.key === key)\n );\n\n setOptions(headerOptions);\n }, [headers, value]);\n\n const handleChange: ComboboxProps['onChange'] = (value) => {\n onChange({ target: { name, value } });\n };\n\n const handleCreateOption = (value: string) => {\n setOptions((prev) => [...prev, value as HTTPHeaders]);\n\n handleChange(value);\n };\n\n return (\n <CreatableCombobox\n {...restProps}\n onClear={() => handleChange('')}\n onChange={handleChange}\n onCreateOption={handleCreateOption}\n placeholder=\"\"\n value={value}\n >\n {options.map((key) => (\n <ComboboxOption value={key} key={key}>\n {key}\n </ComboboxOption>\n ))}\n </CreatableCombobox>\n );\n};\n\nconst HTTP_HEADERS = [\n 'A-IM',\n 'Accept',\n 'Accept-Charset',\n 'Accept-Encoding',\n 'Accept-Language',\n 'Accept-Datetime',\n 'Access-Control-Request-Method',\n 'Access-Control-Request-Headers',\n 'Authorization',\n 'Cache-Control',\n 'Connection',\n 'Content-Length',\n 'Content-Type',\n 'Cookie',\n 'Date',\n 'Expect',\n 'Forwarded',\n 'From',\n 'Host',\n 'If-Match',\n 'If-Modified-Since',\n 'If-None-Match',\n 'If-Range',\n 'If-Unmodified-Since',\n 'Max-Forwards',\n 'Origin',\n 'Pragma',\n 'Proxy-Authorization',\n 'Range',\n 'Referer',\n 'TE',\n 'User-Agent',\n 'Upgrade',\n 'Via',\n 'Warning',\n] as const;\n\ntype HTTPHeaders = (typeof HTTP_HEADERS)[number];\n\nexport { HeadersInput };\n","import { Box, Flex, Grid, GridItem, Typography } from '@strapi/design-system';\nimport { Check, Cross, Loader } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport styled, { DefaultTheme, css } from 'styled-components';\n\n/* -------------------------------------------------------------------------------------------------\n * TriggerContainer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface TriggerContainerProps extends Pick<StatusProps, 'isPending'> {\n onCancel: () => void;\n response?: {\n statusCode: number;\n message?: string;\n };\n}\n\nconst TriggerContainer = ({ isPending, onCancel, response }: TriggerContainerProps) => {\n const { statusCode, message } = response ?? {};\n const { formatMessage } = useIntl();\n\n return (\n <Box background=\"neutral0\" padding={5} shadow=\"filterShadow\" hasRadius>\n <Grid gap={4} style={{ alignItems: 'center' }}>\n <GridItem col={3}>\n <Typography>\n {formatMessage({\n id: 'Settings.webhooks.trigger.test',\n defaultMessage: 'Test-trigger',\n })}\n </Typography>\n </GridItem>\n <GridItem col={3}>\n <Status isPending={isPending} statusCode={statusCode} />\n </GridItem>\n <GridItem col={6}>\n {!isPending ? (\n <Message statusCode={statusCode} message={message} />\n ) : (\n <Flex justifyContent=\"flex-end\">\n <button onClick={onCancel} type=\"button\">\n <Flex gap={2} alignItems=\"center\">\n <Typography textColor=\"neutral400\">\n {formatMessage({\n id: 'Settings.webhooks.trigger.cancel',\n defaultMessage: 'cancel',\n })}\n </Typography>\n <Icon as={Cross} color=\"neutral400\" />\n </Flex>\n </button>\n </Flex>\n )}\n </GridItem>\n </Grid>\n </Box>\n );\n};\n\nconst Icon = styled.svg<{ color?: keyof DefaultTheme['colors'] }>(\n ({ theme, color }) => `\n width: ${12 / 16}rem;\n height: ${12 / 16}rem;\n\n\n ${\n color\n ? css`\n path {\n fill: ${theme.colors[color]};\n }\n `\n : ''\n }\n`\n);\n\n/* -------------------------------------------------------------------------------------------------\n * Status\n * -----------------------------------------------------------------------------------------------*/\n\ninterface StatusProps {\n isPending: boolean;\n statusCode?: number;\n}\n\nconst Status = ({ isPending, statusCode }: StatusProps) => {\n const { formatMessage } = useIntl();\n\n if (isPending || !statusCode) {\n return (\n <Flex gap={2} alignItems=\"center\">\n <Icon as={Loader} />\n <Typography>\n {formatMessage({ id: 'Settings.webhooks.trigger.pending', defaultMessage: 'pending' })}\n </Typography>\n </Flex>\n );\n }\n\n if (statusCode >= 200 && statusCode < 300) {\n return (\n <Flex gap={2} alignItems=\"center\">\n <Icon as={Check} color=\"success700\" />\n <Typography>\n {formatMessage({ id: 'Settings.webhooks.trigger.success', defaultMessage: 'success' })}\n </Typography>\n </Flex>\n );\n }\n\n if (statusCode >= 300) {\n return (\n <Flex gap={2} alignItems=\"center\">\n <Icon as={Cross} color=\"danger700\" />\n <Typography>\n {formatMessage({ id: 'Settings.error', defaultMessage: 'error' })} {statusCode}\n </Typography>\n </Flex>\n );\n }\n\n return null;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Message\n * -----------------------------------------------------------------------------------------------*/\n\ninterface MessageProps {\n statusCode?: number;\n message?: string;\n}\n\nconst Message = ({ statusCode, message }: MessageProps) => {\n const { formatMessage } = useIntl();\n\n if (!statusCode) {\n return null;\n }\n\n if (statusCode >= 200 && statusCode < 300) {\n return (\n <Flex justifyContent=\"flex-end\">\n <Typography textColor=\"neutral600\" ellipsis>\n {formatMessage({\n id: 'Settings.webhooks.trigger.success.label',\n defaultMessage: 'Trigger succeeded',\n })}\n </Typography>\n </Flex>\n );\n }\n\n if (statusCode >= 300) {\n return (\n <Flex justifyContent=\"flex-end\">\n <Flex maxWidth={`${250 / 16}rem`} justifyContent=\"flex-end\" title={message}>\n <Typography ellipsis textColor=\"neutral600\">\n {message}\n </Typography>\n </Flex>\n </Flex>\n );\n }\n\n return null;\n};\n\nexport { TriggerContainer };\n","import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n TextInput,\n} from '@strapi/design-system';\nimport { Check, Play as Publish } from '@strapi/icons';\nimport { Field, Form, FormikHelpers, FormikProvider, useFormik } from 'formik';\nimport { IntlShape, useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { TriggerWebhook } from '../../../../../../../shared/contracts/webhooks';\nimport { BackButton } from '../../../../../features/BackButton';\nimport { useEnterprise } from '../../../../../hooks/useEnterprise';\n\nimport { EventTableCE } from './EventsTable';\nimport { HeadersInput } from './HeadersInput';\nimport { TriggerContainer } from './TriggerContainer';\n\nimport type { Modules } from '@strapi/types';\n\ninterface WebhookFormValues {\n name: Modules.WebhookStore.Webhook['name'];\n url: Modules.WebhookStore.Webhook['url'];\n headers: Array<{ key: string; value: string }>;\n events: Modules.WebhookStore.Webhook['events'];\n}\n\ninterface WebhookFormProps {\n data?: Modules.WebhookStore.Webhook;\n handleSubmit: (\n values: WebhookFormValues,\n formik: FormikHelpers<WebhookFormValues>\n ) => Promise<void>;\n isCreating: boolean;\n isTriggering: boolean;\n triggerWebhook: () => void;\n triggerResponse?: TriggerWebhook.Response['data'];\n}\n\nconst WebhookForm = ({\n handleSubmit,\n triggerWebhook,\n isCreating,\n isTriggering,\n triggerResponse,\n data,\n}: WebhookFormProps) => {\n const { formatMessage } = useIntl();\n const [showTriggerResponse, setShowTriggerResponse] = React.useState(false);\n const EventTable = useEnterprise(\n EventTableCE,\n async () =>\n (\n await import(\n '../../../../../../../ee/admin/src/pages/SettingsPage/pages/Webhooks/components/EventsTable'\n )\n ).EventsTableEE\n );\n\n /**\n * Map the headers into a form that can be used within the formik form\n */\n const mapHeaders = (headers: Modules.WebhookStore.Webhook['headers']) => {\n if (!Object.keys(headers).length) {\n return [{ key: '', value: '' }];\n }\n\n return Object.entries(headers).map(([key, value]) => ({ key, value }));\n };\n\n const formik = useFormik({\n initialValues: {\n name: data?.name || '',\n url: data?.url || '',\n headers: mapHeaders(data?.headers || {}),\n events: data?.events || [],\n },\n async onSubmit(values, formik) {\n await handleSubmit(values, formik);\n\n formik.resetForm({ values });\n },\n validationSchema: makeWebhookValidationSchema({ formatMessage }),\n validateOnChange: false,\n validateOnBlur: false,\n });\n\n // block rendering until the EE component is fully loaded\n if (!EventTable) {\n return null;\n }\n\n return (\n <FormikProvider value={formik}>\n <Form>\n <HeaderLayout\n primaryAction={\n <Flex gap={2}>\n <Button\n onClick={() => {\n triggerWebhook();\n setShowTriggerResponse(true);\n }}\n variant=\"tertiary\"\n startIcon={<Publish />}\n disabled={isCreating || isTriggering}\n size=\"L\"\n >\n {formatMessage({\n id: 'Settings.webhooks.trigger',\n defaultMessage: 'Trigger',\n })}\n </Button>\n <Button\n startIcon={<Check />}\n type=\"submit\"\n size=\"L\"\n disabled={!formik.dirty}\n loading={formik.isSubmitting}\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n }\n title={\n isCreating\n ? formatMessage({\n id: 'Settings.webhooks.create',\n defaultMessage: 'Create a webhook',\n })\n : data?.name\n }\n navigationAction={<BackButton />}\n />\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n {showTriggerResponse && (\n <TriggerContainer\n isPending={isTriggering}\n response={triggerResponse}\n onCancel={() => setShowTriggerResponse(false)}\n />\n )}\n <Box background=\"neutral0\" padding={8} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Grid gap={6}>\n <GridItem col={6}>\n <Field\n as={TextInput}\n name=\"name\"\n error={formik.errors.name}\n label={formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n required\n />\n </GridItem>\n <GridItem col={12}>\n <Field\n as={TextInput}\n name=\"url\"\n error={formik.errors.url}\n label={formatMessage({\n id: 'Settings.roles.form.input.url',\n defaultMessage: 'Url',\n })}\n required\n />\n </GridItem>\n </Grid>\n <HeadersInput />\n <EventTable />\n </Flex>\n </Box>\n </Flex>\n </ContentLayout>\n </Form>\n </FormikProvider>\n );\n};\n\nconst NAME_REGEX = /(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)/;\nconst URL_REGEX = /(^$)|((https?:\\/\\/.*)(d*)\\/?(.*))/;\n\nconst makeWebhookValidationSchema = ({ formatMessage }: Pick<IntlShape, 'formatMessage'>) =>\n yup.object().shape({\n name: yup\n .string()\n .required(\n formatMessage({\n id: 'Settings.webhooks.validation.name.required',\n defaultMessage: 'Name is required',\n })\n )\n .matches(\n NAME_REGEX,\n formatMessage({\n id: 'Settings.webhooks.validation.name.regex',\n defaultMessage:\n 'The name must start with a letter and only contain letters, numbers, spaces and underscores',\n })\n ),\n url: yup\n .string()\n .required(\n formatMessage({\n id: 'Settings.webhooks.validation.url.required',\n defaultMessage: 'Url is required',\n })\n )\n .matches(\n URL_REGEX,\n formatMessage({\n id: 'Settings.webhooks.validation.url.regex',\n defaultMessage: 'The value must be a valid Url',\n })\n ),\n headers: yup.lazy((array) => {\n const baseSchema = yup.array();\n\n if (array.length === 1) {\n const { key, value } = array[0];\n\n if (!key && !value) {\n return baseSchema;\n }\n }\n\n return baseSchema.of(\n yup.object().shape({\n key: yup.string().required(\n formatMessage({\n id: 'Settings.webhooks.validation.key',\n defaultMessage: 'Key is required',\n })\n ),\n value: yup.string().required(\n formatMessage({\n id: 'Settings.webhooks.validation.value',\n defaultMessage: 'Value is required',\n })\n ),\n })\n );\n }),\n events: yup.array(),\n });\n\nexport { WebhookForm };\nexport type { WebhookFormValues, WebhookFormProps };\n","import * as React from 'react';\n\nimport { Main } from '@strapi/design-system';\nimport { Modules } from '@strapi/types';\nimport { FormikHelpers } from 'formik';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useNavigate, useMatch } from 'react-router-dom';\n\nimport { CreateWebhook, TriggerWebhook } from '../../../../../../shared/contracts/webhooks';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { selectAdminPermissions } from '../../../../selectors';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\n\nimport { WebhookForm, WebhookFormValues } from './components/WebhookForm';\nimport { useWebhooks } from './hooks/useWebhooks';\n\n/* -------------------------------------------------------------------------------------------------\n * EditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst cleanData = (\n data: WebhookFormValues\n): Omit<CreateWebhook.Request['body'], 'id' | 'isEnabled'> => ({\n ...data,\n headers: data.headers.reduce<Modules.WebhookStore.Webhook['headers']>((acc, { key, value }) => {\n if (key !== '') {\n acc[key] = value;\n }\n\n return acc;\n }, {}),\n});\n\nconst EditPage = () => {\n const { formatMessage } = useIntl();\n const match = useMatch('/settings/webhooks/:id');\n const id = match?.params.id;\n const isCreating = id === 'create';\n\n const navigate = useNavigate();\n const { toggleNotification } = useNotification();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const [isTriggering, setIsTriggering] = React.useState(false);\n const [triggerResponse, setTriggerResponse] = React.useState<TriggerWebhook.Response['data']>();\n\n const { isLoading, webhooks, error, createWebhook, updateWebhook, triggerWebhook } = useWebhooks(\n { id: id! },\n {\n skip: isCreating,\n }\n );\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, toggleNotification, formatAPIError]);\n\n const handleTriggerWebhook = async () => {\n try {\n setIsTriggering(true);\n\n const res = await triggerWebhook(id!);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n setTriggerResponse(res.data);\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n } finally {\n setIsTriggering(false);\n }\n };\n\n const handleSubmit = async (\n data: WebhookFormValues,\n formik: FormikHelpers<WebhookFormValues>\n ) => {\n try {\n if (isCreating) {\n const res = await createWebhook(cleanData(data));\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 toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'Settings.webhooks.created' }),\n });\n\n navigate(res.data.id, { replace: true });\n } else {\n const res = await updateWebhook({ id: id!, ...cleanData(data) });\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 toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.form.success.fields' }),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n const [webhook] = webhooks ?? [];\n\n return (\n <Main>\n <Helmet\n title={formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Webhooks',\n }\n )}\n />\n <WebhookForm\n data={webhook}\n handleSubmit={handleSubmit}\n triggerWebhook={handleTriggerWebhook}\n isCreating={isCreating}\n isTriggering={isTriggering}\n triggerResponse={triggerResponse}\n />\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedEditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedEditPage = () => {\n const permissions = useTypedSelector(selectAdminPermissions);\n\n return (\n <Page.Protect permissions={permissions.settings?.webhooks.update}>\n <EditPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedEditPage, EditPage };\n"],"names":["useIntl","Flex","jsx","FieldLabel","styled","Table","Thead","jsxs","Tr","Th","VisuallyHidden","Typography","useFormikContext","Tbody","name","Td","Checkbox","BaseCheckbox","Box","FieldArray","Grid","React","GridItem","Field","TextInput","Minus","TextButton","Plus","IconButton","value","CreatableCombobox","ComboboxOption","Cross","css","Loader","Check","useEnterprise","formik","useFormik","FormikProvider","Form","HeaderLayout","Button","Publish","BackButton","ContentLayout","yup","useMatch","useNavigate","useNotification","useAPIErrorHandler","useWebhooks","isBaseQueryError","Page","Main","Helmet","useTypedSelector","selectAdminPermissions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,MAAM,UAAa,GAAA,CAAC,EAAE,QAAA,EAAgC,KAAA;AACpD,EAAM,MAAA,EAAE,aAAc,EAAA,GAAIA,iBAAQ,EAAA,CAAA;AAElC,EAAA,MAAM,QAAQ,aAAc,CAAA;AAAA,IAC1B,EAAI,EAAA,+BAAA;AAAA,IACJ,cAAgB,EAAA,QAAA;AAAA,GACjB,CAAA,CAAA;AAED,EAAA,uCACGC,iBAAK,EAAA,EAAA,SAAA,EAAU,UAAS,UAAW,EAAA,SAAA,EAAU,KAAK,CACjD,EAAA,QAAA,EAAA;AAAA,oBAACC,cAAA,CAAAC,uBAAA,EAAA,EAAW,aAAW,EAAA,IAAA,EAAE,QAAM,EAAA,KAAA,EAAA,CAAA;AAAA,oBAC9BD,cAAA,CAAA,WAAA,EAAA,EAAY,YAAY,EAAA,KAAA,EAAQ,QAAS,EAAA,CAAA;AAAA,GAC5C,EAAA,CAAA,CAAA;AAEJ,CAAA,CAAA;AAGA,MAAM,WAAA,GAAcE,wBAAOC,qBAAK,CAAA,CAAA;AAAA;AAAA,gBAAA,EAEd,CAAC,EAAE,KAAA,EAAY,KAAA,KAAA,CAAM,OAAO,UAAU,CAAA;AAAA;AAAA;AAAA;AAAA,WAAA,EAI3C,CAAC,EAAE,KAAA,EAAY,KAAA,KAAA,CAAM,OAAO,UAAU,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAAA,EAKxB,CAAC,EAAE,KAAA,OAAY,KAAM,CAAA,MAAA,CAAO,CAAC,CAAC,CAAA;AAAA,uBAAA,EAChC,CAAC,EAAE,KAAA,OAAY,KAAM,CAAA,MAAA,CAAO,CAAC,CAAC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAA,EAW3B,CAAC,EAAE,KAAA,OAAY,KAAM,CAAA,MAAA,CAAO,CAAC,CAAC,CAAA;AAAA;AAAA,CAAA,CAAA;AAY1D,MAAM,eAAe,MAA2B;AAC9C,EAAA,MAAM,OAAU,GAAA;AAAA,IACd,EAAE,EAAA,EAAI,iCAAmC,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,IAClE,EAAE,EAAA,EAAI,iCAAmC,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,IAClE,EAAE,EAAA,EAAI,kBAAoB,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,IACnD,EAAE,EAAA,EAAI,mBAAqB,EAAA,cAAA,EAAgB,SAAU,EAAA;AAAA,IACrD,EAAE,EAAA,EAAI,qBAAuB,EAAA,cAAA,EAAgB,WAAY,EAAA;AAAA,GAC3D,CAAA;AAEA,EAAO,OAAA,OAAA,CAAA;AACT,CAAA,CAAA;AAEA,MAAM,aAAgB,GAAA,CAAC,EAAE,UAAA,GAAa,cAAuC,KAAA;AAC3E,EAAM,MAAA,EAAE,aAAc,EAAA,GAAIL,iBAAQ,EAAA,CAAA;AAClC,EAAA,MAAM,UAAU,UAAW,EAAA,CAAA;AAE3B,EACE,uBAAAE,cAAA,CAACI,qBACC,EAAA,EAAA,QAAA,kBAAAC,eAAA,CAACC,kBACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAACN,cAAA,CAAAO,kBAAA,EAAA,EACC,QAAC,kBAAAP,cAAA,CAAAQ,2BAAA,EAAA,EACE,QAAc,EAAA,aAAA,CAAA;AAAA,MACb,EAAI,EAAA,gCAAA;AAAA,MACJ,cAAgB,EAAA,cAAA;AAAA,KACjB,GACH,CACF,EAAA,CAAA;AAAA,IACC,OAAA,CAAQ,GAAI,CAAA,CAAC,MAAW,KAAA;AACvB,MAAI,IAAA,CAAC,qBAAqB,qBAAqB,CAAA,CAAE,SAAS,MAAQ,EAAA,EAAA,IAAM,EAAE,CAAG,EAAA;AAC3E,QACE,uBAAAR,cAAA;AAAA,UAACO,kBAAA;AAAA,UAAA;AAAA,YAEC,OAAO,aAAc,CAAA;AAAA,cACnB,EAAI,EAAA,yCAAA;AAAA,cACJ,cAAgB,EAAA,iEAAA;AAAA,aACjB,CAAA;AAAA,YAED,QAAA,kBAAAP,cAAA,CAACS,2BAAW,OAAQ,EAAA,OAAA,EAAQ,WAAU,YACnC,EAAA,QAAA,EAAA,aAAA,CAAc,MAAM,CACvB,EAAA,CAAA;AAAA,WAAA;AAAA,UARK,MAAO,CAAA,EAAA;AAAA,SASd,CAAA;AAAA,OAEJ;AAEA,MAAA,uBACGT,cAAA,CAAAO,kBAAA,EAAA,EACC,QAAC,kBAAAP,cAAA,CAAAS,uBAAA,EAAA,EAAW,OAAQ,EAAA,OAAA,EAAQ,SAAU,EAAA,YAAA,EACnC,QAAc,EAAA,aAAA,CAAA,MAAM,CACvB,EAAA,CAAA,EAAA,EAHO,OAAO,EAIhB,CAAA,CAAA;AAAA,KAEH,CAAA;AAAA,GAAA,EACH,CACF,EAAA,CAAA,CAAA;AAEJ,CAAA,CAAA;AAaA,MAAM,UAAa,GAAA,CAAC,EAAE,cAAA,EAAsC,KAAA;AAC1D,EAAM,MAAA,MAAA,GAAS,kBAAkB,WAAY,EAAA,CAAA;AAC7C,EAAA,MAAM,EAAE,MAAA,EAAQ,YAAc,EAAA,QAAA,KAAaC,uBAAqC,EAAA,CAAA;AAEhF,EAAA,MAAM,SAAY,GAAA,QAAA,CAAA;AAClB,EAAA,MAAM,aAAa,MAAO,CAAA,MAAA,CAAA;AAC1B,EAAA,MAAM,iBAA2B,EAAC,CAAA;AAElC,EAAA,MAAM,cAAiB,GAAA,UAAA,CAAW,MAAiC,CAAA,CAAC,KAAK,IAAS,KAAA;AAChF,IAAA,MAAM,GAAM,GAAA,IAAA,CAAK,KAAM,CAAA,GAAG,EAAE,CAAC,CAAA,CAAA;AAE7B,IAAI,IAAA,CAAC,GAAI,CAAA,GAAG,CAAG,EAAA;AACb,MAAI,GAAA,CAAA,GAAG,IAAI,EAAC,CAAA;AAAA,KACd;AACA,IAAI,GAAA,CAAA,GAAG,CAAE,CAAA,IAAA,CAAK,IAAI,CAAA,CAAA;AAElB,IAAO,OAAA,GAAA,CAAA;AAAA,GACT,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,MAAM,eAA2D,CAAC;AAAA,IAChE,MAAA,EAAQ,EAAE,IAAA,EAAM,KAAM,EAAA;AAAA,GAClB,KAAA;AACJ,IAAM,MAAA,GAAA,GAAM,IAAI,GAAA,CAAI,UAAU,CAAA,CAAA;AAE9B,IAAA,IAAI,KAAO,EAAA;AACT,MAAA,GAAA,CAAI,IAAI,IAAI,CAAA,CAAA;AAAA,KACP,MAAA;AACL,MAAA,GAAA,CAAI,OAAO,IAAI,CAAA,CAAA;AAAA,KACjB;AACA,IAAS,QAAA,CAAA,EAAE,MAAQ,EAAA,EAAE,IAAM,EAAA,SAAA,EAAW,KAAO,EAAA,KAAA,CAAM,IAAK,CAAA,GAAG,CAAE,EAAA,EAAG,CAAA,CAAA;AAAA,GAClE,CAAA;AAEA,EAAA,MAAM,kBAA8D,CAAC;AAAA,IACnE,MAAA,EAAQ,EAAE,IAAA,EAAM,KAAM,EAAA;AAAA,GAClB,KAAA;AACJ,IAAM,MAAA,GAAA,GAAM,IAAI,GAAA,CAAI,UAAU,CAAA,CAAA;AAE9B,IAAA,IAAI,KAAO,EAAA;AACT,MAAA,MAAA,CAAO,IAAI,CAAA,CAAE,OAAQ,CAAA,CAAC,KAAU,KAAA;AAC9B,QAAA,IAAI,CAAC,cAAA,CAAe,QAAS,CAAA,KAAK,CAAG,EAAA;AACnC,UAAA,GAAA,CAAI,IAAI,KAAK,CAAA,CAAA;AAAA,SACf;AAAA,OACD,CAAA,CAAA;AAAA,KACI,MAAA;AACL,MAAO,MAAA,CAAA,IAAI,EAAE,OAAQ,CAAA,CAAC,UAAU,GAAI,CAAA,MAAA,CAAO,KAAK,CAAC,CAAA,CAAA;AAAA,KACnD;AACA,IAAS,QAAA,CAAA,EAAE,MAAQ,EAAA,EAAE,IAAM,EAAA,SAAA,EAAW,KAAO,EAAA,KAAA,CAAM,IAAK,CAAA,GAAG,CAAE,EAAA,EAAG,CAAA,CAAA;AAAA,GAClE,CAAA;AAEA,EACE,uBAAAV,cAAA,CAACW,qBACE,EAAA,EAAA,QAAA,EAAA,MAAA,CAAO,OAAQ,CAAA,MAAM,CAAE,CAAA,GAAA,CAAI,CAAC,CAAC,KAAO,EAAA,KAAK,CAAM,KAAA;AAC9C,IACE,uBAAAX,cAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,cAAA;AAAA,QAEA,IAAM,EAAA,KAAA;AAAA,QACN,MAAQ,EAAA,KAAA;AAAA,QACR,UAAA,EAAY,eAAe,KAAK,CAAA;AAAA,QAChC,YAAA;AAAA,QACA,eAAA;AAAA,OAAA;AAAA,MALK,KAAA;AAAA,KAMP,CAAA;AAAA,GAEH,CACH,EAAA,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,cAAc,MAA2E;AAC7F,EAAA,MAAM,WAA4C,GAAA;AAAA,IAChD,cAAA;AAAA,IACA,cAAA;AAAA,IACA,cAAA;AAAA,IACA,eAAA;AAAA,IACA,iBAAA;AAAA,GACF,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,KAAO,EAAA,WAAA;AAAA,IACP,KAAO,EAAA,CAAC,cAAgB,EAAA,cAAA,EAAgB,cAAc,CAAA;AAAA,GACxD,CAAA;AACF,CAAA,CAAA;AAeA,MAAM,YAAY,CAAC;AAAA,EACjB,iBAAiB,EAAC;AAAA,EAClB,IAAA;AAAA,EACA,SAAS,EAAC;AAAA,EACV,aAAa,EAAC;AAAA,EACd,YAAA;AAAA,EACA,eAAA;AACF,CAAsB,KAAA;AACpB,EAAM,MAAA,EAAE,aAAc,EAAA,GAAIF,iBAAQ,EAAA,CAAA;AAClC,EAAM,MAAA,iBAAA,GAAoB,OAAO,MAAO,CAAA,CAAC,UAAU,CAAC,cAAA,CAAe,QAAS,CAAA,KAAK,CAAC,CAAA,CAAA;AAElF,EAAM,MAAA,uBAAA,GAA0B,WAAW,MAAS,GAAA,CAAA,CAAA;AACpD,EAAM,MAAA,wBAAA,GAA2B,UAAW,CAAA,MAAA,KAAW,iBAAkB,CAAA,MAAA,CAAA;AAEzE,EAAM,MAAA,WAAA,GAA0D,CAAC,EAAE,MAAA,EAAQ,EAAE,IAAAc,EAAAA,KAAAA,IAAa,KAAA;AACxF,IAAA,MAAM,aAAa,CAAC,wBAAA,CAAA;AAEpB,IAAgB,eAAA,CAAA;AAAA,MACd,MAAQ,EAAA,EAAE,IAAAA,EAAAA,KAAAA,EAAM,OAAO,UAAW,EAAA;AAAA,KACnC,CAAA,CAAA;AAAA,GACH,CAAA;AAEA,EAAA,MAAM,aAAgB,GAAA,CAAA,CAAA;AAEtB,EAAA,uCACGN,kBACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAAN,cAAA,CAACa,kBACC,EAAA,EAAA,QAAA,kBAAAb,cAAA;AAAA,MAACc,qBAAA;AAAA,MAAA;AAAA,QACC,aAAA,EAAe,2BAA2B,CAAC,wBAAA;AAAA,QAC3C,cAAY,aAAc,CAAA;AAAA,UACxB,EAAI,EAAA,2BAAA;AAAA,UACJ,cAAgB,EAAA,oBAAA;AAAA,SACjB,CAAA;AAAA,QACD,IAAA;AAAA,QACA,QAAU,EAAA,WAAA;AAAA,QACV,KAAO,EAAA,wBAAA;AAAA,QAEN,oCAA0B,IAAI,CAAA;AAAA,OAAA;AAAA,KAEnC,EAAA,CAAA;AAAA,IAEC,MAAA,CAAO,GAAI,CAAA,CAAC,KAAU,KAAA;AACrB,MAAA,sCACGD,kBACC,EAAA,EAAA,QAAA,kBAAAb,cAAA;AAAA,QAACe,yBAAA;AAAA,QAAA;AAAA,UACC,QAAA,EAAU,cAAe,CAAA,QAAA,CAAS,KAAK,CAAA;AAAA,UACvC,YAAY,EAAA,KAAA;AAAA,UACZ,IAAM,EAAA,KAAA;AAAA,UACN,KAAA,EAAO,UAAW,CAAA,QAAA,CAAS,KAAK,CAAA;AAAA,UAChC,aAAA,EAAe,CAAC,KAAA,KAAU,YAAa,CAAA,EAAE,MAAQ,EAAA,EAAE,IAAM,EAAA,KAAA,EAAO,KAAM,EAAA,EAAG,CAAA;AAAA,SAAA;AAAA,WANpE,KAQT,CAAA,CAAA;AAAA,KAEH,CAAA;AAAA,IACA,MAAA,CAAO,SAAS,aAAiB,oBAAAf,cAAA,CAACa,sBAAG,OAAS,EAAA,aAAA,GAAgB,OAAO,MAAQ,EAAA,CAAA;AAAA,GAChF,EAAA,CAAA,CAAA;AAEJ,CAAA,CAAA;AAKA,MAAM,yBAA4B,GAAA,CAAC,GACjC,KAAA,GAAA,CACG,OAAQ,CAAA,IAAA,EAAM,GAAG,CAAA,CACjB,KAAM,CAAA,GAAG,CACT,CAAA,GAAA,CAAI,CAAC,IAAA,KAAS,IAAK,CAAA,MAAA,CAAO,CAAC,CAAA,CAAE,WAAY,EAAA,GAAI,IAAK,CAAA,KAAA,CAAM,CAAC,CAAA,CAAE,WAAY,EAAC,CACxE,CAAA,IAAA,CAAK,GAAG,CAAA,CAAA;AAEP,MAAA,MAAA,GAAS,EAAE,IAAM,EAAA,UAAA,EAAY,SAAS,aAAe,EAAA,IAAA,EAAM,UAAY,EAAA,GAAA,EAAK,SAAU;;ACvT5F,MAAM,eAAe,MAAM;AACzB,EACE,uBAAAR,eAAA,CAAC,MAAO,CAAA,IAAA,EAAP,EACC,QAAA,EAAA;AAAA,oBAACL,cAAA,CAAA,MAAA,CAAO,SAAP,EAAe,CAAA;AAAA,oBAChBA,cAAA,CAAC,MAAO,CAAA,IAAA,EAAP,EAAY,CAAA;AAAA,GACf,EAAA,CAAA,CAAA;AAEJ,CAAA;;ACmBA,MAAM,eAAe,MAAM;AACzB,EAAM,MAAA,EAAE,aAAc,EAAA,GAAIF,iBAAQ,EAAA,CAAA;AAClC,EAAA,MAAM,EAAE,MAAA,EAAQ,MAAO,EAAA,GAAIY,uBAAgC,EAAA,CAAA;AAE3D,EAAA,uCACGX,iBAAK,EAAA,EAAA,SAAA,EAAU,UAAS,UAAW,EAAA,SAAA,EAAU,KAAK,CACjD,EAAA,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAACC,2BACE,QAAc,EAAA,aAAA,CAAA;AAAA,MACb,EAAI,EAAA,gCAAA;AAAA,MACJ,cAAgB,EAAA,SAAA;AAAA,KACjB,CACH,EAAA,CAAA;AAAA,mCACCe,gBAAI,EAAA,EAAA,OAAA,EAAS,GAAG,UAAW,EAAA,YAAA,EAAa,WAAS,IAChD,EAAA,QAAA,kBAAAhB,cAAA;AAAA,MAACiB,iBAAA;AAAA,MAAA;AAAA,QACC,gBAAkB,EAAA,KAAA;AAAA,QAClB,IAAK,EAAA,SAAA;AAAA,QACL,MAAA,EAAQ,CAAC,EAAE,IAAA,EAAM,QACf,qBAAAZ,eAAA,CAACa,iBAAK,EAAA,EAAA,GAAA,EAAK,CACR,EAAA,QAAA,EAAA;AAAA,UAAA,MAAA,CAAO,OAAQ,CAAA,GAAA,CAAI,CAAC,MAAA,EAAQ,KAAU,KAAA;AACrC,YAAM,MAAA,WAAA,GAAc,MAAO,CAAA,OAAA,GAAU,KAAK,CAAA,CAAA;AAE1C,YAAA,MAAM,aAAgB,GAAA,OAAO,WAAgB,KAAA,QAAA,GAAW,YAAY,GAAM,GAAA,KAAA,CAAA,CAAA;AAC1E,YAAA,MAAM,cACJ,GAAA,OAAO,WAAgB,KAAA,QAAA,GAAW,YAAY,KAAQ,GAAA,KAAA,CAAA,CAAA;AAExD,YACE,uBAAAb,eAAA,CAACc,gBAAM,CAAA,QAAA,EAAN,EACC,QAAA,EAAA;AAAA,8BAACnB,cAAA,CAAAoB,qBAAA,EAAA,EAAS,KAAK,CACb,EAAA,QAAA,kBAAApB,cAAA;AAAA,gBAACqB,YAAA;AAAA,gBAAA;AAAA,kBACC,EAAI,EAAA,cAAA;AAAA,kBACJ,IAAA,EAAM,WAAW,KAAK,CAAA,IAAA,CAAA;AAAA,kBACtB,YAAA,EAAY,CAAO,IAAA,EAAA,KAAA,GAAQ,CAAC,CAAA,IAAA,CAAA;AAAA,kBAC5B,OAAO,aAAc,CAAA;AAAA,oBACnB,EAAI,EAAA,uBAAA;AAAA,oBACJ,cAAgB,EAAA,KAAA;AAAA,mBACjB,CAAA;AAAA,kBACD,KAAO,EAAA,aAAA;AAAA,iBAAA;AAAA,eAEX,EAAA,CAAA;AAAA,6CACCD,qBAAS,EAAA,EAAA,GAAA,EAAK,GACb,QAAC,kBAAAf,eAAA,CAAAN,iBAAA,EAAA,EAAK,YAAW,UACf,EAAA,QAAA,EAAA;AAAA,gCAAAC,cAAA,CAACgB,gBAAI,EAAA,EAAA,KAAA,EAAO,EAAE,IAAA,EAAM,GAClB,EAAA,QAAA,kBAAAhB,cAAA;AAAA,kBAACqB,YAAA;AAAA,kBAAA;AAAA,oBACC,EAAI,EAAAC,sBAAA;AAAA,oBACJ,IAAA,EAAM,WAAW,KAAK,CAAA,MAAA,CAAA;AAAA,oBACtB,YAAA,EAAY,CAAO,IAAA,EAAA,KAAA,GAAQ,CAAC,CAAA,MAAA,CAAA;AAAA,oBAC5B,OAAO,aAAc,CAAA;AAAA,sBACnB,EAAI,EAAA,yBAAA;AAAA,sBACJ,cAAgB,EAAA,OAAA;AAAA,qBACjB,CAAA;AAAA,oBACD,KAAO,EAAA,cAAA;AAAA,mBAAA;AAAA,iBAEX,EAAA,CAAA;AAAA,gCACAtB,cAAA;AAAA,kBAACD,iBAAA;AAAA,kBAAA;AAAA,oBACC,WAAa,EAAA,CAAA;AAAA,oBACb,KAAA,EAAO,EAAE,SAAA,EAAW,QAAS,EAAA;AAAA,oBAC7B,UAAA,EAAY,iBAAiB,CAAI,GAAA,CAAA;AAAA,oBAEjC,QAAA,kBAAAC,cAAA;AAAA,sBAAC,gBAAA;AAAA,sBAAA;AAAA,wBACC,cAAc,EAAK,GAAA,EAAA;AAAA,wBACnB,OAAO,EAAK,GAAA,EAAA;AAAA,wBACZ,QAAQ,EAAK,GAAA,EAAA;AAAA,wBACb,SAAS,CAAI,GAAA,EAAA;AAAA,wBACb,UAAW,EAAA,QAAA;AAAA,wBACX,cAAe,EAAA,QAAA;AAAA,wBACf,QAAA,EAAU,MAAO,CAAA,OAAA,CAAQ,MAAW,KAAA,CAAA;AAAA,wBACpC,OAAA,EAAS,MAAM,MAAA,CAAO,KAAK,CAAA;AAAA,wBAC3B,KAAO,EAAA,aAAA;AAAA,0BACL;AAAA,4BACE,EAAI,EAAA,kCAAA;AAAA,4BACJ,cAAgB,EAAA,4BAAA;AAAA,2BAClB;AAAA,0BACA,EAAE,MAAQ,EAAA,KAAA,GAAQ,CAAE,EAAA;AAAA,yBACtB;AAAA,wBAEA,yCAACuB,WAAM,EAAA,EAAA,CAAA;AAAA,uBAAA;AAAA,qBACT;AAAA,mBAAA;AAAA,iBACF;AAAA,eAAA,EACF,CACF,EAAA,CAAA;AAAA,aAAA,EAAA,EArDmB,CAAG,EAAA,KAAK,CAAI,CAAA,EAAA,MAAA,CAAO,GAAG,CAsD3C,CAAA,CAAA,CAAA;AAAA,WAEH,CAAA;AAAA,0BACDvB,cAAA,CAACoB,qBAAS,EAAA,EAAA,GAAA,EAAK,EACb,EAAA,QAAA,kBAAApB,cAAA;AAAA,YAACwB,uBAAA;AAAA,YAAA;AAAA,cACC,IAAK,EAAA,QAAA;AAAA,cACL,SAAS,MAAM;AACb,gBAAA,IAAA,CAAK,EAAE,GAAA,EAAK,EAAI,EAAA,KAAA,EAAO,IAAI,CAAA,CAAA;AAAA,eAC7B;AAAA,cACA,SAAA,iCAAYC,UAAK,EAAA,EAAA,CAAA;AAAA,cAEhB,QAAc,EAAA,aAAA,CAAA;AAAA,gBACb,EAAI,EAAA,iCAAA;AAAA,gBACJ,cAAgB,EAAA,mBAAA;AAAA,eACjB,CAAA;AAAA,aAAA;AAAA,WAEL,EAAA,CAAA;AAAA,SACF,EAAA,CAAA;AAAA,OAAA;AAAA,KAGN,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,gBAAA,GAAmBvB,wBAAOwB,uBAAU,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA,YAAA,EAI5B,CAAC,KAAA,KAAU,KAAM,CAAA,KAAA,CAAM,OAAO,UAAU,CAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAatD,MAAM,cAAA,GAAiB,CAAC,EAAE,IAAA,EAAM,UAAU,KAAO,EAAA,GAAG,WAAqC,KAAA;AACvF,EAAM,MAAA;AAAA,IACJ,MAAA,EAAQ,EAAE,OAAQ,EAAA;AAAA,MAChBhB,uBAAgC,EAAA,CAAA;AACpC,EAAM,MAAA,CAAC,SAAS,UAAU,CAAA,GAAIS,iBAAM,QAAwB,CAAA,CAAC,GAAG,YAAY,CAAC,CAAA,CAAA;AAE7E,EAAAA,gBAAA,CAAM,UAAU,MAAM;AACpB,IAAA,MAAM,gBAAgB,YAAa,CAAA,MAAA;AAAA,MACjC,CAAC,GAAA,KAAQ,CAAC,OAAA,EAAS,IAAK,CAAA,CAAC,MAAW,KAAA,MAAA,CAAO,GAAQ,KAAA,KAAA,IAAS,MAAO,CAAA,GAAA,KAAQ,GAAG,CAAA;AAAA,KAChF,CAAA;AAEA,IAAA,UAAA,CAAW,aAAa,CAAA,CAAA;AAAA,GACvB,EAAA,CAAC,OAAS,EAAA,KAAK,CAAC,CAAA,CAAA;AAEnB,EAAM,MAAA,YAAA,GAA0C,CAACQ,MAAU,KAAA;AACzD,IAAA,QAAA,CAAS,EAAE,MAAQ,EAAA,EAAE,MAAM,KAAAA,EAAAA,MAAAA,IAAS,CAAA,CAAA;AAAA,GACtC,CAAA;AAEA,EAAM,MAAA,kBAAA,GAAqB,CAACA,MAAkB,KAAA;AAC5C,IAAA,UAAA,CAAW,CAAC,IAAS,KAAA,CAAC,GAAG,IAAA,EAAMA,MAAoB,CAAC,CAAA,CAAA;AAEpD,IAAA,YAAA,CAAaA,MAAK,CAAA,CAAA;AAAA,GACpB,CAAA;AAEA,EACE,uBAAA3B,cAAA;AAAA,IAAC4B,8BAAA;AAAA,IAAA;AAAA,MACE,GAAG,SAAA;AAAA,MACJ,OAAA,EAAS,MAAM,YAAA,CAAa,EAAE,CAAA;AAAA,MAC9B,QAAU,EAAA,YAAA;AAAA,MACV,cAAgB,EAAA,kBAAA;AAAA,MAChB,WAAY,EAAA,EAAA;AAAA,MACZ,KAAA;AAAA,MAEC,QAAA,EAAA,OAAA,CAAQ,GAAI,CAAA,CAAC,GACZ,qBAAA5B,cAAA,CAAC6B,+BAAe,KAAO,EAAA,GAAA,EACpB,QAD8B,EAAA,GAAA,EAAA,EAAA,GAEjC,CACD,CAAA;AAAA,KAAA;AAAA,GACH,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,YAAe,GAAA;AAAA,EACnB,MAAA;AAAA,EACA,QAAA;AAAA,EACA,gBAAA;AAAA,EACA,iBAAA;AAAA,EACA,iBAAA;AAAA,EACA,iBAAA;AAAA,EACA,+BAAA;AAAA,EACA,gCAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA,YAAA;AAAA,EACA,gBAAA;AAAA,EACA,cAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,mBAAA;AAAA,EACA,eAAA;AAAA,EACA,UAAA;AAAA,EACA,qBAAA;AAAA,EACA,cAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,qBAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAA;AAAA,EACA,YAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AACF,CAAA;;ACnNA,MAAM,mBAAmB,CAAC,EAAE,SAAW,EAAA,QAAA,EAAU,UAAsC,KAAA;AACrF,EAAA,MAAM,EAAE,UAAA,EAAY,OAAQ,EAAA,GAAI,YAAY,EAAC,CAAA;AAC7C,EAAM,MAAA,EAAE,aAAc,EAAA,GAAI/B,iBAAQ,EAAA,CAAA;AAElC,EAAA,sCACGkB,gBAAI,EAAA,EAAA,UAAA,EAAW,YAAW,OAAS,EAAA,CAAA,EAAG,QAAO,cAAe,EAAA,SAAA,EAAS,IACpE,EAAA,QAAA,kBAAAX,eAAA,CAACa,qBAAK,GAAK,EAAA,CAAA,EAAG,OAAO,EAAE,UAAA,EAAY,UACjC,EAAA,QAAA,EAAA;AAAA,oBAAAlB,cAAA,CAACoB,qBAAS,EAAA,EAAA,GAAA,EAAK,CACb,EAAA,QAAA,kBAAApB,cAAA,CAACS,2BACE,QAAc,EAAA,aAAA,CAAA;AAAA,MACb,EAAI,EAAA,gCAAA;AAAA,MACJ,cAAgB,EAAA,cAAA;AAAA,KACjB,GACH,CACF,EAAA,CAAA;AAAA,oBACAT,cAAA,CAACoB,yBAAS,GAAK,EAAA,CAAA,EACb,yCAAC,MAAO,EAAA,EAAA,SAAA,EAAsB,YAAwB,CACxD,EAAA,CAAA;AAAA,oBACApB,cAAA,CAACoB,qBAAS,EAAA,EAAA,GAAA,EAAK,CACZ,EAAA,QAAA,EAAA,CAAC,SACA,mBAAApB,cAAA,CAAC,OAAQ,EAAA,EAAA,UAAA,EAAwB,OAAkB,EAAA,CAAA,mBAElDA,cAAA,CAAAD,iBAAA,EAAA,EAAK,gBAAe,UACnB,EAAA,QAAA,kBAAAC,cAAA,CAAC,QAAO,EAAA,EAAA,OAAA,EAAS,QAAU,EAAA,IAAA,EAAK,QAC9B,EAAA,QAAA,kBAAAK,eAAA,CAACN,iBAAK,EAAA,EAAA,GAAA,EAAK,CAAG,EAAA,UAAA,EAAW,QACvB,EAAA,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAAS,uBAAA,EAAA,EAAW,SAAU,EAAA,YAAA,EACnB,QAAc,EAAA,aAAA,CAAA;AAAA,QACb,EAAI,EAAA,kCAAA;AAAA,QACJ,cAAgB,EAAA,QAAA;AAAA,OACjB,CACH,EAAA,CAAA;AAAA,sBACCT,cAAA,CAAA,IAAA,EAAA,EAAK,EAAI,EAAA8B,WAAA,EAAO,OAAM,YAAa,EAAA,CAAA;AAAA,KACtC,EAAA,CAAA,EACF,GACF,CAEJ,EAAA,CAAA;AAAA,GAAA,EACF,CACF,EAAA,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,OAAO5B,uBAAO,CAAA,GAAA;AAAA,EAClB,CAAC,EAAE,KAAO,EAAA,KAAA,EAAY,KAAA,CAAA;AAAA,SAAA,EACb,KAAK,EAAE,CAAA;AAAA,UAAA,EACN,KAAK,EAAE,CAAA;AAAA;AAAA;AAAA,EAAA,EAIf,KACI,GAAA6B,UAAA,CAAA;AAAA;AAAA,kBAEY,EAAA,KAAA,CAAM,MAAO,CAAA,KAAK,CAAC,CAAA;AAAA;AAAA,QAAA,CAAA,GAG/B,EACN,CAAA;AAAA,CAAA;AAEF,CAAA,CAAA;AAWA,MAAM,MAAS,GAAA,CAAC,EAAE,SAAA,EAAW,YAA8B,KAAA;AACzD,EAAM,MAAA,EAAE,aAAc,EAAA,GAAIjC,iBAAQ,EAAA,CAAA;AAElC,EAAI,IAAA,SAAA,IAAa,CAAC,UAAY,EAAA;AAC5B,IAAA,uBACGO,eAAA,CAAAN,iBAAA,EAAA,EAAK,GAAK,EAAA,CAAA,EAAG,YAAW,QACvB,EAAA,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAA,IAAA,EAAA,EAAK,IAAIgC,YAAQ,EAAA,CAAA;AAAA,sBAClBhC,cAAA,CAACS,2BACE,QAAc,EAAA,aAAA,CAAA,EAAE,IAAI,mCAAqC,EAAA,cAAA,EAAgB,SAAU,EAAC,CACvF,EAAA,CAAA;AAAA,KACF,EAAA,CAAA,CAAA;AAAA,GAEJ;AAEA,EAAI,IAAA,UAAA,IAAc,GAAO,IAAA,UAAA,GAAa,GAAK,EAAA;AACzC,IAAA,uBACGJ,eAAA,CAAAN,iBAAA,EAAA,EAAK,GAAK,EAAA,CAAA,EAAG,YAAW,QACvB,EAAA,QAAA,EAAA;AAAA,sBAAAC,cAAA,CAAC,IAAK,EAAA,EAAA,EAAA,EAAIiC,WAAO,EAAA,KAAA,EAAM,YAAa,EAAA,CAAA;AAAA,sBACpCjC,cAAA,CAACS,2BACE,QAAc,EAAA,aAAA,CAAA,EAAE,IAAI,mCAAqC,EAAA,cAAA,EAAgB,SAAU,EAAC,CACvF,EAAA,CAAA;AAAA,KACF,EAAA,CAAA,CAAA;AAAA,GAEJ;AAEA,EAAA,IAAI,cAAc,GAAK,EAAA;AACrB,IAAA,uBACGJ,eAAA,CAAAN,iBAAA,EAAA,EAAK,GAAK,EAAA,CAAA,EAAG,YAAW,QACvB,EAAA,QAAA,EAAA;AAAA,sBAAAC,cAAA,CAAC,IAAK,EAAA,EAAA,EAAA,EAAI8B,WAAO,EAAA,KAAA,EAAM,WAAY,EAAA,CAAA;AAAA,sCAClCrB,uBACE,EAAA,EAAA,QAAA,EAAA;AAAA,QAAA,aAAA,CAAc,EAAE,EAAA,EAAI,gBAAkB,EAAA,cAAA,EAAgB,SAAS,CAAA;AAAA,QAAE,GAAA;AAAA,QAAE,UAAA;AAAA,OACtE,EAAA,CAAA;AAAA,KACF,EAAA,CAAA,CAAA;AAAA,GAEJ;AAEA,EAAO,OAAA,IAAA,CAAA;AACT,CAAA,CAAA;AAWA,MAAM,OAAU,GAAA,CAAC,EAAE,UAAA,EAAY,SAA4B,KAAA;AACzD,EAAM,MAAA,EAAE,aAAc,EAAA,GAAIX,iBAAQ,EAAA,CAAA;AAElC,EAAA,IAAI,CAAC,UAAY,EAAA;AACf,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAI,IAAA,UAAA,IAAc,GAAO,IAAA,UAAA,GAAa,GAAK,EAAA;AACzC,IACE,uBAAAE,cAAA,CAACD,iBAAK,EAAA,EAAA,cAAA,EAAe,UACnB,EAAA,QAAA,kBAAAC,cAAA,CAACS,2BAAW,SAAU,EAAA,YAAA,EAAa,QAAQ,EAAA,IAAA,EACxC,QAAc,EAAA,aAAA,CAAA;AAAA,MACb,EAAI,EAAA,yCAAA;AAAA,MACJ,cAAgB,EAAA,mBAAA;AAAA,KACjB,GACH,CACF,EAAA,CAAA,CAAA;AAAA,GAEJ;AAEA,EAAA,IAAI,cAAc,GAAK,EAAA;AACrB,IACE,uBAAAT,cAAA,CAACD,qBAAK,cAAe,EAAA,UAAA,EACnB,yCAACA,iBAAK,EAAA,EAAA,QAAA,EAAU,CAAG,EAAA,GAAA,GAAM,EAAE,CAAA,GAAA,CAAA,EAAO,gBAAe,UAAW,EAAA,KAAA,EAAO,OACjE,EAAA,QAAA,kBAAAC,cAAA,CAACS,uBAAW,EAAA,EAAA,QAAA,EAAQ,MAAC,SAAU,EAAA,YAAA,EAC5B,QACH,EAAA,OAAA,EAAA,CAAA,EACF,CACF,EAAA,CAAA,CAAA;AAAA,GAEJ;AAEA,EAAO,OAAA,IAAA,CAAA;AACT,CAAA;;ACzHA,MAAM,cAAc,CAAC;AAAA,EACnB,YAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,eAAA;AAAA,EACA,IAAA;AACF,CAAwB,KAAA;AACtB,EAAM,MAAA,EAAE,aAAc,EAAA,GAAIX,iBAAQ,EAAA,CAAA;AAClC,EAAA,MAAM,CAAC,mBAAqB,EAAA,sBAAsB,CAAI,GAAAqB,gBAAA,CAAM,SAAS,KAAK,CAAA,CAAA;AAC1E,EAAA,MAAM,UAAa,GAAAe,mBAAA;AAAA,IACjB,YAAA;AAAA,IACA,YAEI,CAAA,MAAM,qCACJ,2BACF,EACA,EAAA,aAAA;AAAA,GACN,CAAA;AAKA,EAAM,MAAA,UAAA,GAAa,CAAC,OAAqD,KAAA;AACvE,IAAA,IAAI,CAAC,MAAA,CAAO,IAAK,CAAA,OAAO,EAAE,MAAQ,EAAA;AAChC,MAAA,OAAO,CAAC,EAAE,GAAA,EAAK,EAAI,EAAA,KAAA,EAAO,IAAI,CAAA,CAAA;AAAA,KAChC;AAEA,IAAA,OAAO,MAAO,CAAA,OAAA,CAAQ,OAAO,CAAA,CAAE,GAAI,CAAA,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,MAAO,EAAE,GAAA,EAAK,OAAQ,CAAA,CAAA,CAAA;AAAA,GACvE,CAAA;AAEA,EAAA,MAAMC,WAASC,gBAAU,CAAA;AAAA,IACvB,aAAe,EAAA;AAAA,MACb,IAAA,EAAM,MAAM,IAAQ,IAAA,EAAA;AAAA,MACpB,GAAA,EAAK,MAAM,GAAO,IAAA,EAAA;AAAA,MAClB,OAAS,EAAA,UAAA,CAAW,IAAM,EAAA,OAAA,IAAW,EAAE,CAAA;AAAA,MACvC,MAAA,EAAQ,IAAM,EAAA,MAAA,IAAU,EAAC;AAAA,KAC3B;AAAA,IACA,MAAM,QAAS,CAAA,MAAA,EAAQD,OAAQ,EAAA;AAC7B,MAAM,MAAA,YAAA,CAAa,QAAQA,OAAM,CAAA,CAAA;AAEjC,MAAAA,OAAO,CAAA,SAAA,CAAU,EAAE,MAAA,EAAQ,CAAA,CAAA;AAAA,KAC7B;AAAA,IACA,gBAAkB,EAAA,2BAAA,CAA4B,EAAE,aAAA,EAAe,CAAA;AAAA,IAC/D,gBAAkB,EAAA,KAAA;AAAA,IAClB,cAAgB,EAAA,KAAA;AAAA,GACjB,CAAA,CAAA;AAGD,EAAA,IAAI,CAAC,UAAY,EAAA;AACf,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,uBACGnC,cAAA,CAAAqC,qBAAA,EAAA,EAAe,KAAO,EAAAF,QAAA,EACrB,0CAACG,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAAtC,cAAA;AAAA,MAACuC,yBAAA;AAAA,MAAA;AAAA,QACC,aACE,kBAAAlC,eAAA,CAACN,iBAAK,EAAA,EAAA,GAAA,EAAK,CACT,EAAA,QAAA,EAAA;AAAA,0BAAAC,cAAA;AAAA,YAACwC,mBAAA;AAAA,YAAA;AAAA,cACC,SAAS,MAAM;AACb,gBAAe,cAAA,EAAA,CAAA;AACf,gBAAA,sBAAA,CAAuB,IAAI,CAAA,CAAA;AAAA,eAC7B;AAAA,cACA,OAAQ,EAAA,UAAA;AAAA,cACR,SAAA,iCAAYC,UAAQ,EAAA,EAAA,CAAA;AAAA,cACpB,UAAU,UAAc,IAAA,YAAA;AAAA,cACxB,IAAK,EAAA,GAAA;AAAA,cAEJ,QAAc,EAAA,aAAA,CAAA;AAAA,gBACb,EAAI,EAAA,2BAAA;AAAA,gBACJ,cAAgB,EAAA,SAAA;AAAA,eACjB,CAAA;AAAA,aAAA;AAAA,WACH;AAAA,0BACAzC,cAAA;AAAA,YAACwC,mBAAA;AAAA,YAAA;AAAA,cACC,SAAA,iCAAYP,WAAM,EAAA,EAAA,CAAA;AAAA,cAClB,IAAK,EAAA,QAAA;AAAA,cACL,IAAK,EAAA,GAAA;AAAA,cACL,QAAA,EAAU,CAACE,QAAO,CAAA,KAAA;AAAA,cAClB,SAASA,QAAO,CAAA,YAAA;AAAA,cAEf,QAAc,EAAA,aAAA,CAAA;AAAA,gBACb,EAAI,EAAA,aAAA;AAAA,gBACJ,cAAgB,EAAA,MAAA;AAAA,eACjB,CAAA;AAAA,aAAA;AAAA,WACH;AAAA,SACF,EAAA,CAAA;AAAA,QAEF,KAAA,EACE,aACI,aAAc,CAAA;AAAA,UACZ,EAAI,EAAA,0BAAA;AAAA,UACJ,cAAgB,EAAA,kBAAA;AAAA,SACjB,IACD,IAAM,EAAA,IAAA;AAAA,QAEZ,gBAAA,iCAAmBO,gBAAW,EAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAChC;AAAA,oBACA1C,cAAA,CAAC2C,8BACC,QAAC,kBAAAtC,eAAA,CAAAN,iBAAA,EAAA,EAAK,WAAU,QAAS,EAAA,UAAA,EAAW,SAAU,EAAA,GAAA,EAAK,CAChD,EAAA,QAAA,EAAA;AAAA,MACC,mBAAA,oBAAAC,cAAA;AAAA,QAAC,gBAAA;AAAA,QAAA;AAAA,UACC,SAAW,EAAA,YAAA;AAAA,UACX,QAAU,EAAA,eAAA;AAAA,UACV,QAAA,EAAU,MAAM,sBAAA,CAAuB,KAAK,CAAA;AAAA,SAAA;AAAA,OAC9C;AAAA,qCAEDgB,gBAAI,EAAA,EAAA,UAAA,EAAW,UAAW,EAAA,OAAA,EAAS,GAAG,MAAO,EAAA,cAAA,EAAe,SAAS,EAAA,IAAA,EACpE,0CAACjB,iBAAK,EAAA,EAAA,SAAA,EAAU,UAAS,UAAW,EAAA,SAAA,EAAU,KAAK,CACjD,EAAA,QAAA,EAAA;AAAA,wBAACM,eAAA,CAAAa,iBAAA,EAAA,EAAK,KAAK,CACT,EAAA,QAAA,EAAA;AAAA,0BAAClB,cAAA,CAAAoB,qBAAA,EAAA,EAAS,KAAK,CACb,EAAA,QAAA,kBAAApB,cAAA;AAAA,YAACqB,YAAA;AAAA,YAAA;AAAA,cACC,EAAI,EAAAC,sBAAA;AAAA,cACJ,IAAK,EAAA,MAAA;AAAA,cACL,KAAA,EAAOa,SAAO,MAAO,CAAA,IAAA;AAAA,cACrB,OAAO,aAAc,CAAA;AAAA,gBACnB,EAAI,EAAA,aAAA;AAAA,gBACJ,cAAgB,EAAA,MAAA;AAAA,eACjB,CAAA;AAAA,cACD,QAAQ,EAAA,IAAA;AAAA,aAAA;AAAA,WAEZ,EAAA,CAAA;AAAA,0BACAnC,cAAA,CAACoB,qBAAS,EAAA,EAAA,GAAA,EAAK,EACb,EAAA,QAAA,kBAAApB,cAAA;AAAA,YAACqB,YAAA;AAAA,YAAA;AAAA,cACC,EAAI,EAAAC,sBAAA;AAAA,cACJ,IAAK,EAAA,KAAA;AAAA,cACL,KAAA,EAAOa,SAAO,MAAO,CAAA,GAAA;AAAA,cACrB,OAAO,aAAc,CAAA;AAAA,gBACnB,EAAI,EAAA,+BAAA;AAAA,gBACJ,cAAgB,EAAA,KAAA;AAAA,eACjB,CAAA;AAAA,cACD,QAAQ,EAAA,IAAA;AAAA,aAAA;AAAA,WAEZ,EAAA,CAAA;AAAA,SACF,EAAA,CAAA;AAAA,uCACC,YAAa,EAAA,EAAA,CAAA;AAAA,uCACb,UAAW,EAAA,EAAA,CAAA;AAAA,OAAA,EACd,CACF,EAAA,CAAA;AAAA,KAAA,EACF,CACF,EAAA,CAAA;AAAA,GAAA,EACF,CACF,EAAA,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,UAAa,GAAA,iCAAA,CAAA;AACnB,MAAM,SAAY,GAAA,mCAAA,CAAA;AAElB,MAAM,2BAAA,GAA8B,CAAC,EAAE,aAAA,OACrCS,cAAI,CAAA,MAAA,GAAS,KAAM,CAAA;AAAA,EACjB,IAAA,EAAMA,cACH,CAAA,MAAA,EACA,CAAA,QAAA;AAAA,IACC,aAAc,CAAA;AAAA,MACZ,EAAI,EAAA,4CAAA;AAAA,MACJ,cAAgB,EAAA,kBAAA;AAAA,KACjB,CAAA;AAAA,GAEF,CAAA,OAAA;AAAA,IACC,UAAA;AAAA,IACA,aAAc,CAAA;AAAA,MACZ,EAAI,EAAA,yCAAA;AAAA,MACJ,cACE,EAAA,6FAAA;AAAA,KACH,CAAA;AAAA,GACH;AAAA,EACF,GAAA,EAAKA,cACF,CAAA,MAAA,EACA,CAAA,QAAA;AAAA,IACC,aAAc,CAAA;AAAA,MACZ,EAAI,EAAA,2CAAA;AAAA,MACJ,cAAgB,EAAA,iBAAA;AAAA,KACjB,CAAA;AAAA,GAEF,CAAA,OAAA;AAAA,IACC,SAAA;AAAA,IACA,aAAc,CAAA;AAAA,MACZ,EAAI,EAAA,wCAAA;AAAA,MACJ,cAAgB,EAAA,+BAAA;AAAA,KACjB,CAAA;AAAA,GACH;AAAA,EACF,OAAS,EAAAA,cAAA,CAAI,IAAK,CAAA,CAAC,KAAU,KAAA;AAC3B,IAAM,MAAA,UAAA,GAAaA,eAAI,KAAM,EAAA,CAAA;AAE7B,IAAI,IAAA,KAAA,CAAM,WAAW,CAAG,EAAA;AACtB,MAAA,MAAM,EAAE,GAAA,EAAK,KAAM,EAAA,GAAI,MAAM,CAAC,CAAA,CAAA;AAE9B,MAAI,IAAA,CAAC,GAAO,IAAA,CAAC,KAAO,EAAA;AAClB,QAAO,OAAA,UAAA,CAAA;AAAA,OACT;AAAA,KACF;AAEA,IAAA,OAAO,UAAW,CAAA,EAAA;AAAA,MAChBA,cAAA,CAAI,MAAO,EAAA,CAAE,KAAM,CAAA;AAAA,QACjB,GAAA,EAAKA,cAAI,CAAA,MAAA,EAAS,CAAA,QAAA;AAAA,UAChB,aAAc,CAAA;AAAA,YACZ,EAAI,EAAA,kCAAA;AAAA,YACJ,cAAgB,EAAA,iBAAA;AAAA,WACjB,CAAA;AAAA,SACH;AAAA,QACA,KAAA,EAAOA,cAAI,CAAA,MAAA,EAAS,CAAA,QAAA;AAAA,UAClB,aAAc,CAAA;AAAA,YACZ,EAAI,EAAA,oCAAA;AAAA,YACJ,cAAgB,EAAA,mBAAA;AAAA,WACjB,CAAA;AAAA,SACH;AAAA,OACD,CAAA;AAAA,KACH,CAAA;AAAA,GACD,CAAA;AAAA,EACD,MAAA,EAAQA,eAAI,KAAM,EAAA;AACpB,CAAC,CAAA;;ACzOH,MAAM,SAAA,GAAY,CAChB,IAC6D,MAAA;AAAA,EAC7D,GAAG,IAAA;AAAA,EACH,OAAA,EAAS,KAAK,OAAQ,CAAA,MAAA,CAAgD,CAAC,GAAK,EAAA,EAAE,GAAK,EAAA,KAAA,EAAY,KAAA;AAC7F,IAAA,IAAI,QAAQ,EAAI,EAAA;AACd,MAAA,GAAA,CAAI,GAAG,CAAI,GAAA,KAAA,CAAA;AAAA,KACb;AAEA,IAAO,OAAA,GAAA,CAAA;AAAA,GACT,EAAG,EAAE,CAAA;AACP,CAAA,CAAA,CAAA;AAEA,MAAM,WAAW,MAAM;AACrB,EAAM,MAAA,EAAE,aAAc,EAAA,GAAI9C,iBAAQ,EAAA,CAAA;AAClC,EAAM,MAAA,KAAA,GAAQ+C,wBAAS,wBAAwB,CAAA,CAAA;AAC/C,EAAM,MAAA,EAAA,GAAK,OAAO,MAAO,CAAA,EAAA,CAAA;AACzB,EAAA,MAAM,aAAa,EAAO,KAAA,QAAA,CAAA;AAE1B,EAAA,MAAM,WAAWC,0BAAY,EAAA,CAAA;AAC7B,EAAM,MAAA,EAAE,kBAAmB,EAAA,GAAIC,sBAAgB,EAAA,CAAA;AAC/C,EAAM,MAAA;AAAA,IACJ,uBAAyB,EAAA,cAAA;AAAA,IACzB,+BAAiC,EAAA,sBAAA;AAAA,MAC/BC,yBAAmB,EAAA,CAAA;AACvB,EAAA,MAAM,CAAC,YAAc,EAAA,eAAe,CAAI,GAAA7B,gBAAA,CAAM,SAAS,KAAK,CAAA,CAAA;AAC5D,EAAA,MAAM,CAAC,eAAA,EAAiB,kBAAkB,CAAA,GAAIA,iBAAM,QAA0C,EAAA,CAAA;AAE9F,EAAA,MAAM,EAAE,SAAW,EAAA,QAAA,EAAU,OAAO,aAAe,EAAA,aAAA,EAAe,gBAAmB,GAAA8B,uBAAA;AAAA,IACnF,EAAE,EAAQ,EAAA;AAAA,IACV;AAAA,MACE,IAAM,EAAA,UAAA;AAAA,KACR;AAAA,GACF,CAAA;AAEA,EAAA9B,gBAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,KAAO,EAAA;AACT,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,QAAA;AAAA,QACN,OAAA,EAAS,eAAe,KAAK,CAAA;AAAA,OAC9B,CAAA,CAAA;AAAA,KACH;AAAA,GACC,EAAA,CAAC,KAAO,EAAA,kBAAA,EAAoB,cAAc,CAAC,CAAA,CAAA;AAE9C,EAAA,MAAM,uBAAuB,YAAY;AACvC,IAAI,IAAA;AACF,MAAA,eAAA,CAAgB,IAAI,CAAA,CAAA;AAEpB,MAAM,MAAA,GAAA,GAAM,MAAM,cAAA,CAAe,EAAG,CAAA,CAAA;AAEpC,MAAA,IAAI,WAAW,GAAK,EAAA;AAClB,QAAmB,kBAAA,CAAA;AAAA,UACjB,IAAM,EAAA,QAAA;AAAA,UACN,OAAA,EAAS,cAAe,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,SAClC,CAAA,CAAA;AAED,QAAA,OAAA;AAAA,OACF;AAEA,MAAA,kBAAA,CAAmB,IAAI,IAAI,CAAA,CAAA;AAAA,KACrB,CAAA,MAAA;AACN,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,QAAA;AAAA,QACN,SAAS,aAAc,CAAA;AAAA,UACrB,EAAI,EAAA,oBAAA;AAAA,UACJ,cAAgB,EAAA,mBAAA;AAAA,SACjB,CAAA;AAAA,OACF,CAAA,CAAA;AAAA,KACD,SAAA;AACA,MAAA,eAAA,CAAgB,KAAK,CAAA,CAAA;AAAA,KACvB;AAAA,GACF,CAAA;AAEA,EAAM,MAAA,YAAA,GAAe,OACnB,IAAA,EACA,MACG,KAAA;AACH,IAAI,IAAA;AACF,MAAA,IAAI,UAAY,EAAA;AACd,QAAA,MAAM,GAAM,GAAA,MAAM,aAAc,CAAA,SAAA,CAAU,IAAI,CAAC,CAAA,CAAA;AAE/C,QAAA,IAAI,WAAW,GAAK,EAAA;AAClB,UAAA,IAAI+B,wBAAiB,GAAI,CAAA,KAAK,KAAK,GAAI,CAAA,KAAA,CAAM,SAAS,iBAAmB,EAAA;AACvE,YAAA,MAAA,CAAO,SAAU,CAAA,sBAAA,CAAuB,GAAI,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,WAC7C,MAAA;AACL,YAAmB,kBAAA,CAAA;AAAA,cACjB,IAAM,EAAA,QAAA;AAAA,cACN,OAAA,EAAS,cAAe,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,aAClC,CAAA,CAAA;AAAA,WACH;AAEA,UAAA,OAAA;AAAA,SACF;AAEA,QAAmB,kBAAA,CAAA;AAAA,UACjB,IAAM,EAAA,SAAA;AAAA,UACN,OAAS,EAAA,aAAA,CAAc,EAAE,EAAA,EAAI,6BAA6B,CAAA;AAAA,SAC3D,CAAA,CAAA;AAED,QAAA,QAAA,CAAS,IAAI,IAAK,CAAA,EAAA,EAAI,EAAE,OAAA,EAAS,MAAM,CAAA,CAAA;AAAA,OAClC,MAAA;AACL,QAAM,MAAA,GAAA,GAAM,MAAM,aAAc,CAAA,EAAE,IAAS,GAAG,SAAA,CAAU,IAAI,CAAA,EAAG,CAAA,CAAA;AAE/D,QAAA,IAAI,WAAW,GAAK,EAAA;AAClB,UAAA,IAAIA,wBAAiB,GAAI,CAAA,KAAK,KAAK,GAAI,CAAA,KAAA,CAAM,SAAS,iBAAmB,EAAA;AACvE,YAAA,MAAA,CAAO,SAAU,CAAA,sBAAA,CAAuB,GAAI,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,WAC7C,MAAA;AACL,YAAmB,kBAAA,CAAA;AAAA,cACjB,IAAM,EAAA,QAAA;AAAA,cACN,OAAA,EAAS,cAAe,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,aAClC,CAAA,CAAA;AAAA,WACH;AAEA,UAAA,OAAA;AAAA,SACF;AAEA,QAAmB,kBAAA,CAAA;AAAA,UACjB,IAAM,EAAA,SAAA;AAAA,UACN,OAAS,EAAA,aAAA,CAAc,EAAE,EAAA,EAAI,oCAAoC,CAAA;AAAA,SAClE,CAAA,CAAA;AAAA,OACH;AAAA,KACM,CAAA,MAAA;AACN,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,QAAA;AAAA,QACN,SAAS,aAAc,CAAA;AAAA,UACrB,EAAI,EAAA,oBAAA;AAAA,UACJ,cAAgB,EAAA,mBAAA;AAAA,SACjB,CAAA;AAAA,OACF,CAAA,CAAA;AAAA,KACH;AAAA,GACF,CAAA;AAEA,EAAA,IAAI,SAAW,EAAA;AACb,IAAO,uBAAAlD,cAAA,CAACmD,WAAK,CAAA,OAAA,EAAL,EAAa,CAAA,CAAA;AAAA,GACvB;AAEA,EAAA,MAAM,CAAC,OAAO,CAAI,GAAA,QAAA,IAAY,EAAC,CAAA;AAE/B,EAAA,uCACGC,iBACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAApD,cAAA;AAAA,MAACqD,kBAAA;AAAA,MAAA;AAAA,QACC,KAAO,EAAA,aAAA;AAAA,UACL,EAAE,EAAA,EAAI,oBAAsB,EAAA,cAAA,EAAgB,mBAAoB,EAAA;AAAA,UAChE;AAAA,YACE,IAAM,EAAA,UAAA;AAAA,WACR;AAAA,SACF;AAAA,OAAA;AAAA,KACF;AAAA,oBACArD,cAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,IAAM,EAAA,OAAA;AAAA,QACN,YAAA;AAAA,QACA,cAAgB,EAAA,oBAAA;AAAA,QAChB,UAAA;AAAA,QACA,YAAA;AAAA,QACA,eAAA;AAAA,OAAA;AAAA,KACF;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,EAAA;AAMA,MAAM,oBAAoB,MAAM;AAC9B,EAAM,MAAA,WAAA,GAAcsD,wBAAiBC,gCAAsB,CAAA,CAAA;AAE3D,EACE,uBAAAvD,cAAA,CAACmD,WAAK,CAAA,OAAA,EAAL,EAAa,WAAA,EAAa,WAAY,CAAA,QAAA,EAAU,QAAS,CAAA,MAAA,EACxD,QAAC,kBAAAnD,cAAA,CAAA,QAAA,EAAA,EAAS,CACZ,EAAA,CAAA,CAAA;AAEJ,CAAA;;;;;;;;;;;;"}
@@ -6,14 +6,14 @@ import { useFormik, FormikProvider, Form } from 'formik';
6
6
  import { useIntl } from 'react-intl';
7
7
  import { useSelector, useDispatch } from 'react-redux';
8
8
  import { useParams } from 'react-router-dom';
9
- import { f as useLicenseLimits, C as CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME, m as CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME, k as useUpdateWorkflowMutation, n as useInjectReducer, R as REDUX_NAMESPACE, B as BackButton, g as ConfirmDialog, h as LimitsModal } from './index-NzLAHRwx.mjs';
10
- import { i as useAPIErrorHandler, j as useNotification, k as useRBAC, H as isBaseQueryError } from './reducers-TOuLOGw_.mjs';
11
- import { u as useAdminRoles } from './useAdminRoles-PSfwOXiz.mjs';
12
- import { u as useContentTypes } from './useContentTypes-Or3rDVks.mjs';
13
- import { s as selectAdminPermissions } from './selectors-NvWWczps.mjs';
14
- import { j as selectServerState, a as selectIsWorkflowDirty, b as selectCurrentWorkflow, k as selectHasDeletedServerStages, c as selectRoles, s as selectIsLoading, v as validateWorkflow, r as reducer, l as setWorkflow, e as setWorkflows, f as setContentTypes, g as setRoles, h as setIsLoading, d as resetWorkflow, W as WorkflowAttributes, S as Stages } from './validateWorkflow-cwVWZu1s.mjs';
15
- import { D as DragLayerRendered, H as Header, R as Root } from './Layout-yOQ2mhrf.mjs';
16
- import { u as useReviewWorkflows } from './useReviewWorkflows-Ji_rsoyJ.mjs';
9
+ import { f as useLicenseLimits, C as CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME, m as CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME, k as useUpdateWorkflowMutation, n as useInjectReducer, R as REDUX_NAMESPACE, B as BackButton, g as ConfirmDialog, h as LimitsModal } from './index-oXhvt6Nv.mjs';
10
+ import { i as useAPIErrorHandler, j as useNotification, k as useRBAC, H as isBaseQueryError } from './reducers-IQWvK_9L.mjs';
11
+ import { u as useAdminRoles } from './useAdminRoles-bTVTWj4N.mjs';
12
+ import { u as useContentTypes } from './useContentTypes-PEGh0Cg-.mjs';
13
+ import { s as selectAdminPermissions } from './selectors-nn3C3YKE.mjs';
14
+ import { j as selectServerState, a as selectIsWorkflowDirty, b as selectCurrentWorkflow, k as selectHasDeletedServerStages, c as selectRoles, s as selectIsLoading, v as validateWorkflow, r as reducer, l as setWorkflow, e as setWorkflows, f as setContentTypes, g as setRoles, h as setIsLoading, d as resetWorkflow, W as WorkflowAttributes, S as Stages } from './validateWorkflow-BOHXHGsM.mjs';
15
+ import { D as DragLayerRendered, H as Header, R as Root } from './Layout-JxGSf9_Y.mjs';
16
+ import { u as useReviewWorkflows } from './useReviewWorkflows-1IXSO8ml.mjs';
17
17
 
18
18
  const ReviewWorkflowsEditPage = () => {
19
19
  const { workflowId = "" } = useParams();
@@ -300,4 +300,4 @@ const ReviewWorkflowsEditPage = () => {
300
300
  };
301
301
 
302
302
  export { ReviewWorkflowsEditPage };
303
- //# sourceMappingURL=EditPage-LUNpO2Hs.mjs.map
303
+ //# sourceMappingURL=EditPage-3SBMJVop.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditPage-LUNpO2Hs.mjs","sources":["../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/EditPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex, Loader, Typography } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport { useFormik, Form, FormikProvider, FormikErrors } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { useParams } from 'react-router-dom';\n\nimport { ConfirmDialog } from '../../../../../../../admin/src/components/ConfirmDialog';\nimport { BackButton } from '../../../../../../../admin/src/features/BackButton';\nimport { useNotification } from '../../../../../../../admin/src/features/Notifications';\nimport { useAdminRoles } from '../../../../../../../admin/src/hooks/useAdminRoles';\nimport { useAPIErrorHandler } from '../../../../../../../admin/src/hooks/useAPIErrorHandler';\nimport { useContentTypes } from '../../../../../../../admin/src/hooks/useContentTypes';\nimport { useInjectReducer } from '../../../../../../../admin/src/hooks/useInjectReducer';\nimport { useRBAC } from '../../../../../../../admin/src/hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../../../../admin/src/selectors';\nimport { isBaseQueryError } from '../../../../../../../admin/src/utils/baseQuery';\nimport { Stage } from '../../../../../../../shared/contracts/review-workflows';\nimport { useLicenseLimits } from '../../../../hooks/useLicenseLimits';\nimport { useUpdateWorkflowMutation } from '../../../../services/reviewWorkflows';\n\nimport {\n resetWorkflow,\n setIsLoading,\n setWorkflow,\n setContentTypes,\n setRoles,\n setWorkflows,\n} from './actions';\nimport * as Layout from './components/Layout';\nimport { LimitsModal } from './components/LimitsModal';\nimport { Stages } from './components/Stages';\nimport { WorkflowAttributes } from './components/WorkflowAttributes';\nimport {\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n REDUX_NAMESPACE,\n} from './constants';\nimport { useReviewWorkflows } from './hooks/useReviewWorkflows';\nimport { CurrentWorkflow, reducer } from './reducer';\nimport {\n selectIsWorkflowDirty,\n selectCurrentWorkflow,\n selectHasDeletedServerStages,\n selectIsLoading,\n selectRoles,\n selectServerState,\n} from './selectors';\nimport { validateWorkflow } from './utils/validateWorkflow';\n\nexport const ReviewWorkflowsEditPage = () => {\n const { workflowId = '' } = useParams();\n const permissions = useSelector(selectAdminPermissions);\n const { formatMessage } = useIntl();\n const dispatch = useDispatch();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const { isLoading: isLoadingWorkflow, meta, workflows } = useReviewWorkflows();\n const { collectionTypes, singleTypes, isLoading: isLoadingContentTypes } = useContentTypes();\n const serverState = useSelector(selectServerState);\n const currentWorkflowIsDirty = useSelector(selectIsWorkflowDirty);\n const currentWorkflow = useSelector(selectCurrentWorkflow);\n const hasDeletedServerStages = useSelector(selectHasDeletedServerStages);\n const roles = useSelector(selectRoles);\n const isLoading = useSelector(selectIsLoading);\n const {\n allowedActions: { canDelete, canUpdate },\n } = useRBAC(permissions.settings?.['review-workflows']);\n const [savePrompts, setSavePrompts] = React.useState<{\n hasDeletedServerStages?: boolean;\n hasReassignedContentTypes?: boolean;\n }>({});\n const { getFeature, isLoading: isLicenseLoading } = useLicenseLimits();\n const { isLoading: isLoadingRoles, roles: serverRoles } = useAdminRoles(undefined);\n const [showLimitModal, setShowLimitModal] = React.useState<'workflow' | 'stage' | null>(null);\n const [initialErrors, setInitialErrors] = React.useState<FormikErrors<CurrentWorkflow>>();\n const [saving, setSaving] = React.useState(false);\n\n const workflow = workflows?.find((workflow) => workflow.id === parseInt(workflowId, 10));\n const contentTypesFromOtherWorkflows = workflows\n ?.filter((workflow) => workflow.id !== parseInt(workflowId, 10))\n .flatMap((workflow) => workflow.contentTypes);\n\n const limits = getFeature<string>('review-workflows');\n const numberOfWorkflows = limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME];\n const stagesPerWorkflow = limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME];\n\n const [updateWorkflow] = useUpdateWorkflowMutation();\n\n const submitForm = async () => {\n // reset the error messages\n setInitialErrors(undefined);\n setSaving(true);\n\n try {\n const res = await updateWorkflow({\n id: workflowId!,\n data: {\n ...currentWorkflow,\n\n // compare permissions of stages and only submit them if at least one has\n // changed; this enables partial updates e.g. for users who don't have\n // permissions to see roles\n stages: currentWorkflow.stages?.map((stage) => {\n let hasUpdatedPermissions = true;\n const serverStage = serverState.workflow?.stages?.find(\n (serverStage) => serverStage.id === stage?.id\n );\n\n if (serverStage) {\n hasUpdatedPermissions =\n serverStage.permissions?.length !== stage.permissions?.length ||\n !serverStage.permissions?.every(\n (serverPermission) =>\n !!stage.permissions?.find(\n (permission) => permission.role === serverPermission.role\n )\n );\n }\n\n return {\n ...stage,\n permissions: hasUpdatedPermissions ? stage.permissions : undefined,\n } satisfies Stage;\n }),\n },\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n setInitialErrors(formatValidationErrors(res.error));\n }\n\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n } finally {\n setSaving(false);\n }\n\n setSavePrompts({});\n };\n\n const handleConfirmDeleteDialog = async () => {\n await submitForm();\n };\n\n const handleConfirmClose = () => {\n setSavePrompts({});\n };\n\n const formik = useFormik({\n enableReinitialize: true,\n initialErrors,\n initialValues: currentWorkflow,\n async onSubmit() {\n const isContentTypeReassignment = currentWorkflow.contentTypes?.some((contentType) =>\n contentTypesFromOtherWorkflows?.includes(contentType)\n );\n\n if (meta && numberOfWorkflows && meta?.workflowCount > parseInt(numberOfWorkflows, 10)) {\n /**\n * If the current license has a limit, check if the total count of workflows\n * exceeds that limit and display the limits modal instead of sending the\n * update, because it would throw an API error.\n */\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit, check if the total count of stages\n * exceeds that limit and display the limits modal instead of sending the\n * update, because it would throw an API error.\n */\n } else if (\n currentWorkflow.stages &&\n stagesPerWorkflow &&\n currentWorkflow.stages.length > parseInt(stagesPerWorkflow, 10)\n ) {\n setShowLimitModal('stage');\n } else if (hasDeletedServerStages || isContentTypeReassignment) {\n if (hasDeletedServerStages) {\n setSavePrompts((prev) => ({ ...prev, hasDeletedServerStages: true }));\n }\n\n if (isContentTypeReassignment) {\n setSavePrompts((prev) => ({ ...prev, hasReassignedContentTypes: true }));\n }\n } else {\n submitForm();\n }\n },\n validate(values) {\n return validateWorkflow({ values, formatMessage });\n },\n });\n\n useInjectReducer(REDUX_NAMESPACE, reducer);\n\n React.useEffect(() => {\n if (!isLoadingWorkflow && workflow && workflows) {\n dispatch(setWorkflow({ workflow }));\n dispatch(setWorkflows({ workflows }));\n }\n\n if (!isLoadingContentTypes) {\n dispatch(setContentTypes({ collectionTypes, singleTypes }));\n }\n\n if (!isLoadingRoles) {\n dispatch(setRoles(serverRoles));\n }\n\n dispatch(setIsLoading(isLoadingWorkflow || isLoadingContentTypes || isLoadingRoles));\n\n // reset the state to the initial state to avoid flashes if a user\n // navigates from an edit-view to a create-view\n return () => {\n dispatch(resetWorkflow());\n };\n }, [\n collectionTypes,\n dispatch,\n isLoadingContentTypes,\n isLoadingWorkflow,\n isLoadingRoles,\n serverRoles,\n singleTypes,\n workflow,\n workflows,\n ]);\n\n /**\n * If the current license has a limit:\n * check if the total count of workflows or stages exceeds that limit and display\n * the limits modal on page load. It can be closed by the user, but the\n * API will throw an error in case they try to create a new workflow or update the\n * stages.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now). In case they are trying to create the 201st workflow/ stage\n * the API will throw an error.\n *\n */\n\n React.useEffect(() => {\n if (!isLoadingWorkflow && !isLicenseLoading) {\n if (meta && numberOfWorkflows && meta?.workflowCount > parseInt(numberOfWorkflows, 10)) {\n setShowLimitModal('workflow');\n } else if (\n currentWorkflow.stages &&\n stagesPerWorkflow &&\n currentWorkflow.stages.length > parseInt(stagesPerWorkflow, 10)\n ) {\n setShowLimitModal('stage');\n }\n }\n }, [\n currentWorkflow.stages,\n isLicenseLoading,\n isLoadingWorkflow,\n limits,\n meta,\n numberOfWorkflows,\n stagesPerWorkflow,\n ]);\n\n React.useEffect(() => {\n if (!isLoading && roles?.length === 0) {\n toggleNotification({\n blockTransition: true,\n type: 'danger',\n message: formatMessage({\n id: 'Settings.review-workflows.stage.permissions.noPermissions.description',\n defaultMessage: 'You don’t have the permission to see roles',\n }),\n });\n }\n }, [formatMessage, isLoading, roles, toggleNotification]);\n\n // TODO: redirect back to list-view if workflow is not found?\n\n return (\n <>\n <Layout.DragLayerRendered />\n\n <FormikProvider value={formik}>\n <Form onSubmit={formik.handleSubmit}>\n <Layout.Header\n navigationAction={<BackButton />}\n primaryAction={\n canUpdate && (\n <Button\n startIcon={<Check />}\n type=\"submit\"\n size=\"M\"\n disabled={!currentWorkflowIsDirty}\n // if the confirm dialog is open the loading state is on\n // the confirm button already\n loading={!Boolean(Object.keys(savePrompts).length > 0) && saving}\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n )\n }\n subtitle={\n !isLoading &&\n formatMessage(\n {\n id: 'Settings.review-workflows.page.subtitle',\n defaultMessage: '{count, plural, one {# stage} other {# stages}}',\n },\n { count: currentWorkflow.stages?.length }\n )\n }\n title={currentWorkflow.name || ''}\n />\n\n <Layout.Root>\n {isLoading ? (\n <Flex justifyContent=\"center\">\n <Loader>\n {formatMessage({\n id: 'Settings.review-workflows.page.isLoading',\n defaultMessage: 'Workflow is loading',\n })}\n </Loader>\n </Flex>\n ) : (\n <Flex alignItems=\"stretch\" direction=\"column\" gap={7}>\n <WorkflowAttributes canUpdate={canUpdate} />\n <Stages\n canDelete={canDelete}\n canUpdate={canUpdate}\n stages={formik.values?.stages}\n />\n </Flex>\n )}\n </Layout.Root>\n </Form>\n </FormikProvider>\n\n <ConfirmDialog\n isOpen={Object.keys(savePrompts).length > 0}\n onClose={handleConfirmClose}\n onConfirm={handleConfirmDeleteDialog}\n >\n <Flex direction=\"column\" gap={5}>\n {savePrompts.hasDeletedServerStages && (\n <Typography textAlign=\"center\" variant=\"omega\">\n {formatMessage({\n id: 'Settings.review-workflows.page.delete.confirm.stages.body',\n defaultMessage:\n 'All entries assigned to deleted stages will be moved to the previous stage.',\n })}\n </Typography>\n )}\n\n {savePrompts.hasReassignedContentTypes && (\n <Typography textAlign=\"center\" variant=\"omega\">\n {formatMessage(\n {\n id: 'Settings.review-workflows.page.delete.confirm.contentType.body',\n defaultMessage:\n '{count} {count, plural, one {content-type} other {content-types}} {count, plural, one {is} other {are}} already mapped to {count, plural, one {another workflow} other {other workflows}}. If you save changes, {count, plural, one {this} other {these}} {count, plural, one {content-type} other {{count} content-types}} will no more be mapped to the {count, plural, one {another workflow} other {other workflows}} and all corresponding information will be removed.',\n },\n {\n count: contentTypesFromOtherWorkflows?.filter((contentType) =>\n currentWorkflow.contentTypes?.includes(contentType)\n ).length,\n }\n )}\n </Typography>\n )}\n\n <Typography textAlign=\"center\" variant=\"omega\">\n {formatMessage({\n id: 'Settings.review-workflows.page.delete.confirm.confirm',\n defaultMessage: 'Are you sure you want to save?',\n })}\n </Typography>\n </Flex>\n </ConfirmDialog>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'workflow'}\n onClose={() => setShowLimitModal(null)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'Settings.review-workflows.edit.page.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'Settings.review-workflows.edit.page.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n\n <LimitsModal.Root isOpen={showLimitModal === 'stage'} onClose={() => setShowLimitModal(null)}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'Settings.review-workflows.edit.page.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'Settings.review-workflows.edit.page.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </>\n );\n};\n"],"names":["workflow","serverStage","Layout.DragLayerRendered","Layout.Header","Layout.Root"],"mappings":"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"}
1
+ {"version":3,"file":"EditPage-3SBMJVop.mjs","sources":["../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/EditPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex, Loader, Typography } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport { useFormik, Form, FormikProvider, FormikErrors } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { useParams } from 'react-router-dom';\n\nimport { ConfirmDialog } from '../../../../../../../admin/src/components/ConfirmDialog';\nimport { BackButton } from '../../../../../../../admin/src/features/BackButton';\nimport { useNotification } from '../../../../../../../admin/src/features/Notifications';\nimport { useAdminRoles } from '../../../../../../../admin/src/hooks/useAdminRoles';\nimport { useAPIErrorHandler } from '../../../../../../../admin/src/hooks/useAPIErrorHandler';\nimport { useContentTypes } from '../../../../../../../admin/src/hooks/useContentTypes';\nimport { useInjectReducer } from '../../../../../../../admin/src/hooks/useInjectReducer';\nimport { useRBAC } from '../../../../../../../admin/src/hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../../../../admin/src/selectors';\nimport { isBaseQueryError } from '../../../../../../../admin/src/utils/baseQuery';\nimport { Stage } from '../../../../../../../shared/contracts/review-workflows';\nimport { useLicenseLimits } from '../../../../hooks/useLicenseLimits';\nimport { useUpdateWorkflowMutation } from '../../../../services/reviewWorkflows';\n\nimport {\n resetWorkflow,\n setIsLoading,\n setWorkflow,\n setContentTypes,\n setRoles,\n setWorkflows,\n} from './actions';\nimport * as Layout from './components/Layout';\nimport { LimitsModal } from './components/LimitsModal';\nimport { Stages } from './components/Stages';\nimport { WorkflowAttributes } from './components/WorkflowAttributes';\nimport {\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n REDUX_NAMESPACE,\n} from './constants';\nimport { useReviewWorkflows } from './hooks/useReviewWorkflows';\nimport { CurrentWorkflow, reducer } from './reducer';\nimport {\n selectIsWorkflowDirty,\n selectCurrentWorkflow,\n selectHasDeletedServerStages,\n selectIsLoading,\n selectRoles,\n selectServerState,\n} from './selectors';\nimport { validateWorkflow } from './utils/validateWorkflow';\n\nexport const ReviewWorkflowsEditPage = () => {\n const { workflowId = '' } = useParams();\n const permissions = useSelector(selectAdminPermissions);\n const { formatMessage } = useIntl();\n const dispatch = useDispatch();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const { isLoading: isLoadingWorkflow, meta, workflows } = useReviewWorkflows();\n const { collectionTypes, singleTypes, isLoading: isLoadingContentTypes } = useContentTypes();\n const serverState = useSelector(selectServerState);\n const currentWorkflowIsDirty = useSelector(selectIsWorkflowDirty);\n const currentWorkflow = useSelector(selectCurrentWorkflow);\n const hasDeletedServerStages = useSelector(selectHasDeletedServerStages);\n const roles = useSelector(selectRoles);\n const isLoading = useSelector(selectIsLoading);\n const {\n allowedActions: { canDelete, canUpdate },\n } = useRBAC(permissions.settings?.['review-workflows']);\n const [savePrompts, setSavePrompts] = React.useState<{\n hasDeletedServerStages?: boolean;\n hasReassignedContentTypes?: boolean;\n }>({});\n const { getFeature, isLoading: isLicenseLoading } = useLicenseLimits();\n const { isLoading: isLoadingRoles, roles: serverRoles } = useAdminRoles(undefined);\n const [showLimitModal, setShowLimitModal] = React.useState<'workflow' | 'stage' | null>(null);\n const [initialErrors, setInitialErrors] = React.useState<FormikErrors<CurrentWorkflow>>();\n const [saving, setSaving] = React.useState(false);\n\n const workflow = workflows?.find((workflow) => workflow.id === parseInt(workflowId, 10));\n const contentTypesFromOtherWorkflows = workflows\n ?.filter((workflow) => workflow.id !== parseInt(workflowId, 10))\n .flatMap((workflow) => workflow.contentTypes);\n\n const limits = getFeature<string>('review-workflows');\n const numberOfWorkflows = limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME];\n const stagesPerWorkflow = limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME];\n\n const [updateWorkflow] = useUpdateWorkflowMutation();\n\n const submitForm = async () => {\n // reset the error messages\n setInitialErrors(undefined);\n setSaving(true);\n\n try {\n const res = await updateWorkflow({\n id: workflowId!,\n data: {\n ...currentWorkflow,\n\n // compare permissions of stages and only submit them if at least one has\n // changed; this enables partial updates e.g. for users who don't have\n // permissions to see roles\n stages: currentWorkflow.stages?.map((stage) => {\n let hasUpdatedPermissions = true;\n const serverStage = serverState.workflow?.stages?.find(\n (serverStage) => serverStage.id === stage?.id\n );\n\n if (serverStage) {\n hasUpdatedPermissions =\n serverStage.permissions?.length !== stage.permissions?.length ||\n !serverStage.permissions?.every(\n (serverPermission) =>\n !!stage.permissions?.find(\n (permission) => permission.role === serverPermission.role\n )\n );\n }\n\n return {\n ...stage,\n permissions: hasUpdatedPermissions ? stage.permissions : undefined,\n } satisfies Stage;\n }),\n },\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n setInitialErrors(formatValidationErrors(res.error));\n }\n\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n } finally {\n setSaving(false);\n }\n\n setSavePrompts({});\n };\n\n const handleConfirmDeleteDialog = async () => {\n await submitForm();\n };\n\n const handleConfirmClose = () => {\n setSavePrompts({});\n };\n\n const formik = useFormik({\n enableReinitialize: true,\n initialErrors,\n initialValues: currentWorkflow,\n async onSubmit() {\n const isContentTypeReassignment = currentWorkflow.contentTypes?.some((contentType) =>\n contentTypesFromOtherWorkflows?.includes(contentType)\n );\n\n if (meta && numberOfWorkflows && meta?.workflowCount > parseInt(numberOfWorkflows, 10)) {\n /**\n * If the current license has a limit, check if the total count of workflows\n * exceeds that limit and display the limits modal instead of sending the\n * update, because it would throw an API error.\n */\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit, check if the total count of stages\n * exceeds that limit and display the limits modal instead of sending the\n * update, because it would throw an API error.\n */\n } else if (\n currentWorkflow.stages &&\n stagesPerWorkflow &&\n currentWorkflow.stages.length > parseInt(stagesPerWorkflow, 10)\n ) {\n setShowLimitModal('stage');\n } else if (hasDeletedServerStages || isContentTypeReassignment) {\n if (hasDeletedServerStages) {\n setSavePrompts((prev) => ({ ...prev, hasDeletedServerStages: true }));\n }\n\n if (isContentTypeReassignment) {\n setSavePrompts((prev) => ({ ...prev, hasReassignedContentTypes: true }));\n }\n } else {\n submitForm();\n }\n },\n validate(values) {\n return validateWorkflow({ values, formatMessage });\n },\n });\n\n useInjectReducer(REDUX_NAMESPACE, reducer);\n\n React.useEffect(() => {\n if (!isLoadingWorkflow && workflow && workflows) {\n dispatch(setWorkflow({ workflow }));\n dispatch(setWorkflows({ workflows }));\n }\n\n if (!isLoadingContentTypes) {\n dispatch(setContentTypes({ collectionTypes, singleTypes }));\n }\n\n if (!isLoadingRoles) {\n dispatch(setRoles(serverRoles));\n }\n\n dispatch(setIsLoading(isLoadingWorkflow || isLoadingContentTypes || isLoadingRoles));\n\n // reset the state to the initial state to avoid flashes if a user\n // navigates from an edit-view to a create-view\n return () => {\n dispatch(resetWorkflow());\n };\n }, [\n collectionTypes,\n dispatch,\n isLoadingContentTypes,\n isLoadingWorkflow,\n isLoadingRoles,\n serverRoles,\n singleTypes,\n workflow,\n workflows,\n ]);\n\n /**\n * If the current license has a limit:\n * check if the total count of workflows or stages exceeds that limit and display\n * the limits modal on page load. It can be closed by the user, but the\n * API will throw an error in case they try to create a new workflow or update the\n * stages.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now). In case they are trying to create the 201st workflow/ stage\n * the API will throw an error.\n *\n */\n\n React.useEffect(() => {\n if (!isLoadingWorkflow && !isLicenseLoading) {\n if (meta && numberOfWorkflows && meta?.workflowCount > parseInt(numberOfWorkflows, 10)) {\n setShowLimitModal('workflow');\n } else if (\n currentWorkflow.stages &&\n stagesPerWorkflow &&\n currentWorkflow.stages.length > parseInt(stagesPerWorkflow, 10)\n ) {\n setShowLimitModal('stage');\n }\n }\n }, [\n currentWorkflow.stages,\n isLicenseLoading,\n isLoadingWorkflow,\n limits,\n meta,\n numberOfWorkflows,\n stagesPerWorkflow,\n ]);\n\n React.useEffect(() => {\n if (!isLoading && roles?.length === 0) {\n toggleNotification({\n blockTransition: true,\n type: 'danger',\n message: formatMessage({\n id: 'Settings.review-workflows.stage.permissions.noPermissions.description',\n defaultMessage: 'You don’t have the permission to see roles',\n }),\n });\n }\n }, [formatMessage, isLoading, roles, toggleNotification]);\n\n // TODO: redirect back to list-view if workflow is not found?\n\n return (\n <>\n <Layout.DragLayerRendered />\n\n <FormikProvider value={formik}>\n <Form onSubmit={formik.handleSubmit}>\n <Layout.Header\n navigationAction={<BackButton />}\n primaryAction={\n canUpdate && (\n <Button\n startIcon={<Check />}\n type=\"submit\"\n size=\"M\"\n disabled={!currentWorkflowIsDirty}\n // if the confirm dialog is open the loading state is on\n // the confirm button already\n loading={!Boolean(Object.keys(savePrompts).length > 0) && saving}\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n )\n }\n subtitle={\n !isLoading &&\n formatMessage(\n {\n id: 'Settings.review-workflows.page.subtitle',\n defaultMessage: '{count, plural, one {# stage} other {# stages}}',\n },\n { count: currentWorkflow.stages?.length }\n )\n }\n title={currentWorkflow.name || ''}\n />\n\n <Layout.Root>\n {isLoading ? (\n <Flex justifyContent=\"center\">\n <Loader>\n {formatMessage({\n id: 'Settings.review-workflows.page.isLoading',\n defaultMessage: 'Workflow is loading',\n })}\n </Loader>\n </Flex>\n ) : (\n <Flex alignItems=\"stretch\" direction=\"column\" gap={7}>\n <WorkflowAttributes canUpdate={canUpdate} />\n <Stages\n canDelete={canDelete}\n canUpdate={canUpdate}\n stages={formik.values?.stages}\n />\n </Flex>\n )}\n </Layout.Root>\n </Form>\n </FormikProvider>\n\n <ConfirmDialog\n isOpen={Object.keys(savePrompts).length > 0}\n onClose={handleConfirmClose}\n onConfirm={handleConfirmDeleteDialog}\n >\n <Flex direction=\"column\" gap={5}>\n {savePrompts.hasDeletedServerStages && (\n <Typography textAlign=\"center\" variant=\"omega\">\n {formatMessage({\n id: 'Settings.review-workflows.page.delete.confirm.stages.body',\n defaultMessage:\n 'All entries assigned to deleted stages will be moved to the previous stage.',\n })}\n </Typography>\n )}\n\n {savePrompts.hasReassignedContentTypes && (\n <Typography textAlign=\"center\" variant=\"omega\">\n {formatMessage(\n {\n id: 'Settings.review-workflows.page.delete.confirm.contentType.body',\n defaultMessage:\n '{count} {count, plural, one {content-type} other {content-types}} {count, plural, one {is} other {are}} already mapped to {count, plural, one {another workflow} other {other workflows}}. If you save changes, {count, plural, one {this} other {these}} {count, plural, one {content-type} other {{count} content-types}} will no more be mapped to the {count, plural, one {another workflow} other {other workflows}} and all corresponding information will be removed.',\n },\n {\n count: contentTypesFromOtherWorkflows?.filter((contentType) =>\n currentWorkflow.contentTypes?.includes(contentType)\n ).length,\n }\n )}\n </Typography>\n )}\n\n <Typography textAlign=\"center\" variant=\"omega\">\n {formatMessage({\n id: 'Settings.review-workflows.page.delete.confirm.confirm',\n defaultMessage: 'Are you sure you want to save?',\n })}\n </Typography>\n </Flex>\n </ConfirmDialog>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'workflow'}\n onClose={() => setShowLimitModal(null)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'Settings.review-workflows.edit.page.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'Settings.review-workflows.edit.page.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n\n <LimitsModal.Root isOpen={showLimitModal === 'stage'} onClose={() => setShowLimitModal(null)}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'Settings.review-workflows.edit.page.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'Settings.review-workflows.edit.page.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </>\n );\n};\n"],"names":["workflow","serverStage","Layout.DragLayerRendered","Layout.Header","Layout.Root"],"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 index = require('./index-dBY0pLkw.js');
15
- const useAdminRoles = require('./useAdminRoles-eaHgHT8Y.js');
16
- const Permissions = require('./Permissions-VR9Rnqkr.js');
13
+ const layout = require('./reducers-wZUQqmNX.js');
14
+ const index = require('./index-lSQdx61-.js');
15
+ const useAdminRoles = require('./useAdminRoles-efJpe2jv.js');
16
+ const Permissions = require('./Permissions-jsl-R7bI.js');
17
17
 
18
18
  function _interopNamespace(e) {
19
19
  if (e && e.__esModule) return e;
@@ -283,4 +283,4 @@ const ProtectedEditPage = () => {
283
283
 
284
284
  exports.EditPage = EditPage;
285
285
  exports.ProtectedEditPage = ProtectedEditPage;
286
- //# sourceMappingURL=EditPage-d7F-x_Y0.js.map
286
+ //# sourceMappingURL=EditPage-GG3uO1tK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditPage-d7F-x_Y0.js","sources":["../../admin/src/pages/Settings/pages/Roles/components/RoleForm.tsx","../../admin/src/pages/Settings/pages/Roles/EditPage.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n Grid,\n GridItem,\n Textarea,\n TextInput,\n Typography,\n} from '@strapi/design-system';\nimport { FormikProps } from 'formik';\nimport { useIntl } from 'react-intl';\n\nimport type { AdminRole } from '../../../../../hooks/useAdminRoles';\nimport type { EditRoleFormValues } from '../EditPage';\n\ninterface RoleFormProps extends Pick<FormikProps<EditRoleFormValues>, 'values' | 'errors'> {\n onBlur: FormikProps<EditRoleFormValues>['handleBlur'];\n onChange: FormikProps<EditRoleFormValues>['handleChange'];\n disabled?: boolean;\n role: AdminRole;\n}\n\nconst RoleForm = ({ disabled, role, values, errors, onChange, onBlur }: RoleFormProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box background=\"neutral0\" padding={6} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex justifyContent=\"space-between\">\n <Box>\n <Box>\n <Typography fontWeight=\"bold\">\n {role\n ? role.name\n : formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n </Box>\n <Box>\n <Typography textColor=\"neutral500\" variant=\"pi\">\n {role\n ? role.description\n : formatMessage({\n id: 'Settings.roles.form.description',\n defaultMessage: 'Name and description of the role',\n })}\n </Typography>\n </Box>\n </Box>\n <Button disabled variant=\"secondary\">\n {formatMessage(\n {\n id: 'Settings.roles.form.button.users-with-role',\n defaultMessage:\n '{number, plural, =0 {# users} one {# user} other {# users}} with this role',\n },\n { number: role.usersCount }\n )}\n </Button>\n </Flex>\n <Grid gap={4}>\n <GridItem col={6}>\n <TextInput\n disabled={disabled}\n name=\"name\"\n error={errors.name && formatMessage({ id: errors.name })}\n label={formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n onChange={onChange}\n onBlur={onBlur}\n required\n value={values.name || ''}\n />\n </GridItem>\n <GridItem col={6}>\n <Textarea\n disabled={disabled}\n label={formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n id=\"description\"\n error={errors.name && formatMessage({ id: errors.name })}\n onChange={onChange}\n onBlur={onBlur}\n >\n {values.description || ''}\n </Textarea>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nexport { RoleForm };\nexport type { RoleFormProps };\n","import * as React from 'react';\n\nimport { Box, Button, ContentLayout, Flex, HeaderLayout, Main } from '@strapi/design-system';\nimport { Formik, FormikHelpers } from 'formik';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { Navigate, useMatch } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAdminRoles } from '../../../../hooks/useAdminRoles';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport {\n useGetRolePermissionLayoutQuery,\n useGetRolePermissionsQuery,\n useUpdateRoleMutation,\n useUpdateRolePermissionsMutation,\n} from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\n\nimport { Permissions, PermissionsAPI } from './components/Permissions';\nimport { RoleForm } from './components/RoleForm';\n\nconst EDIT_ROLE_SCHEMA = yup.object().shape({\n name: yup.string().required(translatedErrors.required.id),\n description: yup.string().optional(),\n});\n\n/**\n * TODO: be nice if we could just infer this from the schema\n */\ninterface EditRoleFormValues {\n name: string;\n description: string;\n}\n\nconst EditPage = () => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const match = useMatch('/settings/roles/:id');\n const id = match?.params.id;\n const permissionsRef = React.useRef<PermissionsAPI>(null);\n const { trackUsage } = useTracking();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const { isLoading: isLoadingPermissionsLayout, data: permissionsLayout } =\n useGetRolePermissionLayoutQuery({\n /**\n * Role here is a query param so if there's no role we pass an empty string\n * which returns us a default layout.\n */\n role: id ?? '',\n });\n\n const {\n roles,\n isLoading: isRoleLoading,\n refetch: refetchRole,\n } = useAdminRoles(\n { id },\n {\n refetchOnMountOrArgChange: true,\n }\n );\n\n const role = roles[0] ?? {};\n\n const { data: permissions, isLoading: isLoadingPermissions } = useGetRolePermissionsQuery(\n {\n id: id!,\n },\n {\n skip: !id,\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [updateRole] = useUpdateRoleMutation();\n const [updateRolePermissions] = useUpdateRolePermissionsMutation();\n\n if (!id) {\n return <Navigate to=\"/settings/roles\" />;\n }\n\n const handleEditRoleSubmit = async (\n data: EditRoleFormValues,\n formik: FormikHelpers<EditRoleFormValues>\n ) => {\n try {\n const { permissionsToSend, didUpdateConditions } =\n permissionsRef.current?.getPermissions() ?? {};\n\n const res = await updateRole({\n id,\n ...data,\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 if (role.code !== 'strapi-super-admin' && permissionsToSend) {\n const updateRes = await updateRolePermissions({\n id: res.data.id,\n permissions: permissionsToSend,\n });\n\n if ('error' in updateRes) {\n if (isBaseQueryError(updateRes.error) && updateRes.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(updateRes.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(updateRes.error),\n });\n }\n\n return;\n }\n\n if (didUpdateConditions) {\n trackUsage('didUpdateConditions');\n }\n }\n\n permissionsRef.current?.setFormAfterSubmit();\n\n await refetchRole();\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved' }),\n });\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n const isFormDisabled = !isRoleLoading && role.code === 'strapi-super-admin';\n\n if (isLoadingPermissionsLayout || isRoleLoading || isLoadingPermissions || !permissionsLayout) {\n return <Page.Loading />;\n }\n\n return (\n <Main>\n <Helmet\n title={formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Roles',\n }\n )}\n />\n <Formik\n enableReinitialize\n initialValues={\n {\n name: role.name ?? '',\n description: role.description ?? '',\n } satisfies EditRoleFormValues\n }\n onSubmit={handleEditRoleSubmit}\n validationSchema={EDIT_ROLE_SCHEMA}\n validateOnChange={false}\n >\n {({ handleSubmit, values, errors, handleChange, handleBlur, isSubmitting }) => (\n <form onSubmit={handleSubmit}>\n <HeaderLayout\n primaryAction={\n <Flex gap={2}>\n <Button\n type=\"submit\"\n disabled={role.code === 'strapi-super-admin'}\n loading={isSubmitting}\n size=\"L\"\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n }\n title={formatMessage({\n id: 'Settings.roles.edit.title',\n defaultMessage: 'Edit a role',\n })}\n subtitle={formatMessage({\n id: 'Settings.roles.create.description',\n defaultMessage: 'Define the rights given to the role',\n })}\n navigationAction={<BackButton />}\n />\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <RoleForm\n disabled={isFormDisabled}\n errors={errors}\n values={values}\n onChange={handleChange}\n onBlur={handleBlur}\n role={role}\n />\n <Box shadow=\"filterShadow\" hasRadius>\n <Permissions\n isFormDisabled={isFormDisabled}\n permissions={permissions}\n ref={permissionsRef}\n layout={permissionsLayout}\n />\n </Box>\n </Flex>\n </ContentLayout>\n </form>\n )}\n </Formik>\n </Main>\n );\n};\n\nconst ProtectedEditPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.roles.update\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditPage />\n </Page.Protect>\n );\n};\n\nexport { EditPage, ProtectedEditPage };\nexport type { EditRoleFormValues };\n"],"names":["useIntl","Box","Flex","jsxs","jsx","Typography","Button","Grid","GridItem","TextInput","Textarea","yup","translatedErrors","useNotification","useMatch","React","useTracking","useAPIErrorHandler","useGetRolePermissionLayoutQuery","useAdminRoles","useGetRolePermissionsQuery","useUpdateRoleMutation","useUpdateRolePermissionsMutation","Navigate","isBaseQueryError","Page","Main","Helmet","Formik","HeaderLayout","BackButton","ContentLayout","Permissions","useTypedSelector"],"mappings":"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"}
1
+ {"version":3,"file":"EditPage-GG3uO1tK.js","sources":["../../admin/src/pages/Settings/pages/Roles/components/RoleForm.tsx","../../admin/src/pages/Settings/pages/Roles/EditPage.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n Grid,\n GridItem,\n Textarea,\n TextInput,\n Typography,\n} from '@strapi/design-system';\nimport { FormikProps } from 'formik';\nimport { useIntl } from 'react-intl';\n\nimport type { AdminRole } from '../../../../../hooks/useAdminRoles';\nimport type { EditRoleFormValues } from '../EditPage';\n\ninterface RoleFormProps extends Pick<FormikProps<EditRoleFormValues>, 'values' | 'errors'> {\n onBlur: FormikProps<EditRoleFormValues>['handleBlur'];\n onChange: FormikProps<EditRoleFormValues>['handleChange'];\n disabled?: boolean;\n role: AdminRole;\n}\n\nconst RoleForm = ({ disabled, role, values, errors, onChange, onBlur }: RoleFormProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box background=\"neutral0\" padding={6} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex justifyContent=\"space-between\">\n <Box>\n <Box>\n <Typography fontWeight=\"bold\">\n {role\n ? role.name\n : formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n </Box>\n <Box>\n <Typography textColor=\"neutral500\" variant=\"pi\">\n {role\n ? role.description\n : formatMessage({\n id: 'Settings.roles.form.description',\n defaultMessage: 'Name and description of the role',\n })}\n </Typography>\n </Box>\n </Box>\n <Button disabled variant=\"secondary\">\n {formatMessage(\n {\n id: 'Settings.roles.form.button.users-with-role',\n defaultMessage:\n '{number, plural, =0 {# users} one {# user} other {# users}} with this role',\n },\n { number: role.usersCount }\n )}\n </Button>\n </Flex>\n <Grid gap={4}>\n <GridItem col={6}>\n <TextInput\n disabled={disabled}\n name=\"name\"\n error={errors.name && formatMessage({ id: errors.name })}\n label={formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n onChange={onChange}\n onBlur={onBlur}\n required\n value={values.name || ''}\n />\n </GridItem>\n <GridItem col={6}>\n <Textarea\n disabled={disabled}\n label={formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n id=\"description\"\n error={errors.name && formatMessage({ id: errors.name })}\n onChange={onChange}\n onBlur={onBlur}\n >\n {values.description || ''}\n </Textarea>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nexport { RoleForm };\nexport type { RoleFormProps };\n","import * as React from 'react';\n\nimport { Box, Button, ContentLayout, Flex, HeaderLayout, Main } from '@strapi/design-system';\nimport { Formik, FormikHelpers } from 'formik';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { Navigate, useMatch } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAdminRoles } from '../../../../hooks/useAdminRoles';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport {\n useGetRolePermissionLayoutQuery,\n useGetRolePermissionsQuery,\n useUpdateRoleMutation,\n useUpdateRolePermissionsMutation,\n} from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\n\nimport { Permissions, PermissionsAPI } from './components/Permissions';\nimport { RoleForm } from './components/RoleForm';\n\nconst EDIT_ROLE_SCHEMA = yup.object().shape({\n name: yup.string().required(translatedErrors.required.id),\n description: yup.string().optional(),\n});\n\n/**\n * TODO: be nice if we could just infer this from the schema\n */\ninterface EditRoleFormValues {\n name: string;\n description: string;\n}\n\nconst EditPage = () => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const match = useMatch('/settings/roles/:id');\n const id = match?.params.id;\n const permissionsRef = React.useRef<PermissionsAPI>(null);\n const { trackUsage } = useTracking();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const { isLoading: isLoadingPermissionsLayout, data: permissionsLayout } =\n useGetRolePermissionLayoutQuery({\n /**\n * Role here is a query param so if there's no role we pass an empty string\n * which returns us a default layout.\n */\n role: id ?? '',\n });\n\n const {\n roles,\n isLoading: isRoleLoading,\n refetch: refetchRole,\n } = useAdminRoles(\n { id },\n {\n refetchOnMountOrArgChange: true,\n }\n );\n\n const role = roles[0] ?? {};\n\n const { data: permissions, isLoading: isLoadingPermissions } = useGetRolePermissionsQuery(\n {\n id: id!,\n },\n {\n skip: !id,\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [updateRole] = useUpdateRoleMutation();\n const [updateRolePermissions] = useUpdateRolePermissionsMutation();\n\n if (!id) {\n return <Navigate to=\"/settings/roles\" />;\n }\n\n const handleEditRoleSubmit = async (\n data: EditRoleFormValues,\n formik: FormikHelpers<EditRoleFormValues>\n ) => {\n try {\n const { permissionsToSend, didUpdateConditions } =\n permissionsRef.current?.getPermissions() ?? {};\n\n const res = await updateRole({\n id,\n ...data,\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 if (role.code !== 'strapi-super-admin' && permissionsToSend) {\n const updateRes = await updateRolePermissions({\n id: res.data.id,\n permissions: permissionsToSend,\n });\n\n if ('error' in updateRes) {\n if (isBaseQueryError(updateRes.error) && updateRes.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(updateRes.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(updateRes.error),\n });\n }\n\n return;\n }\n\n if (didUpdateConditions) {\n trackUsage('didUpdateConditions');\n }\n }\n\n permissionsRef.current?.setFormAfterSubmit();\n\n await refetchRole();\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved' }),\n });\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n const isFormDisabled = !isRoleLoading && role.code === 'strapi-super-admin';\n\n if (isLoadingPermissionsLayout || isRoleLoading || isLoadingPermissions || !permissionsLayout) {\n return <Page.Loading />;\n }\n\n return (\n <Main>\n <Helmet\n title={formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Roles',\n }\n )}\n />\n <Formik\n enableReinitialize\n initialValues={\n {\n name: role.name ?? '',\n description: role.description ?? '',\n } satisfies EditRoleFormValues\n }\n onSubmit={handleEditRoleSubmit}\n validationSchema={EDIT_ROLE_SCHEMA}\n validateOnChange={false}\n >\n {({ handleSubmit, values, errors, handleChange, handleBlur, isSubmitting }) => (\n <form onSubmit={handleSubmit}>\n <HeaderLayout\n primaryAction={\n <Flex gap={2}>\n <Button\n type=\"submit\"\n disabled={role.code === 'strapi-super-admin'}\n loading={isSubmitting}\n size=\"L\"\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n }\n title={formatMessage({\n id: 'Settings.roles.edit.title',\n defaultMessage: 'Edit a role',\n })}\n subtitle={formatMessage({\n id: 'Settings.roles.create.description',\n defaultMessage: 'Define the rights given to the role',\n })}\n navigationAction={<BackButton />}\n />\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <RoleForm\n disabled={isFormDisabled}\n errors={errors}\n values={values}\n onChange={handleChange}\n onBlur={handleBlur}\n role={role}\n />\n <Box shadow=\"filterShadow\" hasRadius>\n <Permissions\n isFormDisabled={isFormDisabled}\n permissions={permissions}\n ref={permissionsRef}\n layout={permissionsLayout}\n />\n </Box>\n </Flex>\n </ContentLayout>\n </form>\n )}\n </Formik>\n </Main>\n );\n};\n\nconst ProtectedEditPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.roles.update\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditPage />\n </Page.Protect>\n );\n};\n\nexport { EditPage, ProtectedEditPage };\nexport type { EditRoleFormValues };\n"],"names":["useIntl","Box","Flex","jsxs","jsx","Typography","Button","Grid","GridItem","TextInput","Textarea","yup","translatedErrors","useNotification","useMatch","React","useTracking","useAPIErrorHandler","useGetRolePermissionLayoutQuery","useAdminRoles","useGetRolePermissionsQuery","useUpdateRoleMutation","useUpdateRolePermissionsMutation","Navigate","isBaseQueryError","Page","Main","Helmet","Formik","HeaderLayout","BackButton","ContentLayout","Permissions","useTypedSelector"],"mappings":"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"}
@@ -4,14 +4,14 @@ import { RawTable, Flex, FieldLabel, RawThead, RawTr, RawTh, VisuallyHidden, Typ
4
4
  import { Helmet } from 'react-helmet';
5
5
  import { useIntl } from 'react-intl';
6
6
  import { useMatch, useNavigate } from 'react-router-dom';
7
- import { h as useTypedSelector, P as Page, j as useNotification, i as useAPIErrorHandler, H as isBaseQueryError } from './reducers-TOuLOGw_.mjs';
8
- import { s as selectAdminPermissions } from './selectors-NvWWczps.mjs';
7
+ import { h as useTypedSelector, P as Page, j as useNotification, i as useAPIErrorHandler, H as isBaseQueryError } from './reducers-IQWvK_9L.mjs';
8
+ import { s as selectAdminPermissions } from './selectors-nn3C3YKE.mjs';
9
9
  import { Minus, Plus, Cross, Loader, Check, Play } from '@strapi/icons';
10
10
  import { useFormikContext, FieldArray, Field, useFormik, FormikProvider, Form } from 'formik';
11
11
  import * as yup from 'yup';
12
- import { b as useEnterprise, B as BackButton } from './index-NzLAHRwx.mjs';
12
+ import { b as useEnterprise, B as BackButton } from './index-oXhvt6Nv.mjs';
13
13
  import styled, { css } from 'styled-components';
14
- import { u as useWebhooks } from './useWebhooks-7Grr2wYu.mjs';
14
+ import { u as useWebhooks } from './useWebhooks-dOVyaYlw.mjs';
15
15
 
16
16
  const EventsRoot = ({ children }) => {
17
17
  const { formatMessage } = useIntl();
@@ -473,7 +473,7 @@ const WebhookForm = ({
473
473
  const [showTriggerResponse, setShowTriggerResponse] = React.useState(false);
474
474
  const EventTable = useEnterprise(
475
475
  EventTableCE,
476
- async () => (await import('./EventsTable-Iv41t-aJ.mjs')).EventsTableEE
476
+ async () => (await import('./EventsTable-miLAex8G.mjs')).EventsTableEE
477
477
  );
478
478
  const mapHeaders = (headers) => {
479
479
  if (!Object.keys(headers).length) {
@@ -791,4 +791,4 @@ const EditPage$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty
791
791
  }, Symbol.toStringTag, { value: 'Module' }));
792
792
 
793
793
  export { EditPage as E, Events as a, EditPage$1 as b };
794
- //# sourceMappingURL=EditPage-foeIMKkr.mjs.map
794
+ //# sourceMappingURL=EditPage-KuoEv50O.mjs.map