@strapi/admin 5.0.0-alpha.3 → 5.0.0-alpha.4

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 (208) hide show
  1. package/dist/admin/{AdminSeatInfo-RaHBmrod.mjs → AdminSeatInfo-G8sTB4TN.mjs} +2 -2
  2. package/dist/admin/{AdminSeatInfo-RaHBmrod.mjs.map → AdminSeatInfo-G8sTB4TN.mjs.map} +1 -1
  3. package/dist/admin/{AdminSeatInfo-TsCaWOLV.js → AdminSeatInfo-jHCKfvy4.js} +2 -2
  4. package/dist/admin/{AdminSeatInfo-TsCaWOLV.js.map → AdminSeatInfo-jHCKfvy4.js.map} +1 -1
  5. package/dist/admin/{ApplicationInfoPage-ma8gBkmC.js → ApplicationInfoPage-DPcd8u-E.js} +3 -3
  6. package/dist/admin/{ApplicationInfoPage-ma8gBkmC.js.map → ApplicationInfoPage-DPcd8u-E.js.map} +1 -1
  7. package/dist/admin/{ApplicationInfoPage-Q9wPZ3rv.mjs → ApplicationInfoPage-rYJxaeKG.mjs} +3 -3
  8. package/dist/admin/{ApplicationInfoPage-Q9wPZ3rv.mjs.map → ApplicationInfoPage-rYJxaeKG.mjs.map} +1 -1
  9. package/dist/admin/{AuthenticatedLayout-xBpE8NA-.js → AuthenticatedLayout-C4p6uMXy.js} +12 -12
  10. package/dist/admin/{AuthenticatedLayout-xBpE8NA-.js.map → AuthenticatedLayout-C4p6uMXy.js.map} +1 -1
  11. package/dist/admin/{AuthenticatedLayout--yP2CRIf.mjs → AuthenticatedLayout-FJd0k59k.mjs} +12 -12
  12. package/dist/admin/{AuthenticatedLayout--yP2CRIf.mjs.map → AuthenticatedLayout-FJd0k59k.mjs.map} +1 -1
  13. package/dist/admin/{ComponentConfigurationPage-hY2EaAYj.js → ComponentConfigurationPage-5UqUF73x.js} +2 -2
  14. package/dist/admin/{ComponentConfigurationPage-hY2EaAYj.js.map → ComponentConfigurationPage-5UqUF73x.js.map} +1 -1
  15. package/dist/admin/{ComponentConfigurationPage-KnpNn9te.mjs → ComponentConfigurationPage-aH3eivWq.mjs} +2 -2
  16. package/dist/admin/{ComponentConfigurationPage-KnpNn9te.mjs.map → ComponentConfigurationPage-aH3eivWq.mjs.map} +1 -1
  17. package/dist/admin/{CreateActionEE-MO4CwmTg.js → CreateActionEE-FShadq9j.js} +2 -2
  18. package/dist/admin/{CreateActionEE-MO4CwmTg.js.map → CreateActionEE-FShadq9j.js.map} +1 -1
  19. package/dist/admin/{CreateActionEE-MS5BO87T.mjs → CreateActionEE-PeDYp0gX.mjs} +2 -2
  20. package/dist/admin/{CreateActionEE-MS5BO87T.mjs.map → CreateActionEE-PeDYp0gX.mjs.map} +1 -1
  21. package/dist/admin/{CreatePage-nXCKqLfv.js → CreatePage--AtUMCaU.js} +2 -2
  22. package/dist/admin/{CreatePage-nXCKqLfv.js.map → CreatePage--AtUMCaU.js.map} +1 -1
  23. package/dist/admin/{CreatePage-TuxqMr0o.mjs → CreatePage-XuobAWJK.mjs} +6 -6
  24. package/dist/admin/{CreatePage-TuxqMr0o.mjs.map → CreatePage-XuobAWJK.mjs.map} +1 -1
  25. package/dist/admin/{CreatePage-qT-aQZxS.mjs → CreatePage-ZExp8rHA.mjs} +2 -2
  26. package/dist/admin/{CreatePage-qT-aQZxS.mjs.map → CreatePage-ZExp8rHA.mjs.map} +1 -1
  27. package/dist/admin/{CreatePage-rPWvvWs7.js → CreatePage-btStJe_p.js} +2 -2
  28. package/dist/admin/{CreatePage-rPWvvWs7.js.map → CreatePage-btStJe_p.js.map} +1 -1
  29. package/dist/admin/{CreatePage-WpCjH5Y_.js → CreatePage-dQ2vPAka.js} +6 -6
  30. package/dist/admin/{CreatePage-WpCjH5Y_.js.map → CreatePage-dQ2vPAka.js.map} +1 -1
  31. package/dist/admin/{CreatePage-atcxK0nv.mjs → CreatePage-vUR8c8Wi.mjs} +2 -2
  32. package/dist/admin/{CreatePage-atcxK0nv.mjs.map → CreatePage-vUR8c8Wi.mjs.map} +1 -1
  33. package/dist/admin/{CreateView-Tdx1lvOB.js → CreateView-L98QJ908.js} +2 -2
  34. package/dist/admin/{CreateView-Tdx1lvOB.js.map → CreateView-L98QJ908.js.map} +1 -1
  35. package/dist/admin/{CreateView-2p_vypXq.js → CreateView-Ry0jxIm8.js} +2 -2
  36. package/dist/admin/{CreateView-2p_vypXq.js.map → CreateView-Ry0jxIm8.js.map} +1 -1
  37. package/dist/admin/{CreateView-e7AQd7tP.mjs → CreateView-UAXKJ1XB.mjs} +2 -2
  38. package/dist/admin/{CreateView-e7AQd7tP.mjs.map → CreateView-UAXKJ1XB.mjs.map} +1 -1
  39. package/dist/admin/{CreateView-C1q22Lvk.mjs → CreateView-n-X-ip9A.mjs} +2 -2
  40. package/dist/admin/{CreateView-C1q22Lvk.mjs.map → CreateView-n-X-ip9A.mjs.map} +1 -1
  41. package/dist/admin/{EditConfigurationPage-elMqHM_A.mjs → EditConfigurationPage-7aqUfM-_.mjs} +2 -2
  42. package/dist/admin/{EditConfigurationPage-elMqHM_A.mjs.map → EditConfigurationPage-7aqUfM-_.mjs.map} +1 -1
  43. package/dist/admin/{EditConfigurationPage-lf0uG4_2.js → EditConfigurationPage-9hpFgyVd.js} +2 -2
  44. package/dist/admin/{EditConfigurationPage-lf0uG4_2.js.map → EditConfigurationPage-9hpFgyVd.js.map} +1 -1
  45. package/dist/admin/{EditPage-erGEYjBw.mjs → EditPage-5_mPjbp1.mjs} +4 -4
  46. package/dist/admin/{EditPage-erGEYjBw.mjs.map → EditPage-5_mPjbp1.mjs.map} +1 -1
  47. package/dist/admin/{EditPage-Ef0Fslnn.js → EditPage-7p0wMhRr.js} +4 -4
  48. package/dist/admin/{EditPage-Ef0Fslnn.js.map → EditPage-7p0wMhRr.js.map} +1 -1
  49. package/dist/admin/{EditPage-Pve0dLk9.js → EditPage-FfXtsX6I.js} +6 -6
  50. package/dist/admin/{EditPage-Pve0dLk9.js.map → EditPage-FfXtsX6I.js.map} +1 -1
  51. package/dist/admin/{EditPage-OeI53g45.mjs → EditPage-NIhP9MDK.mjs} +3 -3
  52. package/dist/admin/{EditPage-OeI53g45.mjs.map → EditPage-NIhP9MDK.mjs.map} +1 -1
  53. package/dist/admin/{EditPage-UJJ2TqBc.js → EditPage-PKgsIJsU.js} +3 -3
  54. package/dist/admin/{EditPage-UJJ2TqBc.js.map → EditPage-PKgsIJsU.js.map} +1 -1
  55. package/dist/admin/{EditPage-eR-YN8hj.mjs → EditPage-T3344ZeF.mjs} +3 -3
  56. package/dist/admin/{EditPage-eR-YN8hj.mjs.map → EditPage-T3344ZeF.mjs.map} +1 -1
  57. package/dist/admin/{EditPage-tC47Sw_P.js → EditPage-icpAlX0U.js} +3 -3
  58. package/dist/admin/{EditPage-tC47Sw_P.js.map → EditPage-icpAlX0U.js.map} +1 -1
  59. package/dist/admin/{EditPage-h8lmVUEA.mjs → EditPage-zuPfy7bP.mjs} +6 -6
  60. package/dist/admin/{EditPage-h8lmVUEA.mjs.map → EditPage-zuPfy7bP.mjs.map} +1 -1
  61. package/dist/admin/{EditView-eySlKWYf.js → EditView-6orvVYcs.js} +2 -2
  62. package/dist/admin/{EditView-eySlKWYf.js.map → EditView-6orvVYcs.js.map} +1 -1
  63. package/dist/admin/{EditView-x1qgWntY.mjs → EditView-Py-98_8F.mjs} +2 -2
  64. package/dist/admin/{EditView-x1qgWntY.mjs.map → EditView-Py-98_8F.mjs.map} +1 -1
  65. package/dist/admin/{EditViewPage-_9OVPk8U.js → EditViewPage-b8B7crGF.js} +2 -2
  66. package/dist/admin/{EditViewPage-_9OVPk8U.js.map → EditViewPage-b8B7crGF.js.map} +1 -1
  67. package/dist/admin/{EditViewPage-MF0jfabM.js → EditViewPage-bvSm02vo.js} +2 -2
  68. package/dist/admin/{EditViewPage-MF0jfabM.js.map → EditViewPage-bvSm02vo.js.map} +1 -1
  69. package/dist/admin/{EditViewPage--KlNP7xz.mjs → EditViewPage-m8eq8b5B.mjs} +2 -2
  70. package/dist/admin/{EditViewPage--KlNP7xz.mjs.map → EditViewPage-m8eq8b5B.mjs.map} +1 -1
  71. package/dist/admin/{EditViewPage-NC42P37Y.mjs → EditViewPage-taqlSy8-.mjs} +2 -2
  72. package/dist/admin/{EditViewPage-NC42P37Y.mjs.map → EditViewPage-taqlSy8-.mjs.map} +1 -1
  73. package/dist/admin/{EventsTable-FclswYEC.js → EventsTable-PkxRHECw.js} +2 -2
  74. package/dist/admin/{EventsTable-FclswYEC.js.map → EventsTable-PkxRHECw.js.map} +1 -1
  75. package/dist/admin/{EventsTable-sl9Ii-zk.mjs → EventsTable-nHKCiGbY.mjs} +2 -2
  76. package/dist/admin/{EventsTable-sl9Ii-zk.mjs.map → EventsTable-nHKCiGbY.mjs.map} +1 -1
  77. package/dist/admin/{Filters-WmczcUjA.mjs → Filters-8DH_AqD9.mjs} +2 -2
  78. package/dist/admin/{Filters-WmczcUjA.mjs.map → Filters-8DH_AqD9.mjs.map} +1 -1
  79. package/dist/admin/{Filters-xCY3Scq4.js → Filters-ogIU7Q6e.js} +2 -2
  80. package/dist/admin/{Filters-xCY3Scq4.js.map → Filters-ogIU7Q6e.js.map} +1 -1
  81. package/dist/admin/{Form-4WnSgaHv.mjs → Form-qYMSW-OI.mjs} +2 -2
  82. package/dist/admin/{Form-4WnSgaHv.mjs.map → Form-qYMSW-OI.mjs.map} +1 -1
  83. package/dist/admin/{Form-KkSKnRfU.js → Form-ykqsO6fm.js} +2 -2
  84. package/dist/admin/{Form-KkSKnRfU.js.map → Form-ykqsO6fm.js.map} +1 -1
  85. package/dist/admin/{HomePage-c066MxgP.mjs → HomePage-1pjv0BI8.mjs} +3 -3
  86. package/dist/admin/{HomePage-c066MxgP.mjs.map → HomePage-1pjv0BI8.mjs.map} +1 -1
  87. package/dist/admin/{HomePage-rnxrKLBm.js → HomePage-3V4WbE7J.js} +3 -3
  88. package/dist/admin/{HomePage-rnxrKLBm.js.map → HomePage-3V4WbE7J.js.map} +1 -1
  89. package/dist/admin/{HomePage-ruRmxUmi.mjs → HomePage-Kc_uEvV-.mjs} +3 -3
  90. package/dist/admin/{HomePage-ruRmxUmi.mjs.map → HomePage-Kc_uEvV-.mjs.map} +1 -1
  91. package/dist/admin/{HomePage-lw1r2If1.js → HomePage-OlYV50mz.js} +3 -3
  92. package/dist/admin/{HomePage-lw1r2If1.js.map → HomePage-OlYV50mz.js.map} +1 -1
  93. package/dist/admin/{Layout-IkzS-9jW.mjs → Layout-DpiBAhal.mjs} +3 -3
  94. package/dist/admin/{Layout-IkzS-9jW.mjs.map → Layout-DpiBAhal.mjs.map} +1 -1
  95. package/dist/admin/{Layout--4O1STTS.js → Layout-Drko3mHh.js} +3 -3
  96. package/dist/admin/{Layout--4O1STTS.js.map → Layout-Drko3mHh.js.map} +1 -1
  97. package/dist/admin/{Layout-LPeuunW1.js → Layout-G57F6Yr1.js} +2 -2
  98. package/dist/admin/{Layout-LPeuunW1.js.map → Layout-G57F6Yr1.js.map} +1 -1
  99. package/dist/admin/{Layout-12gUdjvi.mjs → Layout-ipua3uHy.mjs} +2 -2
  100. package/dist/admin/{Layout-12gUdjvi.mjs.map → Layout-ipua3uHy.mjs.map} +1 -1
  101. package/dist/admin/{ListConfigurationPage-Sj0Fbune.js → ListConfigurationPage-fR6bfJTF.js} +2 -2
  102. package/dist/admin/{ListConfigurationPage-Sj0Fbune.js.map → ListConfigurationPage-fR6bfJTF.js.map} +1 -1
  103. package/dist/admin/{ListConfigurationPage-aVwnEajq.mjs → ListConfigurationPage-vJzC-kba.mjs} +2 -2
  104. package/dist/admin/{ListConfigurationPage-aVwnEajq.mjs.map → ListConfigurationPage-vJzC-kba.mjs.map} +1 -1
  105. package/dist/admin/{ListPage-fgcVicZB.mjs → ListPage-0ZSyBi8x.mjs} +3 -3
  106. package/dist/admin/{ListPage-fgcVicZB.mjs.map → ListPage-0ZSyBi8x.mjs.map} +1 -1
  107. package/dist/admin/{ListPage-pbpYBzDZ.mjs → ListPage-9heSiDbD.mjs} +3 -3
  108. package/dist/admin/{ListPage-pbpYBzDZ.mjs.map → ListPage-9heSiDbD.mjs.map} +1 -1
  109. package/dist/admin/{ListPage-cjKaeLgt.mjs → ListPage-FY6b3WdF.mjs} +2 -2
  110. package/dist/admin/{ListPage-cjKaeLgt.mjs.map → ListPage-FY6b3WdF.mjs.map} +1 -1
  111. package/dist/admin/{ListPage-pcklRUos.js → ListPage-LLm7jeMJ.js} +4 -4
  112. package/dist/admin/{ListPage-pcklRUos.js.map → ListPage-LLm7jeMJ.js.map} +1 -1
  113. package/dist/admin/{ListPage-Umx66wz5.js → ListPage-NfgDLiTv.js} +7 -7
  114. package/dist/admin/{ListPage-Umx66wz5.js.map → ListPage-NfgDLiTv.js.map} +1 -1
  115. package/dist/admin/{ListPage-udzDwGlH.js → ListPage-PF-K0vRV.js} +3 -3
  116. package/dist/admin/{ListPage-udzDwGlH.js.map → ListPage-PF-K0vRV.js.map} +1 -1
  117. package/dist/admin/{ListPage-pvhgqLCH.js → ListPage-YhzdUuPY.js} +3 -3
  118. package/dist/admin/{ListPage-pvhgqLCH.js.map → ListPage-YhzdUuPY.js.map} +1 -1
  119. package/dist/admin/{ListPage-5Mv-pB4C.js → ListPage-eBRwQOBq.js} +3 -3
  120. package/dist/admin/{ListPage-5Mv-pB4C.js.map → ListPage-eBRwQOBq.js.map} +1 -1
  121. package/dist/admin/{ListPage-4-8fscdP.js → ListPage-hyHTGust.js} +2 -2
  122. package/dist/admin/{ListPage-4-8fscdP.js.map → ListPage-hyHTGust.js.map} +1 -1
  123. package/dist/admin/{ListPage-J7j1MewO.mjs → ListPage-k7Cm8qlS.mjs} +7 -7
  124. package/dist/admin/{ListPage-J7j1MewO.mjs.map → ListPage-k7Cm8qlS.mjs.map} +1 -1
  125. package/dist/admin/{ListPage-w59EHkU5.mjs → ListPage-q5CzNEts.mjs} +3 -3
  126. package/dist/admin/{ListPage-w59EHkU5.mjs.map → ListPage-q5CzNEts.mjs.map} +1 -1
  127. package/dist/admin/{ListPage-YQEYg_px.mjs → ListPage-u0H0CObE.mjs} +4 -4
  128. package/dist/admin/{ListPage-YQEYg_px.mjs.map → ListPage-u0H0CObE.mjs.map} +1 -1
  129. package/dist/admin/{ListView-n1aKpVDI.js → ListView-5cUHtatI.js} +2 -2
  130. package/dist/admin/{ListView-n1aKpVDI.js.map → ListView-5cUHtatI.js.map} +1 -1
  131. package/dist/admin/{ListView-j2r_9ISi.js → ListView-ZrssEOAH.js} +2 -2
  132. package/dist/admin/{ListView-j2r_9ISi.js.map → ListView-ZrssEOAH.js.map} +1 -1
  133. package/dist/admin/{ListView-r5ixmUC5.mjs → ListView-he-cDEr8.mjs} +2 -2
  134. package/dist/admin/{ListView-r5ixmUC5.mjs.map → ListView-he-cDEr8.mjs.map} +1 -1
  135. package/dist/admin/{ListView-kGivEizN.mjs → ListView-wtrnAeIs.mjs} +2 -2
  136. package/dist/admin/{ListView-kGivEizN.mjs.map → ListView-wtrnAeIs.mjs.map} +1 -1
  137. package/dist/admin/{ListViewPage-P945_1O5.js → ListViewPage--usbPNMW.js} +6 -6
  138. package/dist/admin/{ListViewPage-P945_1O5.js.map → ListViewPage--usbPNMW.js.map} +1 -1
  139. package/dist/admin/{ListViewPage-TJbHzMdV.mjs → ListViewPage-fcwyHB4o.mjs} +6 -6
  140. package/dist/admin/{ListViewPage-TJbHzMdV.mjs.map → ListViewPage-fcwyHB4o.mjs.map} +1 -1
  141. package/dist/admin/{Login-0X6MwipF.mjs → Login-JhiQkX0g.mjs} +2 -2
  142. package/dist/admin/{Login-0X6MwipF.mjs.map → Login-JhiQkX0g.mjs.map} +1 -1
  143. package/dist/admin/{Login-z6SxPtlF.js → Login-ge1q7Ao9.js} +2 -2
  144. package/dist/admin/{Login-z6SxPtlF.js.map → Login-ge1q7Ao9.js.map} +1 -1
  145. package/dist/admin/{MagicLinkEE-OoAnOb7G.mjs → MagicLinkEE-6fksiP2N.mjs} +3 -3
  146. package/dist/admin/{MagicLinkEE-OoAnOb7G.mjs.map → MagicLinkEE-6fksiP2N.mjs.map} +1 -1
  147. package/dist/admin/{MagicLinkEE-Y6HYUQfj.js → MagicLinkEE-HZRvA15-.js} +3 -3
  148. package/dist/admin/{MagicLinkEE-Y6HYUQfj.js.map → MagicLinkEE-HZRvA15-.js.map} +1 -1
  149. package/dist/admin/{MarketplacePage-PYAB5VYz.mjs → MarketplacePage-BhzDMBT-.mjs} +2 -2
  150. package/dist/admin/{MarketplacePage-PYAB5VYz.mjs.map → MarketplacePage-BhzDMBT-.mjs.map} +1 -1
  151. package/dist/admin/{MarketplacePage-7fNWKnG0.js → MarketplacePage-jeaqEHfo.js} +2 -2
  152. package/dist/admin/{MarketplacePage-7fNWKnG0.js.map → MarketplacePage-jeaqEHfo.js.map} +1 -1
  153. package/dist/admin/{ReviewWorkflowsColumn-6zZJluSU.mjs → ReviewWorkflowsColumn-BdkHPnDo.mjs} +2 -2
  154. package/dist/admin/{ReviewWorkflowsColumn-6zZJluSU.mjs.map → ReviewWorkflowsColumn-BdkHPnDo.mjs.map} +1 -1
  155. package/dist/admin/{ReviewWorkflowsColumn-NVi2rQul.js → ReviewWorkflowsColumn-xNjqgu-L.js} +2 -2
  156. package/dist/admin/{ReviewWorkflowsColumn-NVi2rQul.js.map → ReviewWorkflowsColumn-xNjqgu-L.js.map} +1 -1
  157. package/dist/admin/{SelectRoles-cVDrVL5d.mjs → SelectRoles--7dfmawm.mjs} +3 -3
  158. package/dist/admin/{SelectRoles-cVDrVL5d.mjs.map → SelectRoles--7dfmawm.mjs.map} +1 -1
  159. package/dist/admin/{SelectRoles-x4F6UwAi.js → SelectRoles-JxYKvga9.js} +3 -3
  160. package/dist/admin/{SelectRoles-x4F6UwAi.js.map → SelectRoles-JxYKvga9.js.map} +1 -1
  161. package/dist/admin/{SingleSignOnPage-MXM2dl1r.js → SingleSignOnPage-APC1hAX2.js} +2 -2
  162. package/dist/admin/{SingleSignOnPage-MXM2dl1r.js.map → SingleSignOnPage-APC1hAX2.js.map} +1 -1
  163. package/dist/admin/{SingleSignOnPage-qyob98fd.mjs → SingleSignOnPage-rKeiHpGS.mjs} +2 -2
  164. package/dist/admin/{SingleSignOnPage-qyob98fd.mjs.map → SingleSignOnPage-rKeiHpGS.mjs.map} +1 -1
  165. package/dist/admin/{Table-L9ox45fi.js → Table-BKVants3.js} +2 -2
  166. package/dist/admin/{Table-L9ox45fi.js.map → Table-BKVants3.js.map} +1 -1
  167. package/dist/admin/{Table-GO4n7QXV.mjs → Table-idNir8r9.mjs} +2 -2
  168. package/dist/admin/{Table-GO4n7QXV.mjs.map → Table-idNir8r9.mjs.map} +1 -1
  169. package/dist/admin/{TokenTypeSelect-mlkqk9MH.js → TokenTypeSelect-Y6C3wEJm.js} +2 -2
  170. package/dist/admin/{TokenTypeSelect-mlkqk9MH.js.map → TokenTypeSelect-Y6C3wEJm.js.map} +1 -1
  171. package/dist/admin/{TokenTypeSelect-IMMoVNb1.mjs → TokenTypeSelect-k_R6xVFw.mjs} +2 -2
  172. package/dist/admin/{TokenTypeSelect-IMMoVNb1.mjs.map → TokenTypeSelect-k_R6xVFw.mjs.map} +1 -1
  173. package/dist/admin/{UseCasePage-iGGqfq7-.js → UseCasePage-63kprMhe.js} +2 -2
  174. package/dist/admin/{UseCasePage-iGGqfq7-.js.map → UseCasePage-63kprMhe.js.map} +1 -1
  175. package/dist/admin/{UseCasePage-QSUB-KqK.mjs → UseCasePage-eOIMEIRP.mjs} +2 -2
  176. package/dist/admin/{UseCasePage-QSUB-KqK.mjs.map → UseCasePage-eOIMEIRP.mjs.map} +1 -1
  177. package/dist/admin/{constants-ePjaxS4h.js → constants-GzcRsyWk.js} +2 -2
  178. package/dist/admin/{constants-ePjaxS4h.js.map → constants-GzcRsyWk.js.map} +1 -1
  179. package/dist/admin/{constants-VMWcn5Dg.mjs → constants-OqgYP6sX.mjs} +3 -3
  180. package/dist/admin/{constants-VMWcn5Dg.mjs.map → constants-OqgYP6sX.mjs.map} +1 -1
  181. package/dist/admin/{constants-7TD-JFW-.mjs → constants-X5ozLqHT.mjs} +2 -2
  182. package/dist/admin/{constants-7TD-JFW-.mjs.map → constants-X5ozLqHT.mjs.map} +1 -1
  183. package/dist/admin/{constants-eV26e_2a.js → constants-zUoXz50h.js} +3 -3
  184. package/dist/admin/{constants-eV26e_2a.js.map → constants-zUoXz50h.js.map} +1 -1
  185. package/dist/admin/{index--h1ljeG8.mjs → index-Sd8uo7mE.mjs} +36 -36
  186. package/dist/admin/{index--h1ljeG8.mjs.map → index-Sd8uo7mE.mjs.map} +1 -1
  187. package/dist/admin/{index-Xcv2DEB8.js → index-_fZT3TVe.js} +36 -36
  188. package/dist/admin/{index-Xcv2DEB8.js.map → index-_fZT3TVe.js.map} +1 -1
  189. package/dist/admin/index.js +1 -1
  190. package/dist/admin/index.mjs +1 -1
  191. package/dist/admin/{useAdminRoles-gR2hyMNd.mjs → useAdminRoles-YT1f2LGL.mjs} +2 -2
  192. package/dist/admin/{useAdminRoles-gR2hyMNd.mjs.map → useAdminRoles-YT1f2LGL.mjs.map} +1 -1
  193. package/dist/admin/{useAdminRoles-2R5oKMoO.js → useAdminRoles-pS_ZatAB.js} +2 -2
  194. package/dist/admin/{useAdminRoles-2R5oKMoO.js.map → useAdminRoles-pS_ZatAB.js.map} +1 -1
  195. package/dist/admin/{useLicenseLimitNotification-SSUn-Y_I.mjs → useLicenseLimitNotification-EXzXTEr3.mjs} +2 -2
  196. package/dist/admin/{useLicenseLimitNotification-SSUn-Y_I.mjs.map → useLicenseLimitNotification-EXzXTEr3.mjs.map} +1 -1
  197. package/dist/admin/{useLicenseLimitNotification-wFWLFjgU.js → useLicenseLimitNotification-KDK7jUFG.js} +2 -2
  198. package/dist/admin/{useLicenseLimitNotification-wFWLFjgU.js.map → useLicenseLimitNotification-KDK7jUFG.js.map} +1 -1
  199. package/dist/admin/{useReviewWorkflows-b64v93dC.js → useReviewWorkflows-2ubos26m.js} +2 -2
  200. package/dist/admin/{useReviewWorkflows-b64v93dC.js.map → useReviewWorkflows-2ubos26m.js.map} +1 -1
  201. package/dist/admin/{useReviewWorkflows-5xeAwxah.mjs → useReviewWorkflows-vIYhJ1WA.mjs} +2 -2
  202. package/dist/admin/{useReviewWorkflows-5xeAwxah.mjs.map → useReviewWorkflows-vIYhJ1WA.mjs.map} +1 -1
  203. package/dist/admin/{validateWorkflow-nIbqjAha.mjs → validateWorkflow-KQMhiXda.mjs} +2 -2
  204. package/dist/admin/{validateWorkflow-nIbqjAha.mjs.map → validateWorkflow-KQMhiXda.mjs.map} +1 -1
  205. package/dist/admin/{validateWorkflow-28G5p4rG.js → validateWorkflow-dAaScNrW.js} +2 -2
  206. package/dist/admin/{validateWorkflow-28G5p4rG.js.map → validateWorkflow-dAaScNrW.js.map} +1 -1
  207. package/dist/package.json.d.ts +10 -10
  208. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentConfigurationPage-KnpNn9te.mjs","sources":["../../admin/src/content-manager/services/components.ts","../../admin/src/content-manager/pages/ComponentConfigurationPage.tsx"],"sourcesContent":["import { contentManagerApi } from './api';\n\nimport type { Contracts } from '@strapi/plugin-content-manager/_internal/shared';\n\nconst componentsApi = contentManagerApi.injectEndpoints({\n endpoints: (builder) => ({\n getComponentConfiguration: builder.query<\n Contracts.Components.FindComponentConfiguration.Response['data'],\n Contracts.Components.FindComponentConfiguration.Params['uid']\n >({\n query: (uid) => `/content-manager/components/${uid}/configuration`,\n transformResponse: (response: Contracts.Components.FindComponentConfiguration.Response) =>\n response.data,\n providesTags: (_result, _error, uid) => [{ type: 'ComponentConfiguration', id: uid }],\n }),\n updateComponentConfiguration: builder.mutation({\n query: ({ uid, ...body }) => ({\n url: `/content-manager/components/${uid}/configuration`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: Contracts.Components.UpdateComponentConfiguration.Response) =>\n response.data,\n invalidatesTags: (_result, _error, { uid }) => [\n { type: 'ComponentConfiguration', id: uid },\n // otherwise layouts already fetched will have stale component configuration data.\n { type: 'ContentTypeSettings', id: 'LIST' },\n ],\n }),\n }),\n});\n\nconst { useGetComponentConfigurationQuery, useUpdateComponentConfigurationMutation } =\n componentsApi;\n\nexport { useGetComponentConfigurationQuery, useUpdateComponentConfigurationMutation };\n","import * as React from 'react';\n\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { Page } from '../../components/PageHelpers';\nimport { useTypedSelector } from '../../core/store/hooks';\nimport { useNotification } from '../../features/Notifications';\nimport { useAPIErrorHandler } from '../../hooks/useAPIErrorHandler';\nimport { setIn } from '../../utils/objects';\nimport { TEMP_FIELD_NAME } from '../components/ConfigurationForm/Fields';\nimport { ConfigurationForm, ConfigurationFormProps } from '../components/ConfigurationForm/Form';\nimport { ComponentsDictionary, extractContentTypeComponents } from '../hooks/useContentTypeSchema';\nimport {\n DEFAULT_SETTINGS,\n EditLayout,\n convertEditLayoutToFieldLayouts,\n} from '../hooks/useDocumentLayout';\nimport {\n useGetComponentConfigurationQuery,\n useUpdateComponentConfigurationMutation,\n} from '../services/components';\nimport { useGetInitialDataQuery } from '../services/init';\n\nimport type { Contracts } from '@strapi/plugin-content-manager/_internal/shared';\n\n/* -------------------------------------------------------------------------------------------------\n * ComponentConfigurationPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ComponentConfigurationPage = () => {\n /**\n * useDocumentLayout only works for documents, not components,\n * it feels weird to make that hook work for both when this is SUCH\n * a unique use case and we only do it here, so in short, we essentially\n * just extracted the logic to make an edit view layout and reproduced it here.\n */\n const { slug: model } = useParams<{ slug: string }>();\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const {\n components,\n fieldSizes,\n schema,\n error: errorSchema,\n isLoading: isLoadingSchema,\n isFetching: isFetchingSchema,\n } = useGetInitialDataQuery(undefined, {\n selectFromResult: (res) => {\n const schema = res.data?.components.find((ct) => ct.uid === model);\n\n const componentsByKey = res.data?.components.reduce<ComponentsDictionary>(\n (acc, component) => {\n acc[component.uid] = component;\n\n return acc;\n },\n {}\n );\n\n const components = extractContentTypeComponents(schema?.attributes, componentsByKey);\n\n const fieldSizes = Object.entries(res.data?.fieldSizes ?? {}).reduce<\n ConfigurationFormProps['fieldSizes']\n >((acc, [attributeName, { default: size }]) => {\n acc[attributeName] = size;\n\n return acc;\n }, {});\n\n return {\n isFetching: res.isFetching,\n isLoading: res.isLoading,\n error: res.error,\n components,\n schema,\n fieldSizes,\n };\n },\n });\n\n React.useEffect(() => {\n if (errorSchema) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(errorSchema),\n });\n }\n }, [errorSchema, formatAPIError, toggleNotification]);\n\n const {\n data,\n isLoading: isLoadingConfig,\n isFetching: isFetchingConfig,\n error,\n } = useGetComponentConfigurationQuery(model ?? '');\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n /**\n * you **must** check if we're loading or fetching in case the component gets new props\n * but nothing was unmounted, it then becomes a fetch, not a load.\n */\n const isLoading = isLoadingConfig || isLoadingSchema || isFetchingConfig || isFetchingSchema;\n\n const editLayout = React.useMemo(\n () =>\n data && !isLoading\n ? formatEditLayout(data, { schema, components })\n : ({\n layout: [],\n components: {},\n metadatas: {},\n options: {},\n settings: DEFAULT_SETTINGS,\n } as EditLayout),\n [data, isLoading, schema, components]\n );\n\n const [updateConfiguration] = useUpdateComponentConfigurationMutation();\n const handleSubmit: ConfigurationFormProps['onSubmit'] = async (formData) => {\n try {\n /**\n * We reconstruct the metadatas object by taking the existing list metadatas\n * and re-merging that by attribute name with the current list metadatas, whilst overwriting\n * the data from the form we've built.\n */\n const meta = Object.entries(\n data?.component.metadatas ?? {}\n ).reduce<Contracts.ContentTypes.Metadatas>((acc, [name, { edit, list }]) => {\n const {\n __temp_key__,\n size: _size,\n name: _name,\n ...editedMetadata\n } = formData.layout.flatMap((row) => row.children).find((field) => field.name === name) ??\n {};\n\n acc[name] = {\n edit: {\n ...edit,\n ...editedMetadata,\n },\n list,\n };\n\n return acc;\n }, {});\n\n const res = await updateConfiguration({\n layouts: {\n edit: formData.layout.map((row) =>\n row.children.reduce<Array<{ name: string; size: number }>>((acc, { name, size }) => {\n if (name !== TEMP_FIELD_NAME) {\n return [...acc, { name, size }];\n }\n\n return acc;\n }, [])\n ),\n list: data?.component.layouts.list,\n },\n settings: setIn(formData.settings, 'displayName', undefined),\n metadatas: meta,\n uid: model,\n });\n\n if ('data' in res) {\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error || errorSchema || !schema) {\n return <Page.Error />;\n }\n\n return (\n <>\n <Helmet title={`Configure ${editLayout.settings.displayName} Edit View | Strapi`} />\n <ConfigurationForm\n onSubmit={handleSubmit}\n attributes={schema.attributes}\n fieldSizes={fieldSizes}\n layout={editLayout}\n />\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\nconst formatEditLayout = (\n data: Contracts.Components.FindComponentConfiguration.Response['data'],\n {\n schema,\n components,\n }: { schema?: Contracts.Components.Component; components: ComponentsDictionary }\n) => {\n const editAttributes = convertEditLayoutToFieldLayouts(\n data.component.layouts.edit,\n schema?.attributes,\n data.component.metadatas,\n { configurations: data.components, schemas: components }\n );\n\n const componentEditAttributes = Object.entries(data.components).reduce<EditLayout['components']>(\n (acc, [uid, configuration]) => {\n acc[uid] = {\n layout: convertEditLayoutToFieldLayouts(\n configuration.layouts.edit,\n components[uid].attributes,\n configuration.metadatas\n ),\n settings: {\n ...configuration.settings,\n icon: components[uid].info.icon,\n displayName: components[uid].info.displayName,\n },\n };\n return acc;\n },\n {}\n );\n\n const editMetadatas = Object.entries(data.component.metadatas).reduce<EditLayout['metadatas']>(\n (acc, [attribute, metadata]) => {\n return {\n ...acc,\n [attribute]: metadata.edit,\n };\n },\n {}\n );\n\n return {\n layout: [editAttributes],\n components: componentEditAttributes,\n metadatas: editMetadatas,\n options: {\n ...schema?.options,\n ...schema?.pluginOptions,\n },\n settings: {\n ...data.component.settings,\n displayName: schema?.info.displayName,\n },\n };\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedComponentConfigurationPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.contentManager?.componentsConfigurations\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ComponentConfigurationPage />\n </Page.Protect>\n );\n};\n\nexport { ComponentConfigurationPage, ProtectedComponentConfigurationPage };\n"],"names":["schema","components","fieldSizes"],"mappings":"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"}
1
+ {"version":3,"file":"ComponentConfigurationPage-aH3eivWq.mjs","sources":["../../admin/src/content-manager/services/components.ts","../../admin/src/content-manager/pages/ComponentConfigurationPage.tsx"],"sourcesContent":["import { contentManagerApi } from './api';\n\nimport type { Contracts } from '@strapi/plugin-content-manager/_internal/shared';\n\nconst componentsApi = contentManagerApi.injectEndpoints({\n endpoints: (builder) => ({\n getComponentConfiguration: builder.query<\n Contracts.Components.FindComponentConfiguration.Response['data'],\n Contracts.Components.FindComponentConfiguration.Params['uid']\n >({\n query: (uid) => `/content-manager/components/${uid}/configuration`,\n transformResponse: (response: Contracts.Components.FindComponentConfiguration.Response) =>\n response.data,\n providesTags: (_result, _error, uid) => [{ type: 'ComponentConfiguration', id: uid }],\n }),\n updateComponentConfiguration: builder.mutation({\n query: ({ uid, ...body }) => ({\n url: `/content-manager/components/${uid}/configuration`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: Contracts.Components.UpdateComponentConfiguration.Response) =>\n response.data,\n invalidatesTags: (_result, _error, { uid }) => [\n { type: 'ComponentConfiguration', id: uid },\n // otherwise layouts already fetched will have stale component configuration data.\n { type: 'ContentTypeSettings', id: 'LIST' },\n ],\n }),\n }),\n});\n\nconst { useGetComponentConfigurationQuery, useUpdateComponentConfigurationMutation } =\n componentsApi;\n\nexport { useGetComponentConfigurationQuery, useUpdateComponentConfigurationMutation };\n","import * as React from 'react';\n\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { Page } from '../../components/PageHelpers';\nimport { useTypedSelector } from '../../core/store/hooks';\nimport { useNotification } from '../../features/Notifications';\nimport { useAPIErrorHandler } from '../../hooks/useAPIErrorHandler';\nimport { setIn } from '../../utils/objects';\nimport { TEMP_FIELD_NAME } from '../components/ConfigurationForm/Fields';\nimport { ConfigurationForm, ConfigurationFormProps } from '../components/ConfigurationForm/Form';\nimport { ComponentsDictionary, extractContentTypeComponents } from '../hooks/useContentTypeSchema';\nimport {\n DEFAULT_SETTINGS,\n EditLayout,\n convertEditLayoutToFieldLayouts,\n} from '../hooks/useDocumentLayout';\nimport {\n useGetComponentConfigurationQuery,\n useUpdateComponentConfigurationMutation,\n} from '../services/components';\nimport { useGetInitialDataQuery } from '../services/init';\n\nimport type { Contracts } from '@strapi/plugin-content-manager/_internal/shared';\n\n/* -------------------------------------------------------------------------------------------------\n * ComponentConfigurationPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ComponentConfigurationPage = () => {\n /**\n * useDocumentLayout only works for documents, not components,\n * it feels weird to make that hook work for both when this is SUCH\n * a unique use case and we only do it here, so in short, we essentially\n * just extracted the logic to make an edit view layout and reproduced it here.\n */\n const { slug: model } = useParams<{ slug: string }>();\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const {\n components,\n fieldSizes,\n schema,\n error: errorSchema,\n isLoading: isLoadingSchema,\n isFetching: isFetchingSchema,\n } = useGetInitialDataQuery(undefined, {\n selectFromResult: (res) => {\n const schema = res.data?.components.find((ct) => ct.uid === model);\n\n const componentsByKey = res.data?.components.reduce<ComponentsDictionary>(\n (acc, component) => {\n acc[component.uid] = component;\n\n return acc;\n },\n {}\n );\n\n const components = extractContentTypeComponents(schema?.attributes, componentsByKey);\n\n const fieldSizes = Object.entries(res.data?.fieldSizes ?? {}).reduce<\n ConfigurationFormProps['fieldSizes']\n >((acc, [attributeName, { default: size }]) => {\n acc[attributeName] = size;\n\n return acc;\n }, {});\n\n return {\n isFetching: res.isFetching,\n isLoading: res.isLoading,\n error: res.error,\n components,\n schema,\n fieldSizes,\n };\n },\n });\n\n React.useEffect(() => {\n if (errorSchema) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(errorSchema),\n });\n }\n }, [errorSchema, formatAPIError, toggleNotification]);\n\n const {\n data,\n isLoading: isLoadingConfig,\n isFetching: isFetchingConfig,\n error,\n } = useGetComponentConfigurationQuery(model ?? '');\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n /**\n * you **must** check if we're loading or fetching in case the component gets new props\n * but nothing was unmounted, it then becomes a fetch, not a load.\n */\n const isLoading = isLoadingConfig || isLoadingSchema || isFetchingConfig || isFetchingSchema;\n\n const editLayout = React.useMemo(\n () =>\n data && !isLoading\n ? formatEditLayout(data, { schema, components })\n : ({\n layout: [],\n components: {},\n metadatas: {},\n options: {},\n settings: DEFAULT_SETTINGS,\n } as EditLayout),\n [data, isLoading, schema, components]\n );\n\n const [updateConfiguration] = useUpdateComponentConfigurationMutation();\n const handleSubmit: ConfigurationFormProps['onSubmit'] = async (formData) => {\n try {\n /**\n * We reconstruct the metadatas object by taking the existing list metadatas\n * and re-merging that by attribute name with the current list metadatas, whilst overwriting\n * the data from the form we've built.\n */\n const meta = Object.entries(\n data?.component.metadatas ?? {}\n ).reduce<Contracts.ContentTypes.Metadatas>((acc, [name, { edit, list }]) => {\n const {\n __temp_key__,\n size: _size,\n name: _name,\n ...editedMetadata\n } = formData.layout.flatMap((row) => row.children).find((field) => field.name === name) ??\n {};\n\n acc[name] = {\n edit: {\n ...edit,\n ...editedMetadata,\n },\n list,\n };\n\n return acc;\n }, {});\n\n const res = await updateConfiguration({\n layouts: {\n edit: formData.layout.map((row) =>\n row.children.reduce<Array<{ name: string; size: number }>>((acc, { name, size }) => {\n if (name !== TEMP_FIELD_NAME) {\n return [...acc, { name, size }];\n }\n\n return acc;\n }, [])\n ),\n list: data?.component.layouts.list,\n },\n settings: setIn(formData.settings, 'displayName', undefined),\n metadatas: meta,\n uid: model,\n });\n\n if ('data' in res) {\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error || errorSchema || !schema) {\n return <Page.Error />;\n }\n\n return (\n <>\n <Helmet title={`Configure ${editLayout.settings.displayName} Edit View | Strapi`} />\n <ConfigurationForm\n onSubmit={handleSubmit}\n attributes={schema.attributes}\n fieldSizes={fieldSizes}\n layout={editLayout}\n />\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\nconst formatEditLayout = (\n data: Contracts.Components.FindComponentConfiguration.Response['data'],\n {\n schema,\n components,\n }: { schema?: Contracts.Components.Component; components: ComponentsDictionary }\n) => {\n const editAttributes = convertEditLayoutToFieldLayouts(\n data.component.layouts.edit,\n schema?.attributes,\n data.component.metadatas,\n { configurations: data.components, schemas: components }\n );\n\n const componentEditAttributes = Object.entries(data.components).reduce<EditLayout['components']>(\n (acc, [uid, configuration]) => {\n acc[uid] = {\n layout: convertEditLayoutToFieldLayouts(\n configuration.layouts.edit,\n components[uid].attributes,\n configuration.metadatas\n ),\n settings: {\n ...configuration.settings,\n icon: components[uid].info.icon,\n displayName: components[uid].info.displayName,\n },\n };\n return acc;\n },\n {}\n );\n\n const editMetadatas = Object.entries(data.component.metadatas).reduce<EditLayout['metadatas']>(\n (acc, [attribute, metadata]) => {\n return {\n ...acc,\n [attribute]: metadata.edit,\n };\n },\n {}\n );\n\n return {\n layout: [editAttributes],\n components: componentEditAttributes,\n metadatas: editMetadatas,\n options: {\n ...schema?.options,\n ...schema?.pluginOptions,\n },\n settings: {\n ...data.component.settings,\n displayName: schema?.info.displayName,\n },\n };\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedComponentConfigurationPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.contentManager?.componentsConfigurations\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ComponentConfigurationPage />\n </Page.Protect>\n );\n};\n\nexport { ComponentConfigurationPage, ProtectedComponentConfigurationPage };\n"],"names":["schema","components","fieldSizes"],"mappings":"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"}
@@ -7,7 +7,7 @@ const designSystem = require('@strapi/design-system');
7
7
  const Icons = require('@strapi/icons');
8
8
  const isNil = require('lodash/isNil');
9
9
  const reactIntl = require('react-intl');
10
- const index = require('./index-Xcv2DEB8.js');
10
+ const index = require('./index-_fZT3TVe.js');
11
11
 
12
12
  const _interopDefault = e => e && e.__esModule ? e : { default: e };
13
13
 
@@ -58,4 +58,4 @@ const CreateActionEE = ({ onClick }) => {
58
58
  };
59
59
 
60
60
  exports.CreateActionEE = CreateActionEE;
61
- //# sourceMappingURL=CreateActionEE-MO4CwmTg.js.map
61
+ //# sourceMappingURL=CreateActionEE-FShadq9j.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateActionEE-MO4CwmTg.js","sources":["../../ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.tsx"],"sourcesContent":["import { Button, Flex, Icon, Tooltip } from '@strapi/design-system';\nimport { Envelop, ExclamationMarkCircle } from '@strapi/icons';\nimport isNil from 'lodash/isNil';\nimport { useIntl } from 'react-intl';\n\nimport { useLicenseLimits } from '../../../../../hooks/useLicenseLimits';\n\nimport type { CreateActionCEProps } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/CreateActionCE';\n\nexport const CreateActionEE = ({ onClick }: CreateActionCEProps) => {\n const { formatMessage } = useIntl();\n const { license, isError, isLoading } = useLicenseLimits();\n\n const { permittedSeats, shouldStopCreate } = license ?? {};\n\n if (isError || isLoading) {\n return null;\n }\n\n return (\n <Flex gap={2}>\n {!isNil(permittedSeats) && shouldStopCreate && (\n <Tooltip\n description={formatMessage({\n id: 'Settings.application.admin-seats.at-limit-tooltip',\n defaultMessage: 'At limit: add seats to invite more users',\n })}\n position=\"left\"\n >\n <Icon\n width={`${14 / 16}rem`}\n height={`${14 / 16}rem`}\n color=\"danger500\"\n as={ExclamationMarkCircle}\n />\n </Tooltip>\n )}\n <Button\n data-testid=\"create-user-button\"\n onClick={onClick}\n startIcon={<Envelop />}\n size=\"S\"\n disabled={shouldStopCreate}\n >\n {formatMessage({\n id: 'Settings.permissions.users.create',\n defaultMessage: 'Invite new user',\n })}\n </Button>\n </Flex>\n );\n};\n"],"names":["useIntl","useLicenseLimits","jsxs","Flex","isNil","jsx","Tooltip","Icon","ExclamationMarkCircle","Button","Envelop"],"mappings":";;;;;;;;;;;;;;;AASO,MAAM,cAAiB,GAAA,CAAC,EAAE,OAAA,EAAmC,KAAA;AAClE,EAAM,MAAA,EAAE,aAAc,EAAA,GAAIA,iBAAQ,EAAA,CAAA;AAClC,EAAA,MAAM,EAAE,OAAA,EAAS,OAAS,EAAA,SAAA,KAAcC,sBAAiB,EAAA,CAAA;AAEzD,EAAA,MAAM,EAAE,cAAA,EAAgB,gBAAiB,EAAA,GAAI,WAAW,EAAC,CAAA;AAEzD,EAAA,IAAI,WAAW,SAAW,EAAA;AACxB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EACE,uBAAAC,eAAA,CAACC,iBAAK,EAAA,EAAA,GAAA,EAAK,CACR,EAAA,QAAA,EAAA;AAAA,IAAC,CAAAC,sBAAA,CAAM,cAAc,CAAA,IAAK,gBACzB,oBAAAC,cAAA;AAAA,MAACC,oBAAA;AAAA,MAAA;AAAA,QACC,aAAa,aAAc,CAAA;AAAA,UACzB,EAAI,EAAA,mDAAA;AAAA,UACJ,cAAgB,EAAA,0CAAA;AAAA,SACjB,CAAA;AAAA,QACD,QAAS,EAAA,MAAA;AAAA,QAET,QAAA,kBAAAD,cAAA;AAAA,UAACE,iBAAA;AAAA,UAAA;AAAA,YACC,KAAA,EAAO,CAAG,EAAA,EAAA,GAAK,EAAE,CAAA,GAAA,CAAA;AAAA,YACjB,MAAA,EAAQ,CAAG,EAAA,EAAA,GAAK,EAAE,CAAA,GAAA,CAAA;AAAA,YAClB,KAAM,EAAA,WAAA;AAAA,YACN,EAAI,EAAAC,2BAAA;AAAA,WAAA;AAAA,SACN;AAAA,OAAA;AAAA,KACF;AAAA,oBAEFH,cAAA;AAAA,MAACI,mBAAA;AAAA,MAAA;AAAA,QACC,aAAY,EAAA,oBAAA;AAAA,QACZ,OAAA;AAAA,QACA,SAAA,iCAAYC,aAAQ,EAAA,EAAA,CAAA;AAAA,QACpB,IAAK,EAAA,GAAA;AAAA,QACL,QAAU,EAAA,gBAAA;AAAA,QAET,QAAc,EAAA,aAAA,CAAA;AAAA,UACb,EAAI,EAAA,mCAAA;AAAA,UACJ,cAAgB,EAAA,iBAAA;AAAA,SACjB,CAAA;AAAA,OAAA;AAAA,KACH;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"CreateActionEE-FShadq9j.js","sources":["../../ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.tsx"],"sourcesContent":["import { Button, Flex, Icon, Tooltip } from '@strapi/design-system';\nimport { Envelop, ExclamationMarkCircle } from '@strapi/icons';\nimport isNil from 'lodash/isNil';\nimport { useIntl } from 'react-intl';\n\nimport { useLicenseLimits } from '../../../../../hooks/useLicenseLimits';\n\nimport type { CreateActionCEProps } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/CreateActionCE';\n\nexport const CreateActionEE = ({ onClick }: CreateActionCEProps) => {\n const { formatMessage } = useIntl();\n const { license, isError, isLoading } = useLicenseLimits();\n\n const { permittedSeats, shouldStopCreate } = license ?? {};\n\n if (isError || isLoading) {\n return null;\n }\n\n return (\n <Flex gap={2}>\n {!isNil(permittedSeats) && shouldStopCreate && (\n <Tooltip\n description={formatMessage({\n id: 'Settings.application.admin-seats.at-limit-tooltip',\n defaultMessage: 'At limit: add seats to invite more users',\n })}\n position=\"left\"\n >\n <Icon\n width={`${14 / 16}rem`}\n height={`${14 / 16}rem`}\n color=\"danger500\"\n as={ExclamationMarkCircle}\n />\n </Tooltip>\n )}\n <Button\n data-testid=\"create-user-button\"\n onClick={onClick}\n startIcon={<Envelop />}\n size=\"S\"\n disabled={shouldStopCreate}\n >\n {formatMessage({\n id: 'Settings.permissions.users.create',\n defaultMessage: 'Invite new user',\n })}\n </Button>\n </Flex>\n );\n};\n"],"names":["useIntl","useLicenseLimits","jsxs","Flex","isNil","jsx","Tooltip","Icon","ExclamationMarkCircle","Button","Envelop"],"mappings":";;;;;;;;;;;;;;;AASO,MAAM,cAAiB,GAAA,CAAC,EAAE,OAAA,EAAmC,KAAA;AAClE,EAAM,MAAA,EAAE,aAAc,EAAA,GAAIA,iBAAQ,EAAA,CAAA;AAClC,EAAA,MAAM,EAAE,OAAA,EAAS,OAAS,EAAA,SAAA,KAAcC,sBAAiB,EAAA,CAAA;AAEzD,EAAA,MAAM,EAAE,cAAA,EAAgB,gBAAiB,EAAA,GAAI,WAAW,EAAC,CAAA;AAEzD,EAAA,IAAI,WAAW,SAAW,EAAA;AACxB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EACE,uBAAAC,eAAA,CAACC,iBAAK,EAAA,EAAA,GAAA,EAAK,CACR,EAAA,QAAA,EAAA;AAAA,IAAC,CAAAC,sBAAA,CAAM,cAAc,CAAA,IAAK,gBACzB,oBAAAC,cAAA;AAAA,MAACC,oBAAA;AAAA,MAAA;AAAA,QACC,aAAa,aAAc,CAAA;AAAA,UACzB,EAAI,EAAA,mDAAA;AAAA,UACJ,cAAgB,EAAA,0CAAA;AAAA,SACjB,CAAA;AAAA,QACD,QAAS,EAAA,MAAA;AAAA,QAET,QAAA,kBAAAD,cAAA;AAAA,UAACE,iBAAA;AAAA,UAAA;AAAA,YACC,KAAA,EAAO,CAAG,EAAA,EAAA,GAAK,EAAE,CAAA,GAAA,CAAA;AAAA,YACjB,MAAA,EAAQ,CAAG,EAAA,EAAA,GAAK,EAAE,CAAA,GAAA,CAAA;AAAA,YAClB,KAAM,EAAA,WAAA;AAAA,YACN,EAAI,EAAAC,2BAAA;AAAA,WAAA;AAAA,SACN;AAAA,OAAA;AAAA,KACF;AAAA,oBAEFH,cAAA;AAAA,MAACI,mBAAA;AAAA,MAAA;AAAA,QACC,aAAY,EAAA,oBAAA;AAAA,QACZ,OAAA;AAAA,QACA,SAAA,iCAAYC,aAAQ,EAAA,EAAA,CAAA;AAAA,QACpB,IAAK,EAAA,GAAA;AAAA,QACL,QAAU,EAAA,gBAAA;AAAA,QAET,QAAc,EAAA,aAAA,CAAA;AAAA,UACb,EAAI,EAAA,mCAAA;AAAA,UACJ,cAAgB,EAAA,iBAAA;AAAA,SACjB,CAAA;AAAA,OAAA;AAAA,KACH;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -3,7 +3,7 @@ import { Flex, Tooltip, Icon, Button } from '@strapi/design-system';
3
3
  import { ExclamationMarkCircle, Envelop } from '@strapi/icons';
4
4
  import isNil from 'lodash/isNil';
5
5
  import { useIntl } from 'react-intl';
6
- import { f as useLicenseLimits } from './index--h1ljeG8.mjs';
6
+ import { f as useLicenseLimits } from './index-Sd8uo7mE.mjs';
7
7
 
8
8
  const CreateActionEE = ({ onClick }) => {
9
9
  const { formatMessage } = useIntl();
@@ -50,4 +50,4 @@ const CreateActionEE = ({ onClick }) => {
50
50
  };
51
51
 
52
52
  export { CreateActionEE };
53
- //# sourceMappingURL=CreateActionEE-MS5BO87T.mjs.map
53
+ //# sourceMappingURL=CreateActionEE-PeDYp0gX.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateActionEE-MS5BO87T.mjs","sources":["../../ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.tsx"],"sourcesContent":["import { Button, Flex, Icon, Tooltip } from '@strapi/design-system';\nimport { Envelop, ExclamationMarkCircle } from '@strapi/icons';\nimport isNil from 'lodash/isNil';\nimport { useIntl } from 'react-intl';\n\nimport { useLicenseLimits } from '../../../../../hooks/useLicenseLimits';\n\nimport type { CreateActionCEProps } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/CreateActionCE';\n\nexport const CreateActionEE = ({ onClick }: CreateActionCEProps) => {\n const { formatMessage } = useIntl();\n const { license, isError, isLoading } = useLicenseLimits();\n\n const { permittedSeats, shouldStopCreate } = license ?? {};\n\n if (isError || isLoading) {\n return null;\n }\n\n return (\n <Flex gap={2}>\n {!isNil(permittedSeats) && shouldStopCreate && (\n <Tooltip\n description={formatMessage({\n id: 'Settings.application.admin-seats.at-limit-tooltip',\n defaultMessage: 'At limit: add seats to invite more users',\n })}\n position=\"left\"\n >\n <Icon\n width={`${14 / 16}rem`}\n height={`${14 / 16}rem`}\n color=\"danger500\"\n as={ExclamationMarkCircle}\n />\n </Tooltip>\n )}\n <Button\n data-testid=\"create-user-button\"\n onClick={onClick}\n startIcon={<Envelop />}\n size=\"S\"\n disabled={shouldStopCreate}\n >\n {formatMessage({\n id: 'Settings.permissions.users.create',\n defaultMessage: 'Invite new user',\n })}\n </Button>\n </Flex>\n );\n};\n"],"names":[],"mappings":";;;;;;;AASO,MAAM,cAAiB,GAAA,CAAC,EAAE,OAAA,EAAmC,KAAA;AAClE,EAAM,MAAA,EAAE,aAAc,EAAA,GAAI,OAAQ,EAAA,CAAA;AAClC,EAAA,MAAM,EAAE,OAAA,EAAS,OAAS,EAAA,SAAA,KAAc,gBAAiB,EAAA,CAAA;AAEzD,EAAA,MAAM,EAAE,cAAA,EAAgB,gBAAiB,EAAA,GAAI,WAAW,EAAC,CAAA;AAEzD,EAAA,IAAI,WAAW,SAAW,EAAA;AACxB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EACE,uBAAA,IAAA,CAAC,IAAK,EAAA,EAAA,GAAA,EAAK,CACR,EAAA,QAAA,EAAA;AAAA,IAAC,CAAA,KAAA,CAAM,cAAc,CAAA,IAAK,gBACzB,oBAAA,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,aAAa,aAAc,CAAA;AAAA,UACzB,EAAI,EAAA,mDAAA;AAAA,UACJ,cAAgB,EAAA,0CAAA;AAAA,SACjB,CAAA;AAAA,QACD,QAAS,EAAA,MAAA;AAAA,QAET,QAAA,kBAAA,GAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YACC,KAAA,EAAO,CAAG,EAAA,EAAA,GAAK,EAAE,CAAA,GAAA,CAAA;AAAA,YACjB,MAAA,EAAQ,CAAG,EAAA,EAAA,GAAK,EAAE,CAAA,GAAA,CAAA;AAAA,YAClB,KAAM,EAAA,WAAA;AAAA,YACN,EAAI,EAAA,qBAAA;AAAA,WAAA;AAAA,SACN;AAAA,OAAA;AAAA,KACF;AAAA,oBAEF,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,aAAY,EAAA,oBAAA;AAAA,QACZ,OAAA;AAAA,QACA,SAAA,sBAAY,OAAQ,EAAA,EAAA,CAAA;AAAA,QACpB,IAAK,EAAA,GAAA;AAAA,QACL,QAAU,EAAA,gBAAA;AAAA,QAET,QAAc,EAAA,aAAA,CAAA;AAAA,UACb,EAAI,EAAA,mCAAA;AAAA,UACJ,cAAgB,EAAA,iBAAA;AAAA,SACjB,CAAA;AAAA,OAAA;AAAA,KACH;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"CreateActionEE-PeDYp0gX.mjs","sources":["../../ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.tsx"],"sourcesContent":["import { Button, Flex, Icon, Tooltip } from '@strapi/design-system';\nimport { Envelop, ExclamationMarkCircle } from '@strapi/icons';\nimport isNil from 'lodash/isNil';\nimport { useIntl } from 'react-intl';\n\nimport { useLicenseLimits } from '../../../../../hooks/useLicenseLimits';\n\nimport type { CreateActionCEProps } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/CreateActionCE';\n\nexport const CreateActionEE = ({ onClick }: CreateActionCEProps) => {\n const { formatMessage } = useIntl();\n const { license, isError, isLoading } = useLicenseLimits();\n\n const { permittedSeats, shouldStopCreate } = license ?? {};\n\n if (isError || isLoading) {\n return null;\n }\n\n return (\n <Flex gap={2}>\n {!isNil(permittedSeats) && shouldStopCreate && (\n <Tooltip\n description={formatMessage({\n id: 'Settings.application.admin-seats.at-limit-tooltip',\n defaultMessage: 'At limit: add seats to invite more users',\n })}\n position=\"left\"\n >\n <Icon\n width={`${14 / 16}rem`}\n height={`${14 / 16}rem`}\n color=\"danger500\"\n as={ExclamationMarkCircle}\n />\n </Tooltip>\n )}\n <Button\n data-testid=\"create-user-button\"\n onClick={onClick}\n startIcon={<Envelop />}\n size=\"S\"\n disabled={shouldStopCreate}\n >\n {formatMessage({\n id: 'Settings.permissions.users.create',\n defaultMessage: 'Invite new user',\n })}\n </Button>\n </Flex>\n );\n};\n"],"names":[],"mappings":";;;;;;;AASO,MAAM,cAAiB,GAAA,CAAC,EAAE,OAAA,EAAmC,KAAA;AAClE,EAAM,MAAA,EAAE,aAAc,EAAA,GAAI,OAAQ,EAAA,CAAA;AAClC,EAAA,MAAM,EAAE,OAAA,EAAS,OAAS,EAAA,SAAA,KAAc,gBAAiB,EAAA,CAAA;AAEzD,EAAA,MAAM,EAAE,cAAA,EAAgB,gBAAiB,EAAA,GAAI,WAAW,EAAC,CAAA;AAEzD,EAAA,IAAI,WAAW,SAAW,EAAA;AACxB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EACE,uBAAA,IAAA,CAAC,IAAK,EAAA,EAAA,GAAA,EAAK,CACR,EAAA,QAAA,EAAA;AAAA,IAAC,CAAA,KAAA,CAAM,cAAc,CAAA,IAAK,gBACzB,oBAAA,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,aAAa,aAAc,CAAA;AAAA,UACzB,EAAI,EAAA,mDAAA;AAAA,UACJ,cAAgB,EAAA,0CAAA;AAAA,SACjB,CAAA;AAAA,QACD,QAAS,EAAA,MAAA;AAAA,QAET,QAAA,kBAAA,GAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YACC,KAAA,EAAO,CAAG,EAAA,EAAA,GAAK,EAAE,CAAA,GAAA,CAAA;AAAA,YACjB,MAAA,EAAQ,CAAG,EAAA,EAAA,GAAK,EAAE,CAAA,GAAA,CAAA;AAAA,YAClB,KAAM,EAAA,WAAA;AAAA,YACN,EAAI,EAAA,qBAAA;AAAA,WAAA;AAAA,SACN;AAAA,OAAA;AAAA,KACF;AAAA,oBAEF,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,aAAY,EAAA,oBAAA;AAAA,QACZ,OAAA;AAAA,QACA,SAAA,sBAAY,OAAQ,EAAA,EAAA,CAAA;AAAA,QACpB,IAAK,EAAA,GAAA;AAAA,QACL,QAAU,EAAA,gBAAA;AAAA,QAET,QAAc,EAAA,aAAA,CAAA;AAAA,UACb,EAAI,EAAA,mCAAA;AAAA,UACJ,cAAgB,EAAA,iBAAA;AAAA,SACjB,CAAA;AAAA,OAAA;AAAA,KACH;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const layout = require('./reducers-uDxSALD_.js');
7
- const EditPage = require('./EditPage-tC47Sw_P.js');
7
+ const EditPage = require('./EditPage-icpAlX0U.js');
8
8
 
9
9
  const ProtectedCreatePage = () => {
10
10
  const permissions = layout.useTypedSelector(
@@ -15,4 +15,4 @@ const ProtectedCreatePage = () => {
15
15
 
16
16
  exports.CreatePage = EditPage.EditPage;
17
17
  exports.ProtectedCreatePage = ProtectedCreatePage;
18
- //# sourceMappingURL=CreatePage-nXCKqLfv.js.map
18
+ //# sourceMappingURL=CreatePage--AtUMCaU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreatePage-nXCKqLfv.js","sources":["../../admin/src/pages/Settings/pages/Webhooks/CreatePage.tsx"],"sourcesContent":["import { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\n\nimport { EditPage } from './EditPage';\n\nconst ProtectedCreatePage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.webhooks.create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedCreatePage, EditPage as CreatePage };\n"],"names":["useTypedSelector","Page","jsx","EditPage"],"mappings":";;;;;;;;AAKA,MAAM,sBAAsB,MAAM;AAChC,EAAA,MAAM,WAAc,GAAAA,uBAAA;AAAA,IAClB,CAAC,KAAU,KAAA,KAAA,CAAM,SAAU,CAAA,WAAA,CAAY,UAAU,QAAS,CAAA,MAAA;AAAA,GAC5D,CAAA;AAEA,EAAA,sCACGC,WAAK,CAAA,OAAA,EAAL,EAAa,WACZ,EAAA,QAAA,kBAAAC,cAAA,CAACC,qBAAS,CACZ,EAAA,CAAA,CAAA;AAEJ;;;;;"}
1
+ {"version":3,"file":"CreatePage--AtUMCaU.js","sources":["../../admin/src/pages/Settings/pages/Webhooks/CreatePage.tsx"],"sourcesContent":["import { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\n\nimport { EditPage } from './EditPage';\n\nconst ProtectedCreatePage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.webhooks.create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedCreatePage, EditPage as CreatePage };\n"],"names":["useTypedSelector","Page","jsx","EditPage"],"mappings":";;;;;;;;AAKA,MAAM,sBAAsB,MAAM;AAChC,EAAA,MAAM,WAAc,GAAAA,uBAAA;AAAA,IAClB,CAAC,KAAU,KAAA,KAAA,CAAM,SAAU,CAAA,WAAA,CAAY,UAAU,QAAS,CAAA,MAAA;AAAA,GAC5D,CAAA;AAEA,EAAA,sCACGC,WAAK,CAAA,OAAA,EAAL,EAAa,WACZ,EAAA,QAAA,kBAAAC,cAAA,CAACC,qBAAS,CACZ,EAAA,CAAA,CAAA;AAEJ;;;;;"}
@@ -6,13 +6,13 @@ import { useFormik, FormikProvider, Form } from 'formik';
6
6
  import { useIntl } from 'react-intl';
7
7
  import { useDispatch, useSelector } from 'react-redux';
8
8
  import { useNavigate } from 'react-router-dom';
9
- import { f as useLicenseLimits, C as CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME, m as CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME, n as useInjectReducer, R as REDUX_NAMESPACE, B as BackButton, g as ConfirmDialog, h as LimitsModal } from './index--h1ljeG8.mjs';
9
+ import { f as useLicenseLimits, C as CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME, m as CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME, n as useInjectReducer, R as REDUX_NAMESPACE, B as BackButton, g as ConfirmDialog, h as LimitsModal } from './index-Sd8uo7mE.mjs';
10
10
  import { i as useAPIErrorHandler, j as useNotification, H as isBaseQueryError } from './reducers-TOuLOGw_.mjs';
11
- import { u as useAdminRoles } from './useAdminRoles-gR2hyMNd.mjs';
11
+ import { u as useAdminRoles } from './useAdminRoles-YT1f2LGL.mjs';
12
12
  import { u as useContentTypes } from './useContentTypes-Or3rDVks.mjs';
13
- import { s as selectIsLoading, a as selectIsWorkflowDirty, b as selectCurrentWorkflow, c as selectRoles, v as validateWorkflow, r as reducer, d as resetWorkflow, e as setWorkflows, f as setContentTypes, g as setRoles, h as setIsLoading, i as addStage, W as WorkflowAttributes, S as Stages } from './validateWorkflow-nIbqjAha.mjs';
14
- import { D as DragLayerRendered, H as Header, R as Root } from './Layout-12gUdjvi.mjs';
15
- import { u as useReviewWorkflows } from './useReviewWorkflows-5xeAwxah.mjs';
13
+ import { s as selectIsLoading, a as selectIsWorkflowDirty, b as selectCurrentWorkflow, c as selectRoles, v as validateWorkflow, r as reducer, d as resetWorkflow, e as setWorkflows, f as setContentTypes, g as setRoles, h as setIsLoading, i as addStage, W as WorkflowAttributes, S as Stages } from './validateWorkflow-KQMhiXda.mjs';
14
+ import { D as DragLayerRendered, H as Header, R as Root } from './Layout-ipua3uHy.mjs';
15
+ import { u as useReviewWorkflows } from './useReviewWorkflows-vIYhJ1WA.mjs';
16
16
 
17
17
  const ReviewWorkflowsCreatePage = () => {
18
18
  const { formatMessage } = useIntl();
@@ -245,4 +245,4 @@ const ReviewWorkflowsCreatePage = () => {
245
245
  };
246
246
 
247
247
  export { ReviewWorkflowsCreatePage };
248
- //# sourceMappingURL=CreatePage-TuxqMr0o.mjs.map
248
+ //# sourceMappingURL=CreatePage-XuobAWJK.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreatePage-TuxqMr0o.mjs","sources":["../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/CreatePage.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 { useDispatch, useSelector } from 'react-redux';\nimport { useNavigate } 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 { isBaseQueryError } from '../../../../../../../admin/src/utils/baseQuery';\nimport { useLicenseLimits } from '../../../../hooks/useLicenseLimits';\n\nimport {\n addStage,\n resetWorkflow,\n setContentTypes,\n setIsLoading,\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_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n REDUX_NAMESPACE,\n} from './constants';\nimport { useReviewWorkflows } from './hooks/useReviewWorkflows';\nimport { CurrentWorkflow, reducer } from './reducer';\nimport {\n selectIsLoading,\n selectIsWorkflowDirty,\n selectCurrentWorkflow,\n selectRoles,\n} from './selectors';\nimport { validateWorkflow } from './utils/validateWorkflow';\n\nexport const ReviewWorkflowsCreatePage = () => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const dispatch = useDispatch();\n const { toggleNotification } = useNotification();\n const { collectionTypes, singleTypes, isLoading: isLoadingContentTypes } = useContentTypes();\n const { isLoading: isLoadingWorkflow, meta, workflows, createWorkflow } = useReviewWorkflows();\n const { isLoading: isLoadingRoles, roles: serverRoles } = useAdminRoles();\n const isLoading = useSelector(selectIsLoading);\n const currentWorkflowIsDirty = useSelector(selectIsWorkflowDirty);\n const currentWorkflow = useSelector(selectCurrentWorkflow);\n const roles = useSelector(selectRoles);\n const [showLimitModal, setShowLimitModal] = React.useState<'workflow' | 'stage' | null>(null);\n const { isLoading: isLicenseLoading, getFeature } = useLicenseLimits();\n const [initialErrors, setInitialErrors] = React.useState<FormikErrors<CurrentWorkflow>>();\n const [savePrompts, setSavePrompts] = React.useState<{ hasReassignedContentTypes?: boolean }>({});\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 const contentTypesFromOtherWorkflows = workflows?.flatMap((workflow) => workflow.contentTypes);\n\n const submitForm = async () => {\n setSavePrompts({});\n\n try {\n const res = await createWorkflow({\n // @ts-expect-error – currentWorkflow will have already been validated by formik before it gets here.\n data: currentWorkflow,\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({\n id: 'Settings.review-workflows.create.page.notification.success',\n defaultMessage: 'Workflow successfully created',\n }),\n });\n\n navigate(res.data.id.toString());\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'Settings.review-workflows.create.page.notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\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 /**\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\n if (meta && numberOfWorkflows && meta?.workflowCount >= parseInt(numberOfWorkflows, 10)) {\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 (isContentTypeReassignment) {\n setSavePrompts((prev) => ({ ...prev, hasReassignedContentTypes: true }));\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 dispatch(resetWorkflow());\n\n if (!isLoadingWorkflow && workflows) {\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(isLoadingContentTypes || isLoadingRoles));\n\n // Create an empty default stage\n dispatch(\n addStage({\n name: '',\n })\n );\n }, [\n collectionTypes,\n dispatch,\n isLoadingContentTypes,\n isLoadingRoles,\n isLoadingWorkflow,\n serverRoles,\n singleTypes,\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 React.useEffect(() => {\n if (!isLoadingWorkflow && !isLicenseLoading) {\n if (\n currentWorkflow.stages &&\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n stagesPerWorkflow &&\n currentWorkflow.stages.length >= parseInt(stagesPerWorkflow, 10)\n ) {\n setShowLimitModal('stage');\n }\n }\n }, [isLicenseLoading, isLoadingWorkflow, limits, currentWorkflow.stages, stagesPerWorkflow]);\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 return (\n <>\n <Layout.DragLayerRendered />\n <FormikProvider value={formik}>\n <Form onSubmit={formik.handleSubmit}>\n <Layout.Header\n navigationAction={<BackButton />}\n primaryAction={\n <Button\n startIcon={<Check />}\n type=\"submit\"\n size=\"M\"\n disabled={!currentWorkflowIsDirty}\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n }\n title={formatMessage({\n id: 'Settings.review-workflows.create.page.title',\n defaultMessage: 'Create Review Workflow',\n })}\n subtitle={formatMessage(\n {\n id: 'Settings.review-workflows.page.subtitle',\n defaultMessage: '{count, plural, one {# stage} other {# stages}}',\n },\n { count: currentWorkflow?.stages?.length ?? 0 }\n )}\n />\n <Layout.Root>\n <Flex alignItems=\"stretch\" direction=\"column\" gap={7}>\n {isLoading ? (\n <Loader>\n {formatMessage({\n id: 'Settings.review-workflows.page.isLoading',\n defaultMessage: 'Workflow is loading',\n })}\n </Loader>\n ) : (\n <Flex alignItems=\"stretch\" direction=\"column\" gap={7}>\n <WorkflowAttributes />\n <Stages stages={formik.values?.stages} />\n </Flex>\n )}\n </Flex>\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.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.create.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.create.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.create.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.create.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":["Layout.DragLayerRendered","Layout.Header","Layout.Root"],"mappings":"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"}
1
+ {"version":3,"file":"CreatePage-XuobAWJK.mjs","sources":["../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/CreatePage.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 { useDispatch, useSelector } from 'react-redux';\nimport { useNavigate } 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 { isBaseQueryError } from '../../../../../../../admin/src/utils/baseQuery';\nimport { useLicenseLimits } from '../../../../hooks/useLicenseLimits';\n\nimport {\n addStage,\n resetWorkflow,\n setContentTypes,\n setIsLoading,\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_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n REDUX_NAMESPACE,\n} from './constants';\nimport { useReviewWorkflows } from './hooks/useReviewWorkflows';\nimport { CurrentWorkflow, reducer } from './reducer';\nimport {\n selectIsLoading,\n selectIsWorkflowDirty,\n selectCurrentWorkflow,\n selectRoles,\n} from './selectors';\nimport { validateWorkflow } from './utils/validateWorkflow';\n\nexport const ReviewWorkflowsCreatePage = () => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const dispatch = useDispatch();\n const { toggleNotification } = useNotification();\n const { collectionTypes, singleTypes, isLoading: isLoadingContentTypes } = useContentTypes();\n const { isLoading: isLoadingWorkflow, meta, workflows, createWorkflow } = useReviewWorkflows();\n const { isLoading: isLoadingRoles, roles: serverRoles } = useAdminRoles();\n const isLoading = useSelector(selectIsLoading);\n const currentWorkflowIsDirty = useSelector(selectIsWorkflowDirty);\n const currentWorkflow = useSelector(selectCurrentWorkflow);\n const roles = useSelector(selectRoles);\n const [showLimitModal, setShowLimitModal] = React.useState<'workflow' | 'stage' | null>(null);\n const { isLoading: isLicenseLoading, getFeature } = useLicenseLimits();\n const [initialErrors, setInitialErrors] = React.useState<FormikErrors<CurrentWorkflow>>();\n const [savePrompts, setSavePrompts] = React.useState<{ hasReassignedContentTypes?: boolean }>({});\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 const contentTypesFromOtherWorkflows = workflows?.flatMap((workflow) => workflow.contentTypes);\n\n const submitForm = async () => {\n setSavePrompts({});\n\n try {\n const res = await createWorkflow({\n // @ts-expect-error – currentWorkflow will have already been validated by formik before it gets here.\n data: currentWorkflow,\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({\n id: 'Settings.review-workflows.create.page.notification.success',\n defaultMessage: 'Workflow successfully created',\n }),\n });\n\n navigate(res.data.id.toString());\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'Settings.review-workflows.create.page.notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\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 /**\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\n if (meta && numberOfWorkflows && meta?.workflowCount >= parseInt(numberOfWorkflows, 10)) {\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 (isContentTypeReassignment) {\n setSavePrompts((prev) => ({ ...prev, hasReassignedContentTypes: true }));\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 dispatch(resetWorkflow());\n\n if (!isLoadingWorkflow && workflows) {\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(isLoadingContentTypes || isLoadingRoles));\n\n // Create an empty default stage\n dispatch(\n addStage({\n name: '',\n })\n );\n }, [\n collectionTypes,\n dispatch,\n isLoadingContentTypes,\n isLoadingRoles,\n isLoadingWorkflow,\n serverRoles,\n singleTypes,\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 React.useEffect(() => {\n if (!isLoadingWorkflow && !isLicenseLoading) {\n if (\n currentWorkflow.stages &&\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n stagesPerWorkflow &&\n currentWorkflow.stages.length >= parseInt(stagesPerWorkflow, 10)\n ) {\n setShowLimitModal('stage');\n }\n }\n }, [isLicenseLoading, isLoadingWorkflow, limits, currentWorkflow.stages, stagesPerWorkflow]);\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 return (\n <>\n <Layout.DragLayerRendered />\n <FormikProvider value={formik}>\n <Form onSubmit={formik.handleSubmit}>\n <Layout.Header\n navigationAction={<BackButton />}\n primaryAction={\n <Button\n startIcon={<Check />}\n type=\"submit\"\n size=\"M\"\n disabled={!currentWorkflowIsDirty}\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n }\n title={formatMessage({\n id: 'Settings.review-workflows.create.page.title',\n defaultMessage: 'Create Review Workflow',\n })}\n subtitle={formatMessage(\n {\n id: 'Settings.review-workflows.page.subtitle',\n defaultMessage: '{count, plural, one {# stage} other {# stages}}',\n },\n { count: currentWorkflow?.stages?.length ?? 0 }\n )}\n />\n <Layout.Root>\n <Flex alignItems=\"stretch\" direction=\"column\" gap={7}>\n {isLoading ? (\n <Loader>\n {formatMessage({\n id: 'Settings.review-workflows.page.isLoading',\n defaultMessage: 'Workflow is loading',\n })}\n </Loader>\n ) : (\n <Flex alignItems=\"stretch\" direction=\"column\" gap={7}>\n <WorkflowAttributes />\n <Stages stages={formik.values?.stages} />\n </Flex>\n )}\n </Flex>\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.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.create.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.create.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.create.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.create.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":["Layout.DragLayerRendered","Layout.Header","Layout.Root"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { h as useTypedSelector, P as Page } from './reducers-TOuLOGw_.mjs';
3
- import { E as EditPage } from './EditPage-eR-YN8hj.mjs';
3
+ import { E as EditPage } from './EditPage-T3344ZeF.mjs';
4
4
 
5
5
  const ProtectedCreatePage = () => {
6
6
  const permissions = useTypedSelector(
@@ -10,4 +10,4 @@ const ProtectedCreatePage = () => {
10
10
  };
11
11
 
12
12
  export { EditPage as CreatePage, ProtectedCreatePage };
13
- //# sourceMappingURL=CreatePage-qT-aQZxS.mjs.map
13
+ //# sourceMappingURL=CreatePage-ZExp8rHA.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreatePage-qT-aQZxS.mjs","sources":["../../admin/src/pages/Settings/pages/Webhooks/CreatePage.tsx"],"sourcesContent":["import { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\n\nimport { EditPage } from './EditPage';\n\nconst ProtectedCreatePage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.webhooks.create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedCreatePage, EditPage as CreatePage };\n"],"names":[],"mappings":";;;;AAKA,MAAM,sBAAsB,MAAM;AAChC,EAAA,MAAM,WAAc,GAAA,gBAAA;AAAA,IAClB,CAAC,KAAU,KAAA,KAAA,CAAM,SAAU,CAAA,WAAA,CAAY,UAAU,QAAS,CAAA,MAAA;AAAA,GAC5D,CAAA;AAEA,EAAA,2BACG,IAAK,CAAA,OAAA,EAAL,EAAa,WACZ,EAAA,QAAA,kBAAA,GAAA,CAAC,YAAS,CACZ,EAAA,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"CreatePage-ZExp8rHA.mjs","sources":["../../admin/src/pages/Settings/pages/Webhooks/CreatePage.tsx"],"sourcesContent":["import { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\n\nimport { EditPage } from './EditPage';\n\nconst ProtectedCreatePage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.webhooks.create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedCreatePage, EditPage as CreatePage };\n"],"names":[],"mappings":";;;;AAKA,MAAM,sBAAsB,MAAM;AAChC,EAAA,MAAM,WAAc,GAAA,gBAAA;AAAA,IAClB,CAAC,KAAU,KAAA,KAAA,CAAM,SAAU,CAAA,WAAA,CAAY,UAAU,QAAS,CAAA,MAAA;AAAA,GAC5D,CAAA;AAEA,EAAA,2BACG,IAAK,CAAA,OAAA,EAAL,EAAa,WACZ,EAAA,QAAA,kBAAA,GAAA,CAAC,YAAS,CACZ,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -13,7 +13,7 @@ const reactRouterDom = require('react-router-dom');
13
13
  const styled = require('styled-components');
14
14
  const yup = require('yup');
15
15
  const layout = require('./reducers-uDxSALD_.js');
16
- const index = require('./index-Xcv2DEB8.js');
16
+ const index = require('./index-_fZT3TVe.js');
17
17
  const Permissions = require('./Permissions-VR9Rnqkr.js');
18
18
 
19
19
  const _interopDefault = e => e && e.__esModule ? e : { default: e };
@@ -271,4 +271,4 @@ const ProtectedCreatePage = () => {
271
271
 
272
272
  exports.CreatePage = CreatePage;
273
273
  exports.ProtectedCreatePage = ProtectedCreatePage;
274
- //# sourceMappingURL=CreatePage-rPWvvWs7.js.map
274
+ //# sourceMappingURL=CreatePage-btStJe_p.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreatePage-rPWvvWs7.js","sources":["../../admin/src/pages/Settings/pages/Roles/CreatePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n Main,\n Textarea,\n TextInput,\n Typography,\n} from '@strapi/design-system';\nimport { format } from 'date-fns';\nimport { Formik, Form, FormikHelpers } from 'formik';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useNavigate, useMatch } from 'react-router-dom';\nimport styled from 'styled-components';\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 { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport {\n useCreateRoleMutation,\n useGetRolePermissionLayoutQuery,\n useGetRolePermissionsQuery,\n useUpdateRolePermissionsMutation,\n} from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\n\nimport { Permissions, PermissionsAPI } from './components/Permissions';\n\n/* -------------------------------------------------------------------------------------------------\n * CreatePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst CREATE_SCHEMA = yup.object().shape({\n name: yup.string().required(translatedErrors.required.id),\n description: yup.string().required(translatedErrors.required.id),\n});\n\n/**\n * TODO: be nice if we could just infer this from the schema\n */\ninterface CreateRoleFormValues {\n name: string;\n description: string;\n}\n\n/**\n * TODO: this whole section of the app needs refactoring. Using a ref to\n * manage the state of the child is nonsensical.\n */\nconst CreatePage = () => {\n const match = useMatch('/settings/roles/duplicate/:id');\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const permissionsRef = React.useRef<PermissionsAPI>(null);\n const { trackUsage } = useTracking();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const id = match?.params.id ?? null;\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 /**\n * We need this so if we're cloning a role, we can fetch\n * the current permissions that role has.\n */\n const { data: rolePermissions, isLoading: isLoadingRole } = useGetRolePermissionsQuery(\n {\n id: id!,\n },\n {\n skip: !id,\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [createRole] = useCreateRoleMutation();\n const [updateRolePermissions] = useUpdateRolePermissionsMutation();\n\n const handleCreateRoleSubmit = async (\n data: CreateRoleFormValues,\n formik: FormikHelpers<CreateRoleFormValues>\n ) => {\n try {\n if (id) {\n trackUsage('willDuplicateRole');\n } else {\n trackUsage('willCreateNewRole');\n }\n\n const res = await createRole(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 const { permissionsToSend } = permissionsRef.current?.getPermissions() ?? {};\n\n if (res.data.id && Array.isArray(permissionsToSend) && permissionsToSend.length > 0) {\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\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'Settings.roles.created', defaultMessage: 'created' }),\n });\n\n navigate(res.data.id.toString(), { replace: true });\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if ((isLoadingPermissionsLayout && isLoadingRole) || !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 initialValues={\n {\n name: '',\n description: `${formatMessage({\n id: 'Settings.roles.form.created',\n defaultMessage: 'Created',\n })} ${format(new Date(), 'PPP')}`,\n } satisfies CreateRoleFormValues\n }\n onSubmit={handleCreateRoleSubmit}\n validationSchema={CREATE_SCHEMA}\n validateOnChange={false}\n >\n {({ values, errors, handleReset, handleChange, isSubmitting }) => (\n <Form>\n <>\n <HeaderLayout\n primaryAction={\n <Flex gap={2}>\n <Button\n variant=\"secondary\"\n onClick={() => {\n handleReset();\n permissionsRef.current?.resetForm();\n }}\n size=\"L\"\n >\n {formatMessage({\n id: 'app.components.Button.reset',\n defaultMessage: 'Reset',\n })}\n </Button>\n <Button type=\"submit\" loading={isSubmitting} size=\"L\">\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n }\n title={formatMessage({\n id: 'Settings.roles.create.title',\n defaultMessage: 'Create 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 <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 {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n </Box>\n <Box>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.roles.form.description',\n defaultMessage: 'Name and description of the role',\n })}\n </Typography>\n </Box>\n </Box>\n <UsersRoleNumber>\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: 0 }\n )}\n </UsersRoleNumber>\n </Flex>\n <Grid gap={4}>\n <GridItem col={6}>\n <TextInput\n name=\"name\"\n error={errors.name && formatMessage({ id: errors.name })}\n label={formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n onChange={handleChange}\n required\n value={values.name}\n />\n </GridItem>\n <GridItem col={6}>\n <Textarea\n label={formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n id=\"description\"\n error={errors.description && formatMessage({ id: errors.description })}\n onChange={handleChange}\n >\n {values.description}\n </Textarea>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n <Box shadow=\"filterShadow\" hasRadius>\n <Permissions\n isFormDisabled={false}\n ref={permissionsRef}\n permissions={rolePermissions}\n layout={permissionsLayout}\n />\n </Box>\n </Flex>\n </ContentLayout>\n </>\n </Form>\n )}\n </Formik>\n </Main>\n );\n};\n\nconst UsersRoleNumber = styled.div`\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n padding: ${({ theme }) => `${theme.spaces[2]} ${theme.spaces[4]}`};\n color: ${({ theme }) => theme.colors.primary600};\n border-radius: ${({ theme }) => theme.borderRadius};\n font-size: ${12 / 16}rem;\n font-weight: bold;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedCreatePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedCreatePage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.roles.create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <CreatePage />\n </Page.Protect>\n );\n};\n\nexport { CreatePage, ProtectedCreatePage };\n"],"names":["yup","translatedErrors","useMatch","useNotification","useIntl","useNavigate","React","useTracking","useAPIErrorHandler","useGetRolePermissionLayoutQuery","useGetRolePermissionsQuery","useCreateRoleMutation","useUpdateRolePermissionsMutation","isBaseQueryError","jsx","Page","Main","Helmet","Formik","format","Form","jsxs","Fragment","HeaderLayout","Flex","Button","BackButton","ContentLayout","Box","Typography","Grid","GridItem","TextInput","Textarea","Permissions","styled","useTypedSelector"],"mappings":"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"}
1
+ {"version":3,"file":"CreatePage-btStJe_p.js","sources":["../../admin/src/pages/Settings/pages/Roles/CreatePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n Main,\n Textarea,\n TextInput,\n Typography,\n} from '@strapi/design-system';\nimport { format } from 'date-fns';\nimport { Formik, Form, FormikHelpers } from 'formik';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useNavigate, useMatch } from 'react-router-dom';\nimport styled from 'styled-components';\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 { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport {\n useCreateRoleMutation,\n useGetRolePermissionLayoutQuery,\n useGetRolePermissionsQuery,\n useUpdateRolePermissionsMutation,\n} from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\n\nimport { Permissions, PermissionsAPI } from './components/Permissions';\n\n/* -------------------------------------------------------------------------------------------------\n * CreatePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst CREATE_SCHEMA = yup.object().shape({\n name: yup.string().required(translatedErrors.required.id),\n description: yup.string().required(translatedErrors.required.id),\n});\n\n/**\n * TODO: be nice if we could just infer this from the schema\n */\ninterface CreateRoleFormValues {\n name: string;\n description: string;\n}\n\n/**\n * TODO: this whole section of the app needs refactoring. Using a ref to\n * manage the state of the child is nonsensical.\n */\nconst CreatePage = () => {\n const match = useMatch('/settings/roles/duplicate/:id');\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const permissionsRef = React.useRef<PermissionsAPI>(null);\n const { trackUsage } = useTracking();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const id = match?.params.id ?? null;\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 /**\n * We need this so if we're cloning a role, we can fetch\n * the current permissions that role has.\n */\n const { data: rolePermissions, isLoading: isLoadingRole } = useGetRolePermissionsQuery(\n {\n id: id!,\n },\n {\n skip: !id,\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [createRole] = useCreateRoleMutation();\n const [updateRolePermissions] = useUpdateRolePermissionsMutation();\n\n const handleCreateRoleSubmit = async (\n data: CreateRoleFormValues,\n formik: FormikHelpers<CreateRoleFormValues>\n ) => {\n try {\n if (id) {\n trackUsage('willDuplicateRole');\n } else {\n trackUsage('willCreateNewRole');\n }\n\n const res = await createRole(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 const { permissionsToSend } = permissionsRef.current?.getPermissions() ?? {};\n\n if (res.data.id && Array.isArray(permissionsToSend) && permissionsToSend.length > 0) {\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\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'Settings.roles.created', defaultMessage: 'created' }),\n });\n\n navigate(res.data.id.toString(), { replace: true });\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if ((isLoadingPermissionsLayout && isLoadingRole) || !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 initialValues={\n {\n name: '',\n description: `${formatMessage({\n id: 'Settings.roles.form.created',\n defaultMessage: 'Created',\n })} ${format(new Date(), 'PPP')}`,\n } satisfies CreateRoleFormValues\n }\n onSubmit={handleCreateRoleSubmit}\n validationSchema={CREATE_SCHEMA}\n validateOnChange={false}\n >\n {({ values, errors, handleReset, handleChange, isSubmitting }) => (\n <Form>\n <>\n <HeaderLayout\n primaryAction={\n <Flex gap={2}>\n <Button\n variant=\"secondary\"\n onClick={() => {\n handleReset();\n permissionsRef.current?.resetForm();\n }}\n size=\"L\"\n >\n {formatMessage({\n id: 'app.components.Button.reset',\n defaultMessage: 'Reset',\n })}\n </Button>\n <Button type=\"submit\" loading={isSubmitting} size=\"L\">\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n }\n title={formatMessage({\n id: 'Settings.roles.create.title',\n defaultMessage: 'Create 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 <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 {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n </Box>\n <Box>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.roles.form.description',\n defaultMessage: 'Name and description of the role',\n })}\n </Typography>\n </Box>\n </Box>\n <UsersRoleNumber>\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: 0 }\n )}\n </UsersRoleNumber>\n </Flex>\n <Grid gap={4}>\n <GridItem col={6}>\n <TextInput\n name=\"name\"\n error={errors.name && formatMessage({ id: errors.name })}\n label={formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n onChange={handleChange}\n required\n value={values.name}\n />\n </GridItem>\n <GridItem col={6}>\n <Textarea\n label={formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n id=\"description\"\n error={errors.description && formatMessage({ id: errors.description })}\n onChange={handleChange}\n >\n {values.description}\n </Textarea>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n <Box shadow=\"filterShadow\" hasRadius>\n <Permissions\n isFormDisabled={false}\n ref={permissionsRef}\n permissions={rolePermissions}\n layout={permissionsLayout}\n />\n </Box>\n </Flex>\n </ContentLayout>\n </>\n </Form>\n )}\n </Formik>\n </Main>\n );\n};\n\nconst UsersRoleNumber = styled.div`\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n padding: ${({ theme }) => `${theme.spaces[2]} ${theme.spaces[4]}`};\n color: ${({ theme }) => theme.colors.primary600};\n border-radius: ${({ theme }) => theme.borderRadius};\n font-size: ${12 / 16}rem;\n font-weight: bold;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedCreatePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedCreatePage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.roles.create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <CreatePage />\n </Page.Protect>\n );\n};\n\nexport { CreatePage, ProtectedCreatePage };\n"],"names":["yup","translatedErrors","useMatch","useNotification","useIntl","useNavigate","React","useTracking","useAPIErrorHandler","useGetRolePermissionLayoutQuery","useGetRolePermissionsQuery","useCreateRoleMutation","useUpdateRolePermissionsMutation","isBaseQueryError","jsx","Page","Main","Helmet","Formik","format","Form","jsxs","Fragment","HeaderLayout","Flex","Button","BackButton","ContentLayout","Box","Typography","Grid","GridItem","TextInput","Textarea","Permissions","styled","useTypedSelector"],"mappings":"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"}
@@ -10,13 +10,13 @@ const formik = require('formik');
10
10
  const reactIntl = require('react-intl');
11
11
  const reactRedux = require('react-redux');
12
12
  const reactRouterDom = require('react-router-dom');
13
- const index = require('./index-Xcv2DEB8.js');
13
+ const index = require('./index-_fZT3TVe.js');
14
14
  const layout = require('./reducers-uDxSALD_.js');
15
- const useAdminRoles = require('./useAdminRoles-2R5oKMoO.js');
15
+ const useAdminRoles = require('./useAdminRoles-pS_ZatAB.js');
16
16
  const useContentTypes = require('./useContentTypes-RJRHsheR.js');
17
- const validateWorkflow = require('./validateWorkflow-28G5p4rG.js');
18
- const Layout = require('./Layout-LPeuunW1.js');
19
- const useReviewWorkflows = require('./useReviewWorkflows-b64v93dC.js');
17
+ const validateWorkflow = require('./validateWorkflow-dAaScNrW.js');
18
+ const Layout = require('./Layout-G57F6Yr1.js');
19
+ const useReviewWorkflows = require('./useReviewWorkflows-2ubos26m.js');
20
20
 
21
21
  function _interopNamespace(e) {
22
22
  if (e && e.__esModule) return e;
@@ -269,4 +269,4 @@ const ReviewWorkflowsCreatePage = () => {
269
269
  };
270
270
 
271
271
  exports.ReviewWorkflowsCreatePage = ReviewWorkflowsCreatePage;
272
- //# sourceMappingURL=CreatePage-WpCjH5Y_.js.map
272
+ //# sourceMappingURL=CreatePage-dQ2vPAka.js.map