@strapi/admin 4.23.0 → 4.23.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/dist/_chunks/{AdminSeatInfo-OtmhuvDo.mjs → AdminSeatInfo-ke9x9K70.mjs} +3 -3
  2. package/dist/_chunks/{AdminSeatInfo-OtmhuvDo.mjs.map → AdminSeatInfo-ke9x9K70.mjs.map} +1 -1
  3. package/dist/_chunks/{AdminSeatInfo--XHxTzut.js → AdminSeatInfo-rwTsXtSq.js} +3 -3
  4. package/dist/_chunks/{AdminSeatInfo--XHxTzut.js.map → AdminSeatInfo-rwTsXtSq.js.map} +1 -1
  5. package/dist/_chunks/{AuthenticatedApp-SHeC-UG0.js → AuthenticatedApp-OQ6G5b3W.js} +23 -23
  6. package/dist/_chunks/{AuthenticatedApp-SHeC-UG0.js.map → AuthenticatedApp-OQ6G5b3W.js.map} +1 -1
  7. package/dist/_chunks/{AuthenticatedApp-sR7yWW55.mjs → AuthenticatedApp-eCrm0itM.mjs} +23 -23
  8. package/dist/_chunks/{AuthenticatedApp-sR7yWW55.mjs.map → AuthenticatedApp-eCrm0itM.mjs.map} +1 -1
  9. package/dist/_chunks/{CreateActionEE-eawACpNf.mjs → CreateActionEE-C2lPBjhs.mjs} +2 -2
  10. package/dist/_chunks/{CreateActionEE-eawACpNf.mjs.map → CreateActionEE-C2lPBjhs.mjs.map} +1 -1
  11. package/dist/_chunks/{CreateActionEE-kYA8bsUH.js → CreateActionEE-K456GlhK.js} +2 -2
  12. package/dist/_chunks/{CreateActionEE-kYA8bsUH.js.map → CreateActionEE-K456GlhK.js.map} +1 -1
  13. package/dist/_chunks/{CreatePage-KE1SX_qN.mjs → CreatePage-BuPSkwc-.mjs} +8 -8
  14. package/dist/_chunks/{CreatePage-KE1SX_qN.mjs.map → CreatePage-BuPSkwc-.mjs.map} +1 -1
  15. package/dist/_chunks/{CreatePage-L7pQbKTx.js → CreatePage-FW0eBO5Q.js} +6 -6
  16. package/dist/_chunks/{CreatePage-L7pQbKTx.js.map → CreatePage-FW0eBO5Q.js.map} +1 -1
  17. package/dist/_chunks/{CreatePage-9OdgJbAT.mjs → CreatePage-UZ0qDLxr.mjs} +6 -6
  18. package/dist/_chunks/{CreatePage-9OdgJbAT.mjs.map → CreatePage-UZ0qDLxr.mjs.map} +1 -1
  19. package/dist/_chunks/{CreatePage-hbm5kS_s.js → CreatePage-d3XO42Pr.js} +8 -8
  20. package/dist/_chunks/{CreatePage-hbm5kS_s.js.map → CreatePage-d3XO42Pr.js.map} +1 -1
  21. package/dist/_chunks/{CreatePage-ECo3u4J6.js → CreatePage-n4gZhxzY.js} +3 -3
  22. package/dist/_chunks/{CreatePage-ECo3u4J6.js.map → CreatePage-n4gZhxzY.js.map} +1 -1
  23. package/dist/_chunks/{CreatePage-PJkvYX4n.mjs → CreatePage-qKlqDvo1.mjs} +3 -3
  24. package/dist/_chunks/{CreatePage-PJkvYX4n.mjs.map → CreatePage-qKlqDvo1.mjs.map} +1 -1
  25. package/dist/_chunks/{CreateView-X1xyA2tC.mjs → CreateView-6uezd0WA.mjs} +6 -6
  26. package/dist/_chunks/{CreateView-X1xyA2tC.mjs.map → CreateView-6uezd0WA.mjs.map} +1 -1
  27. package/dist/_chunks/{CreateView-mxcTOOHg.js → CreateView-INf2W3aT.js} +6 -6
  28. package/dist/_chunks/{CreateView-mxcTOOHg.js.map → CreateView-INf2W3aT.js.map} +1 -1
  29. package/dist/_chunks/{CreateView-dbyIvT5d.js → CreateView-_3lP5wJl.js} +6 -6
  30. package/dist/_chunks/{CreateView-dbyIvT5d.js.map → CreateView-_3lP5wJl.js.map} +1 -1
  31. package/dist/_chunks/{CreateView-CBHHkgEx.mjs → CreateView-u-iD8Rda.mjs} +6 -6
  32. package/dist/_chunks/{CreateView-CBHHkgEx.mjs.map → CreateView-u-iD8Rda.mjs.map} +1 -1
  33. package/dist/_chunks/{EditPage-uZNgB323.js → EditPage-GIaS7ory.js} +6 -6
  34. package/dist/_chunks/{EditPage-uZNgB323.js.map → EditPage-GIaS7ory.js.map} +1 -1
  35. package/dist/_chunks/{EditPage-EEQCcLpS.mjs → EditPage-MAqbMyDl.mjs} +4 -4
  36. package/dist/_chunks/{EditPage-EEQCcLpS.mjs.map → EditPage-MAqbMyDl.mjs.map} +1 -1
  37. package/dist/_chunks/{EditPage-FRENvBNa.js → EditPage-Qhu_J0v9.js} +9 -9
  38. package/dist/_chunks/{EditPage-FRENvBNa.js.map → EditPage-Qhu_J0v9.js.map} +1 -1
  39. package/dist/_chunks/{EditPage-jQf38mPz.js → EditPage-V9-fJZ0T.js} +6 -6
  40. package/dist/_chunks/{EditPage-jQf38mPz.js.map → EditPage-V9-fJZ0T.js.map} +1 -1
  41. package/dist/_chunks/{EditPage-ClUHC6Hg.js → EditPage-ZdtGyGdv.js} +4 -4
  42. package/dist/_chunks/{EditPage-ClUHC6Hg.js.map → EditPage-ZdtGyGdv.js.map} +1 -1
  43. package/dist/_chunks/{EditPage-9juCBftg.mjs → EditPage-aq3TODI6.mjs} +6 -6
  44. package/dist/_chunks/{EditPage-9juCBftg.mjs.map → EditPage-aq3TODI6.mjs.map} +1 -1
  45. package/dist/_chunks/{EditPage-6V0DUu3j.mjs → EditPage-nXa8ZjF_.mjs} +9 -9
  46. package/dist/_chunks/{EditPage-6V0DUu3j.mjs.map → EditPage-nXa8ZjF_.mjs.map} +1 -1
  47. package/dist/_chunks/{EditPage-XAuJwNNM.mjs → EditPage-nk0qQh97.mjs} +6 -6
  48. package/dist/_chunks/{EditPage-XAuJwNNM.mjs.map → EditPage-nk0qQh97.mjs.map} +1 -1
  49. package/dist/_chunks/{EditView-s9HawrP0.js → EditView-4UbgxD6x.js} +4 -4
  50. package/dist/_chunks/{EditView-s9HawrP0.js.map → EditView-4UbgxD6x.js.map} +1 -1
  51. package/dist/_chunks/{EditView-m5LacBuU.mjs → EditView-nKTYbwb9.mjs} +4 -4
  52. package/dist/_chunks/{EditView-m5LacBuU.mjs.map → EditView-nKTYbwb9.mjs.map} +1 -1
  53. package/dist/_chunks/{EditViewPage-yfqIsjY2.mjs → EditViewPage-8tGwJ1SA.mjs} +4 -4
  54. package/dist/_chunks/{EditViewPage-yfqIsjY2.mjs.map → EditViewPage-8tGwJ1SA.mjs.map} +1 -1
  55. package/dist/_chunks/{EditViewPage-bWtToCuw.js → EditViewPage-fxxjICEo.js} +4 -4
  56. package/dist/_chunks/{EditViewPage-bWtToCuw.js.map → EditViewPage-fxxjICEo.js.map} +1 -1
  57. package/dist/_chunks/{EventsTable-vYoMUK2-.js → EventsTable-7FLeEv3l.js} +6 -6
  58. package/dist/_chunks/{EventsTable-vYoMUK2-.js.map → EventsTable-7FLeEv3l.js.map} +1 -1
  59. package/dist/_chunks/{EventsTable-_eoMsdvv.mjs → EventsTable-_6nhYFKy.mjs} +6 -6
  60. package/dist/_chunks/{EventsTable-_eoMsdvv.mjs.map → EventsTable-_6nhYFKy.mjs.map} +1 -1
  61. package/dist/_chunks/{HomePage--0NJkOL-.js → HomePage-RfiqwTPL.js} +6 -6
  62. package/dist/_chunks/{HomePage--0NJkOL-.js.map → HomePage-RfiqwTPL.js.map} +1 -1
  63. package/dist/_chunks/{HomePage-Lca9Ki9a.js → HomePage-VXVu3O8H.js} +5 -5
  64. package/dist/_chunks/{HomePage-Lca9Ki9a.js.map → HomePage-VXVu3O8H.js.map} +1 -1
  65. package/dist/_chunks/{HomePage-Hl8rgrES.mjs → HomePage-_kqPINo4.mjs} +5 -5
  66. package/dist/_chunks/{HomePage-Hl8rgrES.mjs.map → HomePage-_kqPINo4.mjs.map} +1 -1
  67. package/dist/_chunks/{HomePage-ajmanY_A.mjs → HomePage-lkJbV-sX.mjs} +6 -6
  68. package/dist/_chunks/{HomePage-ajmanY_A.mjs.map → HomePage-lkJbV-sX.mjs.map} +1 -1
  69. package/dist/_chunks/{InformationBoxEE-KsaLx7tQ.mjs → InformationBoxEE-25aDyIh6.mjs} +3 -3
  70. package/dist/_chunks/{InformationBoxEE-KsaLx7tQ.mjs.map → InformationBoxEE-25aDyIh6.mjs.map} +1 -1
  71. package/dist/_chunks/{InformationBoxEE-x3Lbod-1.js → InformationBoxEE-4KcEOSI-.js} +3 -3
  72. package/dist/_chunks/{InformationBoxEE-x3Lbod-1.js.map → InformationBoxEE-4KcEOSI-.js.map} +1 -1
  73. package/dist/_chunks/{InstalledPluginsPage-_v3NvH2W.mjs → InstalledPluginsPage-9kynTTJ3.mjs} +3 -3
  74. package/dist/_chunks/{InstalledPluginsPage-_v3NvH2W.mjs.map → InstalledPluginsPage-9kynTTJ3.mjs.map} +1 -1
  75. package/dist/_chunks/{InstalledPluginsPage-vtgjdFak.js → InstalledPluginsPage-HeduiXVS.js} +3 -3
  76. package/dist/_chunks/{InstalledPluginsPage-vtgjdFak.js.map → InstalledPluginsPage-HeduiXVS.js.map} +1 -1
  77. package/dist/_chunks/{Layout-cVLdNmjH.js → Layout-kSbY1nXA.js} +2 -2
  78. package/dist/_chunks/{Layout-cVLdNmjH.js.map → Layout-kSbY1nXA.js.map} +1 -1
  79. package/dist/_chunks/{Layout-rHnRI-Tm.mjs → Layout-p59zWnvw.mjs} +2 -2
  80. package/dist/_chunks/{Layout-rHnRI-Tm.mjs.map → Layout-p59zWnvw.mjs.map} +1 -1
  81. package/dist/_chunks/{ListPage-zcE3si3J.mjs → ListPage-3TE-YUxf.mjs} +6 -6
  82. package/dist/_chunks/{ListPage-zcE3si3J.mjs.map → ListPage-3TE-YUxf.mjs.map} +1 -1
  83. package/dist/_chunks/{ListPage-Oi1PprG2.js → ListPage-6IO_Dp0d.js} +3 -3
  84. package/dist/_chunks/{ListPage-Oi1PprG2.js.map → ListPage-6IO_Dp0d.js.map} +1 -1
  85. package/dist/_chunks/{ListPage-GVfnnK37.js → ListPage-D38IMt6p.js} +2 -2
  86. package/dist/_chunks/{ListPage-GVfnnK37.js.map → ListPage-D38IMt6p.js.map} +1 -1
  87. package/dist/_chunks/{ListPage-2G97K5_e.js → ListPage-NEpCQPNr.js} +4 -4
  88. package/dist/_chunks/{ListPage-2G97K5_e.js.map → ListPage-NEpCQPNr.js.map} +1 -1
  89. package/dist/_chunks/{ListPage-dJbbjjZB.mjs → ListPage-RreVDmEg.mjs} +4 -4
  90. package/dist/_chunks/{ListPage-dJbbjjZB.mjs.map → ListPage-RreVDmEg.mjs.map} +1 -1
  91. package/dist/_chunks/{ListPage-JqvN7G-Y.mjs → ListPage-RyIyUNEK.mjs} +2 -2
  92. package/dist/_chunks/{ListPage-JqvN7G-Y.mjs.map → ListPage-RyIyUNEK.mjs.map} +1 -1
  93. package/dist/_chunks/{ListPage-I3nscK7b.mjs → ListPage-_chqxAFQ.mjs} +8 -8
  94. package/dist/_chunks/{ListPage-I3nscK7b.mjs.map → ListPage-_chqxAFQ.mjs.map} +1 -1
  95. package/dist/_chunks/{ListPage-oPEEKhfQ.mjs → ListPage-pGPGvo_9.mjs} +7 -7
  96. package/dist/_chunks/{ListPage-oPEEKhfQ.mjs.map → ListPage-pGPGvo_9.mjs.map} +1 -1
  97. package/dist/_chunks/{ListPage-RZ6Khs2C.mjs → ListPage-pKL4oMxS.mjs} +3 -3
  98. package/dist/_chunks/{ListPage-RZ6Khs2C.mjs.map → ListPage-pKL4oMxS.mjs.map} +1 -1
  99. package/dist/_chunks/{ListPage--9dfm2I4.js → ListPage-r7UUp2pp.js} +6 -6
  100. package/dist/_chunks/{ListPage--9dfm2I4.js.map → ListPage-r7UUp2pp.js.map} +1 -1
  101. package/dist/_chunks/{ListPage-YCE3Z8ZH.js → ListPage-uPc6ZzwW.js} +8 -8
  102. package/dist/_chunks/{ListPage-YCE3Z8ZH.js.map → ListPage-uPc6ZzwW.js.map} +1 -1
  103. package/dist/_chunks/{ListPage-OhzPorIH.js → ListPage-zq1VErwa.js} +7 -7
  104. package/dist/_chunks/{ListPage-OhzPorIH.js.map → ListPage-zq1VErwa.js.map} +1 -1
  105. package/dist/_chunks/{ListView-Tz__3IpY.mjs → ListView-AFln9VAi.mjs} +3 -3
  106. package/dist/_chunks/{ListView-Tz__3IpY.mjs.map → ListView-AFln9VAi.mjs.map} +1 -1
  107. package/dist/_chunks/{ListView-2nEMA4yN.js → ListView-Fpxw4odV.js} +3 -3
  108. package/dist/_chunks/{ListView-2nEMA4yN.js.map → ListView-Fpxw4odV.js.map} +1 -1
  109. package/dist/_chunks/{ListView-BxmF_pf2.js → ListView-R1l0uF6A.js} +3 -3
  110. package/dist/_chunks/{ListView-BxmF_pf2.js.map → ListView-R1l0uF6A.js.map} +1 -1
  111. package/dist/_chunks/{ListView-NX3eXzGN.mjs → ListView-_YyDlUMi.mjs} +3 -3
  112. package/dist/_chunks/{ListView-NX3eXzGN.mjs.map → ListView-_YyDlUMi.mjs.map} +1 -1
  113. package/dist/_chunks/{Login-1vMyz7ns.mjs → Login-ZoWk3452.mjs} +2 -2
  114. package/dist/_chunks/{Login-1vMyz7ns.mjs.map → Login-ZoWk3452.mjs.map} +1 -1
  115. package/dist/_chunks/{Login-YOgZhud5.js → Login-qmPh7pFM.js} +2 -2
  116. package/dist/_chunks/{Login-YOgZhud5.js.map → Login-qmPh7pFM.js.map} +1 -1
  117. package/dist/_chunks/{MagicLinkEE-eGlPa4z_.mjs → MagicLinkEE-55V9aeIc.mjs} +4 -4
  118. package/dist/_chunks/{MagicLinkEE-eGlPa4z_.mjs.map → MagicLinkEE-55V9aeIc.mjs.map} +1 -1
  119. package/dist/_chunks/{MagicLinkEE-WNdc3dsV.js → MagicLinkEE-n6mXkkoz.js} +4 -4
  120. package/dist/_chunks/{MagicLinkEE-WNdc3dsV.js.map → MagicLinkEE-n6mXkkoz.js.map} +1 -1
  121. package/dist/_chunks/{MarketplacePage-7TixJJZD.mjs → MarketplacePage-001XUJXL.mjs} +3 -3
  122. package/dist/_chunks/{MarketplacePage-7TixJJZD.mjs.map → MarketplacePage-001XUJXL.mjs.map} +1 -1
  123. package/dist/_chunks/{MarketplacePage-p4c-6b0O.js → MarketplacePage-iDXYooSf.js} +3 -3
  124. package/dist/_chunks/{MarketplacePage-p4c-6b0O.js.map → MarketplacePage-iDXYooSf.js.map} +1 -1
  125. package/dist/_chunks/{Permissions-9rwYrRZh.mjs → Permissions-22iKkeLw.mjs} +2 -2
  126. package/dist/_chunks/{Permissions-9rwYrRZh.mjs.map → Permissions-22iKkeLw.mjs.map} +1 -1
  127. package/dist/_chunks/{Permissions-IFrc-_gl.js → Permissions-hLeP1dDu.js} +2 -2
  128. package/dist/_chunks/{Permissions-IFrc-_gl.js.map → Permissions-hLeP1dDu.js.map} +1 -1
  129. package/dist/_chunks/{ProfilePage-psgPdZae.mjs → ProfilePage-9XtLeaZK.mjs} +3 -3
  130. package/dist/_chunks/{ProfilePage-psgPdZae.mjs.map → ProfilePage-9XtLeaZK.mjs.map} +1 -1
  131. package/dist/_chunks/{ProfilePage-94P7GSVt.js → ProfilePage-yTmIk3-q.js} +3 -3
  132. package/dist/_chunks/{ProfilePage-94P7GSVt.js.map → ProfilePage-yTmIk3-q.js.map} +1 -1
  133. package/dist/_chunks/{ReviewWorkflowsColumn--zsJdcFB.mjs → ReviewWorkflowsColumn-hRY3Lu3c.mjs} +2 -2
  134. package/dist/_chunks/{ReviewWorkflowsColumn--zsJdcFB.mjs.map → ReviewWorkflowsColumn-hRY3Lu3c.mjs.map} +1 -1
  135. package/dist/_chunks/{ReviewWorkflowsColumn-IYBqzC__.js → ReviewWorkflowsColumn-xbYki4AU.js} +2 -2
  136. package/dist/_chunks/{ReviewWorkflowsColumn-IYBqzC__.js.map → ReviewWorkflowsColumn-xbYki4AU.js.map} +1 -1
  137. package/dist/_chunks/{SelectRoles-Cn4P5ueS.js → SelectRoles-RK2nHcfD.js} +3 -3
  138. package/dist/_chunks/{SelectRoles-Cn4P5ueS.js.map → SelectRoles-RK2nHcfD.js.map} +1 -1
  139. package/dist/_chunks/{SelectRoles-BTQmMN4X.mjs → SelectRoles-r5ac3R_t.mjs} +3 -3
  140. package/dist/_chunks/{SelectRoles-BTQmMN4X.mjs.map → SelectRoles-r5ac3R_t.mjs.map} +1 -1
  141. package/dist/_chunks/{SettingsPage-z2UUGxMM.mjs → SettingsPage-1621Scy_.mjs} +21 -21
  142. package/dist/_chunks/{SettingsPage-z2UUGxMM.mjs.map → SettingsPage-1621Scy_.mjs.map} +1 -1
  143. package/dist/_chunks/{SettingsPage-EXi3O7pA.js → SettingsPage-UYti0cGR.js} +21 -21
  144. package/dist/_chunks/{SettingsPage-EXi3O7pA.js.map → SettingsPage-UYti0cGR.js.map} +1 -1
  145. package/dist/_chunks/{SingleSignOnPage-8UTHmg_k.js → SingleSignOnPage-Dbg3ynX3.js} +3 -3
  146. package/dist/_chunks/{SingleSignOnPage-8UTHmg_k.js.map → SingleSignOnPage-Dbg3ynX3.js.map} +1 -1
  147. package/dist/_chunks/{SingleSignOnPage-XxLqGy0q.mjs → SingleSignOnPage-aOmW-4fJ.mjs} +3 -3
  148. package/dist/_chunks/{SingleSignOnPage-XxLqGy0q.mjs.map → SingleSignOnPage-aOmW-4fJ.mjs.map} +1 -1
  149. package/dist/_chunks/{TokenTypeSelect-KBLu9UBR.js → TokenTypeSelect-Mhf-n1Dq.js} +2 -2
  150. package/dist/_chunks/{TokenTypeSelect-KBLu9UBR.js.map → TokenTypeSelect-Mhf-n1Dq.js.map} +1 -1
  151. package/dist/_chunks/{TokenTypeSelect-5AGN3YiP.mjs → TokenTypeSelect-jokuCG-s.mjs} +2 -2
  152. package/dist/_chunks/{TokenTypeSelect-5AGN3YiP.mjs.map → TokenTypeSelect-jokuCG-s.mjs.map} +1 -1
  153. package/dist/_chunks/{apiTokens-SwqsoAWT.mjs → apiTokens-iK_CSJGn.mjs} +2 -2
  154. package/dist/_chunks/{apiTokens-SwqsoAWT.mjs.map → apiTokens-iK_CSJGn.mjs.map} +1 -1
  155. package/dist/_chunks/{apiTokens-AxjYQZ55.js → apiTokens-p1MM4dia.js} +2 -2
  156. package/dist/_chunks/{apiTokens-AxjYQZ55.js.map → apiTokens-p1MM4dia.js.map} +1 -1
  157. package/dist/_chunks/{constants-zIHGZ0Gi.js → constants-F5T84H-D.js} +2 -2
  158. package/dist/_chunks/{constants-zIHGZ0Gi.js.map → constants-F5T84H-D.js.map} +1 -1
  159. package/dist/_chunks/{constants-BxkOY_hb.js → constants-I2-hoVGf.js} +2 -2
  160. package/dist/_chunks/{constants-BxkOY_hb.js.map → constants-I2-hoVGf.js.map} +1 -1
  161. package/dist/_chunks/{constants-0i7zB8KO.mjs → constants-KOZrmeJW.mjs} +2 -2
  162. package/dist/_chunks/{constants-0i7zB8KO.mjs.map → constants-KOZrmeJW.mjs.map} +1 -1
  163. package/dist/_chunks/{constants-LVqv-W-8.mjs → constants-QGof3aDB.mjs} +6 -6
  164. package/dist/_chunks/{constants-LVqv-W-8.mjs.map → constants-QGof3aDB.mjs.map} +1 -1
  165. package/dist/_chunks/{constants-lRuXnrY6.js → constants-Rf8pCAfG.js} +4 -4
  166. package/dist/_chunks/{constants-lRuXnrY6.js.map → constants-Rf8pCAfG.js.map} +1 -1
  167. package/dist/_chunks/{constants-1ozZnL4y.mjs → constants-_j1Muesu.mjs} +2 -2
  168. package/dist/_chunks/{constants-1ozZnL4y.mjs.map → constants-_j1Muesu.mjs.map} +1 -1
  169. package/dist/_chunks/{constants-pFId_lm5.js → constants-iAXDa-M9.js} +6 -6
  170. package/dist/_chunks/{constants-pFId_lm5.js.map → constants-iAXDa-M9.js.map} +1 -1
  171. package/dist/_chunks/{constants-QyfsEUcZ.mjs → constants-uotez7Fd.mjs} +4 -4
  172. package/dist/_chunks/{constants-QyfsEUcZ.mjs.map → constants-uotez7Fd.mjs.map} +1 -1
  173. package/dist/_chunks/{index-yURwb4pr.js → index-HHHViOfr.js} +10 -10
  174. package/dist/_chunks/{index-yURwb4pr.js.map → index-HHHViOfr.js.map} +1 -1
  175. package/dist/_chunks/{index-ZPV-U3Z8.mjs → index-fi6xYVen.mjs} +10 -10
  176. package/dist/_chunks/{index-ZPV-U3Z8.mjs.map → index-fi6xYVen.mjs.map} +1 -1
  177. package/dist/_chunks/{reviewWorkflows-uBEa8StR.js → reviewWorkflows-OHZDpkxC.js} +2 -2
  178. package/dist/_chunks/{reviewWorkflows-uBEa8StR.js.map → reviewWorkflows-OHZDpkxC.js.map} +1 -1
  179. package/dist/_chunks/{reviewWorkflows-sLyui-mi.mjs → reviewWorkflows-gislCtyH.mjs} +2 -2
  180. package/dist/_chunks/{reviewWorkflows-sLyui-mi.mjs.map → reviewWorkflows-gislCtyH.mjs.map} +1 -1
  181. package/dist/_chunks/{transferTokens-MM_V2ZJz.js → transferTokens-2h3hrnYZ.js} +2 -2
  182. package/dist/_chunks/{transferTokens-MM_V2ZJz.js.map → transferTokens-2h3hrnYZ.js.map} +1 -1
  183. package/dist/_chunks/{transferTokens-opVC2Qj-.mjs → transferTokens-wveR4A88.mjs} +2 -2
  184. package/dist/_chunks/{transferTokens-opVC2Qj-.mjs.map → transferTokens-wveR4A88.mjs.map} +1 -1
  185. package/dist/_chunks/{useAdminRoles-ORX-QwqO.mjs → useAdminRoles-XyUHcbZE.mjs} +2 -2
  186. package/dist/_chunks/{useAdminRoles-ORX-QwqO.mjs.map → useAdminRoles-XyUHcbZE.mjs.map} +1 -1
  187. package/dist/_chunks/{useAdminRoles-BAd2tdjT.js → useAdminRoles-fpLB4k1Q.js} +2 -2
  188. package/dist/_chunks/{useAdminRoles-BAd2tdjT.js.map → useAdminRoles-fpLB4k1Q.js.map} +1 -1
  189. package/dist/_chunks/{useContentTypes-unDT2yW4.mjs → useContentTypes-DeCjnztQ.mjs} +2 -2
  190. package/dist/_chunks/{useContentTypes-unDT2yW4.mjs.map → useContentTypes-DeCjnztQ.mjs.map} +1 -1
  191. package/dist/_chunks/{useContentTypes-zS_VoP1f.js → useContentTypes-M6PVLk4O.js} +2 -2
  192. package/dist/_chunks/{useContentTypes-zS_VoP1f.js.map → useContentTypes-M6PVLk4O.js.map} +1 -1
  193. package/dist/_chunks/{useLicenseLimitNotification-EC_RZ68t.mjs → useLicenseLimitNotification-DifkuvDa.mjs} +2 -2
  194. package/dist/_chunks/{useLicenseLimitNotification-EC_RZ68t.mjs.map → useLicenseLimitNotification-DifkuvDa.mjs.map} +1 -1
  195. package/dist/_chunks/{useLicenseLimitNotification-GmvaOO5q.js → useLicenseLimitNotification-jP66H_95.js} +2 -2
  196. package/dist/_chunks/{useLicenseLimitNotification-GmvaOO5q.js.map → useLicenseLimitNotification-jP66H_95.js.map} +1 -1
  197. package/dist/_chunks/{useReviewWorkflows-4EpSZP2m.js → useReviewWorkflows-MV35RR4U.js} +2 -2
  198. package/dist/_chunks/{useReviewWorkflows-4EpSZP2m.js.map → useReviewWorkflows-MV35RR4U.js.map} +1 -1
  199. package/dist/_chunks/{useReviewWorkflows-krNJ86tK.mjs → useReviewWorkflows-c887HbYr.mjs} +2 -2
  200. package/dist/_chunks/{useReviewWorkflows-krNJ86tK.mjs.map → useReviewWorkflows-c887HbYr.mjs.map} +1 -1
  201. package/dist/_chunks/{useWebhooks-zFX4g8NX.js → useWebhooks-4srjS3Tn.js} +2 -2
  202. package/dist/_chunks/{useWebhooks-zFX4g8NX.js.map → useWebhooks-4srjS3Tn.js.map} +1 -1
  203. package/dist/_chunks/{useWebhooks-XhWIqLBZ.mjs → useWebhooks-aWrXuFDX.mjs} +2 -2
  204. package/dist/_chunks/{useWebhooks-XhWIqLBZ.mjs.map → useWebhooks-aWrXuFDX.mjs.map} +1 -1
  205. package/dist/_chunks/{validateWorkflow-i0VqaM1X.mjs → validateWorkflow-e1mfH_Z5.mjs} +2 -2
  206. package/dist/_chunks/{validateWorkflow-i0VqaM1X.mjs.map → validateWorkflow-e1mfH_Z5.mjs.map} +1 -1
  207. package/dist/_chunks/{validateWorkflow-WPaVwP_o.js → validateWorkflow-rsvR5JAZ.js} +2 -2
  208. package/dist/_chunks/{validateWorkflow-WPaVwP_o.js.map → validateWorkflow-rsvR5JAZ.js.map} +1 -1
  209. package/dist/admin/index.js +1 -1
  210. package/dist/admin/index.mjs +1 -1
  211. package/package.json +14 -14
@@ -6,8 +6,8 @@ import { Plus } from "@strapi/icons";
6
6
  import qs__default from "qs";
7
7
  import { useIntl } from "react-intl";
8
8
  import { useHistory } from "react-router-dom";
9
- import { j as useTypedSelector, b as useOnce } from "./index-ZPV-U3Z8.mjs";
10
- import { c as useGetTransferTokensQuery, d as useDeleteTransferTokenMutation } from "./transferTokens-opVC2Qj-.mjs";
9
+ import { j as useTypedSelector, b as useOnce } from "./index-fi6xYVen.mjs";
10
+ import { c as useGetTransferTokensQuery, d as useDeleteTransferTokenMutation } from "./transferTokens-wveR4A88.mjs";
11
11
  import { T as TRANSFER_TOKEN_TYPE } from "./constants-fJt30IoY.mjs";
12
12
  import { T as Table } from "./Table-nKuv1TlJ.mjs";
13
13
  import "react-dom/client";
@@ -278,4 +278,4 @@ export {
278
278
  ListView,
279
279
  ProtectedListView
280
280
  };
281
- //# sourceMappingURL=ListView-Tz__3IpY.mjs.map
281
+ //# sourceMappingURL=ListView-AFln9VAi.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListView-Tz__3IpY.mjs","sources":["../../admin/src/pages/Settings/pages/TransferTokens/ListView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { ContentLayout, HeaderLayout, LinkButton, Main } from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n NoContent,\n NoPermissions,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFocusWhenNavigate,\n useGuidedTour,\n useNotification,\n useRBAC,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Plus } from '@strapi/icons';\nimport { Entity } from '@strapi/types';\nimport qs from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useHistory } from 'react-router-dom';\n\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useOnce } from '../../../../hooks/useOnce';\nimport {\n useDeleteTransferTokenMutation,\n useGetTransferTokensQuery,\n} from '../../../../services/transferTokens';\nimport { TRANSFER_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { Table } from '../../components/Tokens/Table';\n\nconst tableHeaders = [\n {\n name: 'name',\n key: 'name',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.name',\n defaultMessage: 'Name',\n },\n sortable: true,\n },\n },\n {\n name: 'description',\n key: 'description',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.description',\n defaultMessage: 'Description',\n },\n sortable: false,\n },\n },\n {\n name: 'createdAt',\n key: 'createdAt',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.createdAt',\n defaultMessage: 'Created at',\n },\n sortable: false,\n },\n },\n {\n name: 'lastUsedAt',\n key: 'lastUsedAt',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.lastUsedAt',\n defaultMessage: 'Last used',\n },\n sortable: false,\n },\n },\n] as const;\n\n/* -------------------------------------------------------------------------------------------------\n * ListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListView = () => {\n useFocusWhenNavigate();\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens']\n );\n const {\n isLoading: isLoadingRBAC,\n allowedActions: { canCreate, canDelete, canUpdate, canRead },\n } = useRBAC(permissions);\n const { push } = useHistory();\n const { trackUsage } = useTracking();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n React.useEffect(() => {\n push({ search: qs.stringify({ sort: 'name:ASC' }, { encode: false }) });\n }, [push]);\n\n useOnce(() => {\n trackUsage('willAccessTokenList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n });\n\n const headers = tableHeaders.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n const {\n data: transferTokens = [],\n isLoading: isLoadingTokens,\n error,\n } = useGetTransferTokensQuery(undefined, {\n skip: !canRead,\n });\n\n React.useEffect(() => {\n if (transferTokens) {\n trackUsage('didAccessTokenList', {\n number: transferTokens.length,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }\n }, [trackUsage, transferTokens]);\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n const [deleteToken] = useDeleteTransferTokenMutation();\n\n const handleDelete = async (id: Entity.ID) => {\n try {\n const res = await deleteToken(id);\n\n if ('error' in res) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n };\n\n const isLoading = isLoadingTokens || isLoadingRBAC;\n\n return (\n <Main aria-busy={isLoading}>\n <SettingsPageTitle name=\"Transfer Tokens\" />\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.transferTokens.title',\n defaultMessage: 'Transfer Tokens',\n })}\n subtitle={formatMessage({\n id: 'Settings.transferTokens.description',\n defaultMessage: '\"List of generated transfer tokens\"', // TODO change this message\n })}\n primaryAction={\n canCreate ? (\n <LinkButton\n data-testid=\"create-transfer-token-button\"\n startIcon={<Plus />}\n size=\"S\"\n onClick={() =>\n trackUsage('willAddTokenFromList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n })\n }\n to=\"/settings/transfer-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.transferTokens.create',\n defaultMessage: 'Create new Transfer Token',\n })}\n </LinkButton>\n ) : undefined\n }\n />\n <ContentLayout>\n {!canRead && <NoPermissions />}\n {canRead && transferTokens.length > 0 && (\n <Table\n permissions={{ canRead, canDelete, canUpdate }}\n headers={headers}\n contentType=\"trasfer-tokens\"\n isLoading={isLoading}\n onConfirmDelete={handleDelete}\n tokens={transferTokens}\n tokenType={TRANSFER_TOKEN_TYPE}\n />\n )}\n {canRead && canCreate && transferTokens.length === 0 && (\n <NoContent\n content={{\n id: 'Settings.transferTokens.addFirstToken',\n defaultMessage: 'Add your first Transfer Token',\n }}\n action={\n <LinkButton\n variant=\"secondary\"\n startIcon={<Plus />}\n to=\"/settings/transfer-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.transferTokens.addNewToken',\n defaultMessage: 'Add new Transfer Token',\n })}\n </LinkButton>\n }\n />\n )}\n {canRead && !canCreate && transferTokens.length === 0 && (\n <NoContent\n content={{\n id: 'Settings.transferTokens.emptyStateLayout',\n defaultMessage: 'You don’t have any content yet...',\n }}\n />\n )}\n </ContentLayout>\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens'].main\n );\n\n return (\n <CheckPagePermissions permissions={permissions}>\n <ListView />\n </CheckPagePermissions>\n );\n};\n\nexport { ListView, ProtectedListView };\n"],"names":["qs"],"mappings":"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"}
1
+ {"version":3,"file":"ListView-AFln9VAi.mjs","sources":["../../admin/src/pages/Settings/pages/TransferTokens/ListView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { ContentLayout, HeaderLayout, LinkButton, Main } from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n NoContent,\n NoPermissions,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFocusWhenNavigate,\n useGuidedTour,\n useNotification,\n useRBAC,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Plus } from '@strapi/icons';\nimport { Entity } from '@strapi/types';\nimport qs from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useHistory } from 'react-router-dom';\n\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useOnce } from '../../../../hooks/useOnce';\nimport {\n useDeleteTransferTokenMutation,\n useGetTransferTokensQuery,\n} from '../../../../services/transferTokens';\nimport { TRANSFER_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { Table } from '../../components/Tokens/Table';\n\nconst tableHeaders = [\n {\n name: 'name',\n key: 'name',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.name',\n defaultMessage: 'Name',\n },\n sortable: true,\n },\n },\n {\n name: 'description',\n key: 'description',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.description',\n defaultMessage: 'Description',\n },\n sortable: false,\n },\n },\n {\n name: 'createdAt',\n key: 'createdAt',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.createdAt',\n defaultMessage: 'Created at',\n },\n sortable: false,\n },\n },\n {\n name: 'lastUsedAt',\n key: 'lastUsedAt',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.lastUsedAt',\n defaultMessage: 'Last used',\n },\n sortable: false,\n },\n },\n] as const;\n\n/* -------------------------------------------------------------------------------------------------\n * ListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListView = () => {\n useFocusWhenNavigate();\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens']\n );\n const {\n isLoading: isLoadingRBAC,\n allowedActions: { canCreate, canDelete, canUpdate, canRead },\n } = useRBAC(permissions);\n const { push } = useHistory();\n const { trackUsage } = useTracking();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n React.useEffect(() => {\n push({ search: qs.stringify({ sort: 'name:ASC' }, { encode: false }) });\n }, [push]);\n\n useOnce(() => {\n trackUsage('willAccessTokenList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n });\n\n const headers = tableHeaders.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n const {\n data: transferTokens = [],\n isLoading: isLoadingTokens,\n error,\n } = useGetTransferTokensQuery(undefined, {\n skip: !canRead,\n });\n\n React.useEffect(() => {\n if (transferTokens) {\n trackUsage('didAccessTokenList', {\n number: transferTokens.length,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }\n }, [trackUsage, transferTokens]);\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n const [deleteToken] = useDeleteTransferTokenMutation();\n\n const handleDelete = async (id: Entity.ID) => {\n try {\n const res = await deleteToken(id);\n\n if ('error' in res) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n };\n\n const isLoading = isLoadingTokens || isLoadingRBAC;\n\n return (\n <Main aria-busy={isLoading}>\n <SettingsPageTitle name=\"Transfer Tokens\" />\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.transferTokens.title',\n defaultMessage: 'Transfer Tokens',\n })}\n subtitle={formatMessage({\n id: 'Settings.transferTokens.description',\n defaultMessage: '\"List of generated transfer tokens\"', // TODO change this message\n })}\n primaryAction={\n canCreate ? (\n <LinkButton\n data-testid=\"create-transfer-token-button\"\n startIcon={<Plus />}\n size=\"S\"\n onClick={() =>\n trackUsage('willAddTokenFromList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n })\n }\n to=\"/settings/transfer-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.transferTokens.create',\n defaultMessage: 'Create new Transfer Token',\n })}\n </LinkButton>\n ) : undefined\n }\n />\n <ContentLayout>\n {!canRead && <NoPermissions />}\n {canRead && transferTokens.length > 0 && (\n <Table\n permissions={{ canRead, canDelete, canUpdate }}\n headers={headers}\n contentType=\"trasfer-tokens\"\n isLoading={isLoading}\n onConfirmDelete={handleDelete}\n tokens={transferTokens}\n tokenType={TRANSFER_TOKEN_TYPE}\n />\n )}\n {canRead && canCreate && transferTokens.length === 0 && (\n <NoContent\n content={{\n id: 'Settings.transferTokens.addFirstToken',\n defaultMessage: 'Add your first Transfer Token',\n }}\n action={\n <LinkButton\n variant=\"secondary\"\n startIcon={<Plus />}\n to=\"/settings/transfer-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.transferTokens.addNewToken',\n defaultMessage: 'Add new Transfer Token',\n })}\n </LinkButton>\n }\n />\n )}\n {canRead && !canCreate && transferTokens.length === 0 && (\n <NoContent\n content={{\n id: 'Settings.transferTokens.emptyStateLayout',\n defaultMessage: 'You don’t have any content yet...',\n }}\n />\n )}\n </ContentLayout>\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens'].main\n );\n\n return (\n <CheckPagePermissions permissions={permissions}>\n <ListView />\n </CheckPagePermissions>\n );\n};\n\nexport { ListView, ProtectedListView };\n"],"names":["qs"],"mappings":"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"}
@@ -8,8 +8,8 @@ const Icons = require("@strapi/icons");
8
8
  const qs = require("qs");
9
9
  const reactIntl = require("react-intl");
10
10
  const reactRouterDom = require("react-router-dom");
11
- const index = require("./index-yURwb4pr.js");
12
- const apiTokens = require("./apiTokens-AxjYQZ55.js");
11
+ const index = require("./index-HHHViOfr.js");
12
+ const apiTokens = require("./apiTokens-p1MM4dia.js");
13
13
  const constants = require("./constants-RMqZXSqh.js");
14
14
  const Table = require("./Table-T-qYlZ1f.js");
15
15
  require("react-dom/client");
@@ -289,4 +289,4 @@ const ProtectedListView = () => {
289
289
  };
290
290
  exports.ListView = ListView;
291
291
  exports.ProtectedListView = ProtectedListView;
292
- //# sourceMappingURL=ListView-2nEMA4yN.js.map
292
+ //# sourceMappingURL=ListView-Fpxw4odV.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListView-2nEMA4yN.js","sources":["../../admin/src/pages/Settings/pages/ApiTokens/ListView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { ContentLayout, HeaderLayout, LinkButton, Main } from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n NoContent,\n NoPermissions,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFocusWhenNavigate,\n useGuidedTour,\n useNotification,\n useRBAC,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Plus } from '@strapi/icons';\nimport { Entity } from '@strapi/types';\nimport qs from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useHistory } from 'react-router-dom';\n\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useOnce } from '../../../../hooks/useOnce';\nimport { useDeleteAPITokenMutation, useGetAPITokensQuery } from '../../../../services/apiTokens';\nimport { API_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { Table } from '../../components/Tokens/Table';\n\nconst TABLE_HEADERS = [\n {\n name: 'name',\n key: 'name',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.name',\n defaultMessage: 'Name',\n },\n sortable: true,\n },\n },\n {\n name: 'description',\n key: 'description',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.description',\n defaultMessage: 'Description',\n },\n sortable: false,\n },\n },\n {\n name: 'createdAt',\n key: 'createdAt',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.createdAt',\n defaultMessage: 'Created at',\n },\n sortable: false,\n },\n },\n {\n name: 'lastUsedAt',\n key: 'lastUsedAt',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.lastUsedAt',\n defaultMessage: 'Last used',\n },\n sortable: false,\n },\n },\n];\n\nexport const ListView = () => {\n useFocusWhenNavigate();\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['api-tokens']\n );\n const {\n allowedActions: { canCreate, canDelete, canUpdate, canRead },\n } = useRBAC(permissions);\n const { push } = useHistory();\n const { trackUsage } = useTracking();\n const { startSection } = useGuidedTour();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n React.useEffect(() => {\n startSection('apiTokens');\n }, [startSection]);\n\n React.useEffect(() => {\n push({ search: qs.stringify({ sort: 'name:ASC' }, { encode: false }) });\n }, [push]);\n\n const headers = TABLE_HEADERS.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n useOnce(() => {\n trackUsage('willAccessTokenList', {\n tokenType: API_TOKEN_TYPE,\n });\n });\n\n const {\n data: apiTokens = [],\n isLoading,\n error,\n } = useGetAPITokensQuery(undefined, {\n skip: !canRead,\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n trackUsage('didAccessTokenList', { number: apiTokens.length, tokenType: API_TOKEN_TYPE });\n }, [apiTokens, trackUsage]);\n\n const [deleteToken] = useDeleteAPITokenMutation();\n\n const handleDelete = async (id: Entity.ID) => {\n try {\n const res = await deleteToken(id);\n\n if ('error' in res) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n trackUsage('didDeleteToken');\n } catch {\n toggleNotification({\n type: 'warning',\n message: {\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n },\n });\n }\n };\n\n return (\n <Main aria-busy={isLoading}>\n {/* TODO: this needs to be translated */}\n <SettingsPageTitle name=\"API Tokens\" />\n <HeaderLayout\n title={formatMessage({ id: 'Settings.apiTokens.title', defaultMessage: 'API Tokens' })}\n subtitle={formatMessage({\n id: 'Settings.apiTokens.description',\n defaultMessage: 'List of generated tokens to consume the API',\n })}\n primaryAction={\n canCreate && (\n <LinkButton\n data-testid=\"create-api-token-button\"\n startIcon={<Plus />}\n size=\"S\"\n onClick={() =>\n trackUsage('willAddTokenFromList', {\n tokenType: API_TOKEN_TYPE,\n })\n }\n to=\"/settings/api-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.apiTokens.create',\n defaultMessage: 'Create new API Token',\n })}\n </LinkButton>\n )\n }\n />\n <ContentLayout>\n {!canRead && <NoPermissions />}\n {canRead && apiTokens.length > 0 && (\n <Table\n permissions={{ canRead, canDelete, canUpdate }}\n headers={headers}\n contentType=\"api-tokens\"\n isLoading={isLoading}\n onConfirmDelete={handleDelete}\n tokens={apiTokens}\n tokenType={API_TOKEN_TYPE}\n />\n )}\n {canRead && canCreate && apiTokens.length === 0 && (\n <NoContent\n content={{\n id: 'Settings.apiTokens.addFirstToken',\n defaultMessage: 'Add your first API Token',\n }}\n action={\n <LinkButton variant=\"secondary\" startIcon={<Plus />} to=\"/settings/api-tokens/create\">\n {formatMessage({\n id: 'Settings.apiTokens.addNewToken',\n defaultMessage: 'Add new API Token',\n })}\n </LinkButton>\n }\n />\n )}\n {canRead && !canCreate && apiTokens.length === 0 && (\n <NoContent\n content={{\n id: 'Settings.apiTokens.emptyStateLayout',\n defaultMessage: 'You don’t have any content yet...',\n }}\n />\n )}\n </ContentLayout>\n </Main>\n );\n};\n\nexport const ProtectedListView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['api-tokens'].main\n );\n\n return (\n <CheckPagePermissions permissions={permissions}>\n <ListView />\n </CheckPagePermissions>\n );\n};\n"],"names":["useFocusWhenNavigate","useIntl","useNotification","useTypedSelector","useRBAC","useHistory","useTracking","useGuidedTour","useAPIErrorHandler","React","qs","useOnce","API_TOKEN_TYPE","apiTokens","useGetAPITokensQuery","useDeleteAPITokenMutation","jsxs","Main","jsx","SettingsPageTitle","HeaderLayout","LinkButton","Plus","ContentLayout","NoPermissions","Table","NoContent","CheckPagePermissions"],"mappings":"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"}
1
+ {"version":3,"file":"ListView-Fpxw4odV.js","sources":["../../admin/src/pages/Settings/pages/ApiTokens/ListView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { ContentLayout, HeaderLayout, LinkButton, Main } from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n NoContent,\n NoPermissions,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFocusWhenNavigate,\n useGuidedTour,\n useNotification,\n useRBAC,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Plus } from '@strapi/icons';\nimport { Entity } from '@strapi/types';\nimport qs from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useHistory } from 'react-router-dom';\n\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useOnce } from '../../../../hooks/useOnce';\nimport { useDeleteAPITokenMutation, useGetAPITokensQuery } from '../../../../services/apiTokens';\nimport { API_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { Table } from '../../components/Tokens/Table';\n\nconst TABLE_HEADERS = [\n {\n name: 'name',\n key: 'name',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.name',\n defaultMessage: 'Name',\n },\n sortable: true,\n },\n },\n {\n name: 'description',\n key: 'description',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.description',\n defaultMessage: 'Description',\n },\n sortable: false,\n },\n },\n {\n name: 'createdAt',\n key: 'createdAt',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.createdAt',\n defaultMessage: 'Created at',\n },\n sortable: false,\n },\n },\n {\n name: 'lastUsedAt',\n key: 'lastUsedAt',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.lastUsedAt',\n defaultMessage: 'Last used',\n },\n sortable: false,\n },\n },\n];\n\nexport const ListView = () => {\n useFocusWhenNavigate();\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['api-tokens']\n );\n const {\n allowedActions: { canCreate, canDelete, canUpdate, canRead },\n } = useRBAC(permissions);\n const { push } = useHistory();\n const { trackUsage } = useTracking();\n const { startSection } = useGuidedTour();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n React.useEffect(() => {\n startSection('apiTokens');\n }, [startSection]);\n\n React.useEffect(() => {\n push({ search: qs.stringify({ sort: 'name:ASC' }, { encode: false }) });\n }, [push]);\n\n const headers = TABLE_HEADERS.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n useOnce(() => {\n trackUsage('willAccessTokenList', {\n tokenType: API_TOKEN_TYPE,\n });\n });\n\n const {\n data: apiTokens = [],\n isLoading,\n error,\n } = useGetAPITokensQuery(undefined, {\n skip: !canRead,\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n trackUsage('didAccessTokenList', { number: apiTokens.length, tokenType: API_TOKEN_TYPE });\n }, [apiTokens, trackUsage]);\n\n const [deleteToken] = useDeleteAPITokenMutation();\n\n const handleDelete = async (id: Entity.ID) => {\n try {\n const res = await deleteToken(id);\n\n if ('error' in res) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n trackUsage('didDeleteToken');\n } catch {\n toggleNotification({\n type: 'warning',\n message: {\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n },\n });\n }\n };\n\n return (\n <Main aria-busy={isLoading}>\n {/* TODO: this needs to be translated */}\n <SettingsPageTitle name=\"API Tokens\" />\n <HeaderLayout\n title={formatMessage({ id: 'Settings.apiTokens.title', defaultMessage: 'API Tokens' })}\n subtitle={formatMessage({\n id: 'Settings.apiTokens.description',\n defaultMessage: 'List of generated tokens to consume the API',\n })}\n primaryAction={\n canCreate && (\n <LinkButton\n data-testid=\"create-api-token-button\"\n startIcon={<Plus />}\n size=\"S\"\n onClick={() =>\n trackUsage('willAddTokenFromList', {\n tokenType: API_TOKEN_TYPE,\n })\n }\n to=\"/settings/api-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.apiTokens.create',\n defaultMessage: 'Create new API Token',\n })}\n </LinkButton>\n )\n }\n />\n <ContentLayout>\n {!canRead && <NoPermissions />}\n {canRead && apiTokens.length > 0 && (\n <Table\n permissions={{ canRead, canDelete, canUpdate }}\n headers={headers}\n contentType=\"api-tokens\"\n isLoading={isLoading}\n onConfirmDelete={handleDelete}\n tokens={apiTokens}\n tokenType={API_TOKEN_TYPE}\n />\n )}\n {canRead && canCreate && apiTokens.length === 0 && (\n <NoContent\n content={{\n id: 'Settings.apiTokens.addFirstToken',\n defaultMessage: 'Add your first API Token',\n }}\n action={\n <LinkButton variant=\"secondary\" startIcon={<Plus />} to=\"/settings/api-tokens/create\">\n {formatMessage({\n id: 'Settings.apiTokens.addNewToken',\n defaultMessage: 'Add new API Token',\n })}\n </LinkButton>\n }\n />\n )}\n {canRead && !canCreate && apiTokens.length === 0 && (\n <NoContent\n content={{\n id: 'Settings.apiTokens.emptyStateLayout',\n defaultMessage: 'You don’t have any content yet...',\n }}\n />\n )}\n </ContentLayout>\n </Main>\n );\n};\n\nexport const ProtectedListView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['api-tokens'].main\n );\n\n return (\n <CheckPagePermissions permissions={permissions}>\n <ListView />\n </CheckPagePermissions>\n );\n};\n"],"names":["useFocusWhenNavigate","useIntl","useNotification","useTypedSelector","useRBAC","useHistory","useTracking","useGuidedTour","useAPIErrorHandler","React","qs","useOnce","API_TOKEN_TYPE","apiTokens","useGetAPITokensQuery","useDeleteAPITokenMutation","jsxs","Main","jsx","SettingsPageTitle","HeaderLayout","LinkButton","Plus","ContentLayout","NoPermissions","Table","NoContent","CheckPagePermissions"],"mappings":"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"}
@@ -8,8 +8,8 @@ const Icons = require("@strapi/icons");
8
8
  const qs = require("qs");
9
9
  const reactIntl = require("react-intl");
10
10
  const reactRouterDom = require("react-router-dom");
11
- const index = require("./index-yURwb4pr.js");
12
- const transferTokens = require("./transferTokens-MM_V2ZJz.js");
11
+ const index = require("./index-HHHViOfr.js");
12
+ const transferTokens = require("./transferTokens-2h3hrnYZ.js");
13
13
  const constants = require("./constants-RMqZXSqh.js");
14
14
  const Table = require("./Table-T-qYlZ1f.js");
15
15
  require("react-dom/client");
@@ -299,4 +299,4 @@ const ProtectedListView = () => {
299
299
  };
300
300
  exports.ListView = ListView;
301
301
  exports.ProtectedListView = ProtectedListView;
302
- //# sourceMappingURL=ListView-BxmF_pf2.js.map
302
+ //# sourceMappingURL=ListView-R1l0uF6A.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListView-BxmF_pf2.js","sources":["../../admin/src/pages/Settings/pages/TransferTokens/ListView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { ContentLayout, HeaderLayout, LinkButton, Main } from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n NoContent,\n NoPermissions,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFocusWhenNavigate,\n useGuidedTour,\n useNotification,\n useRBAC,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Plus } from '@strapi/icons';\nimport { Entity } from '@strapi/types';\nimport qs from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useHistory } from 'react-router-dom';\n\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useOnce } from '../../../../hooks/useOnce';\nimport {\n useDeleteTransferTokenMutation,\n useGetTransferTokensQuery,\n} from '../../../../services/transferTokens';\nimport { TRANSFER_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { Table } from '../../components/Tokens/Table';\n\nconst tableHeaders = [\n {\n name: 'name',\n key: 'name',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.name',\n defaultMessage: 'Name',\n },\n sortable: true,\n },\n },\n {\n name: 'description',\n key: 'description',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.description',\n defaultMessage: 'Description',\n },\n sortable: false,\n },\n },\n {\n name: 'createdAt',\n key: 'createdAt',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.createdAt',\n defaultMessage: 'Created at',\n },\n sortable: false,\n },\n },\n {\n name: 'lastUsedAt',\n key: 'lastUsedAt',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.lastUsedAt',\n defaultMessage: 'Last used',\n },\n sortable: false,\n },\n },\n] as const;\n\n/* -------------------------------------------------------------------------------------------------\n * ListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListView = () => {\n useFocusWhenNavigate();\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens']\n );\n const {\n isLoading: isLoadingRBAC,\n allowedActions: { canCreate, canDelete, canUpdate, canRead },\n } = useRBAC(permissions);\n const { push } = useHistory();\n const { trackUsage } = useTracking();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n React.useEffect(() => {\n push({ search: qs.stringify({ sort: 'name:ASC' }, { encode: false }) });\n }, [push]);\n\n useOnce(() => {\n trackUsage('willAccessTokenList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n });\n\n const headers = tableHeaders.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n const {\n data: transferTokens = [],\n isLoading: isLoadingTokens,\n error,\n } = useGetTransferTokensQuery(undefined, {\n skip: !canRead,\n });\n\n React.useEffect(() => {\n if (transferTokens) {\n trackUsage('didAccessTokenList', {\n number: transferTokens.length,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }\n }, [trackUsage, transferTokens]);\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n const [deleteToken] = useDeleteTransferTokenMutation();\n\n const handleDelete = async (id: Entity.ID) => {\n try {\n const res = await deleteToken(id);\n\n if ('error' in res) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n };\n\n const isLoading = isLoadingTokens || isLoadingRBAC;\n\n return (\n <Main aria-busy={isLoading}>\n <SettingsPageTitle name=\"Transfer Tokens\" />\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.transferTokens.title',\n defaultMessage: 'Transfer Tokens',\n })}\n subtitle={formatMessage({\n id: 'Settings.transferTokens.description',\n defaultMessage: '\"List of generated transfer tokens\"', // TODO change this message\n })}\n primaryAction={\n canCreate ? (\n <LinkButton\n data-testid=\"create-transfer-token-button\"\n startIcon={<Plus />}\n size=\"S\"\n onClick={() =>\n trackUsage('willAddTokenFromList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n })\n }\n to=\"/settings/transfer-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.transferTokens.create',\n defaultMessage: 'Create new Transfer Token',\n })}\n </LinkButton>\n ) : undefined\n }\n />\n <ContentLayout>\n {!canRead && <NoPermissions />}\n {canRead && transferTokens.length > 0 && (\n <Table\n permissions={{ canRead, canDelete, canUpdate }}\n headers={headers}\n contentType=\"trasfer-tokens\"\n isLoading={isLoading}\n onConfirmDelete={handleDelete}\n tokens={transferTokens}\n tokenType={TRANSFER_TOKEN_TYPE}\n />\n )}\n {canRead && canCreate && transferTokens.length === 0 && (\n <NoContent\n content={{\n id: 'Settings.transferTokens.addFirstToken',\n defaultMessage: 'Add your first Transfer Token',\n }}\n action={\n <LinkButton\n variant=\"secondary\"\n startIcon={<Plus />}\n to=\"/settings/transfer-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.transferTokens.addNewToken',\n defaultMessage: 'Add new Transfer Token',\n })}\n </LinkButton>\n }\n />\n )}\n {canRead && !canCreate && transferTokens.length === 0 && (\n <NoContent\n content={{\n id: 'Settings.transferTokens.emptyStateLayout',\n defaultMessage: 'You don’t have any content yet...',\n }}\n />\n )}\n </ContentLayout>\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens'].main\n );\n\n return (\n <CheckPagePermissions permissions={permissions}>\n <ListView />\n </CheckPagePermissions>\n );\n};\n\nexport { ListView, ProtectedListView };\n"],"names":["useFocusWhenNavigate","useIntl","useNotification","useTypedSelector","useRBAC","useHistory","useTracking","useAPIErrorHandler","React","qs","useOnce","TRANSFER_TOKEN_TYPE","transferTokens","useGetTransferTokensQuery","useDeleteTransferTokenMutation","jsxs","Main","jsx","SettingsPageTitle","HeaderLayout","LinkButton","Plus","ContentLayout","NoPermissions","Table","NoContent","CheckPagePermissions"],"mappings":"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"}
1
+ {"version":3,"file":"ListView-R1l0uF6A.js","sources":["../../admin/src/pages/Settings/pages/TransferTokens/ListView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { ContentLayout, HeaderLayout, LinkButton, Main } from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n NoContent,\n NoPermissions,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFocusWhenNavigate,\n useGuidedTour,\n useNotification,\n useRBAC,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Plus } from '@strapi/icons';\nimport { Entity } from '@strapi/types';\nimport qs from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useHistory } from 'react-router-dom';\n\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useOnce } from '../../../../hooks/useOnce';\nimport {\n useDeleteTransferTokenMutation,\n useGetTransferTokensQuery,\n} from '../../../../services/transferTokens';\nimport { TRANSFER_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { Table } from '../../components/Tokens/Table';\n\nconst tableHeaders = [\n {\n name: 'name',\n key: 'name',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.name',\n defaultMessage: 'Name',\n },\n sortable: true,\n },\n },\n {\n name: 'description',\n key: 'description',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.description',\n defaultMessage: 'Description',\n },\n sortable: false,\n },\n },\n {\n name: 'createdAt',\n key: 'createdAt',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.createdAt',\n defaultMessage: 'Created at',\n },\n sortable: false,\n },\n },\n {\n name: 'lastUsedAt',\n key: 'lastUsedAt',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.lastUsedAt',\n defaultMessage: 'Last used',\n },\n sortable: false,\n },\n },\n] as const;\n\n/* -------------------------------------------------------------------------------------------------\n * ListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListView = () => {\n useFocusWhenNavigate();\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens']\n );\n const {\n isLoading: isLoadingRBAC,\n allowedActions: { canCreate, canDelete, canUpdate, canRead },\n } = useRBAC(permissions);\n const { push } = useHistory();\n const { trackUsage } = useTracking();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n React.useEffect(() => {\n push({ search: qs.stringify({ sort: 'name:ASC' }, { encode: false }) });\n }, [push]);\n\n useOnce(() => {\n trackUsage('willAccessTokenList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n });\n\n const headers = tableHeaders.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n const {\n data: transferTokens = [],\n isLoading: isLoadingTokens,\n error,\n } = useGetTransferTokensQuery(undefined, {\n skip: !canRead,\n });\n\n React.useEffect(() => {\n if (transferTokens) {\n trackUsage('didAccessTokenList', {\n number: transferTokens.length,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }\n }, [trackUsage, transferTokens]);\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n const [deleteToken] = useDeleteTransferTokenMutation();\n\n const handleDelete = async (id: Entity.ID) => {\n try {\n const res = await deleteToken(id);\n\n if ('error' in res) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n };\n\n const isLoading = isLoadingTokens || isLoadingRBAC;\n\n return (\n <Main aria-busy={isLoading}>\n <SettingsPageTitle name=\"Transfer Tokens\" />\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.transferTokens.title',\n defaultMessage: 'Transfer Tokens',\n })}\n subtitle={formatMessage({\n id: 'Settings.transferTokens.description',\n defaultMessage: '\"List of generated transfer tokens\"', // TODO change this message\n })}\n primaryAction={\n canCreate ? (\n <LinkButton\n data-testid=\"create-transfer-token-button\"\n startIcon={<Plus />}\n size=\"S\"\n onClick={() =>\n trackUsage('willAddTokenFromList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n })\n }\n to=\"/settings/transfer-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.transferTokens.create',\n defaultMessage: 'Create new Transfer Token',\n })}\n </LinkButton>\n ) : undefined\n }\n />\n <ContentLayout>\n {!canRead && <NoPermissions />}\n {canRead && transferTokens.length > 0 && (\n <Table\n permissions={{ canRead, canDelete, canUpdate }}\n headers={headers}\n contentType=\"trasfer-tokens\"\n isLoading={isLoading}\n onConfirmDelete={handleDelete}\n tokens={transferTokens}\n tokenType={TRANSFER_TOKEN_TYPE}\n />\n )}\n {canRead && canCreate && transferTokens.length === 0 && (\n <NoContent\n content={{\n id: 'Settings.transferTokens.addFirstToken',\n defaultMessage: 'Add your first Transfer Token',\n }}\n action={\n <LinkButton\n variant=\"secondary\"\n startIcon={<Plus />}\n to=\"/settings/transfer-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.transferTokens.addNewToken',\n defaultMessage: 'Add new Transfer Token',\n })}\n </LinkButton>\n }\n />\n )}\n {canRead && !canCreate && transferTokens.length === 0 && (\n <NoContent\n content={{\n id: 'Settings.transferTokens.emptyStateLayout',\n defaultMessage: 'You don’t have any content yet...',\n }}\n />\n )}\n </ContentLayout>\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens'].main\n );\n\n return (\n <CheckPagePermissions permissions={permissions}>\n <ListView />\n </CheckPagePermissions>\n );\n};\n\nexport { ListView, ProtectedListView };\n"],"names":["useFocusWhenNavigate","useIntl","useNotification","useTypedSelector","useRBAC","useHistory","useTracking","useAPIErrorHandler","React","qs","useOnce","TRANSFER_TOKEN_TYPE","transferTokens","useGetTransferTokensQuery","useDeleteTransferTokenMutation","jsxs","Main","jsx","SettingsPageTitle","HeaderLayout","LinkButton","Plus","ContentLayout","NoPermissions","Table","NoContent","CheckPagePermissions"],"mappings":"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"}
@@ -6,8 +6,8 @@ import { Plus } from "@strapi/icons";
6
6
  import qs__default from "qs";
7
7
  import { useIntl } from "react-intl";
8
8
  import { useHistory } from "react-router-dom";
9
- import { j as useTypedSelector, b as useOnce } from "./index-ZPV-U3Z8.mjs";
10
- import { u as useGetAPITokensQuery, a as useDeleteAPITokenMutation } from "./apiTokens-SwqsoAWT.mjs";
9
+ import { j as useTypedSelector, b as useOnce } from "./index-fi6xYVen.mjs";
10
+ import { u as useGetAPITokensQuery, a as useDeleteAPITokenMutation } from "./apiTokens-iK_CSJGn.mjs";
11
11
  import { A as API_TOKEN_TYPE } from "./constants-fJt30IoY.mjs";
12
12
  import { T as Table } from "./Table-nKuv1TlJ.mjs";
13
13
  import "react-dom/client";
@@ -268,4 +268,4 @@ export {
268
268
  ListView,
269
269
  ProtectedListView
270
270
  };
271
- //# sourceMappingURL=ListView-NX3eXzGN.mjs.map
271
+ //# sourceMappingURL=ListView-_YyDlUMi.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListView-NX3eXzGN.mjs","sources":["../../admin/src/pages/Settings/pages/ApiTokens/ListView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { ContentLayout, HeaderLayout, LinkButton, Main } from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n NoContent,\n NoPermissions,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFocusWhenNavigate,\n useGuidedTour,\n useNotification,\n useRBAC,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Plus } from '@strapi/icons';\nimport { Entity } from '@strapi/types';\nimport qs from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useHistory } from 'react-router-dom';\n\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useOnce } from '../../../../hooks/useOnce';\nimport { useDeleteAPITokenMutation, useGetAPITokensQuery } from '../../../../services/apiTokens';\nimport { API_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { Table } from '../../components/Tokens/Table';\n\nconst TABLE_HEADERS = [\n {\n name: 'name',\n key: 'name',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.name',\n defaultMessage: 'Name',\n },\n sortable: true,\n },\n },\n {\n name: 'description',\n key: 'description',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.description',\n defaultMessage: 'Description',\n },\n sortable: false,\n },\n },\n {\n name: 'createdAt',\n key: 'createdAt',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.createdAt',\n defaultMessage: 'Created at',\n },\n sortable: false,\n },\n },\n {\n name: 'lastUsedAt',\n key: 'lastUsedAt',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.lastUsedAt',\n defaultMessage: 'Last used',\n },\n sortable: false,\n },\n },\n];\n\nexport const ListView = () => {\n useFocusWhenNavigate();\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['api-tokens']\n );\n const {\n allowedActions: { canCreate, canDelete, canUpdate, canRead },\n } = useRBAC(permissions);\n const { push } = useHistory();\n const { trackUsage } = useTracking();\n const { startSection } = useGuidedTour();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n React.useEffect(() => {\n startSection('apiTokens');\n }, [startSection]);\n\n React.useEffect(() => {\n push({ search: qs.stringify({ sort: 'name:ASC' }, { encode: false }) });\n }, [push]);\n\n const headers = TABLE_HEADERS.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n useOnce(() => {\n trackUsage('willAccessTokenList', {\n tokenType: API_TOKEN_TYPE,\n });\n });\n\n const {\n data: apiTokens = [],\n isLoading,\n error,\n } = useGetAPITokensQuery(undefined, {\n skip: !canRead,\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n trackUsage('didAccessTokenList', { number: apiTokens.length, tokenType: API_TOKEN_TYPE });\n }, [apiTokens, trackUsage]);\n\n const [deleteToken] = useDeleteAPITokenMutation();\n\n const handleDelete = async (id: Entity.ID) => {\n try {\n const res = await deleteToken(id);\n\n if ('error' in res) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n trackUsage('didDeleteToken');\n } catch {\n toggleNotification({\n type: 'warning',\n message: {\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n },\n });\n }\n };\n\n return (\n <Main aria-busy={isLoading}>\n {/* TODO: this needs to be translated */}\n <SettingsPageTitle name=\"API Tokens\" />\n <HeaderLayout\n title={formatMessage({ id: 'Settings.apiTokens.title', defaultMessage: 'API Tokens' })}\n subtitle={formatMessage({\n id: 'Settings.apiTokens.description',\n defaultMessage: 'List of generated tokens to consume the API',\n })}\n primaryAction={\n canCreate && (\n <LinkButton\n data-testid=\"create-api-token-button\"\n startIcon={<Plus />}\n size=\"S\"\n onClick={() =>\n trackUsage('willAddTokenFromList', {\n tokenType: API_TOKEN_TYPE,\n })\n }\n to=\"/settings/api-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.apiTokens.create',\n defaultMessage: 'Create new API Token',\n })}\n </LinkButton>\n )\n }\n />\n <ContentLayout>\n {!canRead && <NoPermissions />}\n {canRead && apiTokens.length > 0 && (\n <Table\n permissions={{ canRead, canDelete, canUpdate }}\n headers={headers}\n contentType=\"api-tokens\"\n isLoading={isLoading}\n onConfirmDelete={handleDelete}\n tokens={apiTokens}\n tokenType={API_TOKEN_TYPE}\n />\n )}\n {canRead && canCreate && apiTokens.length === 0 && (\n <NoContent\n content={{\n id: 'Settings.apiTokens.addFirstToken',\n defaultMessage: 'Add your first API Token',\n }}\n action={\n <LinkButton variant=\"secondary\" startIcon={<Plus />} to=\"/settings/api-tokens/create\">\n {formatMessage({\n id: 'Settings.apiTokens.addNewToken',\n defaultMessage: 'Add new API Token',\n })}\n </LinkButton>\n }\n />\n )}\n {canRead && !canCreate && apiTokens.length === 0 && (\n <NoContent\n content={{\n id: 'Settings.apiTokens.emptyStateLayout',\n defaultMessage: 'You don’t have any content yet...',\n }}\n />\n )}\n </ContentLayout>\n </Main>\n );\n};\n\nexport const ProtectedListView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['api-tokens'].main\n );\n\n return (\n <CheckPagePermissions permissions={permissions}>\n <ListView />\n </CheckPagePermissions>\n );\n};\n"],"names":["qs"],"mappings":"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"}
1
+ {"version":3,"file":"ListView-_YyDlUMi.mjs","sources":["../../admin/src/pages/Settings/pages/ApiTokens/ListView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { ContentLayout, HeaderLayout, LinkButton, Main } from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n NoContent,\n NoPermissions,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFocusWhenNavigate,\n useGuidedTour,\n useNotification,\n useRBAC,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Plus } from '@strapi/icons';\nimport { Entity } from '@strapi/types';\nimport qs from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useHistory } from 'react-router-dom';\n\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useOnce } from '../../../../hooks/useOnce';\nimport { useDeleteAPITokenMutation, useGetAPITokensQuery } from '../../../../services/apiTokens';\nimport { API_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { Table } from '../../components/Tokens/Table';\n\nconst TABLE_HEADERS = [\n {\n name: 'name',\n key: 'name',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.name',\n defaultMessage: 'Name',\n },\n sortable: true,\n },\n },\n {\n name: 'description',\n key: 'description',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.description',\n defaultMessage: 'Description',\n },\n sortable: false,\n },\n },\n {\n name: 'createdAt',\n key: 'createdAt',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.createdAt',\n defaultMessage: 'Created at',\n },\n sortable: false,\n },\n },\n {\n name: 'lastUsedAt',\n key: 'lastUsedAt',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.lastUsedAt',\n defaultMessage: 'Last used',\n },\n sortable: false,\n },\n },\n];\n\nexport const ListView = () => {\n useFocusWhenNavigate();\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['api-tokens']\n );\n const {\n allowedActions: { canCreate, canDelete, canUpdate, canRead },\n } = useRBAC(permissions);\n const { push } = useHistory();\n const { trackUsage } = useTracking();\n const { startSection } = useGuidedTour();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n React.useEffect(() => {\n startSection('apiTokens');\n }, [startSection]);\n\n React.useEffect(() => {\n push({ search: qs.stringify({ sort: 'name:ASC' }, { encode: false }) });\n }, [push]);\n\n const headers = TABLE_HEADERS.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n useOnce(() => {\n trackUsage('willAccessTokenList', {\n tokenType: API_TOKEN_TYPE,\n });\n });\n\n const {\n data: apiTokens = [],\n isLoading,\n error,\n } = useGetAPITokensQuery(undefined, {\n skip: !canRead,\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n trackUsage('didAccessTokenList', { number: apiTokens.length, tokenType: API_TOKEN_TYPE });\n }, [apiTokens, trackUsage]);\n\n const [deleteToken] = useDeleteAPITokenMutation();\n\n const handleDelete = async (id: Entity.ID) => {\n try {\n const res = await deleteToken(id);\n\n if ('error' in res) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n trackUsage('didDeleteToken');\n } catch {\n toggleNotification({\n type: 'warning',\n message: {\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n },\n });\n }\n };\n\n return (\n <Main aria-busy={isLoading}>\n {/* TODO: this needs to be translated */}\n <SettingsPageTitle name=\"API Tokens\" />\n <HeaderLayout\n title={formatMessage({ id: 'Settings.apiTokens.title', defaultMessage: 'API Tokens' })}\n subtitle={formatMessage({\n id: 'Settings.apiTokens.description',\n defaultMessage: 'List of generated tokens to consume the API',\n })}\n primaryAction={\n canCreate && (\n <LinkButton\n data-testid=\"create-api-token-button\"\n startIcon={<Plus />}\n size=\"S\"\n onClick={() =>\n trackUsage('willAddTokenFromList', {\n tokenType: API_TOKEN_TYPE,\n })\n }\n to=\"/settings/api-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.apiTokens.create',\n defaultMessage: 'Create new API Token',\n })}\n </LinkButton>\n )\n }\n />\n <ContentLayout>\n {!canRead && <NoPermissions />}\n {canRead && apiTokens.length > 0 && (\n <Table\n permissions={{ canRead, canDelete, canUpdate }}\n headers={headers}\n contentType=\"api-tokens\"\n isLoading={isLoading}\n onConfirmDelete={handleDelete}\n tokens={apiTokens}\n tokenType={API_TOKEN_TYPE}\n />\n )}\n {canRead && canCreate && apiTokens.length === 0 && (\n <NoContent\n content={{\n id: 'Settings.apiTokens.addFirstToken',\n defaultMessage: 'Add your first API Token',\n }}\n action={\n <LinkButton variant=\"secondary\" startIcon={<Plus />} to=\"/settings/api-tokens/create\">\n {formatMessage({\n id: 'Settings.apiTokens.addNewToken',\n defaultMessage: 'Add new API Token',\n })}\n </LinkButton>\n }\n />\n )}\n {canRead && !canCreate && apiTokens.length === 0 && (\n <NoContent\n content={{\n id: 'Settings.apiTokens.emptyStateLayout',\n defaultMessage: 'You don’t have any content yet...',\n }}\n />\n )}\n </ContentLayout>\n </Main>\n );\n};\n\nexport const ProtectedListView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['api-tokens'].main\n );\n\n return (\n <CheckPagePermissions permissions={permissions}>\n <ListView />\n </CheckPagePermissions>\n );\n};\n"],"names":["qs"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Divider, Box, Flex, Typography } from "@strapi/design-system";
3
3
  import { useIntl } from "react-intl";
4
4
  import styled from "styled-components";
5
- import { g as useGetProvidersQuery, L as Login } from "./index-ZPV-U3Z8.mjs";
5
+ import { g as useGetProvidersQuery, L as Login } from "./index-fi6xYVen.mjs";
6
6
  import { S as SSOProviders } from "./SSOProviders-GvoeZh35.mjs";
7
7
  import "@strapi/helper-plugin";
8
8
  import "react-dom/client";
@@ -94,4 +94,4 @@ const LoginEE = (loginProps) => {
94
94
  export {
95
95
  LoginEE
96
96
  };
97
- //# sourceMappingURL=Login-1vMyz7ns.mjs.map
97
+ //# sourceMappingURL=Login-ZoWk3452.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Login-1vMyz7ns.mjs","sources":["../../ee/admin/src/pages/AuthPage/components/Login.tsx"],"sourcesContent":["import { Box, Divider, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { Login, LoginProps } from '../../../../../../admin/src/pages/Auth/components/Login';\nimport { useGetProvidersQuery } from '../../../../../../admin/src/services/auth';\n\nimport { SSOProviders } from './SSOProviders';\n\nconst DividerFull = styled(Divider)`\n flex: 1;\n`;\n\nconst LoginEE = (loginProps: LoginProps) => {\n const { formatMessage } = useIntl();\n const { isLoading, data: providers = [] } = useGetProvidersQuery(undefined, {\n skip: !window.strapi.features.isEnabled(window.strapi.features.SSO),\n });\n\n if (\n !window.strapi.features.isEnabled(window.strapi.features.SSO) ||\n (!isLoading && providers.length === 0)\n ) {\n return <Login {...loginProps} />;\n }\n\n return (\n <Login {...loginProps}>\n <Box paddingTop={7}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Flex>\n <DividerFull />\n <Box paddingLeft={3} paddingRight={3}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'Auth.login.sso.divider' })}\n </Typography>\n </Box>\n <DividerFull />\n </Flex>\n <SSOProviders providers={providers} displayAllProviders={false} />\n </Flex>\n </Box>\n </Login>\n );\n};\n\nexport { LoginEE };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,cAAc,OAAO,OAAO;AAAA;AAAA;AAI5B,MAAA,UAAU,CAAC,eAA2B;AACpC,QAAA,EAAE,kBAAkB;AACpB,QAAA,EAAE,WAAW,MAAM,YAAY,CAAA,MAAO,qBAAqB,QAAW;AAAA,IAC1E,MAAM,CAAC,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,GAAG;AAAA,EAAA,CACnE;AAED,MACE,CAAC,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,GAAG,KAC3D,CAAC,aAAa,UAAU,WAAW,GACpC;AACO,WAAA,oBAAC,OAAO,EAAA,GAAG,WAAY,CAAA;AAAA,EAChC;AAEA,SACG,oBAAA,OAAA,EAAO,GAAG,YACT,8BAAC,KAAI,EAAA,YAAY,GACf,UAAA,qBAAC,QAAK,WAAU,UAAS,YAAW,WAAU,KAAK,GACjD,UAAA;AAAA,IAAA,qBAAC,MACC,EAAA,UAAA;AAAA,MAAA,oBAAC,aAAY,EAAA;AAAA,0BACZ,KAAI,EAAA,aAAa,GAAG,cAAc,GACjC,8BAAC,YAAW,EAAA,SAAQ,SAAQ,WAAU,cACnC,UAAc,cAAA,EAAE,IAAI,yBAAyB,CAAC,EACjD,CAAA,GACF;AAAA,0BACC,aAAY,EAAA;AAAA,IAAA,GACf;AAAA,IACC,oBAAA,cAAA,EAAa,WAAsB,qBAAqB,MAAO,CAAA;AAAA,EAAA,GAClE,GACF,EACF,CAAA;AAEJ;"}
1
+ {"version":3,"file":"Login-ZoWk3452.mjs","sources":["../../ee/admin/src/pages/AuthPage/components/Login.tsx"],"sourcesContent":["import { Box, Divider, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { Login, LoginProps } from '../../../../../../admin/src/pages/Auth/components/Login';\nimport { useGetProvidersQuery } from '../../../../../../admin/src/services/auth';\n\nimport { SSOProviders } from './SSOProviders';\n\nconst DividerFull = styled(Divider)`\n flex: 1;\n`;\n\nconst LoginEE = (loginProps: LoginProps) => {\n const { formatMessage } = useIntl();\n const { isLoading, data: providers = [] } = useGetProvidersQuery(undefined, {\n skip: !window.strapi.features.isEnabled(window.strapi.features.SSO),\n });\n\n if (\n !window.strapi.features.isEnabled(window.strapi.features.SSO) ||\n (!isLoading && providers.length === 0)\n ) {\n return <Login {...loginProps} />;\n }\n\n return (\n <Login {...loginProps}>\n <Box paddingTop={7}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Flex>\n <DividerFull />\n <Box paddingLeft={3} paddingRight={3}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'Auth.login.sso.divider' })}\n </Typography>\n </Box>\n <DividerFull />\n </Flex>\n <SSOProviders providers={providers} displayAllProviders={false} />\n </Flex>\n </Box>\n </Login>\n );\n};\n\nexport { LoginEE };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,cAAc,OAAO,OAAO;AAAA;AAAA;AAI5B,MAAA,UAAU,CAAC,eAA2B;AACpC,QAAA,EAAE,kBAAkB;AACpB,QAAA,EAAE,WAAW,MAAM,YAAY,CAAA,MAAO,qBAAqB,QAAW;AAAA,IAC1E,MAAM,CAAC,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,GAAG;AAAA,EAAA,CACnE;AAED,MACE,CAAC,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,GAAG,KAC3D,CAAC,aAAa,UAAU,WAAW,GACpC;AACO,WAAA,oBAAC,OAAO,EAAA,GAAG,WAAY,CAAA;AAAA,EAChC;AAEA,SACG,oBAAA,OAAA,EAAO,GAAG,YACT,8BAAC,KAAI,EAAA,YAAY,GACf,UAAA,qBAAC,QAAK,WAAU,UAAS,YAAW,WAAU,KAAK,GACjD,UAAA;AAAA,IAAA,qBAAC,MACC,EAAA,UAAA;AAAA,MAAA,oBAAC,aAAY,EAAA;AAAA,0BACZ,KAAI,EAAA,aAAa,GAAG,cAAc,GACjC,8BAAC,YAAW,EAAA,SAAQ,SAAQ,WAAU,cACnC,UAAc,cAAA,EAAE,IAAI,yBAAyB,CAAC,EACjD,CAAA,GACF;AAAA,0BACC,aAAY,EAAA;AAAA,IAAA,GACf;AAAA,IACC,oBAAA,cAAA,EAAa,WAAsB,qBAAqB,MAAO,CAAA;AAAA,EAAA,GAClE,GACF,EACF,CAAA;AAEJ;"}
@@ -4,7 +4,7 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const designSystem = require("@strapi/design-system");
5
5
  const reactIntl = require("react-intl");
6
6
  const styled = require("styled-components");
7
- const index = require("./index-yURwb4pr.js");
7
+ const index = require("./index-HHHViOfr.js");
8
8
  const SSOProviders = require("./SSOProviders-Z6IAEre2.js");
9
9
  require("@strapi/helper-plugin");
10
10
  require("react-dom/client");
@@ -96,4 +96,4 @@ const LoginEE = (loginProps) => {
96
96
  ] }) }) });
97
97
  };
98
98
  exports.LoginEE = LoginEE;
99
- //# sourceMappingURL=Login-YOgZhud5.js.map
99
+ //# sourceMappingURL=Login-qmPh7pFM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Login-YOgZhud5.js","sources":["../../ee/admin/src/pages/AuthPage/components/Login.tsx"],"sourcesContent":["import { Box, Divider, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { Login, LoginProps } from '../../../../../../admin/src/pages/Auth/components/Login';\nimport { useGetProvidersQuery } from '../../../../../../admin/src/services/auth';\n\nimport { SSOProviders } from './SSOProviders';\n\nconst DividerFull = styled(Divider)`\n flex: 1;\n`;\n\nconst LoginEE = (loginProps: LoginProps) => {\n const { formatMessage } = useIntl();\n const { isLoading, data: providers = [] } = useGetProvidersQuery(undefined, {\n skip: !window.strapi.features.isEnabled(window.strapi.features.SSO),\n });\n\n if (\n !window.strapi.features.isEnabled(window.strapi.features.SSO) ||\n (!isLoading && providers.length === 0)\n ) {\n return <Login {...loginProps} />;\n }\n\n return (\n <Login {...loginProps}>\n <Box paddingTop={7}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Flex>\n <DividerFull />\n <Box paddingLeft={3} paddingRight={3}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'Auth.login.sso.divider' })}\n </Typography>\n </Box>\n <DividerFull />\n </Flex>\n <SSOProviders providers={providers} displayAllProviders={false} />\n </Flex>\n </Box>\n </Login>\n );\n};\n\nexport { LoginEE };\n"],"names":["styled","Divider","useIntl","useGetProvidersQuery","jsx","Login","Box","jsxs","Flex","Typography","SSOProviders"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,cAAcA,gBAAAA,QAAOC,aAAAA,OAAO;AAAA;AAAA;AAI5B,MAAA,UAAU,CAAC,eAA2B;AACpC,QAAA,EAAE,kBAAkBC,UAAAA;AACpB,QAAA,EAAE,WAAW,MAAM,YAAY,CAAA,MAAOC,MAAAA,qBAAqB,QAAW;AAAA,IAC1E,MAAM,CAAC,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,GAAG;AAAA,EAAA,CACnE;AAED,MACE,CAAC,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,GAAG,KAC3D,CAAC,aAAa,UAAU,WAAW,GACpC;AACO,WAAAC,2BAAA,IAACC,MAAO,OAAA,EAAA,GAAG,WAAY,CAAA;AAAA,EAChC;AAEA,SACGD,2BAAA,IAAAC,aAAA,EAAO,GAAG,YACT,yCAACC,aAAAA,KAAI,EAAA,YAAY,GACf,UAAAC,gCAACC,aAAAA,QAAK,WAAU,UAAS,YAAW,WAAU,KAAK,GACjD,UAAA;AAAA,IAAAD,gCAACC,aAAAA,MACC,EAAA,UAAA;AAAA,MAAAJ,2BAAA,IAAC,aAAY,EAAA;AAAA,qCACZE,aAAAA,KAAI,EAAA,aAAa,GAAG,cAAc,GACjC,yCAACG,yBAAW,EAAA,SAAQ,SAAQ,WAAU,cACnC,UAAc,cAAA,EAAE,IAAI,yBAAyB,CAAC,EACjD,CAAA,GACF;AAAA,qCACC,aAAY,EAAA;AAAA,IAAA,GACf;AAAA,IACCL,2BAAAA,IAAAM,aAAAA,cAAA,EAAa,WAAsB,qBAAqB,MAAO,CAAA;AAAA,EAAA,GAClE,GACF,EACF,CAAA;AAEJ;;"}
1
+ {"version":3,"file":"Login-qmPh7pFM.js","sources":["../../ee/admin/src/pages/AuthPage/components/Login.tsx"],"sourcesContent":["import { Box, Divider, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { Login, LoginProps } from '../../../../../../admin/src/pages/Auth/components/Login';\nimport { useGetProvidersQuery } from '../../../../../../admin/src/services/auth';\n\nimport { SSOProviders } from './SSOProviders';\n\nconst DividerFull = styled(Divider)`\n flex: 1;\n`;\n\nconst LoginEE = (loginProps: LoginProps) => {\n const { formatMessage } = useIntl();\n const { isLoading, data: providers = [] } = useGetProvidersQuery(undefined, {\n skip: !window.strapi.features.isEnabled(window.strapi.features.SSO),\n });\n\n if (\n !window.strapi.features.isEnabled(window.strapi.features.SSO) ||\n (!isLoading && providers.length === 0)\n ) {\n return <Login {...loginProps} />;\n }\n\n return (\n <Login {...loginProps}>\n <Box paddingTop={7}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Flex>\n <DividerFull />\n <Box paddingLeft={3} paddingRight={3}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'Auth.login.sso.divider' })}\n </Typography>\n </Box>\n <DividerFull />\n </Flex>\n <SSOProviders providers={providers} displayAllProviders={false} />\n </Flex>\n </Box>\n </Login>\n );\n};\n\nexport { LoginEE };\n"],"names":["styled","Divider","useIntl","useGetProvidersQuery","jsx","Login","Box","jsxs","Flex","Typography","SSOProviders"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,cAAcA,gBAAAA,QAAOC,aAAAA,OAAO;AAAA;AAAA;AAI5B,MAAA,UAAU,CAAC,eAA2B;AACpC,QAAA,EAAE,kBAAkBC,UAAAA;AACpB,QAAA,EAAE,WAAW,MAAM,YAAY,CAAA,MAAOC,MAAAA,qBAAqB,QAAW;AAAA,IAC1E,MAAM,CAAC,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,GAAG;AAAA,EAAA,CACnE;AAED,MACE,CAAC,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,GAAG,KAC3D,CAAC,aAAa,UAAU,WAAW,GACpC;AACO,WAAAC,2BAAA,IAACC,MAAO,OAAA,EAAA,GAAG,WAAY,CAAA;AAAA,EAChC;AAEA,SACGD,2BAAA,IAAAC,aAAA,EAAO,GAAG,YACT,yCAACC,aAAAA,KAAI,EAAA,YAAY,GACf,UAAAC,gCAACC,aAAAA,QAAK,WAAU,UAAS,YAAW,WAAU,KAAK,GACjD,UAAA;AAAA,IAAAD,gCAACC,aAAAA,MACC,EAAA,UAAA;AAAA,MAAAJ,2BAAA,IAAC,aAAY,EAAA;AAAA,qCACZE,aAAAA,KAAI,EAAA,aAAa,GAAG,cAAc,GACjC,yCAACG,yBAAW,EAAA,SAAQ,SAAQ,WAAU,cACnC,UAAc,cAAA,EAAE,IAAI,yBAAyB,CAAC,EACjD,CAAA,GACF;AAAA,qCACC,aAAY,EAAA;AAAA,IAAA,GACf;AAAA,IACCL,2BAAAA,IAAAM,aAAAA,cAAA,EAAa,WAAsB,qBAAqB,MAAO,CAAA;AAAA,EAAA,GAClE,GACF,EACF,CAAA;AAEJ;;"}
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { useIntl } from "react-intl";
3
- import { K as getBasename } from "./index-ZPV-U3Z8.mjs";
4
- import { a as MagicLinkWrapper } from "./SelectRoles-BTQmMN4X.mjs";
3
+ import { K as getBasename } from "./index-fi6xYVen.mjs";
4
+ import { a as MagicLinkWrapper } from "./SelectRoles-r5ac3R_t.mjs";
5
5
  import "@strapi/helper-plugin";
6
6
  import "react-dom/client";
7
7
  import "@strapi/design-system";
@@ -71,7 +71,7 @@ import "lodash/uniqBy";
71
71
  import "lodash/unset";
72
72
  import "lodash/isArray";
73
73
  import "date-fns/parseISO";
74
- import "./useAdminRoles-ORX-QwqO.mjs";
74
+ import "./useAdminRoles-XyUHcbZE.mjs";
75
75
  const MagicLinkEE = ({ registrationToken }) => {
76
76
  const { formatMessage } = useIntl();
77
77
  if (registrationToken) {
@@ -94,4 +94,4 @@ const MagicLinkEE = ({ registrationToken }) => {
94
94
  export {
95
95
  MagicLinkEE
96
96
  };
97
- //# sourceMappingURL=MagicLinkEE-eGlPa4z_.mjs.map
97
+ //# sourceMappingURL=MagicLinkEE-55V9aeIc.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MagicLinkEE-eGlPa4z_.mjs","sources":["../../ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.tsx"],"sourcesContent":["import { useIntl } from 'react-intl';\n\nimport { getBasename } from '../../../../../../../../admin/src/core/utils/basename';\nimport { MagicLinkWrapper } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkWrapper';\n\nimport type { MagicLinkCEProps } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkCE';\n\n// FIXME replace with parts compo when ready\nexport const MagicLinkEE = ({ registrationToken }: MagicLinkCEProps) => {\n const { formatMessage } = useIntl();\n\n if (registrationToken) {\n return (\n <MagicLinkWrapper\n target={`${\n window.location.origin\n }${getBasename()}/auth/register?registrationToken=${registrationToken}`}\n >\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect',\n defaultMessage: 'Copy and share this link to give access to this user',\n })}\n </MagicLinkWrapper>\n );\n }\n\n return (\n <MagicLinkWrapper target={`${window.location.origin}${getBasename()}/auth/login`}>\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect.sso',\n defaultMessage:\n 'Send this link to the user, the first login can be made via a SSO provider.',\n })}\n </MagicLinkWrapper>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,MAAM,cAAc,CAAC,EAAE,wBAA0C;AAChE,QAAA,EAAE,kBAAkB;AAE1B,MAAI,mBAAmB;AAEnB,WAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,QAAQ,GACN,OAAO,SAAS,MAClB,GAAG,YAAa,CAAA,oCAAoC,iBAAiB;AAAA,QAEpE,UAAc,cAAA;AAAA,UACb,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AAGE,SAAA,oBAAC,kBAAiB,EAAA,QAAQ,GAAG,OAAO,SAAS,MAAM,GAAG,YAAa,CAAA,eAChE,UAAc,cAAA;AAAA,IACb,IAAI;AAAA,IACJ,gBACE;AAAA,EACH,CAAA,EACH,CAAA;AAEJ;"}
1
+ {"version":3,"file":"MagicLinkEE-55V9aeIc.mjs","sources":["../../ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.tsx"],"sourcesContent":["import { useIntl } from 'react-intl';\n\nimport { getBasename } from '../../../../../../../../admin/src/core/utils/basename';\nimport { MagicLinkWrapper } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkWrapper';\n\nimport type { MagicLinkCEProps } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkCE';\n\n// FIXME replace with parts compo when ready\nexport const MagicLinkEE = ({ registrationToken }: MagicLinkCEProps) => {\n const { formatMessage } = useIntl();\n\n if (registrationToken) {\n return (\n <MagicLinkWrapper\n target={`${\n window.location.origin\n }${getBasename()}/auth/register?registrationToken=${registrationToken}`}\n >\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect',\n defaultMessage: 'Copy and share this link to give access to this user',\n })}\n </MagicLinkWrapper>\n );\n }\n\n return (\n <MagicLinkWrapper target={`${window.location.origin}${getBasename()}/auth/login`}>\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect.sso',\n defaultMessage:\n 'Send this link to the user, the first login can be made via a SSO provider.',\n })}\n </MagicLinkWrapper>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,MAAM,cAAc,CAAC,EAAE,wBAA0C;AAChE,QAAA,EAAE,kBAAkB;AAE1B,MAAI,mBAAmB;AAEnB,WAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,QAAQ,GACN,OAAO,SAAS,MAClB,GAAG,YAAa,CAAA,oCAAoC,iBAAiB;AAAA,QAEpE,UAAc,cAAA;AAAA,UACb,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AAGE,SAAA,oBAAC,kBAAiB,EAAA,QAAQ,GAAG,OAAO,SAAS,MAAM,GAAG,YAAa,CAAA,eAChE,UAAc,cAAA;AAAA,IACb,IAAI;AAAA,IACJ,gBACE;AAAA,EACH,CAAA,EACH,CAAA;AAEJ;"}
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const reactIntl = require("react-intl");
5
- const index = require("./index-yURwb4pr.js");
6
- const SelectRoles = require("./SelectRoles-Cn4P5ueS.js");
5
+ const index = require("./index-HHHViOfr.js");
6
+ const SelectRoles = require("./SelectRoles-RK2nHcfD.js");
7
7
  require("@strapi/helper-plugin");
8
8
  require("react-dom/client");
9
9
  require("@strapi/design-system");
@@ -73,7 +73,7 @@ require("lodash/uniqBy");
73
73
  require("lodash/unset");
74
74
  require("lodash/isArray");
75
75
  require("date-fns/parseISO");
76
- require("./useAdminRoles-BAd2tdjT.js");
76
+ require("./useAdminRoles-fpLB4k1Q.js");
77
77
  const MagicLinkEE = ({ registrationToken }) => {
78
78
  const { formatMessage } = reactIntl.useIntl();
79
79
  if (registrationToken) {
@@ -94,4 +94,4 @@ const MagicLinkEE = ({ registrationToken }) => {
94
94
  }) });
95
95
  };
96
96
  exports.MagicLinkEE = MagicLinkEE;
97
- //# sourceMappingURL=MagicLinkEE-WNdc3dsV.js.map
97
+ //# sourceMappingURL=MagicLinkEE-n6mXkkoz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MagicLinkEE-WNdc3dsV.js","sources":["../../ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.tsx"],"sourcesContent":["import { useIntl } from 'react-intl';\n\nimport { getBasename } from '../../../../../../../../admin/src/core/utils/basename';\nimport { MagicLinkWrapper } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkWrapper';\n\nimport type { MagicLinkCEProps } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkCE';\n\n// FIXME replace with parts compo when ready\nexport const MagicLinkEE = ({ registrationToken }: MagicLinkCEProps) => {\n const { formatMessage } = useIntl();\n\n if (registrationToken) {\n return (\n <MagicLinkWrapper\n target={`${\n window.location.origin\n }${getBasename()}/auth/register?registrationToken=${registrationToken}`}\n >\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect',\n defaultMessage: 'Copy and share this link to give access to this user',\n })}\n </MagicLinkWrapper>\n );\n }\n\n return (\n <MagicLinkWrapper target={`${window.location.origin}${getBasename()}/auth/login`}>\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect.sso',\n defaultMessage:\n 'Send this link to the user, the first login can be made via a SSO provider.',\n })}\n </MagicLinkWrapper>\n );\n};\n"],"names":["useIntl","jsx","MagicLinkWrapper","getBasename"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,MAAM,cAAc,CAAC,EAAE,wBAA0C;AAChE,QAAA,EAAE,kBAAkBA,UAAAA;AAE1B,MAAI,mBAAmB;AAEnB,WAAAC,2BAAA;AAAA,MAACC,YAAA;AAAA,MAAA;AAAA,QACC,QAAQ,GACN,OAAO,SAAS,MAClB,GAAGC,kBAAa,CAAA,oCAAoC,iBAAiB;AAAA,QAEpE,UAAc,cAAA;AAAA,UACb,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AAGE,SAAAF,2BAAA,IAACC,YAAiB,kBAAA,EAAA,QAAQ,GAAG,OAAO,SAAS,MAAM,GAAGC,MAAAA,YAAa,CAAA,eAChE,UAAc,cAAA;AAAA,IACb,IAAI;AAAA,IACJ,gBACE;AAAA,EACH,CAAA,EACH,CAAA;AAEJ;;"}
1
+ {"version":3,"file":"MagicLinkEE-n6mXkkoz.js","sources":["../../ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.tsx"],"sourcesContent":["import { useIntl } from 'react-intl';\n\nimport { getBasename } from '../../../../../../../../admin/src/core/utils/basename';\nimport { MagicLinkWrapper } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkWrapper';\n\nimport type { MagicLinkCEProps } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkCE';\n\n// FIXME replace with parts compo when ready\nexport const MagicLinkEE = ({ registrationToken }: MagicLinkCEProps) => {\n const { formatMessage } = useIntl();\n\n if (registrationToken) {\n return (\n <MagicLinkWrapper\n target={`${\n window.location.origin\n }${getBasename()}/auth/register?registrationToken=${registrationToken}`}\n >\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect',\n defaultMessage: 'Copy and share this link to give access to this user',\n })}\n </MagicLinkWrapper>\n );\n }\n\n return (\n <MagicLinkWrapper target={`${window.location.origin}${getBasename()}/auth/login`}>\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect.sso',\n defaultMessage:\n 'Send this link to the user, the first login can be made via a SSO provider.',\n })}\n </MagicLinkWrapper>\n );\n};\n"],"names":["useIntl","jsx","MagicLinkWrapper","getBasename"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,MAAM,cAAc,CAAC,EAAE,wBAA0C;AAChE,QAAA,EAAE,kBAAkBA,UAAAA;AAE1B,MAAI,mBAAmB;AAEnB,WAAAC,2BAAA;AAAA,MAACC,YAAA;AAAA,MAAA;AAAA,QACC,QAAQ,GACN,OAAO,SAAS,MAClB,GAAGC,kBAAa,CAAA,oCAAoC,iBAAiB;AAAA,QAEpE,UAAc,cAAA;AAAA,UACb,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AAGE,SAAAF,2BAAA,IAACC,YAAiB,kBAAA,EAAA,QAAQ,GAAG,OAAO,SAAS,MAAM,GAAGC,MAAAA,YAAa,CAAA,eAChE,UAAc,cAAA;AAAA,IACb,IAAI;AAAA,IACJ,gBACE;AAAA,EACH,CAAA,EACH,CAAA;AAEJ;;"}
@@ -6,8 +6,8 @@ import { Filter, Cross, CheckCircle, ExternalLink, Check, Duplicate, Github, Sta
6
6
  import { Helmet } from "react-helmet";
7
7
  import { useIntl } from "react-intl";
8
8
  import { useSelector } from "react-redux";
9
- import { S as StrapiLogo, r as useDebounce } from "./index-ZPV-U3Z8.mjs";
10
- import { s as selectAdminPermissions } from "./AuthenticatedApp-sR7yWW55.mjs";
9
+ import { S as StrapiLogo, r as useDebounce } from "./index-fi6xYVen.mjs";
10
+ import { s as selectAdminPermissions } from "./AuthenticatedApp-eCrm0itM.mjs";
11
11
  import styled from "styled-components";
12
12
  import { LinkButton } from "@strapi/design-system/v2";
13
13
  import pluralize from "pluralize";
@@ -1055,4 +1055,4 @@ export {
1055
1055
  MarketplacePage,
1056
1056
  ProtectedMarketplacePage
1057
1057
  };
1058
- //# sourceMappingURL=MarketplacePage-7TixJJZD.mjs.map
1058
+ //# sourceMappingURL=MarketplacePage-001XUJXL.mjs.map