@strapi/admin 5.10.2 → 5.10.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 (221) hide show
  1. package/dist/admin/chunks/{AdminSeatInfo-Cw1ujAsZ.mjs → AdminSeatInfo-CQ4w8a3g.mjs} +3 -3
  2. package/dist/admin/chunks/{AdminSeatInfo-Cw1ujAsZ.mjs.map → AdminSeatInfo-CQ4w8a3g.mjs.map} +1 -1
  3. package/dist/admin/chunks/{AdminSeatInfo-BfPqdNN0.js → AdminSeatInfo-DZ4hBesy.js} +3 -3
  4. package/dist/admin/chunks/{AdminSeatInfo-BfPqdNN0.js.map → AdminSeatInfo-DZ4hBesy.js.map} +1 -1
  5. package/dist/admin/chunks/{ApplicationInfoPage-DIiAE-tT.js → ApplicationInfoPage-CsBvES_c.js} +5 -5
  6. package/dist/admin/chunks/{ApplicationInfoPage-DIiAE-tT.js.map → ApplicationInfoPage-CsBvES_c.js.map} +1 -1
  7. package/dist/admin/chunks/{ApplicationInfoPage-Ch6hKH4Y.mjs → ApplicationInfoPage-DiEcqVEU.mjs} +5 -5
  8. package/dist/admin/chunks/{ApplicationInfoPage-Ch6hKH4Y.mjs.map → ApplicationInfoPage-DiEcqVEU.mjs.map} +1 -1
  9. package/dist/admin/chunks/{AuthResponse-DI-Q1kQL.js → AuthResponse-Ch0hurir.js} +2 -2
  10. package/dist/admin/chunks/{AuthResponse-DI-Q1kQL.js.map → AuthResponse-Ch0hurir.js.map} +1 -1
  11. package/dist/admin/chunks/{AuthResponse-DFS6gVO4.mjs → AuthResponse-Cu7HgPEK.mjs} +2 -2
  12. package/dist/admin/chunks/{AuthResponse-DFS6gVO4.mjs.map → AuthResponse-Cu7HgPEK.mjs.map} +1 -1
  13. package/dist/admin/chunks/{AuthenticatedLayout-BNWCtSH2.mjs → AuthenticatedLayout-C9eZ12Ue.mjs} +10 -291
  14. package/dist/admin/chunks/AuthenticatedLayout-C9eZ12Ue.mjs.map +1 -0
  15. package/dist/admin/chunks/{AuthenticatedLayout-D067wUoO.js → AuthenticatedLayout-D_VSoB1l.js} +5 -286
  16. package/dist/admin/chunks/AuthenticatedLayout-D_VSoB1l.js.map +1 -0
  17. package/dist/admin/chunks/{CreatePage-DojcQqvH.mjs → CreatePage-Cb-ETkOn.mjs} +5 -5
  18. package/dist/admin/chunks/{CreatePage-DojcQqvH.mjs.map → CreatePage-Cb-ETkOn.mjs.map} +1 -1
  19. package/dist/admin/chunks/{CreatePage-0PdN9Fyc.mjs → CreatePage-DQDa78K3.mjs} +4 -4
  20. package/dist/admin/chunks/{CreatePage-0PdN9Fyc.mjs.map → CreatePage-DQDa78K3.mjs.map} +1 -1
  21. package/dist/admin/chunks/{CreatePage-BK_ivKDk.js → CreatePage-DbmpFjHt.js} +4 -4
  22. package/dist/admin/chunks/{CreatePage-BK_ivKDk.js.map → CreatePage-DbmpFjHt.js.map} +1 -1
  23. package/dist/admin/chunks/{CreatePage-C8PMNi_P.js → CreatePage-DkzHz0zk.js} +5 -5
  24. package/dist/admin/chunks/{CreatePage-C8PMNi_P.js.map → CreatePage-DkzHz0zk.js.map} +1 -1
  25. package/dist/admin/chunks/{CreateView-DtccbWiR.js → CreateView-CE4-drK6.js} +5 -5
  26. package/dist/admin/chunks/{CreateView-DtccbWiR.js.map → CreateView-CE4-drK6.js.map} +1 -1
  27. package/dist/admin/chunks/{CreateView-BuN2a7bo.mjs → CreateView-CmubtWzn.mjs} +5 -5
  28. package/dist/admin/chunks/{CreateView-BuN2a7bo.mjs.map → CreateView-CmubtWzn.mjs.map} +1 -1
  29. package/dist/admin/chunks/{CreateView-DB0xD4f5.mjs → CreateView-DZaIevIB.mjs} +5 -5
  30. package/dist/admin/chunks/{CreateView-DB0xD4f5.mjs.map → CreateView-DZaIevIB.mjs.map} +1 -1
  31. package/dist/admin/chunks/{CreateView-ITRNGoQ6.js → CreateView-yjsS9KUJ.js} +5 -5
  32. package/dist/admin/chunks/{CreateView-ITRNGoQ6.js.map → CreateView-yjsS9KUJ.js.map} +1 -1
  33. package/dist/admin/chunks/{EditPage-BazkPM17.mjs → EditPage-Bjr4f1Bs.mjs} +5 -5
  34. package/dist/admin/chunks/{EditPage-BazkPM17.mjs.map → EditPage-Bjr4f1Bs.mjs.map} +1 -1
  35. package/dist/admin/chunks/{EditPage-ibh8EtSv.js → EditPage-BrMhV8aB.js} +8 -8
  36. package/dist/admin/chunks/{EditPage-ibh8EtSv.js.map → EditPage-BrMhV8aB.js.map} +1 -1
  37. package/dist/admin/chunks/{EditPage-BNZ90ISm.mjs → EditPage-C44OaxjN.mjs} +5 -5
  38. package/dist/admin/chunks/{EditPage-BNZ90ISm.mjs.map → EditPage-C44OaxjN.mjs.map} +1 -1
  39. package/dist/admin/chunks/{EditPage-r043NYgB.js → EditPage-CNaAuT5C.js} +5 -5
  40. package/dist/admin/chunks/{EditPage-r043NYgB.js.map → EditPage-CNaAuT5C.js.map} +1 -1
  41. package/dist/admin/chunks/{EditPage-DiDSR0tz.js → EditPage-CycQlsFL.js} +5 -5
  42. package/dist/admin/chunks/{EditPage-DiDSR0tz.js.map → EditPage-CycQlsFL.js.map} +1 -1
  43. package/dist/admin/chunks/{EditPage-LRn1-C88.mjs → EditPage-MmQQ4hWc.mjs} +8 -8
  44. package/dist/admin/chunks/{EditPage-LRn1-C88.mjs.map → EditPage-MmQQ4hWc.mjs.map} +1 -1
  45. package/dist/admin/chunks/{EditView-DxmJI6e0.js → EditView-C9cKaoY1.js} +4 -4
  46. package/dist/admin/chunks/{EditView-DxmJI6e0.js.map → EditView-C9cKaoY1.js.map} +1 -1
  47. package/dist/admin/chunks/{EditView-CgMgqsza.mjs → EditView-CFIkvFrt.mjs} +4 -4
  48. package/dist/admin/chunks/{EditView-CgMgqsza.mjs.map → EditView-CFIkvFrt.mjs.map} +1 -1
  49. package/dist/admin/chunks/{EditViewPage-BE_u8pQP.mjs → EditViewPage-CwdhHAuX.mjs} +4 -4
  50. package/dist/admin/chunks/{EditViewPage-BE_u8pQP.mjs.map → EditViewPage-CwdhHAuX.mjs.map} +1 -1
  51. package/dist/admin/chunks/{EditViewPage-Bz4GEIsc.js → EditViewPage-DBga-70A.js} +4 -4
  52. package/dist/admin/chunks/{EditViewPage-Bz4GEIsc.js.map → EditViewPage-DBga-70A.js.map} +1 -1
  53. package/dist/admin/chunks/{EventsTable-CsFf4rOj.mjs → EventsTable-CeqMb1jP.mjs} +5 -5
  54. package/dist/admin/chunks/{EventsTable-CsFf4rOj.mjs.map → EventsTable-CeqMb1jP.mjs.map} +1 -1
  55. package/dist/admin/chunks/{EventsTable-CZY0aI5G.js → EventsTable-fkWvAMuL.js} +5 -5
  56. package/dist/admin/chunks/{EventsTable-CZY0aI5G.js.map → EventsTable-fkWvAMuL.js.map} +1 -1
  57. package/dist/admin/chunks/{HomePage-ebJLhO6a.js → HomePage-B2skN1xt.js} +5 -5
  58. package/dist/admin/chunks/{HomePage-ebJLhO6a.js.map → HomePage-B2skN1xt.js.map} +1 -1
  59. package/dist/admin/chunks/{HomePage-Df0YSqNE.js → HomePage-CVc0RfvD.js} +4 -4
  60. package/dist/admin/chunks/{HomePage-Df0YSqNE.js.map → HomePage-CVc0RfvD.js.map} +1 -1
  61. package/dist/admin/chunks/{HomePage-CFTx_SgI.mjs → HomePage-DGTeFboL.mjs} +4 -4
  62. package/dist/admin/chunks/{HomePage-CFTx_SgI.mjs.map → HomePage-DGTeFboL.mjs.map} +1 -1
  63. package/dist/admin/chunks/{HomePage-C2Sue0eX.mjs → HomePage-MfOqcIag.mjs} +5 -5
  64. package/dist/admin/chunks/{HomePage-C2Sue0eX.mjs.map → HomePage-MfOqcIag.mjs.map} +1 -1
  65. package/dist/admin/chunks/{InstalledPlugins-B4gyKUHh.mjs → InstalledPlugins-5j7xjDqh.mjs} +3 -3
  66. package/dist/admin/chunks/{InstalledPlugins-B4gyKUHh.mjs.map → InstalledPlugins-5j7xjDqh.mjs.map} +1 -1
  67. package/dist/admin/chunks/{InstalledPlugins-BtwwVsQ_.js → InstalledPlugins-BXM3i3xr.js} +3 -3
  68. package/dist/admin/chunks/{InstalledPlugins-BtwwVsQ_.js.map → InstalledPlugins-BXM3i3xr.js.map} +1 -1
  69. package/dist/admin/chunks/{Layout-BZTqa7oj.js → Layout-DST1PxaO.js} +5 -5
  70. package/dist/admin/chunks/{Layout-BZTqa7oj.js.map → Layout-DST1PxaO.js.map} +1 -1
  71. package/dist/admin/chunks/{Layout-B_xkPr1q.mjs → Layout-DYjtK6iP.mjs} +5 -5
  72. package/dist/admin/chunks/{Layout-B_xkPr1q.mjs.map → Layout-DYjtK6iP.mjs.map} +1 -1
  73. package/dist/admin/chunks/{ListPage-BtMdu1eQ.mjs → ListPage-B5Hb8BA-.mjs} +7 -7
  74. package/dist/admin/chunks/{ListPage-BtMdu1eQ.mjs.map → ListPage-B5Hb8BA-.mjs.map} +1 -1
  75. package/dist/admin/chunks/{ListPage-Beh8uBDE.mjs → ListPage-BVI0O8bq.mjs} +3 -3
  76. package/dist/admin/chunks/{ListPage-Beh8uBDE.mjs.map → ListPage-BVI0O8bq.mjs.map} +1 -1
  77. package/dist/admin/chunks/{ListPage-YW-UVjk3.js → ListPage-BgyypnOM.js} +7 -7
  78. package/dist/admin/chunks/{ListPage-YW-UVjk3.js.map → ListPage-BgyypnOM.js.map} +1 -1
  79. package/dist/admin/chunks/{ListPage-CENQarKY.mjs → ListPage-BhGt3EBQ.mjs} +3 -3
  80. package/dist/admin/chunks/{ListPage-CENQarKY.mjs.map → ListPage-BhGt3EBQ.mjs.map} +1 -1
  81. package/dist/admin/chunks/{ListPage-gKsEm3Px.js → ListPage-CLXy5r60.js} +5 -5
  82. package/dist/admin/chunks/{ListPage-gKsEm3Px.js.map → ListPage-CLXy5r60.js.map} +1 -1
  83. package/dist/admin/chunks/{ListPage-Du6Jt5wY.js → ListPage-CWINpwfS.js} +7 -7
  84. package/dist/admin/chunks/{ListPage-Du6Jt5wY.js.map → ListPage-CWINpwfS.js.map} +1 -1
  85. package/dist/admin/chunks/{ListPage-DgmOJv7H.js → ListPage-D21yUih2.js} +3 -3
  86. package/dist/admin/chunks/{ListPage-DgmOJv7H.js.map → ListPage-D21yUih2.js.map} +1 -1
  87. package/dist/admin/chunks/{ListPage-LqcmQd_Q.js → ListPage-DbfL2rpi.js} +3 -3
  88. package/dist/admin/chunks/{ListPage-LqcmQd_Q.js.map → ListPage-DbfL2rpi.js.map} +1 -1
  89. package/dist/admin/chunks/{ListPage-r9rW__R8.mjs → ListPage-PwzVjSsA.mjs} +7 -7
  90. package/dist/admin/chunks/{ListPage-r9rW__R8.mjs.map → ListPage-PwzVjSsA.mjs.map} +1 -1
  91. package/dist/admin/chunks/{ListPage-Czwak48Z.mjs → ListPage-srJutHdv.mjs} +5 -5
  92. package/dist/admin/chunks/{ListPage-Czwak48Z.mjs.map → ListPage-srJutHdv.mjs.map} +1 -1
  93. package/dist/admin/chunks/{ListView-Q2AO0JSX.mjs → ListView--KzJiQiO.mjs} +4 -4
  94. package/dist/admin/chunks/{ListView-Q2AO0JSX.mjs.map → ListView--KzJiQiO.mjs.map} +1 -1
  95. package/dist/admin/chunks/{ListView-CajksON_.mjs → ListView-CoGoDDiF.mjs} +4 -4
  96. package/dist/admin/chunks/{ListView-CajksON_.mjs.map → ListView-CoGoDDiF.mjs.map} +1 -1
  97. package/dist/admin/chunks/{ListView-Bys8EN-y.js → ListView-DGfxO89i.js} +4 -4
  98. package/dist/admin/chunks/{ListView-Bys8EN-y.js.map → ListView-DGfxO89i.js.map} +1 -1
  99. package/dist/admin/chunks/{ListView-BfwBUxHL.js → ListView-DzwvQ8nW.js} +4 -4
  100. package/dist/admin/chunks/{ListView-BfwBUxHL.js.map → ListView-DzwvQ8nW.js.map} +1 -1
  101. package/dist/admin/chunks/{Login-5ByBaKI3.mjs → Login-Dtkhd0GV.mjs} +3 -3
  102. package/dist/admin/chunks/{Login-5ByBaKI3.mjs.map → Login-Dtkhd0GV.mjs.map} +1 -1
  103. package/dist/admin/chunks/{Login-BpEOnVbU.js → Login-Iw84AH9L.js} +3 -3
  104. package/dist/admin/chunks/{Login-BpEOnVbU.js.map → Login-Iw84AH9L.js.map} +1 -1
  105. package/dist/admin/chunks/{MagicLinkEE-a-AbOB4s.js → MagicLinkEE-C5K8p8Rk.js} +5 -5
  106. package/dist/admin/chunks/{MagicLinkEE-a-AbOB4s.js.map → MagicLinkEE-C5K8p8Rk.js.map} +1 -1
  107. package/dist/admin/chunks/{MagicLinkEE-CiQG7NL3.mjs → MagicLinkEE-EcyHC46Y.mjs} +5 -5
  108. package/dist/admin/chunks/{MagicLinkEE-CiQG7NL3.mjs.map → MagicLinkEE-EcyHC46Y.mjs.map} +1 -1
  109. package/dist/admin/chunks/{MarketplacePage-my1nDaHy.js → MarketplacePage-BmqfuAvB.js} +3 -3
  110. package/dist/admin/chunks/{MarketplacePage-my1nDaHy.js.map → MarketplacePage-BmqfuAvB.js.map} +1 -1
  111. package/dist/admin/chunks/{MarketplacePage-BrHNQ8SG.mjs → MarketplacePage-CcAYozK2.mjs} +3 -3
  112. package/dist/admin/chunks/{MarketplacePage-BrHNQ8SG.mjs.map → MarketplacePage-CcAYozK2.mjs.map} +1 -1
  113. package/dist/admin/chunks/{Permissions-C7FA_7J9.js → Permissions-D6qH78lN.js} +2 -2
  114. package/dist/admin/chunks/{Permissions-C7FA_7J9.js.map → Permissions-D6qH78lN.js.map} +1 -1
  115. package/dist/admin/chunks/{Permissions-CuLck8vw.mjs → Permissions-rJmE3qb1.mjs} +2 -2
  116. package/dist/admin/chunks/{Permissions-CuLck8vw.mjs.map → Permissions-rJmE3qb1.mjs.map} +1 -1
  117. package/dist/admin/chunks/{PrivateRoute-BnxIlIDb.js → PrivateRoute-DvGSyomB.js} +2 -2
  118. package/dist/admin/chunks/{PrivateRoute-BnxIlIDb.js.map → PrivateRoute-DvGSyomB.js.map} +1 -1
  119. package/dist/admin/chunks/{PrivateRoute-BYKd2yE4.mjs → PrivateRoute-KL_RhoV8.mjs} +2 -2
  120. package/dist/admin/chunks/{PrivateRoute-BYKd2yE4.mjs.map → PrivateRoute-KL_RhoV8.mjs.map} +1 -1
  121. package/dist/admin/chunks/{ProfilePage-Do6nPMsx.mjs → ProfilePage-CN8SAQ9w.mjs} +4 -4
  122. package/dist/admin/chunks/{ProfilePage-Do6nPMsx.mjs.map → ProfilePage-CN8SAQ9w.mjs.map} +1 -1
  123. package/dist/admin/chunks/{ProfilePage-C8zWtYzY.js → ProfilePage-DiGV7o6c.js} +4 -4
  124. package/dist/admin/chunks/{ProfilePage-C8zWtYzY.js.map → ProfilePage-DiGV7o6c.js.map} +1 -1
  125. package/dist/admin/chunks/{PurchaseAuditLogs-McvZESGI.mjs → PurchaseAuditLogs-BI41XTBD.mjs} +3 -3
  126. package/dist/admin/chunks/{PurchaseAuditLogs-McvZESGI.mjs.map → PurchaseAuditLogs-BI41XTBD.mjs.map} +1 -1
  127. package/dist/admin/chunks/{PurchaseAuditLogs-BTAi887h.js → PurchaseAuditLogs-DnWVbru3.js} +3 -3
  128. package/dist/admin/chunks/{PurchaseAuditLogs-BTAi887h.js.map → PurchaseAuditLogs-DnWVbru3.js.map} +1 -1
  129. package/dist/admin/chunks/{PurchaseContentHistory-pb7RDvhZ.mjs → PurchaseContentHistory-BzC2C4Pv.mjs} +3 -3
  130. package/dist/admin/chunks/{PurchaseContentHistory-pb7RDvhZ.mjs.map → PurchaseContentHistory-BzC2C4Pv.mjs.map} +1 -1
  131. package/dist/admin/chunks/{PurchaseContentHistory-dfepsahq.js → PurchaseContentHistory-DUk7otrp.js} +3 -3
  132. package/dist/admin/chunks/{PurchaseContentHistory-dfepsahq.js.map → PurchaseContentHistory-DUk7otrp.js.map} +1 -1
  133. package/dist/admin/chunks/{PurchaseSingleSignOn-Dgal5RnY.js → PurchaseSingleSignOn-Bq0YHAHt.js} +3 -3
  134. package/dist/admin/chunks/{PurchaseSingleSignOn-Dgal5RnY.js.map → PurchaseSingleSignOn-Bq0YHAHt.js.map} +1 -1
  135. package/dist/admin/chunks/{PurchaseSingleSignOn-BUB9Irlt.mjs → PurchaseSingleSignOn-G1TKPP15.mjs} +3 -3
  136. package/dist/admin/chunks/{PurchaseSingleSignOn-BUB9Irlt.mjs.map → PurchaseSingleSignOn-G1TKPP15.mjs.map} +1 -1
  137. package/dist/admin/chunks/{SelectRoles-Clx1_4zB.js → SelectRoles-CKInlnSd.js} +4 -4
  138. package/dist/admin/chunks/{SelectRoles-Clx1_4zB.js.map → SelectRoles-CKInlnSd.js.map} +1 -1
  139. package/dist/admin/chunks/{SelectRoles-CG3Czm0u.mjs → SelectRoles-DR4KBZkw.mjs} +4 -4
  140. package/dist/admin/chunks/{SelectRoles-CG3Czm0u.mjs.map → SelectRoles-DR4KBZkw.mjs.map} +1 -1
  141. package/dist/admin/chunks/{SingleSignOnPage-Bqn13t3u.mjs → SingleSignOnPage-CRzrEUGp.mjs} +4 -4
  142. package/dist/admin/chunks/{SingleSignOnPage-Bqn13t3u.mjs.map → SingleSignOnPage-CRzrEUGp.mjs.map} +1 -1
  143. package/dist/admin/chunks/{SingleSignOnPage-DqHWnXWQ.js → SingleSignOnPage-DtRVlrGP.js} +4 -4
  144. package/dist/admin/chunks/{SingleSignOnPage-DqHWnXWQ.js.map → SingleSignOnPage-DtRVlrGP.js.map} +1 -1
  145. package/dist/admin/chunks/{Table-Ra6bYcx7.mjs → Table-BohVeu0r.mjs} +3 -3
  146. package/dist/admin/chunks/{Table-Ra6bYcx7.mjs.map → Table-BohVeu0r.mjs.map} +1 -1
  147. package/dist/admin/chunks/{Table-BHi0q5It.js → Table-CBZnqMuN.js} +3 -3
  148. package/dist/admin/chunks/{Table-BHi0q5It.js.map → Table-CBZnqMuN.js.map} +1 -1
  149. package/dist/admin/chunks/{Theme-CDaBfQ-7.mjs → Theme-C3oHrQcy.mjs} +6 -4
  150. package/dist/admin/chunks/Theme-C3oHrQcy.mjs.map +1 -0
  151. package/dist/admin/chunks/{Theme-CFGbtvHi.js → Theme-DDlJz91O.js} +6 -3
  152. package/dist/admin/chunks/Theme-DDlJz91O.js.map +1 -0
  153. package/dist/admin/chunks/{TokenTypeSelect-EY1WftKo.js → TokenTypeSelect-BV_ZNiY_.js} +3 -3
  154. package/dist/admin/chunks/{TokenTypeSelect-EY1WftKo.js.map → TokenTypeSelect-BV_ZNiY_.js.map} +1 -1
  155. package/dist/admin/chunks/{TokenTypeSelect-BIRgChNx.mjs → TokenTypeSelect-CpEAVZ_b.mjs} +3 -3
  156. package/dist/admin/chunks/{TokenTypeSelect-BIRgChNx.mjs.map → TokenTypeSelect-CpEAVZ_b.mjs.map} +1 -1
  157. package/dist/admin/chunks/{UseCasePage-Y_h0Fbiv.mjs → UseCasePage-Bro5fyP3.mjs} +4 -4
  158. package/dist/admin/chunks/{UseCasePage-Y_h0Fbiv.mjs.map → UseCasePage-Bro5fyP3.mjs.map} +1 -1
  159. package/dist/admin/chunks/{UseCasePage-Dl-WfgYc.js → UseCasePage-CipG2GC4.js} +4 -4
  160. package/dist/admin/chunks/{UseCasePage-Dl-WfgYc.js.map → UseCasePage-CipG2GC4.js.map} +1 -1
  161. package/dist/admin/chunks/{constants-DoArvzRr.mjs → constants-BddeukI7.mjs} +3 -3
  162. package/dist/admin/chunks/{constants-DoArvzRr.mjs.map → constants-BddeukI7.mjs.map} +1 -1
  163. package/dist/admin/chunks/{constants-DClZ3JYF.js → constants-CaerHoe3.js} +3 -3
  164. package/dist/admin/chunks/{constants-DClZ3JYF.js.map → constants-CaerHoe3.js.map} +1 -1
  165. package/dist/admin/chunks/en-GB-3SrHvAFz.mjs +6 -0
  166. package/dist/admin/chunks/en-GB-3SrHvAFz.mjs.map +1 -0
  167. package/dist/admin/chunks/en-GB-Cc-PTeUP.js +8 -0
  168. package/dist/admin/chunks/en-GB-Cc-PTeUP.js.map +1 -0
  169. package/dist/admin/chunks/{en-CRu3-kTC.mjs → en-n340Bke8.mjs} +2 -1
  170. package/dist/admin/chunks/{en-CRu3-kTC.mjs.map → en-n340Bke8.mjs.map} +1 -1
  171. package/dist/admin/chunks/{en-CJjqxA2Q.js → en-rWmm12oE.js} +2 -1
  172. package/dist/admin/chunks/{en-CJjqxA2Q.js.map → en-rWmm12oE.js.map} +1 -1
  173. package/dist/admin/chunks/{index-BUGouNML.mjs → index-BM8-DG5K.mjs} +56 -36
  174. package/dist/admin/chunks/index-BM8-DG5K.mjs.map +1 -0
  175. package/dist/admin/chunks/{index-D7OmC33R.js → index-HGaughzt.js} +56 -36
  176. package/dist/admin/chunks/index-HGaughzt.js.map +1 -0
  177. package/dist/admin/chunks/{selectors-2ohXQx5g.js → selectors-Bf-6Fmez.js} +2 -2
  178. package/dist/admin/chunks/{selectors-2ohXQx5g.js.map → selectors-Bf-6Fmez.js.map} +1 -1
  179. package/dist/admin/chunks/{selectors-PQdhPmzv.mjs → selectors-Dej_6h4x.mjs} +2 -2
  180. package/dist/admin/chunks/{selectors-PQdhPmzv.mjs.map → selectors-Dej_6h4x.mjs.map} +1 -1
  181. package/dist/admin/chunks/{useAdminRoles-BEmkB0uj.mjs → useAdminRoles-C6Es4UUq.mjs} +2 -2
  182. package/dist/admin/chunks/{useAdminRoles-BEmkB0uj.mjs.map → useAdminRoles-C6Es4UUq.mjs.map} +1 -1
  183. package/dist/admin/chunks/{useAdminRoles-DwDqOIvp.js → useAdminRoles-_4HKisJz.js} +2 -2
  184. package/dist/admin/chunks/{useAdminRoles-DwDqOIvp.js.map → useAdminRoles-_4HKisJz.js.map} +1 -1
  185. package/dist/admin/chunks/{useLicenseLimitNotification-CGkazzao.mjs → useLicenseLimitNotification-DbPhRccK.mjs} +2 -2
  186. package/dist/admin/chunks/{useLicenseLimitNotification-CGkazzao.mjs.map → useLicenseLimitNotification-DbPhRccK.mjs.map} +1 -1
  187. package/dist/admin/chunks/{useLicenseLimitNotification-BMCQ8obE.js → useLicenseLimitNotification-iuozPic9.js} +2 -2
  188. package/dist/admin/chunks/{useLicenseLimitNotification-BMCQ8obE.js.map → useLicenseLimitNotification-iuozPic9.js.map} +1 -1
  189. package/dist/admin/chunks/{validation-DOQs6_Ay.mjs → validation-Dmvl0gZQ.mjs} +8 -2
  190. package/dist/admin/chunks/validation-Dmvl0gZQ.mjs.map +1 -0
  191. package/dist/admin/chunks/{validation-ECrFbJ6K.js → validation-dPl3P7dv.js} +8 -2
  192. package/dist/admin/chunks/validation-dPl3P7dv.js.map +1 -0
  193. package/dist/admin/index.js +2 -2
  194. package/dist/admin/index.mjs +2 -2
  195. package/dist/admin/src/features/Configuration.d.ts +1 -3
  196. package/dist/admin/src/utils/strings.d.ts +2 -1
  197. package/dist/admin/test.js +1 -2
  198. package/dist/admin/test.js.map +1 -1
  199. package/dist/admin/test.mjs +1 -2
  200. package/dist/admin/test.mjs.map +1 -1
  201. package/dist/server/index.js +23 -9
  202. package/dist/server/index.js.map +1 -1
  203. package/dist/server/index.mjs +23 -9
  204. package/dist/server/index.mjs.map +1 -1
  205. package/dist/server/src/routes/authentication.d.ts.map +1 -1
  206. package/dist/server/src/services/homepage.d.ts.map +1 -1
  207. package/dist/server/src/validation/common-validators.d.ts.map +1 -1
  208. package/package.json +9 -9
  209. package/dist/admin/chunks/AuthenticatedLayout-BNWCtSH2.mjs.map +0 -1
  210. package/dist/admin/chunks/AuthenticatedLayout-D067wUoO.js.map +0 -1
  211. package/dist/admin/chunks/Theme-CDaBfQ-7.mjs.map +0 -1
  212. package/dist/admin/chunks/Theme-CFGbtvHi.js.map +0 -1
  213. package/dist/admin/chunks/en-GB-CMP_CCZs.js +0 -8
  214. package/dist/admin/chunks/en-GB-CMP_CCZs.js.map +0 -1
  215. package/dist/admin/chunks/en-GB-DZyWkup_.mjs +0 -6
  216. package/dist/admin/chunks/en-GB-DZyWkup_.mjs.map +0 -1
  217. package/dist/admin/chunks/index-BUGouNML.mjs.map +0 -1
  218. package/dist/admin/chunks/index-D7OmC33R.js.map +0 -1
  219. package/dist/admin/chunks/validation-DOQs6_Ay.mjs.map +0 -1
  220. package/dist/admin/chunks/validation-ECrFbJ6K.js.map +0 -1
  221. package/dist/admin/src/components/Onboarding.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"EditViewPage-Bz4GEIsc.js","sources":["../../../admin/src/services/contentApi.ts","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/apiTokenPermissions.tsx","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/components/FormApiTokenContainer.tsx","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.tsx","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/components/ActionBoundRoutes.tsx","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.tsx","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/components/ContentTypesSection.tsx","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/components/Permissions.tsx","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/constants.ts","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.ts","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.ts","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.tsx"],"sourcesContent":["import { adminApi } from './api';\n\nimport type { List as ListContentApiPermissions } from '../../../shared/contracts/content-api/permissions';\nimport type { List as ListContentApiRoutes } from '../../../shared/contracts/content-api/routes';\n\nconst contentApiService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getPermissions: builder.query<ListContentApiPermissions.Response['data'], void>({\n query: () => '/admin/content-api/permissions',\n transformResponse: (response: ListContentApiPermissions.Response) => response.data,\n }),\n getRoutes: builder.query<ListContentApiRoutes.Response['data'], void>({\n query: () => '/admin/content-api/routes',\n transformResponse: (response: ListContentApiRoutes.Response) => response.data,\n }),\n }),\n overrideExisting: false,\n});\n\nconst { useGetPermissionsQuery, useGetRoutesQuery } = contentApiService;\n\nexport { useGetPermissionsQuery, useGetRoutesQuery };\n","/* eslint-disable check-file/filename-naming-convention */\n\nimport * as React from 'react';\n\nimport { createContext } from '@radix-ui/react-context';\n\nimport { List as ListContentApiPermissions } from '../../../../../../../shared/contracts/content-api/permissions';\nimport { List as ListContentApiRoutes } from '../../../../../../../shared/contracts/content-api/routes';\n\nexport interface PseudoEvent {\n target: { value: string };\n}\n\ninterface ApiTokenPermissionsContextValue {\n value: {\n selectedAction: string | null;\n routes: ListContentApiRoutes.Response['data'];\n selectedActions: string[];\n data: {\n allActionsIds: string[];\n permissions: ListContentApiPermissions.Response['data'][];\n };\n onChange: ({ target: { value } }: PseudoEvent) => void;\n onChangeSelectAll: ({\n target: { value },\n }: {\n target: { value: { action: string; actionId: string }[] };\n }) => void;\n setSelectedAction: ({ target: { value } }: PseudoEvent) => void;\n };\n}\n\ninterface ApiTokenPermissionsContextProviderProps extends ApiTokenPermissionsContextValue {\n children: React.ReactNode | React.ReactNode[];\n}\n\nconst [ApiTokenPermissionsContextProvider, useApiTokenPermissionsContext] =\n createContext<ApiTokenPermissionsContextValue>('ApiTokenPermissionsContext');\n\nconst ApiTokenPermissionsProvider = ({\n children,\n ...rest\n}: ApiTokenPermissionsContextProviderProps) => {\n return (\n <ApiTokenPermissionsContextProvider {...rest}>{children}</ApiTokenPermissionsContextProvider>\n );\n};\n\nconst useApiTokenPermissions = () => useApiTokenPermissionsContext('useApiTokenPermissions');\n\nexport { ApiTokenPermissionsProvider, useApiTokenPermissions };\nexport type { ApiTokenPermissionsContextValue, ApiTokenPermissionsContextProviderProps };\n","import * as React from 'react';\n\nimport { Box, Flex, Grid, Typography } from '@strapi/design-system';\nimport { FormikErrors } from 'formik';\nimport { useIntl } from 'react-intl';\n\nimport { LifeSpanInput } from '../../../../components/Tokens/LifeSpanInput';\nimport { TokenDescription } from '../../../../components/Tokens/TokenDescription';\nimport { TokenName } from '../../../../components/Tokens/TokenName';\nimport { TokenTypeSelect } from '../../../../components/Tokens/TokenTypeSelect';\n\nimport type { ApiToken } from '../../../../../../../../shared/contracts/api-token';\n\ninterface FormApiTokenContainerProps {\n errors?: FormikErrors<Pick<ApiToken, 'name' | 'description' | 'lifespan' | 'type'>>;\n onChange: ({ target: { name, value } }: { target: { name: string; value: string } }) => void;\n canEditInputs: boolean;\n values?: Partial<Pick<ApiToken, 'name' | 'description' | 'lifespan' | 'type'>>;\n isCreating: boolean;\n apiToken?: null | Partial<ApiToken>;\n onDispatch: React.Dispatch<any>;\n setHasChangedPermissions: (hasChanged: boolean) => void;\n}\n\nexport const FormApiTokenContainer = ({\n errors = {},\n onChange,\n canEditInputs,\n isCreating,\n values = {},\n apiToken = {},\n onDispatch,\n setHasChangedPermissions,\n}: FormApiTokenContainerProps) => {\n const { formatMessage } = useIntl();\n\n const handleChangeSelectApiTokenType = ({ target: { value } }: { target: { value: string } }) => {\n setHasChangedPermissions(false);\n\n if (value === 'full-access') {\n onDispatch({\n type: 'SELECT_ALL_ACTIONS',\n });\n }\n if (value === 'read-only') {\n onDispatch({\n type: 'ON_CHANGE_READ_ONLY',\n });\n }\n };\n\n const typeOptions = [\n {\n value: 'read-only',\n label: {\n id: 'Settings.tokens.types.read-only',\n defaultMessage: 'Read-only',\n },\n },\n {\n value: 'full-access',\n label: {\n id: 'Settings.tokens.types.full-access',\n defaultMessage: 'Full access',\n },\n },\n {\n value: 'custom',\n label: {\n id: 'Settings.tokens.types.custom',\n defaultMessage: 'Custom',\n },\n },\n ];\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid.Root gap={5}>\n <Grid.Item key=\"name\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenName\n error={errors['name']}\n value={values['name']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </Grid.Item>\n <Grid.Item key=\"description\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenDescription\n error={errors['description']}\n value={values['description']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </Grid.Item>\n <Grid.Item key=\"lifespan\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LifeSpanInput\n isCreating={isCreating}\n error={errors['lifespan']}\n value={values['lifespan']}\n onChange={onChange}\n token={apiToken}\n />\n </Grid.Item>\n\n <Grid.Item key=\"type\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenTypeSelect\n value={values['type']}\n error={errors['type']}\n label={{\n id: 'Settings.tokens.form.type',\n defaultMessage: 'Token type',\n }}\n onChange={(value) => {\n // @ts-expect-error – DS Select supports numbers & strings, will be removed in V2\n handleChangeSelectApiTokenType({ target: { value } });\n\n // @ts-expect-error – DS Select supports numbers & strings, will be removed in V2\n onChange({ target: { name: 'type', value } });\n }}\n options={typeOptions}\n canEditInputs={canEditInputs}\n />\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n","import { Box, BoxComponent, Flex, Typography } from '@strapi/design-system';\nimport map from 'lodash/map';\nimport tail from 'lodash/tail';\nimport { useIntl } from 'react-intl';\nimport { styled, DefaultTheme } from 'styled-components';\n\ntype HttpVerb = 'POST' | 'GET' | 'PUT' | 'DELETE';\n\ntype MethodColor = {\n text: keyof DefaultTheme['colors'];\n border: keyof DefaultTheme['colors'];\n background: keyof DefaultTheme['colors'];\n};\n\nconst getMethodColor = (verb: HttpVerb): MethodColor => {\n switch (verb) {\n case 'POST': {\n return {\n text: 'success600',\n border: 'success200',\n background: 'success100',\n };\n }\n case 'GET': {\n return {\n text: 'secondary600',\n border: 'secondary200',\n background: 'secondary100',\n };\n }\n case 'PUT': {\n return {\n text: 'warning600',\n border: 'warning200',\n background: 'warning100',\n };\n }\n case 'DELETE': {\n return {\n text: 'danger600',\n border: 'danger200',\n background: 'danger100',\n };\n }\n default: {\n return {\n text: 'neutral600',\n border: 'neutral200',\n background: 'neutral100',\n };\n }\n }\n};\n\nconst MethodBox = styled<BoxComponent>(Box)`\n margin: -1px;\n border-radius: ${({ theme }) => theme.spaces[1]} 0 0 ${({ theme }) => theme.spaces[1]};\n`;\n\ninterface BoundRouteProps {\n route: {\n handler: string;\n method: HttpVerb;\n path: string;\n };\n}\n\nexport const BoundRoute = ({\n route = {\n handler: 'Nocontroller.error',\n method: 'GET',\n path: '/there-is-no-path',\n },\n}: BoundRouteProps) => {\n const { formatMessage } = useIntl();\n\n const { method, handler: title, path } = route;\n const formattedRoute = path ? tail(path.split('/')) : [];\n const [controller = '', action = ''] = title ? title.split('.') : [];\n const colors = getMethodColor(route.method);\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'Settings.apiTokens.createPage.BoundRoute.title',\n defaultMessage: 'Bound route to',\n })}\n &nbsp;\n <span>{controller}</span>\n <Typography variant=\"delta\" textColor=\"primary600\">\n .{action}\n </Typography>\n </Typography>\n <Flex hasRadius background=\"neutral0\" borderColor=\"neutral200\" gap={0}>\n <MethodBox background={colors.background} borderColor={colors.border} padding={2}>\n <Typography fontWeight=\"bold\" textColor={colors.text}>\n {method}\n </Typography>\n </MethodBox>\n <Box paddingLeft={2} paddingRight={2}>\n {map(formattedRoute, (value) => (\n <Typography key={value} textColor={value.includes(':') ? 'neutral600' : 'neutral900'}>\n /{value}\n </Typography>\n ))}\n </Box>\n </Flex>\n </Flex>\n );\n};\n","import { Grid, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useApiTokenPermissions } from '../apiTokenPermissions';\n\nimport { BoundRoute } from './BoundRoute';\n\nexport const ActionBoundRoutes = () => {\n const {\n value: { selectedAction, routes },\n } = useApiTokenPermissions();\n const { formatMessage } = useIntl();\n const actionSection = selectedAction?.split('.')[0];\n\n return (\n <Grid.Item\n col={5}\n background=\"neutral150\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n style={{ minHeight: '100%' }}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n {selectedAction ? (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n {actionSection &&\n actionSection in routes &&\n routes[actionSection].map((route) => {\n return route.config.auth?.scope?.includes(selectedAction) ||\n route.handler === selectedAction ? (\n <BoundRoute key={route.handler} route={route} />\n ) : null;\n })}\n </Flex>\n ) : (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'Settings.apiTokens.createPage.permissions.header.title',\n defaultMessage: 'Advanced settings',\n })}\n </Typography>\n <Typography tag=\"p\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.apiTokens.createPage.permissions.header.hint',\n defaultMessage:\n \"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route\",\n })}\n </Typography>\n </Flex>\n )}\n </Grid.Item>\n );\n};\n","import * as React from 'react';\n\nimport {\n Accordion,\n Box,\n BoxComponent,\n Checkbox,\n Flex,\n Grid,\n Typography,\n} from '@strapi/design-system';\nimport { Cog } from '@strapi/icons';\nimport capitalize from 'lodash/capitalize';\nimport { useIntl } from 'react-intl';\nimport { styled, css } from 'styled-components';\n\nimport { ContentApiPermission } from '../../../../../../../../shared/contracts/content-api/permissions';\nimport { useApiTokenPermissions } from '../apiTokenPermissions';\n\nconst activeCheckboxWrapperStyles = css`\n background: ${(props) => props.theme.colors.primary100};\n\n #cog {\n opacity: 1;\n }\n`;\n\nconst CheckboxWrapper = styled<BoxComponent>(Box)<{ $isActive: boolean }>`\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n #cog {\n opacity: 0;\n path {\n fill: ${(props) => props.theme.colors.primary600};\n }\n }\n\n /* Show active style both on hover and when the action is selected */\n ${(props) => props.$isActive && activeCheckboxWrapperStyles}\n &:hover {\n ${activeCheckboxWrapperStyles}\n }\n`;\n\nconst Border = styled.div`\n flex: 1;\n align-self: center;\n border-top: 1px solid ${({ theme }) => theme.colors.neutral150};\n`;\n\ninterface CollapsableContentTypeProps {\n controllers?: ContentApiPermission['controllers'];\n label: ContentApiPermission['label'];\n orderNumber?: number;\n disabled?: boolean;\n}\n\nexport const CollapsableContentType = ({\n controllers = [],\n label,\n orderNumber = 0,\n disabled = false,\n}: CollapsableContentTypeProps) => {\n const {\n value: { onChangeSelectAll, onChange, selectedActions, setSelectedAction, selectedAction },\n } = useApiTokenPermissions();\n const { formatMessage } = useIntl();\n\n const isActionSelected = (actionId: string) => actionId === selectedAction;\n\n return (\n <Accordion.Item value={`${label}-${orderNumber}`}>\n <Accordion.Header variant={orderNumber % 2 ? 'primary' : 'secondary'}>\n <Accordion.Trigger>{capitalize(label)}</Accordion.Trigger>\n </Accordion.Header>\n <Accordion.Content>\n {controllers?.map((controller) => {\n const allActionsSelected = controller.actions.every((action) =>\n selectedActions.includes(action.actionId)\n );\n\n const someActionsSelected = controller.actions.some((action) =>\n selectedActions.includes(action.actionId)\n );\n\n return (\n <Box key={`${label}.${controller?.controller}`}>\n <Flex justifyContent=\"space-between\" alignItems=\"center\" padding={4}>\n <Box paddingRight={4}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {controller?.controller}\n </Typography>\n </Box>\n <Border />\n <Box paddingLeft={4}>\n <Checkbox\n checked={\n !allActionsSelected && someActionsSelected\n ? 'indeterminate'\n : allActionsSelected\n }\n onCheckedChange={() => {\n onChangeSelectAll({ target: { value: [...controller.actions] } });\n }}\n disabled={disabled}\n >\n {formatMessage({ id: 'app.utils.select-all', defaultMessage: 'Select all' })}\n </Checkbox>\n </Box>\n </Flex>\n <Grid.Root gap={4} padding={4}>\n {controller?.actions &&\n controller?.actions.map((action) => {\n return (\n <Grid.Item\n col={6}\n key={action.actionId}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <CheckboxWrapper\n $isActive={isActionSelected(action.actionId)}\n padding={2}\n hasRadius\n >\n <Checkbox\n checked={selectedActions.includes(action.actionId)}\n name={action.actionId}\n onCheckedChange={() => {\n onChange({ target: { value: action.actionId } });\n }}\n disabled={disabled}\n >\n {action.action}\n </Checkbox>\n <button\n type=\"button\"\n data-testid=\"action-cog\"\n onClick={() =>\n setSelectedAction({ target: { value: action.actionId } })\n }\n style={{ display: 'inline-flex', alignItems: 'center' }}\n >\n <Cog id=\"cog\" />\n </button>\n </CheckboxWrapper>\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </Box>\n );\n })}\n </Accordion.Content>\n </Accordion.Item>\n );\n};\n","import { Accordion, Box } from '@strapi/design-system';\n\nimport { ContentApiPermission } from '../../../../../../../../shared/contracts/content-api/permissions';\n\nimport { CollapsableContentType } from './CollapsableContentType';\n\ninterface ContentTypesSectionProps {\n section: ContentApiPermission[] | null;\n}\n\nexport const ContentTypesSection = ({ section = null, ...props }: ContentTypesSectionProps) => {\n return (\n <Box>\n <Accordion.Root size=\"M\">\n {section &&\n section.map((api, index) => (\n <CollapsableContentType\n key={api.apiId}\n label={api.label}\n controllers={api.controllers}\n orderNumber={index}\n {...props}\n />\n ))}\n </Accordion.Root>\n </Box>\n );\n};\n","import { Flex, Grid, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useApiTokenPermissions } from '../apiTokenPermissions';\n\nimport { ActionBoundRoutes } from './ActionBoundRoutes';\nimport { ContentTypesSection } from './ContentTypesSection';\n\nexport const Permissions = ({ ...props }) => {\n const {\n value: { data },\n } = useApiTokenPermissions();\n const { formatMessage } = useIntl();\n\n return (\n <Grid.Root gap={0} shadow=\"filterShadow\" hasRadius background=\"neutral0\">\n <Grid.Item\n col={7}\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n direction=\"column\"\n alignItems=\"stretch\"\n gap={6}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'Settings.apiTokens.createPage.permissions.title',\n defaultMessage: 'Permissions',\n })}\n </Typography>\n <Typography tag=\"p\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.apiTokens.createPage.permissions.description',\n defaultMessage: 'Only actions bound by a route are listed below.',\n })}\n </Typography>\n </Flex>\n {data?.permissions && <ContentTypesSection section={data?.permissions} {...props} />}\n </Grid.Item>\n <ActionBoundRoutes />\n </Grid.Root>\n );\n};\n","import * as yup from 'yup';\n\nimport { translatedErrors } from '../../../../../utils/translatedErrors';\n\nexport const schema = yup.object().shape({\n name: yup.string().max(100).required(translatedErrors.required.id),\n type: yup\n .string()\n .oneOf(['read-only', 'full-access', 'custom'])\n .required(translatedErrors.required.id),\n description: yup.string().nullable(),\n lifespan: yup.number().integer().min(0).nullable().defined(translatedErrors.required.id),\n});\n","import { ContentApiPermission } from '../../../../../../../../shared/contracts/content-api/permissions';\n\ninterface Layout {\n allActionsIds: string[];\n permissions: {\n apiId: string;\n label: string;\n controllers: { controller: string; actions: { action: string; actionId: string }[] }[];\n }[];\n}\n\nexport const transformPermissionsData = (data: ContentApiPermission) => {\n const layout: Layout = {\n allActionsIds: [],\n permissions: [],\n };\n\n layout.permissions = Object.entries(data).map(([apiId, permission]) => ({\n apiId,\n label: apiId.split('::')[1],\n controllers: Object.keys(permission.controllers)\n .map((controller) => ({\n controller,\n actions:\n controller in permission.controllers\n ? permission.controllers[controller]\n .map((action: ContentApiPermission['controllers']) => {\n const actionId = `${apiId}.${controller}.${action}`;\n\n if (apiId.includes('api::')) {\n layout.allActionsIds.push(actionId);\n }\n\n return {\n action,\n actionId,\n };\n })\n .flat()\n : [],\n }))\n .flat(),\n }));\n\n return layout;\n};\n","/* eslint-disable consistent-return */\nimport { produce } from 'immer';\nimport pull from 'lodash/pull';\n\nimport { ContentApiPermission } from '../../../../../../../shared/contracts/content-api/permissions';\n\nimport { ApiTokenPermissionsContextValue } from './apiTokenPermissions';\nimport { transformPermissionsData } from './utils/transformPermissionsData';\n\ntype InitialState = Pick<\n ApiTokenPermissionsContextValue['value'],\n 'data' | 'routes' | 'selectedAction' | 'selectedActions'\n>;\n\ninterface ActionOnChange {\n type: 'ON_CHANGE';\n value: string;\n}\n\ninterface ActionSelectAllInPermission {\n type: 'SELECT_ALL_IN_PERMISSION';\n value: { action: string; actionId: string }[];\n}\n\ninterface ActionSelectAllActions {\n type: 'SELECT_ALL_ACTIONS';\n}\n\ninterface ActionOnChangeReadOnly {\n type: 'ON_CHANGE_READ_ONLY';\n}\n\ninterface ActionUpdatePermissionsLayout {\n type: 'UPDATE_PERMISSIONS_LAYOUT';\n value: ContentApiPermission;\n}\n\ninterface ActionUpdateRoutes {\n type: 'UPDATE_ROUTES';\n value: ApiTokenPermissionsContextValue['value']['routes'] | undefined;\n}\n\ninterface ActionUpdatePermissions {\n type: 'UPDATE_PERMISSIONS';\n value: any[];\n}\n\ninterface ActionSetSelectedAction {\n type: 'SET_SELECTED_ACTION';\n value: string;\n}\n\ntype Action =\n | ActionOnChange\n | ActionSelectAllInPermission\n | ActionSelectAllActions\n | ActionOnChangeReadOnly\n | ActionUpdatePermissionsLayout\n | ActionUpdateRoutes\n | ActionUpdatePermissions\n | ActionSetSelectedAction;\n\nexport const initialState: InitialState = {\n data: {\n allActionsIds: [],\n permissions: [],\n },\n routes: {},\n selectedAction: '',\n selectedActions: [],\n};\n\nexport const reducer = (state: InitialState, action: Action) =>\n produce(state, (draftState) => {\n switch (action.type) {\n case 'ON_CHANGE': {\n if (draftState.selectedActions.includes(action.value)) {\n pull(draftState.selectedActions, action.value);\n } else {\n draftState.selectedActions.push(action.value);\n }\n break;\n }\n case 'SELECT_ALL_IN_PERMISSION': {\n const areAllSelected = action.value.every((item) =>\n draftState.selectedActions.includes(item.actionId)\n );\n\n if (areAllSelected) {\n action.value.forEach((item) => {\n pull(draftState.selectedActions, item.actionId);\n });\n } else {\n action.value.forEach((item) => {\n draftState.selectedActions.push(item.actionId);\n });\n }\n break;\n }\n\n case 'SELECT_ALL_ACTIONS': {\n draftState.selectedActions = [...draftState.data.allActionsIds];\n\n break;\n }\n case 'ON_CHANGE_READ_ONLY': {\n const onlyReadOnlyActions = draftState.data.allActionsIds.filter(\n (actionId) => actionId.includes('find') || actionId.includes('findOne')\n );\n draftState.selectedActions = [...onlyReadOnlyActions];\n break;\n }\n case 'UPDATE_PERMISSIONS_LAYOUT': {\n draftState.data = transformPermissionsData(action.value);\n break;\n }\n case 'UPDATE_ROUTES': {\n draftState.routes = { ...action.value };\n break;\n }\n case 'UPDATE_PERMISSIONS': {\n draftState.selectedActions = [...action.value];\n break;\n }\n case 'SET_SELECTED_ACTION': {\n draftState.selectedAction = action.value;\n break;\n }\n default:\n return draftState;\n }\n });\n","import * as React from 'react';\n\nimport { Flex } from '@strapi/design-system';\nimport { Formik, Form, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useMatch, useNavigate } from 'react-router-dom';\n\nimport { useGuidedTour } from '../../../../../components/GuidedTour/Provider';\nimport { Layouts } from '../../../../../components/Layouts/Layout';\nimport { Page } from '../../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../../core/store/hooks';\nimport { useNotification } from '../../../../../features/Notifications';\nimport { useTracking } from '../../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../../hooks/useRBAC';\nimport {\n useCreateAPITokenMutation,\n useGetAPITokenQuery,\n useUpdateAPITokenMutation,\n} from '../../../../../services/apiTokens';\nimport { useGetPermissionsQuery, useGetRoutesQuery } from '../../../../../services/contentApi';\nimport { isBaseQueryError } from '../../../../../utils/baseQuery';\nimport { API_TOKEN_TYPE } from '../../../components/Tokens/constants';\nimport { FormHead } from '../../../components/Tokens/FormHead';\nimport { TokenBox } from '../../../components/Tokens/TokenBox';\n\nimport {\n ApiTokenPermissionsContextValue,\n ApiTokenPermissionsProvider,\n} from './apiTokenPermissions';\nimport { FormApiTokenContainer } from './components/FormApiTokenContainer';\nimport { Permissions } from './components/Permissions';\nimport { schema } from './constants';\nimport { initialState, reducer } from './reducer';\n\nimport type { Get, ApiToken } from '../../../../../../../shared/contracts/api-token';\n\n/**\n * TODO: this could definitely be refactored to avoid using redux and instead just use the\n * server response as the source of the truth for the data.\n */\nexport const EditView = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { state: locationState } = useLocation();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const [apiToken, setApiToken] = React.useState<ApiToken | null>(\n locationState?.apiToken?.accessKey\n ? {\n ...locationState.apiToken,\n }\n : null\n );\n const { trackUsage } = useTracking();\n const setCurrentStep = useGuidedTour('EditView', (state) => state.setCurrentStep);\n const {\n allowedActions: { canCreate, canUpdate, canRegenerate },\n } = useRBAC(permissions.settings?.['api-tokens']);\n const [state, dispatch] = React.useReducer(reducer, initialState);\n const match = useMatch('/settings/api-tokens/:id');\n const id = match?.params?.id;\n const isCreating = id === 'create';\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidtionErrors,\n } = useAPIErrorHandler();\n\n const navigate = useNavigate();\n\n const contentAPIPermissionsQuery = useGetPermissionsQuery();\n const contentAPIRoutesQuery = useGetRoutesQuery();\n\n /**\n * Separate effects otherwise we could end\n * up duplicating the same notification.\n */\n React.useEffect(() => {\n if (contentAPIPermissionsQuery.error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(contentAPIPermissionsQuery.error),\n });\n }\n }, [contentAPIPermissionsQuery.error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n if (contentAPIRoutesQuery.error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(contentAPIRoutesQuery.error),\n });\n }\n }, [contentAPIRoutesQuery.error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n if (contentAPIPermissionsQuery.data) {\n dispatch({\n type: 'UPDATE_PERMISSIONS_LAYOUT',\n value: contentAPIPermissionsQuery.data,\n });\n }\n }, [contentAPIPermissionsQuery.data]);\n\n React.useEffect(() => {\n if (contentAPIRoutesQuery.data) {\n dispatch({\n type: 'UPDATE_ROUTES',\n value: contentAPIRoutesQuery.data,\n });\n }\n }, [contentAPIRoutesQuery.data]);\n\n React.useEffect(() => {\n if (apiToken) {\n if (apiToken.type === 'read-only') {\n dispatch({\n type: 'ON_CHANGE_READ_ONLY',\n });\n }\n if (apiToken.type === 'full-access') {\n dispatch({\n type: 'SELECT_ALL_ACTIONS',\n });\n }\n if (apiToken.type === 'custom') {\n dispatch({\n type: 'UPDATE_PERMISSIONS',\n value: apiToken?.permissions,\n });\n }\n }\n }, [apiToken]);\n\n React.useEffect(() => {\n trackUsage(isCreating ? 'didAddTokenFromList' : 'didEditTokenFromList', {\n tokenType: API_TOKEN_TYPE,\n });\n }, [isCreating, trackUsage]);\n\n const { data, error, isLoading } = useGetAPITokenQuery(id!, {\n skip: !id || isCreating || !!apiToken,\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n if (data) {\n setApiToken(data);\n\n if (data.type === 'read-only') {\n dispatch({\n type: 'ON_CHANGE_READ_ONLY',\n });\n }\n if (data.type === 'full-access') {\n dispatch({\n type: 'SELECT_ALL_ACTIONS',\n });\n }\n if (data.type === 'custom') {\n dispatch({\n type: 'UPDATE_PERMISSIONS',\n value: data?.permissions,\n });\n }\n }\n }, [data]);\n\n const [createToken] = useCreateAPITokenMutation();\n const [updateToken] = useUpdateAPITokenMutation();\n\n interface FormValues extends Pick<Get.Response['data'], 'name' | 'description'> {\n lifespan: Get.Response['data']['lifespan'] | undefined;\n type: Get.Response['data']['type'] | undefined;\n }\n\n const handleSubmit = async (body: FormValues, formik: FormikHelpers<FormValues>) => {\n trackUsage(isCreating ? 'willCreateToken' : 'willEditToken', {\n tokenType: API_TOKEN_TYPE,\n });\n\n try {\n if (isCreating) {\n const res = await createToken({\n ...body,\n // lifespan must be \"null\" for unlimited (0 would mean instantly expired and isn't accepted)\n lifespan:\n body?.lifespan && body.lifespan !== '0' ? parseInt(body.lifespan.toString(), 10) : null,\n permissions: body.type === 'custom' ? state.selectedActions : null,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidtionErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.apitokencreated',\n defaultMessage: 'API Token successfully created',\n }),\n });\n\n trackUsage('didCreateToken', {\n type: res.data.type,\n tokenType: API_TOKEN_TYPE,\n });\n\n navigate(`../api-tokens/${res.data.id.toString()}`, {\n state: { apiToken: res.data },\n replace: true,\n });\n setCurrentStep('apiTokens.success');\n } else {\n const res = await updateToken({\n id: id!,\n name: body.name,\n description: body.description,\n type: body.type,\n permissions: body.type === 'custom' ? state.selectedActions : null,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidtionErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.apitokenedited',\n defaultMessage: 'API Token successfully edited',\n }),\n });\n\n trackUsage('didEditToken', {\n type: res.data.type,\n tokenType: API_TOKEN_TYPE,\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n }),\n });\n }\n };\n\n const [hasChangedPermissions, setHasChangedPermissions] = React.useState(false);\n\n const handleChangeCheckbox = ({\n target: { value },\n }: Parameters<ApiTokenPermissionsContextValue['value']['onChange']>[0]) => {\n setHasChangedPermissions(true);\n dispatch({\n type: 'ON_CHANGE',\n value,\n });\n };\n\n const handleChangeSelectAllCheckbox = ({\n target: { value },\n }: Parameters<ApiTokenPermissionsContextValue['value']['onChangeSelectAll']>[0]) => {\n setHasChangedPermissions(true);\n dispatch({\n type: 'SELECT_ALL_IN_PERMISSION',\n value,\n });\n };\n\n const setSelectedAction = ({\n target: { value },\n }: Parameters<ApiTokenPermissionsContextValue['value']['setSelectedAction']>[0]) => {\n dispatch({\n type: 'SET_SELECTED_ACTION',\n value,\n });\n };\n\n const providerValue = {\n ...state,\n onChange: handleChangeCheckbox,\n onChangeSelectAll: handleChangeSelectAllCheckbox,\n setSelectedAction,\n };\n\n const canEditInputs = (canUpdate && !isCreating) || (canCreate && isCreating);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <ApiTokenPermissionsProvider value={providerValue}>\n <Page.Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n { name: 'API Tokens' }\n )}\n </Page.Title>\n <Formik\n validationSchema={schema}\n validateOnChange={false}\n initialValues={{\n name: apiToken?.name || '',\n description: apiToken?.description || '',\n type: apiToken?.type,\n lifespan: apiToken?.lifespan,\n }}\n enableReinitialize\n onSubmit={(body, actions) => handleSubmit(body, actions)}\n >\n {({ errors, handleChange, isSubmitting, values, setFieldValue }) => {\n if (hasChangedPermissions && values?.type !== 'custom') {\n setFieldValue('type', 'custom');\n }\n\n return (\n <Form>\n <FormHead\n title={{\n id: 'Settings.apiTokens.createPage.title',\n defaultMessage: 'Create API Token',\n }}\n token={apiToken}\n setToken={setApiToken}\n canEditInputs={canEditInputs}\n canRegenerate={canRegenerate}\n isSubmitting={isSubmitting}\n regenerateUrl=\"/admin/api-tokens/\"\n />\n\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {Boolean(apiToken?.name) && (\n <TokenBox token={apiToken?.accessKey} tokenType={API_TOKEN_TYPE} />\n )}\n <FormApiTokenContainer\n errors={errors}\n onChange={handleChange}\n canEditInputs={canEditInputs}\n isCreating={isCreating}\n values={values}\n apiToken={apiToken}\n onDispatch={dispatch}\n setHasChangedPermissions={setHasChangedPermissions}\n />\n <Permissions\n disabled={\n !canEditInputs ||\n values?.type === 'read-only' ||\n values?.type === 'full-access'\n }\n />\n </Flex>\n </Layouts.Content>\n </Form>\n );\n }}\n </Formik>\n </Page.Main>\n </ApiTokenPermissionsProvider>\n );\n};\n\nexport const ProtectedEditView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['api-tokens'].read\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n"],"names":["contentApiService","adminApi","injectEndpoints","endpoints","builder","getPermissions","query","transformResponse","response","data","getRoutes","overrideExisting","useGetPermissionsQuery","useGetRoutesQuery","ApiTokenPermissionsContextProvider","useApiTokenPermissionsContext","createContext","ApiTokenPermissionsProvider","children","rest","_jsx","useApiTokenPermissions","FormApiTokenContainer","errors","onChange","canEditInputs","isCreating","values","apiToken","onDispatch","setHasChangedPermissions","formatMessage","useIntl","handleChangeSelectApiTokenType","target","value","type","typeOptions","label","id","defaultMessage","Box","background","hasRadius","shadow","paddingTop","paddingBottom","paddingLeft","paddingRight","_jsxs","Flex","direction","alignItems","gap","Typography","variant","tag","Grid","Root","Item","col","xs","TokenName","error","TokenDescription","LifeSpanInput","token","TokenTypeSelect","name","options","getMethodColor","verb","text","border","MethodBox","styled","theme","spaces","BoundRoute","route","handler","method","path","title","formattedRoute","tail","split","controller","action","colors","span","textColor","borderColor","padding","fontWeight","map","includes","ActionBoundRoutes","selectedAction","routes","actionSection","style","minHeight","config","auth","scope","activeCheckboxWrapperStyles","css","props","primary100","CheckboxWrapper","primary600","$isActive","Border","div","neutral150","CollapsableContentType","controllers","orderNumber","disabled","onChangeSelectAll","selectedActions","setSelectedAction","isActionSelected","actionId","Accordion","Header","Trigger","capitalize","Content","allActionsSelected","actions","every","someActionsSelected","some","justifyContent","Checkbox","checked","onCheckedChange","button","data-testid","onClick","display","Cog","ContentTypesSection","section","size","api","index","apiId","Permissions","permissions","schema","yup","object","shape","string","max","required","translatedErrors","oneOf","description","nullable","lifespan","number","integer","min","defined","transformPermissionsData","layout","allActionsIds","Object","entries","permission","keys","push","flat","initialState","reducer","state","produce","draftState","pull","areAllSelected","item","forEach","onlyReadOnlyActions","filter","EditView","toggleNotification","useNotification","locationState","useLocation","useTypedSelector","admin_app","setApiToken","React","useState","accessKey","trackUsage","useTracking","setCurrentStep","useGuidedTour","allowedActions","canCreate","canUpdate","canRegenerate","useRBAC","settings","dispatch","useReducer","match","useMatch","params","_unstableFormatAPIError","formatAPIError","_unstableFormatValidationErrors","formatValidtionErrors","useAPIErrorHandler","navigate","useNavigate","contentAPIPermissionsQuery","contentAPIRoutesQuery","useEffect","message","tokenType","API_TOKEN_TYPE","isLoading","useGetAPITokenQuery","skip","createToken","useCreateAPITokenMutation","updateToken","useUpdateAPITokenMutation","handleSubmit","body","formik","res","parseInt","toString","isBaseQueryError","setErrors","replace","hasChangedPermissions","handleChangeCheckbox","handleChangeSelectAllCheckbox","providerValue","Page","Loading","Main","Title","Formik","validationSchema","validateOnChange","initialValues","enableReinitialize","onSubmit","handleChange","isSubmitting","setFieldValue","Form","FormHead","setToken","regenerateUrl","Layouts","Boolean","TokenBox","ProtectedEditView","read","Protect"],"mappings":"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"}
1
+ {"version":3,"file":"EditViewPage-DBga-70A.js","sources":["../../../admin/src/services/contentApi.ts","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/apiTokenPermissions.tsx","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/components/FormApiTokenContainer.tsx","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.tsx","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/components/ActionBoundRoutes.tsx","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.tsx","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/components/ContentTypesSection.tsx","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/components/Permissions.tsx","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/constants.ts","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.ts","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.ts","../../../admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.tsx"],"sourcesContent":["import { adminApi } from './api';\n\nimport type { List as ListContentApiPermissions } from '../../../shared/contracts/content-api/permissions';\nimport type { List as ListContentApiRoutes } from '../../../shared/contracts/content-api/routes';\n\nconst contentApiService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getPermissions: builder.query<ListContentApiPermissions.Response['data'], void>({\n query: () => '/admin/content-api/permissions',\n transformResponse: (response: ListContentApiPermissions.Response) => response.data,\n }),\n getRoutes: builder.query<ListContentApiRoutes.Response['data'], void>({\n query: () => '/admin/content-api/routes',\n transformResponse: (response: ListContentApiRoutes.Response) => response.data,\n }),\n }),\n overrideExisting: false,\n});\n\nconst { useGetPermissionsQuery, useGetRoutesQuery } = contentApiService;\n\nexport { useGetPermissionsQuery, useGetRoutesQuery };\n","/* eslint-disable check-file/filename-naming-convention */\n\nimport * as React from 'react';\n\nimport { createContext } from '@radix-ui/react-context';\n\nimport { List as ListContentApiPermissions } from '../../../../../../../shared/contracts/content-api/permissions';\nimport { List as ListContentApiRoutes } from '../../../../../../../shared/contracts/content-api/routes';\n\nexport interface PseudoEvent {\n target: { value: string };\n}\n\ninterface ApiTokenPermissionsContextValue {\n value: {\n selectedAction: string | null;\n routes: ListContentApiRoutes.Response['data'];\n selectedActions: string[];\n data: {\n allActionsIds: string[];\n permissions: ListContentApiPermissions.Response['data'][];\n };\n onChange: ({ target: { value } }: PseudoEvent) => void;\n onChangeSelectAll: ({\n target: { value },\n }: {\n target: { value: { action: string; actionId: string }[] };\n }) => void;\n setSelectedAction: ({ target: { value } }: PseudoEvent) => void;\n };\n}\n\ninterface ApiTokenPermissionsContextProviderProps extends ApiTokenPermissionsContextValue {\n children: React.ReactNode | React.ReactNode[];\n}\n\nconst [ApiTokenPermissionsContextProvider, useApiTokenPermissionsContext] =\n createContext<ApiTokenPermissionsContextValue>('ApiTokenPermissionsContext');\n\nconst ApiTokenPermissionsProvider = ({\n children,\n ...rest\n}: ApiTokenPermissionsContextProviderProps) => {\n return (\n <ApiTokenPermissionsContextProvider {...rest}>{children}</ApiTokenPermissionsContextProvider>\n );\n};\n\nconst useApiTokenPermissions = () => useApiTokenPermissionsContext('useApiTokenPermissions');\n\nexport { ApiTokenPermissionsProvider, useApiTokenPermissions };\nexport type { ApiTokenPermissionsContextValue, ApiTokenPermissionsContextProviderProps };\n","import * as React from 'react';\n\nimport { Box, Flex, Grid, Typography } from '@strapi/design-system';\nimport { FormikErrors } from 'formik';\nimport { useIntl } from 'react-intl';\n\nimport { LifeSpanInput } from '../../../../components/Tokens/LifeSpanInput';\nimport { TokenDescription } from '../../../../components/Tokens/TokenDescription';\nimport { TokenName } from '../../../../components/Tokens/TokenName';\nimport { TokenTypeSelect } from '../../../../components/Tokens/TokenTypeSelect';\n\nimport type { ApiToken } from '../../../../../../../../shared/contracts/api-token';\n\ninterface FormApiTokenContainerProps {\n errors?: FormikErrors<Pick<ApiToken, 'name' | 'description' | 'lifespan' | 'type'>>;\n onChange: ({ target: { name, value } }: { target: { name: string; value: string } }) => void;\n canEditInputs: boolean;\n values?: Partial<Pick<ApiToken, 'name' | 'description' | 'lifespan' | 'type'>>;\n isCreating: boolean;\n apiToken?: null | Partial<ApiToken>;\n onDispatch: React.Dispatch<any>;\n setHasChangedPermissions: (hasChanged: boolean) => void;\n}\n\nexport const FormApiTokenContainer = ({\n errors = {},\n onChange,\n canEditInputs,\n isCreating,\n values = {},\n apiToken = {},\n onDispatch,\n setHasChangedPermissions,\n}: FormApiTokenContainerProps) => {\n const { formatMessage } = useIntl();\n\n const handleChangeSelectApiTokenType = ({ target: { value } }: { target: { value: string } }) => {\n setHasChangedPermissions(false);\n\n if (value === 'full-access') {\n onDispatch({\n type: 'SELECT_ALL_ACTIONS',\n });\n }\n if (value === 'read-only') {\n onDispatch({\n type: 'ON_CHANGE_READ_ONLY',\n });\n }\n };\n\n const typeOptions = [\n {\n value: 'read-only',\n label: {\n id: 'Settings.tokens.types.read-only',\n defaultMessage: 'Read-only',\n },\n },\n {\n value: 'full-access',\n label: {\n id: 'Settings.tokens.types.full-access',\n defaultMessage: 'Full access',\n },\n },\n {\n value: 'custom',\n label: {\n id: 'Settings.tokens.types.custom',\n defaultMessage: 'Custom',\n },\n },\n ];\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid.Root gap={5}>\n <Grid.Item key=\"name\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenName\n error={errors['name']}\n value={values['name']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </Grid.Item>\n <Grid.Item key=\"description\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenDescription\n error={errors['description']}\n value={values['description']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </Grid.Item>\n <Grid.Item key=\"lifespan\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LifeSpanInput\n isCreating={isCreating}\n error={errors['lifespan']}\n value={values['lifespan']}\n onChange={onChange}\n token={apiToken}\n />\n </Grid.Item>\n\n <Grid.Item key=\"type\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenTypeSelect\n value={values['type']}\n error={errors['type']}\n label={{\n id: 'Settings.tokens.form.type',\n defaultMessage: 'Token type',\n }}\n onChange={(value) => {\n // @ts-expect-error – DS Select supports numbers & strings, will be removed in V2\n handleChangeSelectApiTokenType({ target: { value } });\n\n // @ts-expect-error – DS Select supports numbers & strings, will be removed in V2\n onChange({ target: { name: 'type', value } });\n }}\n options={typeOptions}\n canEditInputs={canEditInputs}\n />\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n","import { Box, BoxComponent, Flex, Typography } from '@strapi/design-system';\nimport map from 'lodash/map';\nimport tail from 'lodash/tail';\nimport { useIntl } from 'react-intl';\nimport { styled, DefaultTheme } from 'styled-components';\n\ntype HttpVerb = 'POST' | 'GET' | 'PUT' | 'DELETE';\n\ntype MethodColor = {\n text: keyof DefaultTheme['colors'];\n border: keyof DefaultTheme['colors'];\n background: keyof DefaultTheme['colors'];\n};\n\nconst getMethodColor = (verb: HttpVerb): MethodColor => {\n switch (verb) {\n case 'POST': {\n return {\n text: 'success600',\n border: 'success200',\n background: 'success100',\n };\n }\n case 'GET': {\n return {\n text: 'secondary600',\n border: 'secondary200',\n background: 'secondary100',\n };\n }\n case 'PUT': {\n return {\n text: 'warning600',\n border: 'warning200',\n background: 'warning100',\n };\n }\n case 'DELETE': {\n return {\n text: 'danger600',\n border: 'danger200',\n background: 'danger100',\n };\n }\n default: {\n return {\n text: 'neutral600',\n border: 'neutral200',\n background: 'neutral100',\n };\n }\n }\n};\n\nconst MethodBox = styled<BoxComponent>(Box)`\n margin: -1px;\n border-radius: ${({ theme }) => theme.spaces[1]} 0 0 ${({ theme }) => theme.spaces[1]};\n`;\n\ninterface BoundRouteProps {\n route: {\n handler: string;\n method: HttpVerb;\n path: string;\n };\n}\n\nexport const BoundRoute = ({\n route = {\n handler: 'Nocontroller.error',\n method: 'GET',\n path: '/there-is-no-path',\n },\n}: BoundRouteProps) => {\n const { formatMessage } = useIntl();\n\n const { method, handler: title, path } = route;\n const formattedRoute = path ? tail(path.split('/')) : [];\n const [controller = '', action = ''] = title ? title.split('.') : [];\n const colors = getMethodColor(route.method);\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'Settings.apiTokens.createPage.BoundRoute.title',\n defaultMessage: 'Bound route to',\n })}\n &nbsp;\n <span>{controller}</span>\n <Typography variant=\"delta\" textColor=\"primary600\">\n .{action}\n </Typography>\n </Typography>\n <Flex hasRadius background=\"neutral0\" borderColor=\"neutral200\" gap={0}>\n <MethodBox background={colors.background} borderColor={colors.border} padding={2}>\n <Typography fontWeight=\"bold\" textColor={colors.text}>\n {method}\n </Typography>\n </MethodBox>\n <Box paddingLeft={2} paddingRight={2}>\n {map(formattedRoute, (value) => (\n <Typography key={value} textColor={value.includes(':') ? 'neutral600' : 'neutral900'}>\n /{value}\n </Typography>\n ))}\n </Box>\n </Flex>\n </Flex>\n );\n};\n","import { Grid, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useApiTokenPermissions } from '../apiTokenPermissions';\n\nimport { BoundRoute } from './BoundRoute';\n\nexport const ActionBoundRoutes = () => {\n const {\n value: { selectedAction, routes },\n } = useApiTokenPermissions();\n const { formatMessage } = useIntl();\n const actionSection = selectedAction?.split('.')[0];\n\n return (\n <Grid.Item\n col={5}\n background=\"neutral150\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n style={{ minHeight: '100%' }}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n {selectedAction ? (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n {actionSection &&\n actionSection in routes &&\n routes[actionSection].map((route) => {\n return route.config.auth?.scope?.includes(selectedAction) ||\n route.handler === selectedAction ? (\n <BoundRoute key={route.handler} route={route} />\n ) : null;\n })}\n </Flex>\n ) : (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'Settings.apiTokens.createPage.permissions.header.title',\n defaultMessage: 'Advanced settings',\n })}\n </Typography>\n <Typography tag=\"p\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.apiTokens.createPage.permissions.header.hint',\n defaultMessage:\n \"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route\",\n })}\n </Typography>\n </Flex>\n )}\n </Grid.Item>\n );\n};\n","import * as React from 'react';\n\nimport {\n Accordion,\n Box,\n BoxComponent,\n Checkbox,\n Flex,\n Grid,\n Typography,\n} from '@strapi/design-system';\nimport { Cog } from '@strapi/icons';\nimport capitalize from 'lodash/capitalize';\nimport { useIntl } from 'react-intl';\nimport { styled, css } from 'styled-components';\n\nimport { ContentApiPermission } from '../../../../../../../../shared/contracts/content-api/permissions';\nimport { useApiTokenPermissions } from '../apiTokenPermissions';\n\nconst activeCheckboxWrapperStyles = css`\n background: ${(props) => props.theme.colors.primary100};\n\n #cog {\n opacity: 1;\n }\n`;\n\nconst CheckboxWrapper = styled<BoxComponent>(Box)<{ $isActive: boolean }>`\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n #cog {\n opacity: 0;\n path {\n fill: ${(props) => props.theme.colors.primary600};\n }\n }\n\n /* Show active style both on hover and when the action is selected */\n ${(props) => props.$isActive && activeCheckboxWrapperStyles}\n &:hover {\n ${activeCheckboxWrapperStyles}\n }\n`;\n\nconst Border = styled.div`\n flex: 1;\n align-self: center;\n border-top: 1px solid ${({ theme }) => theme.colors.neutral150};\n`;\n\ninterface CollapsableContentTypeProps {\n controllers?: ContentApiPermission['controllers'];\n label: ContentApiPermission['label'];\n orderNumber?: number;\n disabled?: boolean;\n}\n\nexport const CollapsableContentType = ({\n controllers = [],\n label,\n orderNumber = 0,\n disabled = false,\n}: CollapsableContentTypeProps) => {\n const {\n value: { onChangeSelectAll, onChange, selectedActions, setSelectedAction, selectedAction },\n } = useApiTokenPermissions();\n const { formatMessage } = useIntl();\n\n const isActionSelected = (actionId: string) => actionId === selectedAction;\n\n return (\n <Accordion.Item value={`${label}-${orderNumber}`}>\n <Accordion.Header variant={orderNumber % 2 ? 'primary' : 'secondary'}>\n <Accordion.Trigger>{capitalize(label)}</Accordion.Trigger>\n </Accordion.Header>\n <Accordion.Content>\n {controllers?.map((controller) => {\n const allActionsSelected = controller.actions.every((action) =>\n selectedActions.includes(action.actionId)\n );\n\n const someActionsSelected = controller.actions.some((action) =>\n selectedActions.includes(action.actionId)\n );\n\n return (\n <Box key={`${label}.${controller?.controller}`}>\n <Flex justifyContent=\"space-between\" alignItems=\"center\" padding={4}>\n <Box paddingRight={4}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {controller?.controller}\n </Typography>\n </Box>\n <Border />\n <Box paddingLeft={4}>\n <Checkbox\n checked={\n !allActionsSelected && someActionsSelected\n ? 'indeterminate'\n : allActionsSelected\n }\n onCheckedChange={() => {\n onChangeSelectAll({ target: { value: [...controller.actions] } });\n }}\n disabled={disabled}\n >\n {formatMessage({ id: 'app.utils.select-all', defaultMessage: 'Select all' })}\n </Checkbox>\n </Box>\n </Flex>\n <Grid.Root gap={4} padding={4}>\n {controller?.actions &&\n controller?.actions.map((action) => {\n return (\n <Grid.Item\n col={6}\n key={action.actionId}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <CheckboxWrapper\n $isActive={isActionSelected(action.actionId)}\n padding={2}\n hasRadius\n >\n <Checkbox\n checked={selectedActions.includes(action.actionId)}\n name={action.actionId}\n onCheckedChange={() => {\n onChange({ target: { value: action.actionId } });\n }}\n disabled={disabled}\n >\n {action.action}\n </Checkbox>\n <button\n type=\"button\"\n data-testid=\"action-cog\"\n onClick={() =>\n setSelectedAction({ target: { value: action.actionId } })\n }\n style={{ display: 'inline-flex', alignItems: 'center' }}\n >\n <Cog id=\"cog\" />\n </button>\n </CheckboxWrapper>\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </Box>\n );\n })}\n </Accordion.Content>\n </Accordion.Item>\n );\n};\n","import { Accordion, Box } from '@strapi/design-system';\n\nimport { ContentApiPermission } from '../../../../../../../../shared/contracts/content-api/permissions';\n\nimport { CollapsableContentType } from './CollapsableContentType';\n\ninterface ContentTypesSectionProps {\n section: ContentApiPermission[] | null;\n}\n\nexport const ContentTypesSection = ({ section = null, ...props }: ContentTypesSectionProps) => {\n return (\n <Box>\n <Accordion.Root size=\"M\">\n {section &&\n section.map((api, index) => (\n <CollapsableContentType\n key={api.apiId}\n label={api.label}\n controllers={api.controllers}\n orderNumber={index}\n {...props}\n />\n ))}\n </Accordion.Root>\n </Box>\n );\n};\n","import { Flex, Grid, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useApiTokenPermissions } from '../apiTokenPermissions';\n\nimport { ActionBoundRoutes } from './ActionBoundRoutes';\nimport { ContentTypesSection } from './ContentTypesSection';\n\nexport const Permissions = ({ ...props }) => {\n const {\n value: { data },\n } = useApiTokenPermissions();\n const { formatMessage } = useIntl();\n\n return (\n <Grid.Root gap={0} shadow=\"filterShadow\" hasRadius background=\"neutral0\">\n <Grid.Item\n col={7}\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n direction=\"column\"\n alignItems=\"stretch\"\n gap={6}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'Settings.apiTokens.createPage.permissions.title',\n defaultMessage: 'Permissions',\n })}\n </Typography>\n <Typography tag=\"p\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.apiTokens.createPage.permissions.description',\n defaultMessage: 'Only actions bound by a route are listed below.',\n })}\n </Typography>\n </Flex>\n {data?.permissions && <ContentTypesSection section={data?.permissions} {...props} />}\n </Grid.Item>\n <ActionBoundRoutes />\n </Grid.Root>\n );\n};\n","import * as yup from 'yup';\n\nimport { translatedErrors } from '../../../../../utils/translatedErrors';\n\nexport const schema = yup.object().shape({\n name: yup.string().max(100).required(translatedErrors.required.id),\n type: yup\n .string()\n .oneOf(['read-only', 'full-access', 'custom'])\n .required(translatedErrors.required.id),\n description: yup.string().nullable(),\n lifespan: yup.number().integer().min(0).nullable().defined(translatedErrors.required.id),\n});\n","import { ContentApiPermission } from '../../../../../../../../shared/contracts/content-api/permissions';\n\ninterface Layout {\n allActionsIds: string[];\n permissions: {\n apiId: string;\n label: string;\n controllers: { controller: string; actions: { action: string; actionId: string }[] }[];\n }[];\n}\n\nexport const transformPermissionsData = (data: ContentApiPermission) => {\n const layout: Layout = {\n allActionsIds: [],\n permissions: [],\n };\n\n layout.permissions = Object.entries(data).map(([apiId, permission]) => ({\n apiId,\n label: apiId.split('::')[1],\n controllers: Object.keys(permission.controllers)\n .map((controller) => ({\n controller,\n actions:\n controller in permission.controllers\n ? permission.controllers[controller]\n .map((action: ContentApiPermission['controllers']) => {\n const actionId = `${apiId}.${controller}.${action}`;\n\n if (apiId.includes('api::')) {\n layout.allActionsIds.push(actionId);\n }\n\n return {\n action,\n actionId,\n };\n })\n .flat()\n : [],\n }))\n .flat(),\n }));\n\n return layout;\n};\n","/* eslint-disable consistent-return */\nimport { produce } from 'immer';\nimport pull from 'lodash/pull';\n\nimport { ContentApiPermission } from '../../../../../../../shared/contracts/content-api/permissions';\n\nimport { ApiTokenPermissionsContextValue } from './apiTokenPermissions';\nimport { transformPermissionsData } from './utils/transformPermissionsData';\n\ntype InitialState = Pick<\n ApiTokenPermissionsContextValue['value'],\n 'data' | 'routes' | 'selectedAction' | 'selectedActions'\n>;\n\ninterface ActionOnChange {\n type: 'ON_CHANGE';\n value: string;\n}\n\ninterface ActionSelectAllInPermission {\n type: 'SELECT_ALL_IN_PERMISSION';\n value: { action: string; actionId: string }[];\n}\n\ninterface ActionSelectAllActions {\n type: 'SELECT_ALL_ACTIONS';\n}\n\ninterface ActionOnChangeReadOnly {\n type: 'ON_CHANGE_READ_ONLY';\n}\n\ninterface ActionUpdatePermissionsLayout {\n type: 'UPDATE_PERMISSIONS_LAYOUT';\n value: ContentApiPermission;\n}\n\ninterface ActionUpdateRoutes {\n type: 'UPDATE_ROUTES';\n value: ApiTokenPermissionsContextValue['value']['routes'] | undefined;\n}\n\ninterface ActionUpdatePermissions {\n type: 'UPDATE_PERMISSIONS';\n value: any[];\n}\n\ninterface ActionSetSelectedAction {\n type: 'SET_SELECTED_ACTION';\n value: string;\n}\n\ntype Action =\n | ActionOnChange\n | ActionSelectAllInPermission\n | ActionSelectAllActions\n | ActionOnChangeReadOnly\n | ActionUpdatePermissionsLayout\n | ActionUpdateRoutes\n | ActionUpdatePermissions\n | ActionSetSelectedAction;\n\nexport const initialState: InitialState = {\n data: {\n allActionsIds: [],\n permissions: [],\n },\n routes: {},\n selectedAction: '',\n selectedActions: [],\n};\n\nexport const reducer = (state: InitialState, action: Action) =>\n produce(state, (draftState) => {\n switch (action.type) {\n case 'ON_CHANGE': {\n if (draftState.selectedActions.includes(action.value)) {\n pull(draftState.selectedActions, action.value);\n } else {\n draftState.selectedActions.push(action.value);\n }\n break;\n }\n case 'SELECT_ALL_IN_PERMISSION': {\n const areAllSelected = action.value.every((item) =>\n draftState.selectedActions.includes(item.actionId)\n );\n\n if (areAllSelected) {\n action.value.forEach((item) => {\n pull(draftState.selectedActions, item.actionId);\n });\n } else {\n action.value.forEach((item) => {\n draftState.selectedActions.push(item.actionId);\n });\n }\n break;\n }\n\n case 'SELECT_ALL_ACTIONS': {\n draftState.selectedActions = [...draftState.data.allActionsIds];\n\n break;\n }\n case 'ON_CHANGE_READ_ONLY': {\n const onlyReadOnlyActions = draftState.data.allActionsIds.filter(\n (actionId) => actionId.includes('find') || actionId.includes('findOne')\n );\n draftState.selectedActions = [...onlyReadOnlyActions];\n break;\n }\n case 'UPDATE_PERMISSIONS_LAYOUT': {\n draftState.data = transformPermissionsData(action.value);\n break;\n }\n case 'UPDATE_ROUTES': {\n draftState.routes = { ...action.value };\n break;\n }\n case 'UPDATE_PERMISSIONS': {\n draftState.selectedActions = [...action.value];\n break;\n }\n case 'SET_SELECTED_ACTION': {\n draftState.selectedAction = action.value;\n break;\n }\n default:\n return draftState;\n }\n });\n","import * as React from 'react';\n\nimport { Flex } from '@strapi/design-system';\nimport { Formik, Form, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useMatch, useNavigate } from 'react-router-dom';\n\nimport { useGuidedTour } from '../../../../../components/GuidedTour/Provider';\nimport { Layouts } from '../../../../../components/Layouts/Layout';\nimport { Page } from '../../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../../core/store/hooks';\nimport { useNotification } from '../../../../../features/Notifications';\nimport { useTracking } from '../../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../../hooks/useRBAC';\nimport {\n useCreateAPITokenMutation,\n useGetAPITokenQuery,\n useUpdateAPITokenMutation,\n} from '../../../../../services/apiTokens';\nimport { useGetPermissionsQuery, useGetRoutesQuery } from '../../../../../services/contentApi';\nimport { isBaseQueryError } from '../../../../../utils/baseQuery';\nimport { API_TOKEN_TYPE } from '../../../components/Tokens/constants';\nimport { FormHead } from '../../../components/Tokens/FormHead';\nimport { TokenBox } from '../../../components/Tokens/TokenBox';\n\nimport {\n ApiTokenPermissionsContextValue,\n ApiTokenPermissionsProvider,\n} from './apiTokenPermissions';\nimport { FormApiTokenContainer } from './components/FormApiTokenContainer';\nimport { Permissions } from './components/Permissions';\nimport { schema } from './constants';\nimport { initialState, reducer } from './reducer';\n\nimport type { Get, ApiToken } from '../../../../../../../shared/contracts/api-token';\n\n/**\n * TODO: this could definitely be refactored to avoid using redux and instead just use the\n * server response as the source of the truth for the data.\n */\nexport const EditView = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { state: locationState } = useLocation();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const [apiToken, setApiToken] = React.useState<ApiToken | null>(\n locationState?.apiToken?.accessKey\n ? {\n ...locationState.apiToken,\n }\n : null\n );\n const { trackUsage } = useTracking();\n const setCurrentStep = useGuidedTour('EditView', (state) => state.setCurrentStep);\n const {\n allowedActions: { canCreate, canUpdate, canRegenerate },\n } = useRBAC(permissions.settings?.['api-tokens']);\n const [state, dispatch] = React.useReducer(reducer, initialState);\n const match = useMatch('/settings/api-tokens/:id');\n const id = match?.params?.id;\n const isCreating = id === 'create';\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidtionErrors,\n } = useAPIErrorHandler();\n\n const navigate = useNavigate();\n\n const contentAPIPermissionsQuery = useGetPermissionsQuery();\n const contentAPIRoutesQuery = useGetRoutesQuery();\n\n /**\n * Separate effects otherwise we could end\n * up duplicating the same notification.\n */\n React.useEffect(() => {\n if (contentAPIPermissionsQuery.error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(contentAPIPermissionsQuery.error),\n });\n }\n }, [contentAPIPermissionsQuery.error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n if (contentAPIRoutesQuery.error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(contentAPIRoutesQuery.error),\n });\n }\n }, [contentAPIRoutesQuery.error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n if (contentAPIPermissionsQuery.data) {\n dispatch({\n type: 'UPDATE_PERMISSIONS_LAYOUT',\n value: contentAPIPermissionsQuery.data,\n });\n }\n }, [contentAPIPermissionsQuery.data]);\n\n React.useEffect(() => {\n if (contentAPIRoutesQuery.data) {\n dispatch({\n type: 'UPDATE_ROUTES',\n value: contentAPIRoutesQuery.data,\n });\n }\n }, [contentAPIRoutesQuery.data]);\n\n React.useEffect(() => {\n if (apiToken) {\n if (apiToken.type === 'read-only') {\n dispatch({\n type: 'ON_CHANGE_READ_ONLY',\n });\n }\n if (apiToken.type === 'full-access') {\n dispatch({\n type: 'SELECT_ALL_ACTIONS',\n });\n }\n if (apiToken.type === 'custom') {\n dispatch({\n type: 'UPDATE_PERMISSIONS',\n value: apiToken?.permissions,\n });\n }\n }\n }, [apiToken]);\n\n React.useEffect(() => {\n trackUsage(isCreating ? 'didAddTokenFromList' : 'didEditTokenFromList', {\n tokenType: API_TOKEN_TYPE,\n });\n }, [isCreating, trackUsage]);\n\n const { data, error, isLoading } = useGetAPITokenQuery(id!, {\n skip: !id || isCreating || !!apiToken,\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n if (data) {\n setApiToken(data);\n\n if (data.type === 'read-only') {\n dispatch({\n type: 'ON_CHANGE_READ_ONLY',\n });\n }\n if (data.type === 'full-access') {\n dispatch({\n type: 'SELECT_ALL_ACTIONS',\n });\n }\n if (data.type === 'custom') {\n dispatch({\n type: 'UPDATE_PERMISSIONS',\n value: data?.permissions,\n });\n }\n }\n }, [data]);\n\n const [createToken] = useCreateAPITokenMutation();\n const [updateToken] = useUpdateAPITokenMutation();\n\n interface FormValues extends Pick<Get.Response['data'], 'name' | 'description'> {\n lifespan: Get.Response['data']['lifespan'] | undefined;\n type: Get.Response['data']['type'] | undefined;\n }\n\n const handleSubmit = async (body: FormValues, formik: FormikHelpers<FormValues>) => {\n trackUsage(isCreating ? 'willCreateToken' : 'willEditToken', {\n tokenType: API_TOKEN_TYPE,\n });\n\n try {\n if (isCreating) {\n const res = await createToken({\n ...body,\n // lifespan must be \"null\" for unlimited (0 would mean instantly expired and isn't accepted)\n lifespan:\n body?.lifespan && body.lifespan !== '0' ? parseInt(body.lifespan.toString(), 10) : null,\n permissions: body.type === 'custom' ? state.selectedActions : null,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidtionErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.apitokencreated',\n defaultMessage: 'API Token successfully created',\n }),\n });\n\n trackUsage('didCreateToken', {\n type: res.data.type,\n tokenType: API_TOKEN_TYPE,\n });\n\n navigate(`../api-tokens/${res.data.id.toString()}`, {\n state: { apiToken: res.data },\n replace: true,\n });\n setCurrentStep('apiTokens.success');\n } else {\n const res = await updateToken({\n id: id!,\n name: body.name,\n description: body.description,\n type: body.type,\n permissions: body.type === 'custom' ? state.selectedActions : null,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidtionErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.apitokenedited',\n defaultMessage: 'API Token successfully edited',\n }),\n });\n\n trackUsage('didEditToken', {\n type: res.data.type,\n tokenType: API_TOKEN_TYPE,\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n }),\n });\n }\n };\n\n const [hasChangedPermissions, setHasChangedPermissions] = React.useState(false);\n\n const handleChangeCheckbox = ({\n target: { value },\n }: Parameters<ApiTokenPermissionsContextValue['value']['onChange']>[0]) => {\n setHasChangedPermissions(true);\n dispatch({\n type: 'ON_CHANGE',\n value,\n });\n };\n\n const handleChangeSelectAllCheckbox = ({\n target: { value },\n }: Parameters<ApiTokenPermissionsContextValue['value']['onChangeSelectAll']>[0]) => {\n setHasChangedPermissions(true);\n dispatch({\n type: 'SELECT_ALL_IN_PERMISSION',\n value,\n });\n };\n\n const setSelectedAction = ({\n target: { value },\n }: Parameters<ApiTokenPermissionsContextValue['value']['setSelectedAction']>[0]) => {\n dispatch({\n type: 'SET_SELECTED_ACTION',\n value,\n });\n };\n\n const providerValue = {\n ...state,\n onChange: handleChangeCheckbox,\n onChangeSelectAll: handleChangeSelectAllCheckbox,\n setSelectedAction,\n };\n\n const canEditInputs = (canUpdate && !isCreating) || (canCreate && isCreating);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <ApiTokenPermissionsProvider value={providerValue}>\n <Page.Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n { name: 'API Tokens' }\n )}\n </Page.Title>\n <Formik\n validationSchema={schema}\n validateOnChange={false}\n initialValues={{\n name: apiToken?.name || '',\n description: apiToken?.description || '',\n type: apiToken?.type,\n lifespan: apiToken?.lifespan,\n }}\n enableReinitialize\n onSubmit={(body, actions) => handleSubmit(body, actions)}\n >\n {({ errors, handleChange, isSubmitting, values, setFieldValue }) => {\n if (hasChangedPermissions && values?.type !== 'custom') {\n setFieldValue('type', 'custom');\n }\n\n return (\n <Form>\n <FormHead\n title={{\n id: 'Settings.apiTokens.createPage.title',\n defaultMessage: 'Create API Token',\n }}\n token={apiToken}\n setToken={setApiToken}\n canEditInputs={canEditInputs}\n canRegenerate={canRegenerate}\n isSubmitting={isSubmitting}\n regenerateUrl=\"/admin/api-tokens/\"\n />\n\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {Boolean(apiToken?.name) && (\n <TokenBox token={apiToken?.accessKey} tokenType={API_TOKEN_TYPE} />\n )}\n <FormApiTokenContainer\n errors={errors}\n onChange={handleChange}\n canEditInputs={canEditInputs}\n isCreating={isCreating}\n values={values}\n apiToken={apiToken}\n onDispatch={dispatch}\n setHasChangedPermissions={setHasChangedPermissions}\n />\n <Permissions\n disabled={\n !canEditInputs ||\n values?.type === 'read-only' ||\n values?.type === 'full-access'\n }\n />\n </Flex>\n </Layouts.Content>\n </Form>\n );\n }}\n </Formik>\n </Page.Main>\n </ApiTokenPermissionsProvider>\n );\n};\n\nexport const ProtectedEditView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['api-tokens'].read\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n"],"names":["contentApiService","adminApi","injectEndpoints","endpoints","builder","getPermissions","query","transformResponse","response","data","getRoutes","overrideExisting","useGetPermissionsQuery","useGetRoutesQuery","ApiTokenPermissionsContextProvider","useApiTokenPermissionsContext","createContext","ApiTokenPermissionsProvider","children","rest","_jsx","useApiTokenPermissions","FormApiTokenContainer","errors","onChange","canEditInputs","isCreating","values","apiToken","onDispatch","setHasChangedPermissions","formatMessage","useIntl","handleChangeSelectApiTokenType","target","value","type","typeOptions","label","id","defaultMessage","Box","background","hasRadius","shadow","paddingTop","paddingBottom","paddingLeft","paddingRight","_jsxs","Flex","direction","alignItems","gap","Typography","variant","tag","Grid","Root","Item","col","xs","TokenName","error","TokenDescription","LifeSpanInput","token","TokenTypeSelect","name","options","getMethodColor","verb","text","border","MethodBox","styled","theme","spaces","BoundRoute","route","handler","method","path","title","formattedRoute","tail","split","controller","action","colors","span","textColor","borderColor","padding","fontWeight","map","includes","ActionBoundRoutes","selectedAction","routes","actionSection","style","minHeight","config","auth","scope","activeCheckboxWrapperStyles","css","props","primary100","CheckboxWrapper","primary600","$isActive","Border","div","neutral150","CollapsableContentType","controllers","orderNumber","disabled","onChangeSelectAll","selectedActions","setSelectedAction","isActionSelected","actionId","Accordion","Header","Trigger","capitalize","Content","allActionsSelected","actions","every","someActionsSelected","some","justifyContent","Checkbox","checked","onCheckedChange","button","data-testid","onClick","display","Cog","ContentTypesSection","section","size","api","index","apiId","Permissions","permissions","schema","yup","object","shape","string","max","required","translatedErrors","oneOf","description","nullable","lifespan","number","integer","min","defined","transformPermissionsData","layout","allActionsIds","Object","entries","permission","keys","push","flat","initialState","reducer","state","produce","draftState","pull","areAllSelected","item","forEach","onlyReadOnlyActions","filter","EditView","toggleNotification","useNotification","locationState","useLocation","useTypedSelector","admin_app","setApiToken","React","useState","accessKey","trackUsage","useTracking","setCurrentStep","useGuidedTour","allowedActions","canCreate","canUpdate","canRegenerate","useRBAC","settings","dispatch","useReducer","match","useMatch","params","_unstableFormatAPIError","formatAPIError","_unstableFormatValidationErrors","formatValidtionErrors","useAPIErrorHandler","navigate","useNavigate","contentAPIPermissionsQuery","contentAPIRoutesQuery","useEffect","message","tokenType","API_TOKEN_TYPE","isLoading","useGetAPITokenQuery","skip","createToken","useCreateAPITokenMutation","updateToken","useUpdateAPITokenMutation","handleSubmit","body","formik","res","parseInt","toString","isBaseQueryError","setErrors","replace","hasChangedPermissions","handleChangeCheckbox","handleChangeSelectAllCheckbox","providerValue","Page","Loading","Main","Title","Formik","validationSchema","validateOnChange","initialValues","enableReinitialize","onSubmit","handleChange","isSubmitting","setFieldValue","Form","FormHead","setToken","regenerateUrl","Layouts","Boolean","TokenBox","ProtectedEditView","read","Protect"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
- import { a as Events } from './EditPage-BNZ90ISm.mjs';
2
+ import { a as Events } from './EditPage-C44OaxjN.mjs';
3
3
  import 'react';
4
4
  import '@strapi/design-system';
5
5
  import 'react-intl';
6
6
  import 'react-router-dom';
7
- import './Theme-CDaBfQ-7.mjs';
7
+ import './Theme-C3oHrQcy.mjs';
8
8
  import '@radix-ui/react-context';
9
9
  import '@strapi/icons';
10
10
  import '@strapi/icons/symbols';
@@ -25,9 +25,9 @@ import 'lodash/defaultsDeep';
25
25
  import 'react-redux';
26
26
  import 'styled-components';
27
27
  import '@reduxjs/toolkit';
28
- import './selectors-PQdhPmzv.mjs';
28
+ import './selectors-Dej_6h4x.mjs';
29
29
  import 'yup';
30
- import './index-BUGouNML.mjs';
30
+ import './index-BM8-DG5K.mjs';
31
31
  import 'react-dom/client';
32
32
  import 'invariant';
33
33
  import 'lodash/isFunction';
@@ -92,4 +92,4 @@ const EventsTableEE = ()=>{
92
92
  };
93
93
 
94
94
  export { EventsTableEE };
95
- //# sourceMappingURL=EventsTable-CsFf4rOj.mjs.map
95
+ //# sourceMappingURL=EventsTable-CeqMb1jP.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventsTable-CsFf4rOj.mjs","sources":["../../../ee/admin/src/pages/SettingsPage/pages/Webhooks/components/EventsTable.tsx"],"sourcesContent":["import { Events } from '../../../../../../../../admin/src/pages/Settings/pages/Webhooks/components/Events';\n\nconst eeTables = {\n 'review-workflows': {\n 'review-workflows': ['review-workflows.updateEntryStage'],\n },\n releases: {\n releases: ['releases.publish'],\n },\n};\n\nconst getHeaders = (table: keyof typeof eeTables) => {\n switch (table) {\n case 'review-workflows':\n return () => [{ id: 'review-workflows.updateEntryStage', defaultMessage: 'Stage Change' }];\n case 'releases':\n return () => [{ id: 'releases.publish', defaultMessage: 'Publish' }];\n }\n};\n\nconst EventsTableEE = () => {\n return (\n <Events.Root>\n <Events.Headers />\n <Events.Body />\n {(Object.keys(eeTables) as Array<keyof typeof eeTables>).map((table) => (\n <>\n <Events.Headers getHeaders={getHeaders(table)} />\n <Events.Body providedEvents={eeTables[table]} />\n </>\n ))}\n </Events.Root>\n );\n};\n\nexport { EventsTableEE };\n"],"names":["eeTables","releases","getHeaders","table","id","defaultMessage","EventsTableEE","_jsxs","Events","Root","_jsx","Headers","Body","Object","keys","map","_Fragment","providedEvents"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAMA,QAAW,GAAA;IACf,kBAAoB,EAAA;QAClB,kBAAoB,EAAA;AAAC,YAAA;AAAoC;AAC3D,KAAA;IACAC,QAAU,EAAA;QACRA,QAAU,EAAA;AAAC,YAAA;AAAmB;AAChC;AACF,CAAA;AAEA,MAAMC,aAAa,CAACC,KAAAA,GAAAA;IAClB,OAAQA,KAAAA;QACN,KAAK,kBAAA;AACH,YAAA,OAAO,IAAM;AAAC,oBAAA;wBAAEC,EAAI,EAAA,mCAAA;wBAAqCC,cAAgB,EAAA;AAAe;AAAE,iBAAA;QAC5F,KAAK,UAAA;AACH,YAAA,OAAO,IAAM;AAAC,oBAAA;wBAAED,EAAI,EAAA,kBAAA;wBAAoBC,cAAgB,EAAA;AAAU;AAAE,iBAAA;AACxE;AACF,CAAA;AAEA,MAAMC,aAAgB,GAAA,IAAA;IACpB,qBACEC,IAAA,CAACC,OAAOC,IAAI,EAAA;;AACV,0BAAAC,GAAA,CAACF,OAAOG,OAAO,EAAA,EAAA,CAAA;AACf,0BAAAD,GAAA,CAACF,OAAOI,IAAI,EAAA,EAAA,CAAA;AACVC,YAAAA,MAAAA,CAAOC,IAAI,CAACd,QAAAA,CAAAA,CAA2Ce,GAAG,CAAC,CAACZ,KAC5D,iBAAAI,IAAA,CAAAS,QAAA,EAAA;;AACE,sCAAAN,GAAA,CAACF,OAAOG,OAAO,EAAA;AAACT,4BAAAA,UAAAA,EAAYA,UAAWC,CAAAA,KAAAA;;AACvC,sCAAAO,GAAA,CAACF,OAAOI,IAAI,EAAA;4BAACK,cAAgBjB,EAAAA,QAAQ,CAACG,KAAM;;;;;;AAKtD;;;;"}
1
+ {"version":3,"file":"EventsTable-CeqMb1jP.mjs","sources":["../../../ee/admin/src/pages/SettingsPage/pages/Webhooks/components/EventsTable.tsx"],"sourcesContent":["import { Events } from '../../../../../../../../admin/src/pages/Settings/pages/Webhooks/components/Events';\n\nconst eeTables = {\n 'review-workflows': {\n 'review-workflows': ['review-workflows.updateEntryStage'],\n },\n releases: {\n releases: ['releases.publish'],\n },\n};\n\nconst getHeaders = (table: keyof typeof eeTables) => {\n switch (table) {\n case 'review-workflows':\n return () => [{ id: 'review-workflows.updateEntryStage', defaultMessage: 'Stage Change' }];\n case 'releases':\n return () => [{ id: 'releases.publish', defaultMessage: 'Publish' }];\n }\n};\n\nconst EventsTableEE = () => {\n return (\n <Events.Root>\n <Events.Headers />\n <Events.Body />\n {(Object.keys(eeTables) as Array<keyof typeof eeTables>).map((table) => (\n <>\n <Events.Headers getHeaders={getHeaders(table)} />\n <Events.Body providedEvents={eeTables[table]} />\n </>\n ))}\n </Events.Root>\n );\n};\n\nexport { EventsTableEE };\n"],"names":["eeTables","releases","getHeaders","table","id","defaultMessage","EventsTableEE","_jsxs","Events","Root","_jsx","Headers","Body","Object","keys","map","_Fragment","providedEvents"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAMA,QAAW,GAAA;IACf,kBAAoB,EAAA;QAClB,kBAAoB,EAAA;AAAC,YAAA;AAAoC;AAC3D,KAAA;IACAC,QAAU,EAAA;QACRA,QAAU,EAAA;AAAC,YAAA;AAAmB;AAChC;AACF,CAAA;AAEA,MAAMC,aAAa,CAACC,KAAAA,GAAAA;IAClB,OAAQA,KAAAA;QACN,KAAK,kBAAA;AACH,YAAA,OAAO,IAAM;AAAC,oBAAA;wBAAEC,EAAI,EAAA,mCAAA;wBAAqCC,cAAgB,EAAA;AAAe;AAAE,iBAAA;QAC5F,KAAK,UAAA;AACH,YAAA,OAAO,IAAM;AAAC,oBAAA;wBAAED,EAAI,EAAA,kBAAA;wBAAoBC,cAAgB,EAAA;AAAU;AAAE,iBAAA;AACxE;AACF,CAAA;AAEA,MAAMC,aAAgB,GAAA,IAAA;IACpB,qBACEC,IAAA,CAACC,OAAOC,IAAI,EAAA;;AACV,0BAAAC,GAAA,CAACF,OAAOG,OAAO,EAAA,EAAA,CAAA;AACf,0BAAAD,GAAA,CAACF,OAAOI,IAAI,EAAA,EAAA,CAAA;AACVC,YAAAA,MAAAA,CAAOC,IAAI,CAACd,QAAAA,CAAAA,CAA2Ce,GAAG,CAAC,CAACZ,KAC5D,iBAAAI,IAAA,CAAAS,QAAA,EAAA;;AACE,sCAAAN,GAAA,CAACF,OAAOG,OAAO,EAAA;AAACT,4BAAAA,UAAAA,EAAYA,UAAWC,CAAAA,KAAAA;;AACvC,sCAAAO,GAAA,CAACF,OAAOI,IAAI,EAAA;4BAACK,cAAgBjB,EAAAA,QAAQ,CAACG,KAAM;;;;;;AAKtD;;;;"}
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
- var EditPage = require('./EditPage-DiDSR0tz.js');
4
+ var EditPage = require('./EditPage-CycQlsFL.js');
5
5
  require('react');
6
6
  require('@strapi/design-system');
7
7
  require('react-intl');
8
8
  require('react-router-dom');
9
- require('./Theme-CFGbtvHi.js');
9
+ require('./Theme-DDlJz91O.js');
10
10
  require('@radix-ui/react-context');
11
11
  require('@strapi/icons');
12
12
  require('@strapi/icons/symbols');
@@ -27,9 +27,9 @@ require('lodash/defaultsDeep');
27
27
  require('react-redux');
28
28
  require('styled-components');
29
29
  require('@reduxjs/toolkit');
30
- require('./selectors-2ohXQx5g.js');
30
+ require('./selectors-Bf-6Fmez.js');
31
31
  require('yup');
32
- require('./index-D7OmC33R.js');
32
+ require('./index-HGaughzt.js');
33
33
  require('react-dom/client');
34
34
  require('invariant');
35
35
  require('lodash/isFunction');
@@ -94,4 +94,4 @@ const EventsTableEE = ()=>{
94
94
  };
95
95
 
96
96
  exports.EventsTableEE = EventsTableEE;
97
- //# sourceMappingURL=EventsTable-CZY0aI5G.js.map
97
+ //# sourceMappingURL=EventsTable-fkWvAMuL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventsTable-CZY0aI5G.js","sources":["../../../ee/admin/src/pages/SettingsPage/pages/Webhooks/components/EventsTable.tsx"],"sourcesContent":["import { Events } from '../../../../../../../../admin/src/pages/Settings/pages/Webhooks/components/Events';\n\nconst eeTables = {\n 'review-workflows': {\n 'review-workflows': ['review-workflows.updateEntryStage'],\n },\n releases: {\n releases: ['releases.publish'],\n },\n};\n\nconst getHeaders = (table: keyof typeof eeTables) => {\n switch (table) {\n case 'review-workflows':\n return () => [{ id: 'review-workflows.updateEntryStage', defaultMessage: 'Stage Change' }];\n case 'releases':\n return () => [{ id: 'releases.publish', defaultMessage: 'Publish' }];\n }\n};\n\nconst EventsTableEE = () => {\n return (\n <Events.Root>\n <Events.Headers />\n <Events.Body />\n {(Object.keys(eeTables) as Array<keyof typeof eeTables>).map((table) => (\n <>\n <Events.Headers getHeaders={getHeaders(table)} />\n <Events.Body providedEvents={eeTables[table]} />\n </>\n ))}\n </Events.Root>\n );\n};\n\nexport { EventsTableEE };\n"],"names":["eeTables","releases","getHeaders","table","id","defaultMessage","EventsTableEE","_jsxs","Events","Root","_jsx","Headers","Body","Object","keys","map","_Fragment","providedEvents"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAMA,QAAW,GAAA;IACf,kBAAoB,EAAA;QAClB,kBAAoB,EAAA;AAAC,YAAA;AAAoC;AAC3D,KAAA;IACAC,QAAU,EAAA;QACRA,QAAU,EAAA;AAAC,YAAA;AAAmB;AAChC;AACF,CAAA;AAEA,MAAMC,aAAa,CAACC,KAAAA,GAAAA;IAClB,OAAQA,KAAAA;QACN,KAAK,kBAAA;AACH,YAAA,OAAO,IAAM;AAAC,oBAAA;wBAAEC,EAAI,EAAA,mCAAA;wBAAqCC,cAAgB,EAAA;AAAe;AAAE,iBAAA;QAC5F,KAAK,UAAA;AACH,YAAA,OAAO,IAAM;AAAC,oBAAA;wBAAED,EAAI,EAAA,kBAAA;wBAAoBC,cAAgB,EAAA;AAAU;AAAE,iBAAA;AACxE;AACF,CAAA;AAEA,MAAMC,aAAgB,GAAA,IAAA;IACpB,qBACEC,eAAA,CAACC,gBAAOC,IAAI,EAAA;;AACV,0BAAAC,cAAA,CAACF,gBAAOG,OAAO,EAAA,EAAA,CAAA;AACf,0BAAAD,cAAA,CAACF,gBAAOI,IAAI,EAAA,EAAA,CAAA;AACVC,YAAAA,MAAAA,CAAOC,IAAI,CAACd,QAAAA,CAAAA,CAA2Ce,GAAG,CAAC,CAACZ,KAC5D,iBAAAI,eAAA,CAAAS,mBAAA,EAAA;;AACE,sCAAAN,cAAA,CAACF,gBAAOG,OAAO,EAAA;AAACT,4BAAAA,UAAAA,EAAYA,UAAWC,CAAAA,KAAAA;;AACvC,sCAAAO,cAAA,CAACF,gBAAOI,IAAI,EAAA;4BAACK,cAAgBjB,EAAAA,QAAQ,CAACG,KAAM;;;;;;AAKtD;;;;"}
1
+ {"version":3,"file":"EventsTable-fkWvAMuL.js","sources":["../../../ee/admin/src/pages/SettingsPage/pages/Webhooks/components/EventsTable.tsx"],"sourcesContent":["import { Events } from '../../../../../../../../admin/src/pages/Settings/pages/Webhooks/components/Events';\n\nconst eeTables = {\n 'review-workflows': {\n 'review-workflows': ['review-workflows.updateEntryStage'],\n },\n releases: {\n releases: ['releases.publish'],\n },\n};\n\nconst getHeaders = (table: keyof typeof eeTables) => {\n switch (table) {\n case 'review-workflows':\n return () => [{ id: 'review-workflows.updateEntryStage', defaultMessage: 'Stage Change' }];\n case 'releases':\n return () => [{ id: 'releases.publish', defaultMessage: 'Publish' }];\n }\n};\n\nconst EventsTableEE = () => {\n return (\n <Events.Root>\n <Events.Headers />\n <Events.Body />\n {(Object.keys(eeTables) as Array<keyof typeof eeTables>).map((table) => (\n <>\n <Events.Headers getHeaders={getHeaders(table)} />\n <Events.Body providedEvents={eeTables[table]} />\n </>\n ))}\n </Events.Root>\n );\n};\n\nexport { EventsTableEE };\n"],"names":["eeTables","releases","getHeaders","table","id","defaultMessage","EventsTableEE","_jsxs","Events","Root","_jsx","Headers","Body","Object","keys","map","_Fragment","providedEvents"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAMA,QAAW,GAAA;IACf,kBAAoB,EAAA;QAClB,kBAAoB,EAAA;AAAC,YAAA;AAAoC;AAC3D,KAAA;IACAC,QAAU,EAAA;QACRA,QAAU,EAAA;AAAC,YAAA;AAAmB;AAChC;AACF,CAAA;AAEA,MAAMC,aAAa,CAACC,KAAAA,GAAAA;IAClB,OAAQA,KAAAA;QACN,KAAK,kBAAA;AACH,YAAA,OAAO,IAAM;AAAC,oBAAA;wBAAEC,EAAI,EAAA,mCAAA;wBAAqCC,cAAgB,EAAA;AAAe;AAAE,iBAAA;QAC5F,KAAK,UAAA;AACH,YAAA,OAAO,IAAM;AAAC,oBAAA;wBAAED,EAAI,EAAA,kBAAA;wBAAoBC,cAAgB,EAAA;AAAU;AAAE,iBAAA;AACxE;AACF,CAAA;AAEA,MAAMC,aAAgB,GAAA,IAAA;IACpB,qBACEC,eAAA,CAACC,gBAAOC,IAAI,EAAA;;AACV,0BAAAC,cAAA,CAACF,gBAAOG,OAAO,EAAA,EAAA,CAAA;AACf,0BAAAD,cAAA,CAACF,gBAAOI,IAAI,EAAA,EAAA,CAAA;AACVC,YAAAA,MAAAA,CAAOC,IAAI,CAACd,QAAAA,CAAAA,CAA2Ce,GAAG,CAAC,CAACZ,KAC5D,iBAAAI,eAAA,CAAAS,mBAAA,EAAA;;AACE,sCAAAN,cAAA,CAACF,gBAAOG,OAAO,EAAA;AAACT,4BAAAA,UAAAA,EAAYA,UAAWC,CAAAA,KAAAA;;AACvC,sCAAAO,cAAA,CAACF,gBAAOI,IAAI,EAAA;4BAACK,cAAgBjB,EAAAA,QAAQ,CAACG,KAAM;;;;;;AAKtD;;;;"}
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
- var HomePage = require('./HomePage-Df0YSqNE.js');
5
- var useLicenseLimitNotification = require('./useLicenseLimitNotification-BMCQ8obE.js');
4
+ var HomePage = require('./HomePage-CVc0RfvD.js');
5
+ var useLicenseLimitNotification = require('./useLicenseLimitNotification-iuozPic9.js');
6
6
  require('react');
7
7
  require('@strapi/design-system');
8
8
  require('react-intl');
9
- require('./index-D7OmC33R.js');
9
+ require('./index-HGaughzt.js');
10
10
  require('react-dom/client');
11
11
  require('invariant');
12
12
  require('lodash/isFunction');
@@ -14,7 +14,7 @@ require('lodash/merge');
14
14
  require('lodash/pick');
15
15
  require('react-router-dom');
16
16
  require('immer');
17
- require('./Theme-CFGbtvHi.js');
17
+ require('./Theme-DDlJz91O.js');
18
18
  require('@radix-ui/react-context');
19
19
  require('@strapi/icons');
20
20
  require('@strapi/icons/symbols');
@@ -54,4 +54,4 @@ const HomePageEE = ()=>{
54
54
  };
55
55
 
56
56
  exports.HomePageEE = HomePageEE;
57
- //# sourceMappingURL=HomePage-ebJLhO6a.js.map
57
+ //# sourceMappingURL=HomePage-B2skN1xt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HomePage-ebJLhO6a.js","sources":["../../../ee/admin/src/pages/HomePage.tsx"],"sourcesContent":["import { HomePageCE } from '../../../../admin/src/pages/Home/HomePage';\nimport { useLicenseLimitNotification } from '../hooks/useLicenseLimitNotification';\n\nexport const HomePageEE = () => {\n useLicenseLimitNotification();\n\n return <HomePageCE />;\n};\n"],"names":["HomePageEE","useLicenseLimitNotification","_jsx","HomePageCE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAGaA,UAAa,GAAA,IAAA;AACxBC,IAAAA,uDAAAA,EAAAA;AAEA,IAAA,qBAAOC,cAACC,CAAAA,mBAAAA,EAAAA,EAAAA,CAAAA;AACV;;;;"}
1
+ {"version":3,"file":"HomePage-B2skN1xt.js","sources":["../../../ee/admin/src/pages/HomePage.tsx"],"sourcesContent":["import { HomePageCE } from '../../../../admin/src/pages/Home/HomePage';\nimport { useLicenseLimitNotification } from '../hooks/useLicenseLimitNotification';\n\nexport const HomePageEE = () => {\n useLicenseLimitNotification();\n\n return <HomePageCE />;\n};\n"],"names":["HomePageEE","useLicenseLimitNotification","_jsx","HomePageCE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAGaA,UAAa,GAAA,IAAA;AACxBC,IAAAA,uDAAAA,EAAAA;AAEA,IAAA,qBAAOC,cAACC,CAAAA,mBAAAA,EAAAA,EAAAA,CAAAA;AACV;;;;"}
@@ -4,8 +4,8 @@ var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
5
  var designSystem = require('@strapi/design-system');
6
6
  var reactIntl = require('react-intl');
7
- var index = require('./index-D7OmC33R.js');
8
- var Theme = require('./Theme-CFGbtvHi.js');
7
+ var index = require('./index-HGaughzt.js');
8
+ var Theme = require('./Theme-DDlJz91O.js');
9
9
  var admin = require('./admin-udBiOv2o.js');
10
10
  var useEnterprise = require('./useEnterprise-IHd3AKd2.js');
11
11
  var icons = require('@strapi/icons');
@@ -576,7 +576,7 @@ const GuidedTour = ()=>{
576
576
  * HomePage
577
577
  * -----------------------------------------------------------------------------------------------*/ const HomePage = ()=>{
578
578
  const Page = useEnterprise.useEnterprise(HomePageCE, // eslint-disable-next-line import/no-cycle
579
- async ()=>(await Promise.resolve().then(function () { return require('./HomePage-ebJLhO6a.js'); })).HomePageEE);
579
+ async ()=>(await Promise.resolve().then(function () { return require('./HomePage-B2skN1xt.js'); })).HomePageEE);
580
580
  // block rendering until the EE component is fully loaded
581
581
  if (!Page) {
582
582
  return null;
@@ -586,4 +586,4 @@ const GuidedTour = ()=>{
586
586
 
587
587
  exports.HomePage = HomePage;
588
588
  exports.HomePageCE = HomePageCE;
589
- //# sourceMappingURL=HomePage-Df0YSqNE.js.map
589
+ //# sourceMappingURL=HomePage-CVc0RfvD.js.map