@strapi/admin 4.25.20 → 4.25.21

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-GTY9JWCL.mjs → AdminSeatInfo-fNh9AVPj.mjs} +3 -3
  2. package/dist/_chunks/{AdminSeatInfo-GTY9JWCL.mjs.map → AdminSeatInfo-fNh9AVPj.mjs.map} +1 -1
  3. package/dist/_chunks/{AdminSeatInfo-0cKqdZDy.js → AdminSeatInfo-n9_ckklX.js} +3 -3
  4. package/dist/_chunks/{AdminSeatInfo-0cKqdZDy.js.map → AdminSeatInfo-n9_ckklX.js.map} +1 -1
  5. package/dist/_chunks/{AuthenticatedApp-ZDEcVJFL.mjs → AuthenticatedApp-JlSCDE9m.mjs} +21 -21
  6. package/dist/_chunks/{AuthenticatedApp-ZDEcVJFL.mjs.map → AuthenticatedApp-JlSCDE9m.mjs.map} +1 -1
  7. package/dist/_chunks/{AuthenticatedApp-_31op4tu.js → AuthenticatedApp-QDCywiaA.js} +21 -21
  8. package/dist/_chunks/{AuthenticatedApp-_31op4tu.js.map → AuthenticatedApp-QDCywiaA.js.map} +1 -1
  9. package/dist/_chunks/{CreateActionEE-VPtSIXIX.js → CreateActionEE-41ZkOmsl.js} +2 -2
  10. package/dist/_chunks/{CreateActionEE-VPtSIXIX.js.map → CreateActionEE-41ZkOmsl.js.map} +1 -1
  11. package/dist/_chunks/{CreateActionEE-5Ub-mek_.mjs → CreateActionEE-j5RHQGR1.mjs} +2 -2
  12. package/dist/_chunks/{CreateActionEE-5Ub-mek_.mjs.map → CreateActionEE-j5RHQGR1.mjs.map} +1 -1
  13. package/dist/_chunks/{CreatePage-eP2m9KkQ.mjs → CreatePage-9yf08Hvr.mjs} +3 -3
  14. package/dist/_chunks/{CreatePage-eP2m9KkQ.mjs.map → CreatePage-9yf08Hvr.mjs.map} +1 -1
  15. package/dist/_chunks/{CreatePage-IsGEwU4z.mjs → CreatePage-ApXmZ6hv.mjs} +8 -8
  16. package/dist/_chunks/{CreatePage-IsGEwU4z.mjs.map → CreatePage-ApXmZ6hv.mjs.map} +1 -1
  17. package/dist/_chunks/{CreatePage-pVDqvNqt.js → CreatePage-eEbDUiWT.js} +3 -3
  18. package/dist/_chunks/{CreatePage-pVDqvNqt.js.map → CreatePage-eEbDUiWT.js.map} +1 -1
  19. package/dist/_chunks/{CreatePage-KSZZpE-L.mjs → CreatePage-hqu9LQBD.mjs} +6 -6
  20. package/dist/_chunks/{CreatePage-KSZZpE-L.mjs.map → CreatePage-hqu9LQBD.mjs.map} +1 -1
  21. package/dist/_chunks/{CreatePage-akCLzXCK.js → CreatePage-pZqlUQYD.js} +8 -8
  22. package/dist/_chunks/{CreatePage-akCLzXCK.js.map → CreatePage-pZqlUQYD.js.map} +1 -1
  23. package/dist/_chunks/{CreatePage-9o6MUtyH.js → CreatePage-w8DFLtB6.js} +6 -6
  24. package/dist/_chunks/{CreatePage-9o6MUtyH.js.map → CreatePage-w8DFLtB6.js.map} +1 -1
  25. package/dist/_chunks/{CreateView-2jXwQKAI.js → CreateView-63oNUfVH.js} +6 -6
  26. package/dist/_chunks/{CreateView-2jXwQKAI.js.map → CreateView-63oNUfVH.js.map} +1 -1
  27. package/dist/_chunks/{CreateView-PKG3SJtY.mjs → CreateView-EiUPL71p.mjs} +6 -6
  28. package/dist/_chunks/{CreateView-PKG3SJtY.mjs.map → CreateView-EiUPL71p.mjs.map} +1 -1
  29. package/dist/_chunks/{CreateView-Dt_rZj4J.js → CreateView-KVMv7s3s.js} +6 -6
  30. package/dist/_chunks/{CreateView-Dt_rZj4J.js.map → CreateView-KVMv7s3s.js.map} +1 -1
  31. package/dist/_chunks/{CreateView-7Yr9395X.mjs → CreateView-kbmC1gMS.mjs} +6 -6
  32. package/dist/_chunks/{CreateView-7Yr9395X.mjs.map → CreateView-kbmC1gMS.mjs.map} +1 -1
  33. package/dist/_chunks/{EditPage-2M2ewRxR.js → EditPage--b9DJdw5.js} +9 -9
  34. package/dist/_chunks/{EditPage-2M2ewRxR.js.map → EditPage--b9DJdw5.js.map} +1 -1
  35. package/dist/_chunks/{EditPage-Ine-urvd.mjs → EditPage-0SD5FvMy.mjs} +6 -6
  36. package/dist/_chunks/{EditPage-Ine-urvd.mjs.map → EditPage-0SD5FvMy.mjs.map} +1 -1
  37. package/dist/_chunks/{EditPage-Iaj65jjY.js → EditPage-4QW2drFe.js} +4 -4
  38. package/dist/_chunks/{EditPage-Iaj65jjY.js.map → EditPage-4QW2drFe.js.map} +1 -1
  39. package/dist/_chunks/{EditPage-kBzVWg0Q.mjs → EditPage-Dfh_a9re.mjs} +9 -9
  40. package/dist/_chunks/{EditPage-kBzVWg0Q.mjs.map → EditPage-Dfh_a9re.mjs.map} +1 -1
  41. package/dist/_chunks/{EditPage-mnrYcQgR.mjs → EditPage-IKP7kDDd.mjs} +4 -4
  42. package/dist/_chunks/{EditPage-mnrYcQgR.mjs.map → EditPage-IKP7kDDd.mjs.map} +1 -1
  43. package/dist/_chunks/{EditPage-CkNfUaI_.js → EditPage-S32_MPZV.js} +6 -6
  44. package/dist/_chunks/{EditPage-CkNfUaI_.js.map → EditPage-S32_MPZV.js.map} +1 -1
  45. package/dist/_chunks/{EditPage-Yxk7NS8a.mjs → EditPage-ys_BuVge.mjs} +6 -6
  46. package/dist/_chunks/{EditPage-Yxk7NS8a.mjs.map → EditPage-ys_BuVge.mjs.map} +1 -1
  47. package/dist/_chunks/{EditPage-t9VuGktV.js → EditPage-zla6CY-n.js} +6 -6
  48. package/dist/_chunks/{EditPage-t9VuGktV.js.map → EditPage-zla6CY-n.js.map} +1 -1
  49. package/dist/_chunks/{EditView-loQ4wBTC.mjs → EditView-DEchhGSy.mjs} +4 -4
  50. package/dist/_chunks/{EditView-loQ4wBTC.mjs.map → EditView-DEchhGSy.mjs.map} +1 -1
  51. package/dist/_chunks/{EditView-4Ocv0WSd.js → EditView-Z0k2PFIW.js} +4 -4
  52. package/dist/_chunks/{EditView-4Ocv0WSd.js.map → EditView-Z0k2PFIW.js.map} +1 -1
  53. package/dist/_chunks/{EditViewPage-K5-8Tr2k.mjs → EditViewPage-66vkBGnE.mjs} +4 -4
  54. package/dist/_chunks/{EditViewPage-K5-8Tr2k.mjs.map → EditViewPage-66vkBGnE.mjs.map} +1 -1
  55. package/dist/_chunks/{EditViewPage-JzVFHB8V.js → EditViewPage-FaZ9DTP-.js} +4 -4
  56. package/dist/_chunks/{EditViewPage-JzVFHB8V.js.map → EditViewPage-FaZ9DTP-.js.map} +1 -1
  57. package/dist/_chunks/{EventsTable-yt9YV3PW.js → EventsTable-Mp4lY2AJ.js} +6 -6
  58. package/dist/_chunks/{EventsTable-yt9YV3PW.js.map → EventsTable-Mp4lY2AJ.js.map} +1 -1
  59. package/dist/_chunks/{EventsTable-mVQnHLBG.mjs → EventsTable-wVl5KPcq.mjs} +6 -6
  60. package/dist/_chunks/{EventsTable-mVQnHLBG.mjs.map → EventsTable-wVl5KPcq.mjs.map} +1 -1
  61. package/dist/_chunks/{HomePage-UM4JEvF3.js → HomePage-J_qLEedO.js} +5 -5
  62. package/dist/_chunks/{HomePage-UM4JEvF3.js.map → HomePage-J_qLEedO.js.map} +1 -1
  63. package/dist/_chunks/{HomePage-HWvbV0kg.mjs → HomePage-NgMfBDG1.mjs} +6 -6
  64. package/dist/_chunks/{HomePage-HWvbV0kg.mjs.map → HomePage-NgMfBDG1.mjs.map} +1 -1
  65. package/dist/_chunks/{HomePage-U5pzbUga.mjs → HomePage-Uzw2Zg0c.mjs} +5 -5
  66. package/dist/_chunks/{HomePage-U5pzbUga.mjs.map → HomePage-Uzw2Zg0c.mjs.map} +1 -1
  67. package/dist/_chunks/{HomePage-HkjLG9sJ.js → HomePage-dHbUIjx9.js} +6 -6
  68. package/dist/_chunks/{HomePage-HkjLG9sJ.js.map → HomePage-dHbUIjx9.js.map} +1 -1
  69. package/dist/_chunks/{InformationBoxEE-4WSUEBbN.mjs → InformationBoxEE-L8BBbY5q.mjs} +3 -3
  70. package/dist/_chunks/{InformationBoxEE-4WSUEBbN.mjs.map → InformationBoxEE-L8BBbY5q.mjs.map} +1 -1
  71. package/dist/_chunks/{InformationBoxEE-UpH3LKc4.js → InformationBoxEE-QnIjVrwB.js} +3 -3
  72. package/dist/_chunks/{InformationBoxEE-UpH3LKc4.js.map → InformationBoxEE-QnIjVrwB.js.map} +1 -1
  73. package/dist/_chunks/{InstalledPluginsPage--GqA6C-g.js → InstalledPluginsPage-5FMbbylg.js} +3 -3
  74. package/dist/_chunks/{InstalledPluginsPage--GqA6C-g.js.map → InstalledPluginsPage-5FMbbylg.js.map} +1 -1
  75. package/dist/_chunks/{InstalledPluginsPage-tSs9HYCy.mjs → InstalledPluginsPage-9wzLhUvI.mjs} +3 -3
  76. package/dist/_chunks/{InstalledPluginsPage-tSs9HYCy.mjs.map → InstalledPluginsPage-9wzLhUvI.mjs.map} +1 -1
  77. package/dist/_chunks/{Layout-r4HmN54I.js → Layout--0fQX_O4.js} +2 -2
  78. package/dist/_chunks/{Layout-r4HmN54I.js.map → Layout--0fQX_O4.js.map} +1 -1
  79. package/dist/_chunks/{Layout-dURZXNrD.mjs → Layout-QMOA8ZMB.mjs} +2 -2
  80. package/dist/_chunks/{Layout-dURZXNrD.mjs.map → Layout-QMOA8ZMB.mjs.map} +1 -1
  81. package/dist/_chunks/{ListPage-XRvGRQN_.js → ListPage-4ewT-BZW.js} +4 -4
  82. package/dist/_chunks/{ListPage-XRvGRQN_.js.map → ListPage-4ewT-BZW.js.map} +1 -1
  83. package/dist/_chunks/{ListPage-lNb4WrLP.mjs → ListPage-98s5i8Xi.mjs} +4 -4
  84. package/dist/_chunks/{ListPage-lNb4WrLP.mjs.map → ListPage-98s5i8Xi.mjs.map} +1 -1
  85. package/dist/_chunks/{ListPage-dmRTFOpK.mjs → ListPage-HZokVhqs.mjs} +7 -7
  86. package/dist/_chunks/{ListPage-dmRTFOpK.mjs.map → ListPage-HZokVhqs.mjs.map} +1 -1
  87. package/dist/_chunks/{ListPage-Fgx6Bcf3.mjs → ListPage-NW6Jib2e.mjs} +2 -2
  88. package/dist/_chunks/{ListPage-Fgx6Bcf3.mjs.map → ListPage-NW6Jib2e.mjs.map} +1 -1
  89. package/dist/_chunks/{ListPage-qPci3wft.mjs → ListPage-OQ2ywwby.mjs} +3 -3
  90. package/dist/_chunks/{ListPage-qPci3wft.mjs.map → ListPage-OQ2ywwby.mjs.map} +1 -1
  91. package/dist/_chunks/{ListPage-QWpZx7a4.js → ListPage-RhTdol-1.js} +3 -3
  92. package/dist/_chunks/{ListPage-QWpZx7a4.js.map → ListPage-RhTdol-1.js.map} +1 -1
  93. package/dist/_chunks/{ListPage-ysM3U4i7.js → ListPage-WYdwtsqM.js} +8 -8
  94. package/dist/_chunks/{ListPage-ysM3U4i7.js.map → ListPage-WYdwtsqM.js.map} +1 -1
  95. package/dist/_chunks/{ListPage-0Bi10Jzr.js → ListPage-_lgSe68W.js} +2 -2
  96. package/dist/_chunks/{ListPage-0Bi10Jzr.js.map → ListPage-_lgSe68W.js.map} +1 -1
  97. package/dist/_chunks/{ListPage-2vOjjYuC.mjs → ListPage-cznp__Dv.mjs} +8 -8
  98. package/dist/_chunks/{ListPage-2vOjjYuC.mjs.map → ListPage-cznp__Dv.mjs.map} +1 -1
  99. package/dist/_chunks/{ListPage-K5_3_Awn.js → ListPage-m6p6QnZU.js} +7 -7
  100. package/dist/_chunks/{ListPage-K5_3_Awn.js.map → ListPage-m6p6QnZU.js.map} +1 -1
  101. package/dist/_chunks/{ListPage-2Upxe5H2.js → ListPage-mauu1_HA.js} +6 -6
  102. package/dist/_chunks/{ListPage-2Upxe5H2.js.map → ListPage-mauu1_HA.js.map} +1 -1
  103. package/dist/_chunks/{ListPage-bep44h3v.mjs → ListPage-vnDwKizz.mjs} +6 -6
  104. package/dist/_chunks/{ListPage-bep44h3v.mjs.map → ListPage-vnDwKizz.mjs.map} +1 -1
  105. package/dist/_chunks/{ListView-jN_Vyb9x.mjs → ListView-7ZJcAipg.mjs} +3 -3
  106. package/dist/_chunks/{ListView-jN_Vyb9x.mjs.map → ListView-7ZJcAipg.mjs.map} +1 -1
  107. package/dist/_chunks/{ListView-gAzRVd4t.mjs → ListView-Z7ammGeJ.mjs} +3 -3
  108. package/dist/_chunks/{ListView-gAzRVd4t.mjs.map → ListView-Z7ammGeJ.mjs.map} +1 -1
  109. package/dist/_chunks/{ListView-yaPdnv3o.js → ListView-hoXRhYAF.js} +3 -3
  110. package/dist/_chunks/{ListView-yaPdnv3o.js.map → ListView-hoXRhYAF.js.map} +1 -1
  111. package/dist/_chunks/{ListView-JKKBx2Ym.js → ListView-lkCViZHB.js} +3 -3
  112. package/dist/_chunks/{ListView-JKKBx2Ym.js.map → ListView-lkCViZHB.js.map} +1 -1
  113. package/dist/_chunks/{Login-WpcU1FMg.mjs → Login-Ky9EqaPl.mjs} +2 -2
  114. package/dist/_chunks/{Login-WpcU1FMg.mjs.map → Login-Ky9EqaPl.mjs.map} +1 -1
  115. package/dist/_chunks/{Login-8EXps--E.js → Login-l_qX3rqd.js} +2 -2
  116. package/dist/_chunks/{Login-8EXps--E.js.map → Login-l_qX3rqd.js.map} +1 -1
  117. package/dist/_chunks/{MagicLinkEE-xqnP_rof.js → MagicLinkEE-Zsz76VJd.js} +4 -4
  118. package/dist/_chunks/{MagicLinkEE-xqnP_rof.js.map → MagicLinkEE-Zsz76VJd.js.map} +1 -1
  119. package/dist/_chunks/{MagicLinkEE--uWYtGHb.mjs → MagicLinkEE-b5oKEMhb.mjs} +4 -4
  120. package/dist/_chunks/{MagicLinkEE--uWYtGHb.mjs.map → MagicLinkEE-b5oKEMhb.mjs.map} +1 -1
  121. package/dist/_chunks/{MarketplacePage-1h8lwkCd.mjs → MarketplacePage-bEBY0oMW.mjs} +3 -3
  122. package/dist/_chunks/{MarketplacePage-1h8lwkCd.mjs.map → MarketplacePage-bEBY0oMW.mjs.map} +1 -1
  123. package/dist/_chunks/{MarketplacePage-C2zQxy96.js → MarketplacePage-p3jDY32K.js} +3 -3
  124. package/dist/_chunks/{MarketplacePage-C2zQxy96.js.map → MarketplacePage-p3jDY32K.js.map} +1 -1
  125. package/dist/_chunks/{Permissions-O18WEA0K.js → Permissions-KmDO0rYL.js} +2 -2
  126. package/dist/_chunks/{Permissions-O18WEA0K.js.map → Permissions-KmDO0rYL.js.map} +1 -1
  127. package/dist/_chunks/{Permissions-47LtaI6K.mjs → Permissions-kUXaT_FG.mjs} +2 -2
  128. package/dist/_chunks/{Permissions-47LtaI6K.mjs.map → Permissions-kUXaT_FG.mjs.map} +1 -1
  129. package/dist/_chunks/{ProfilePage-T_qWeZCs.js → ProfilePage-RAAMg9Wq.js} +3 -3
  130. package/dist/_chunks/{ProfilePage-T_qWeZCs.js.map → ProfilePage-RAAMg9Wq.js.map} +1 -1
  131. package/dist/_chunks/{ProfilePage-KcPxmWZp.mjs → ProfilePage-UKafmIQU.mjs} +3 -3
  132. package/dist/_chunks/{ProfilePage-KcPxmWZp.mjs.map → ProfilePage-UKafmIQU.mjs.map} +1 -1
  133. package/dist/_chunks/{ReviewWorkflowsColumn-Xx2_J2MC.js → ReviewWorkflowsColumn-4k7WyvRr.js} +2 -2
  134. package/dist/_chunks/{ReviewWorkflowsColumn-Xx2_J2MC.js.map → ReviewWorkflowsColumn-4k7WyvRr.js.map} +1 -1
  135. package/dist/_chunks/{ReviewWorkflowsColumn-93QHwBlL.mjs → ReviewWorkflowsColumn-8SKxr3qC.mjs} +2 -2
  136. package/dist/_chunks/{ReviewWorkflowsColumn-93QHwBlL.mjs.map → ReviewWorkflowsColumn-8SKxr3qC.mjs.map} +1 -1
  137. package/dist/_chunks/{SelectRoles-9hg1dCdr.mjs → SelectRoles-_XSAf07G.mjs} +3 -3
  138. package/dist/_chunks/{SelectRoles-9hg1dCdr.mjs.map → SelectRoles-_XSAf07G.mjs.map} +1 -1
  139. package/dist/_chunks/{SelectRoles-83SRxHnZ.js → SelectRoles-cdkdfqin.js} +3 -3
  140. package/dist/_chunks/{SelectRoles-83SRxHnZ.js.map → SelectRoles-cdkdfqin.js.map} +1 -1
  141. package/dist/_chunks/{SettingsPage-vNUWg6Y7.mjs → SettingsPage-N9zitd6U.mjs} +21 -21
  142. package/dist/_chunks/{SettingsPage-vNUWg6Y7.mjs.map → SettingsPage-N9zitd6U.mjs.map} +1 -1
  143. package/dist/_chunks/{SettingsPage-A58YQpP3.js → SettingsPage-TWrwoiEG.js} +21 -21
  144. package/dist/_chunks/{SettingsPage-A58YQpP3.js.map → SettingsPage-TWrwoiEG.js.map} +1 -1
  145. package/dist/_chunks/{SingleSignOnPage-mX6RrKB6.mjs → SingleSignOnPage-WS3ulauT.mjs} +3 -3
  146. package/dist/_chunks/{SingleSignOnPage-mX6RrKB6.mjs.map → SingleSignOnPage-WS3ulauT.mjs.map} +1 -1
  147. package/dist/_chunks/{SingleSignOnPage-6gJzEtib.js → SingleSignOnPage-sxTphba9.js} +3 -3
  148. package/dist/_chunks/{SingleSignOnPage-6gJzEtib.js.map → SingleSignOnPage-sxTphba9.js.map} +1 -1
  149. package/dist/_chunks/{TokenTypeSelect-LKAR_fvg.mjs → TokenTypeSelect--3ay_72E.mjs} +2 -2
  150. package/dist/_chunks/{TokenTypeSelect-LKAR_fvg.mjs.map → TokenTypeSelect--3ay_72E.mjs.map} +1 -1
  151. package/dist/_chunks/{TokenTypeSelect-1bv2USYJ.js → TokenTypeSelect-Poj87TVd.js} +2 -2
  152. package/dist/_chunks/{TokenTypeSelect-1bv2USYJ.js.map → TokenTypeSelect-Poj87TVd.js.map} +1 -1
  153. package/dist/_chunks/{apiTokens-b4C1Q0Ny.mjs → apiTokens-1-g1z-xk.mjs} +2 -2
  154. package/dist/_chunks/{apiTokens-b4C1Q0Ny.mjs.map → apiTokens-1-g1z-xk.mjs.map} +1 -1
  155. package/dist/_chunks/{apiTokens-NEiG15Ty.js → apiTokens-f5VdDehM.js} +2 -2
  156. package/dist/_chunks/{apiTokens-NEiG15Ty.js.map → apiTokens-f5VdDehM.js.map} +1 -1
  157. package/dist/_chunks/{constants-jekQ9X_5.js → constants-9hTO8CqH.js} +2 -2
  158. package/dist/_chunks/{constants-jekQ9X_5.js.map → constants-9hTO8CqH.js.map} +1 -1
  159. package/dist/_chunks/{constants-ZEkpOLAQ.mjs → constants-EKhu9sSP.mjs} +6 -6
  160. package/dist/_chunks/{constants-ZEkpOLAQ.mjs.map → constants-EKhu9sSP.mjs.map} +1 -1
  161. package/dist/_chunks/{constants-PdXu3EOC.mjs → constants-Ldyt_eKu.mjs} +4 -4
  162. package/dist/_chunks/{constants-PdXu3EOC.mjs.map → constants-Ldyt_eKu.mjs.map} +1 -1
  163. package/dist/_chunks/{constants-UQTIFOnd.mjs → constants-WADLbNZe.mjs} +2 -2
  164. package/dist/_chunks/{constants-UQTIFOnd.mjs.map → constants-WADLbNZe.mjs.map} +1 -1
  165. package/dist/_chunks/{constants-DV4ZV8z3.js → constants-aqbguIyK.js} +2 -2
  166. package/dist/_chunks/{constants-DV4ZV8z3.js.map → constants-aqbguIyK.js.map} +1 -1
  167. package/dist/_chunks/{constants-Vm3HMHD-.mjs → constants-dWFltCWB.mjs} +2 -2
  168. package/dist/_chunks/{constants-Vm3HMHD-.mjs.map → constants-dWFltCWB.mjs.map} +1 -1
  169. package/dist/_chunks/{constants-MKl1-NZI.js → constants-htFUWDmA.js} +4 -4
  170. package/dist/_chunks/{constants-MKl1-NZI.js.map → constants-htFUWDmA.js.map} +1 -1
  171. package/dist/_chunks/{constants-ax3XvtM6.js → constants-oz9VRBgp.js} +6 -6
  172. package/dist/_chunks/{constants-ax3XvtM6.js.map → constants-oz9VRBgp.js.map} +1 -1
  173. package/dist/_chunks/{index-nwZcrgzh.js → index-Fnq9LxjS.js} +10 -10
  174. package/dist/_chunks/{index-nwZcrgzh.js.map → index-Fnq9LxjS.js.map} +1 -1
  175. package/dist/_chunks/{index-GXbuKv-_.mjs → index-Go7rNONx.mjs} +10 -10
  176. package/dist/_chunks/{index-GXbuKv-_.mjs.map → index-Go7rNONx.mjs.map} +1 -1
  177. package/dist/_chunks/{reviewWorkflows-nJzvKtSe.js → reviewWorkflows-3LqmbaWU.js} +2 -2
  178. package/dist/_chunks/{reviewWorkflows-nJzvKtSe.js.map → reviewWorkflows-3LqmbaWU.js.map} +1 -1
  179. package/dist/_chunks/{reviewWorkflows-OJox8ZY2.mjs → reviewWorkflows-UTFLiCQ7.mjs} +2 -2
  180. package/dist/_chunks/{reviewWorkflows-OJox8ZY2.mjs.map → reviewWorkflows-UTFLiCQ7.mjs.map} +1 -1
  181. package/dist/_chunks/{transferTokens-vs1DcwYz.js → transferTokens-rl4cws_7.js} +2 -2
  182. package/dist/_chunks/{transferTokens-vs1DcwYz.js.map → transferTokens-rl4cws_7.js.map} +1 -1
  183. package/dist/_chunks/{transferTokens-097i_oj1.mjs → transferTokens-vvFnOhfY.mjs} +2 -2
  184. package/dist/_chunks/{transferTokens-097i_oj1.mjs.map → transferTokens-vvFnOhfY.mjs.map} +1 -1
  185. package/dist/_chunks/{useAdminRoles-Sn6wquBQ.js → useAdminRoles-eeaWQ2Rw.js} +2 -2
  186. package/dist/_chunks/{useAdminRoles-Sn6wquBQ.js.map → useAdminRoles-eeaWQ2Rw.js.map} +1 -1
  187. package/dist/_chunks/{useAdminRoles-t0VegNFc.mjs → useAdminRoles-jYK0Lxgt.mjs} +2 -2
  188. package/dist/_chunks/{useAdminRoles-t0VegNFc.mjs.map → useAdminRoles-jYK0Lxgt.mjs.map} +1 -1
  189. package/dist/_chunks/{useContentTypes-5G5d_8Yt.mjs → useContentTypes-0aVH8324.mjs} +2 -2
  190. package/dist/_chunks/{useContentTypes-5G5d_8Yt.mjs.map → useContentTypes-0aVH8324.mjs.map} +1 -1
  191. package/dist/_chunks/{useContentTypes-eqiSeQ80.js → useContentTypes-i8rQ45xv.js} +2 -2
  192. package/dist/_chunks/{useContentTypes-eqiSeQ80.js.map → useContentTypes-i8rQ45xv.js.map} +1 -1
  193. package/dist/_chunks/{useLicenseLimitNotification-6Q6QB9JI.js → useLicenseLimitNotification-CetQFd8w.js} +2 -2
  194. package/dist/_chunks/{useLicenseLimitNotification-6Q6QB9JI.js.map → useLicenseLimitNotification-CetQFd8w.js.map} +1 -1
  195. package/dist/_chunks/{useLicenseLimitNotification-hMmz3wa_.mjs → useLicenseLimitNotification-HiIBpsf0.mjs} +2 -2
  196. package/dist/_chunks/{useLicenseLimitNotification-hMmz3wa_.mjs.map → useLicenseLimitNotification-HiIBpsf0.mjs.map} +1 -1
  197. package/dist/_chunks/{useReviewWorkflows-Sg9Wrbwr.js → useReviewWorkflows-3V4AXqOe.js} +2 -2
  198. package/dist/_chunks/{useReviewWorkflows-Sg9Wrbwr.js.map → useReviewWorkflows-3V4AXqOe.js.map} +1 -1
  199. package/dist/_chunks/{useReviewWorkflows-BwN38cxm.mjs → useReviewWorkflows-FmX2X--T.mjs} +2 -2
  200. package/dist/_chunks/{useReviewWorkflows-BwN38cxm.mjs.map → useReviewWorkflows-FmX2X--T.mjs.map} +1 -1
  201. package/dist/_chunks/{useWebhooks-aPzB1S1_.mjs → useWebhooks-2WUKsATN.mjs} +2 -2
  202. package/dist/_chunks/{useWebhooks-aPzB1S1_.mjs.map → useWebhooks-2WUKsATN.mjs.map} +1 -1
  203. package/dist/_chunks/{useWebhooks-_ihVQATo.js → useWebhooks-mLbKEm8B.js} +2 -2
  204. package/dist/_chunks/{useWebhooks-_ihVQATo.js.map → useWebhooks-mLbKEm8B.js.map} +1 -1
  205. package/dist/_chunks/{validateWorkflow-PGFagvRV.js → validateWorkflow-6UTLT992.js} +2 -2
  206. package/dist/_chunks/{validateWorkflow-PGFagvRV.js.map → validateWorkflow-6UTLT992.js.map} +1 -1
  207. package/dist/_chunks/{validateWorkflow-TQyTQGNS.mjs → validateWorkflow-ENE3UKDG.mjs} +2 -2
  208. package/dist/_chunks/{validateWorkflow-TQyTQGNS.mjs.map → validateWorkflow-ENE3UKDG.mjs.map} +1 -1
  209. package/dist/admin/index.js +1 -1
  210. package/dist/admin/index.mjs +1 -1
  211. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"ListView-jN_Vyb9x.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-7ZJcAipg.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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"}
@@ -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-GXbuKv-_.mjs";
10
- import { c as useGetTransferTokensQuery, d as useDeleteTransferTokenMutation } from "./transferTokens-097i_oj1.mjs";
9
+ import { j as useTypedSelector, b as useOnce } from "./index-Go7rNONx.mjs";
10
+ import { c as useGetTransferTokensQuery, d as useDeleteTransferTokenMutation } from "./transferTokens-vvFnOhfY.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";
@@ -277,4 +277,4 @@ export {
277
277
  ListView,
278
278
  ProtectedListView
279
279
  };
280
- //# sourceMappingURL=ListView-gAzRVd4t.mjs.map
280
+ //# sourceMappingURL=ListView-Z7ammGeJ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListView-gAzRVd4t.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-Z7ammGeJ.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-nwZcrgzh.js");
12
- const transferTokens = require("./transferTokens-vs1DcwYz.js");
11
+ const index = require("./index-Fnq9LxjS.js");
12
+ const transferTokens = require("./transferTokens-rl4cws_7.js");
13
13
  const constants = require("./constants-RMqZXSqh.js");
14
14
  const Table = require("./Table-T-qYlZ1f.js");
15
15
  require("react-dom/client");
@@ -298,4 +298,4 @@ const ProtectedListView = () => {
298
298
  };
299
299
  exports.ListView = ListView;
300
300
  exports.ProtectedListView = ProtectedListView;
301
- //# sourceMappingURL=ListView-yaPdnv3o.js.map
301
+ //# sourceMappingURL=ListView-hoXRhYAF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListView-yaPdnv3o.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-hoXRhYAF.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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"}
@@ -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-nwZcrgzh.js");
12
- const apiTokens = require("./apiTokens-NEiG15Ty.js");
11
+ const index = require("./index-Fnq9LxjS.js");
12
+ const apiTokens = require("./apiTokens-f5VdDehM.js");
13
13
  const constants = require("./constants-RMqZXSqh.js");
14
14
  const Table = require("./Table-T-qYlZ1f.js");
15
15
  require("react-dom/client");
@@ -288,4 +288,4 @@ const ProtectedListView = () => {
288
288
  };
289
289
  exports.ListView = ListView;
290
290
  exports.ProtectedListView = ProtectedListView;
291
- //# sourceMappingURL=ListView-JKKBx2Ym.js.map
291
+ //# sourceMappingURL=ListView-lkCViZHB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListView-JKKBx2Ym.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-lkCViZHB.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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"}
@@ -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-GXbuKv-_.mjs";
5
+ import { g as useGetProvidersQuery, L as Login } from "./index-Go7rNONx.mjs";
6
6
  import { S as SSOProviders } from "./SSOProviders-GvoeZh35.mjs";
7
7
  import "@strapi/helper-plugin";
8
8
  import "react-dom/client";
@@ -93,4 +93,4 @@ const LoginEE = (loginProps) => {
93
93
  export {
94
94
  LoginEE
95
95
  };
96
- //# sourceMappingURL=Login-WpcU1FMg.mjs.map
96
+ //# sourceMappingURL=Login-Ky9EqaPl.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Login-WpcU1FMg.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-Ky9EqaPl.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-nwZcrgzh.js");
7
+ const index = require("./index-Fnq9LxjS.js");
8
8
  const SSOProviders = require("./SSOProviders-Z6IAEre2.js");
9
9
  require("@strapi/helper-plugin");
10
10
  require("react-dom/client");
@@ -95,4 +95,4 @@ const LoginEE = (loginProps) => {
95
95
  ] }) }) });
96
96
  };
97
97
  exports.LoginEE = LoginEE;
98
- //# sourceMappingURL=Login-8EXps--E.js.map
98
+ //# sourceMappingURL=Login-l_qX3rqd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Login-8EXps--E.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-l_qX3rqd.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;;"}
@@ -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-nwZcrgzh.js");
6
- const SelectRoles = require("./SelectRoles-83SRxHnZ.js");
5
+ const index = require("./index-Fnq9LxjS.js");
6
+ const SelectRoles = require("./SelectRoles-cdkdfqin.js");
7
7
  require("@strapi/helper-plugin");
8
8
  require("react-dom/client");
9
9
  require("@strapi/design-system");
@@ -72,7 +72,7 @@ require("lodash/uniqBy");
72
72
  require("lodash/unset");
73
73
  require("lodash/isArray");
74
74
  require("date-fns/parseISO");
75
- require("./useAdminRoles-Sn6wquBQ.js");
75
+ require("./useAdminRoles-eeaWQ2Rw.js");
76
76
  const MagicLinkEE = ({ registrationToken }) => {
77
77
  const { formatMessage } = reactIntl.useIntl();
78
78
  if (registrationToken) {
@@ -93,4 +93,4 @@ const MagicLinkEE = ({ registrationToken }) => {
93
93
  }) });
94
94
  };
95
95
  exports.MagicLinkEE = MagicLinkEE;
96
- //# sourceMappingURL=MagicLinkEE-xqnP_rof.js.map
96
+ //# sourceMappingURL=MagicLinkEE-Zsz76VJd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MagicLinkEE-xqnP_rof.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-Zsz76VJd.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,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-GXbuKv-_.mjs";
4
- import { a as MagicLinkWrapper } from "./SelectRoles-9hg1dCdr.mjs";
3
+ import { K as getBasename } from "./index-Go7rNONx.mjs";
4
+ import { a as MagicLinkWrapper } from "./SelectRoles-_XSAf07G.mjs";
5
5
  import "@strapi/helper-plugin";
6
6
  import "react-dom/client";
7
7
  import "@strapi/design-system";
@@ -70,7 +70,7 @@ import "lodash/uniqBy";
70
70
  import "lodash/unset";
71
71
  import "lodash/isArray";
72
72
  import "date-fns/parseISO";
73
- import "./useAdminRoles-t0VegNFc.mjs";
73
+ import "./useAdminRoles-jYK0Lxgt.mjs";
74
74
  const MagicLinkEE = ({ registrationToken }) => {
75
75
  const { formatMessage } = useIntl();
76
76
  if (registrationToken) {
@@ -93,4 +93,4 @@ const MagicLinkEE = ({ registrationToken }) => {
93
93
  export {
94
94
  MagicLinkEE
95
95
  };
96
- //# sourceMappingURL=MagicLinkEE--uWYtGHb.mjs.map
96
+ //# sourceMappingURL=MagicLinkEE-b5oKEMhb.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MagicLinkEE--uWYtGHb.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-b5oKEMhb.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;"}
@@ -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-GXbuKv-_.mjs";
10
- import { s as selectAdminPermissions } from "./AuthenticatedApp-ZDEcVJFL.mjs";
9
+ import { S as StrapiLogo, r as useDebounce } from "./index-Go7rNONx.mjs";
10
+ import { s as selectAdminPermissions } from "./AuthenticatedApp-JlSCDE9m.mjs";
11
11
  import styled from "styled-components";
12
12
  import { LinkButton } from "@strapi/design-system/v2";
13
13
  import pluralize from "pluralize";
@@ -1058,4 +1058,4 @@ export {
1058
1058
  MarketplacePage,
1059
1059
  ProtectedMarketplacePage
1060
1060
  };
1061
- //# sourceMappingURL=MarketplacePage-1h8lwkCd.mjs.map
1061
+ //# sourceMappingURL=MarketplacePage-bEBY0oMW.mjs.map