@strapi/admin 5.6.0 → 5.7.0

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 (229) hide show
  1. package/dist/admin/{AdminSeatInfo-CfbjPdSS.mjs → AdminSeatInfo-Bpyschk4.mjs} +3 -3
  2. package/dist/admin/{AdminSeatInfo-CfbjPdSS.mjs.map → AdminSeatInfo-Bpyschk4.mjs.map} +1 -1
  3. package/dist/admin/{ApplicationInfoPage-DGet0m1z.mjs → ApplicationInfoPage-BlX64-1T.mjs} +5 -5
  4. package/dist/admin/{ApplicationInfoPage-DGet0m1z.mjs.map → ApplicationInfoPage-BlX64-1T.mjs.map} +1 -1
  5. package/dist/admin/{ApplicationInfoPage-__zpHK8U.js → ApplicationInfoPage-Cx9Z4tfk.js} +2 -2
  6. package/dist/admin/{ApplicationInfoPage-__zpHK8U.js.map → ApplicationInfoPage-Cx9Z4tfk.js.map} +1 -1
  7. package/dist/admin/{AuthResponse-CWs8VL81.mjs → AuthResponse-BI0D7fJC.mjs} +2 -2
  8. package/dist/admin/{AuthResponse-CWs8VL81.mjs.map → AuthResponse-BI0D7fJC.mjs.map} +1 -1
  9. package/dist/admin/{AuthenticatedLayout-CERzLY03.mjs → AuthenticatedLayout-Br8Ujef5.mjs} +11 -11
  10. package/dist/admin/{AuthenticatedLayout-CERzLY03.mjs.map → AuthenticatedLayout-Br8Ujef5.mjs.map} +1 -1
  11. package/dist/admin/{AuthenticatedLayout-CchQ7f0Q.js → AuthenticatedLayout-CCwt0AgG.js} +9 -9
  12. package/dist/admin/{AuthenticatedLayout-CchQ7f0Q.js.map → AuthenticatedLayout-CCwt0AgG.js.map} +1 -1
  13. package/dist/admin/{CreatePage-DfdEecPk.mjs → CreatePage-CaMDsF7E.mjs} +3 -3
  14. package/dist/admin/{CreatePage-DfdEecPk.mjs.map → CreatePage-CaMDsF7E.mjs.map} +1 -1
  15. package/dist/admin/{CreatePage-yGgGidu3.js → CreatePage-DtK2k2xj.js} +2 -2
  16. package/dist/admin/{CreatePage-yGgGidu3.js.map → CreatePage-DtK2k2xj.js.map} +1 -1
  17. package/dist/admin/{CreatePage-CPnVtQdL.js → CreatePage-Je194jpQ.js} +2 -2
  18. package/dist/admin/{CreatePage-CPnVtQdL.js.map → CreatePage-Je194jpQ.js.map} +1 -1
  19. package/dist/admin/{CreatePage-D_fsEi_M.mjs → CreatePage-cPI93IzV.mjs} +4 -4
  20. package/dist/admin/{CreatePage-D_fsEi_M.mjs.map → CreatePage-cPI93IzV.mjs.map} +1 -1
  21. package/dist/admin/{CreateView-CUFaRabp.js → CreateView-CKHDAAe9.js} +2 -2
  22. package/dist/admin/{CreateView-CUFaRabp.js.map → CreateView-CKHDAAe9.js.map} +1 -1
  23. package/dist/admin/{CreateView-DLtLs1ax.js → CreateView-CV1T_FkK.js} +2 -2
  24. package/dist/admin/{CreateView-DLtLs1ax.js.map → CreateView-CV1T_FkK.js.map} +1 -1
  25. package/dist/admin/{CreateView-DuIhzj5r.mjs → CreateView-CYhJZ4SU.mjs} +3 -3
  26. package/dist/admin/{CreateView-DuIhzj5r.mjs.map → CreateView-CYhJZ4SU.mjs.map} +1 -1
  27. package/dist/admin/{CreateView-Cj52m1Cx.mjs → CreateView-CYk_dMMs.mjs} +3 -3
  28. package/dist/admin/{CreateView-Cj52m1Cx.mjs.map → CreateView-CYk_dMMs.mjs.map} +1 -1
  29. package/dist/admin/{EditPage-tM4j7ixi.mjs → EditPage-CZPAEYlB.mjs} +5 -5
  30. package/dist/admin/{EditPage-tM4j7ixi.mjs.map → EditPage-CZPAEYlB.mjs.map} +1 -1
  31. package/dist/admin/{EditPage-BFnBbj_O.js → EditPage-DPnF8khi.js} +3 -3
  32. package/dist/admin/{EditPage-BFnBbj_O.js.map → EditPage-DPnF8khi.js.map} +1 -1
  33. package/dist/admin/{EditPage-DKw8vquT.mjs → EditPage-DTaqqKhx.mjs} +7 -7
  34. package/dist/admin/{EditPage-DKw8vquT.mjs.map → EditPage-DTaqqKhx.mjs.map} +1 -1
  35. package/dist/admin/{EditPage-BKCr-_61.js → EditPage-e1MbaksH.js} +3 -3
  36. package/dist/admin/{EditPage-BKCr-_61.js.map → EditPage-e1MbaksH.js.map} +1 -1
  37. package/dist/admin/{EditPage-B_teX0_W.js → EditPage-f8LeUPW3.js} +5 -5
  38. package/dist/admin/{EditPage-B_teX0_W.js.map → EditPage-f8LeUPW3.js.map} +1 -1
  39. package/dist/admin/{EditPage-DmCwq9lg.mjs → EditPage-qRfveoLn.mjs} +5 -5
  40. package/dist/admin/{EditPage-DmCwq9lg.mjs.map → EditPage-qRfveoLn.mjs.map} +1 -1
  41. package/dist/admin/{EditView-F6qKlUJj.mjs → EditView-Df6PVPAd.mjs} +4 -4
  42. package/dist/admin/{EditView-F6qKlUJj.mjs.map → EditView-Df6PVPAd.mjs.map} +1 -1
  43. package/dist/admin/{EditView-CcXlJX5m.js → EditView-IrrSxD_e.js} +3 -3
  44. package/dist/admin/{EditView-CcXlJX5m.js.map → EditView-IrrSxD_e.js.map} +1 -1
  45. package/dist/admin/{EditViewPage-WRs6SDk3.mjs → EditViewPage-BKnY-1Sj.mjs} +4 -4
  46. package/dist/admin/{EditViewPage-WRs6SDk3.mjs.map → EditViewPage-BKnY-1Sj.mjs.map} +1 -1
  47. package/dist/admin/{EditViewPage-D8leQHjU.js → EditViewPage-BNzM51al.js} +3 -3
  48. package/dist/admin/{EditViewPage-D8leQHjU.js.map → EditViewPage-BNzM51al.js.map} +1 -1
  49. package/dist/admin/{EventsTable-1Lwyttx6.mjs → EventsTable-DUz7EZyi.mjs} +2 -2
  50. package/dist/admin/{EventsTable-1Lwyttx6.mjs.map → EventsTable-DUz7EZyi.mjs.map} +1 -1
  51. package/dist/admin/{EventsTable-QXXuWW3U.js → EventsTable-fqzWSspG.js} +2 -2
  52. package/dist/admin/{EventsTable-QXXuWW3U.js.map → EventsTable-fqzWSspG.js.map} +1 -1
  53. package/dist/admin/HomePage-BcZ8G5Zk.js +375 -0
  54. package/dist/admin/HomePage-BcZ8G5Zk.js.map +1 -0
  55. package/dist/admin/{HomePage-CANB1HEn.js → HomePage-DAKopsM1.js} +2 -2
  56. package/dist/admin/HomePage-DAKopsM1.js.map +1 -0
  57. package/dist/admin/{HomePage-BcKeFpnc.mjs → HomePage-HuAhOTRQ.mjs} +3 -3
  58. package/dist/admin/HomePage-HuAhOTRQ.mjs.map +1 -0
  59. package/dist/admin/HomePage-NPjXohKj.mjs +350 -0
  60. package/dist/admin/HomePage-NPjXohKj.mjs.map +1 -0
  61. package/dist/admin/{InstalledPlugins-Chyea6Jt.mjs → InstalledPlugins-BDBDHjp1.mjs} +3 -3
  62. package/dist/admin/{InstalledPlugins-Chyea6Jt.mjs.map → InstalledPlugins-BDBDHjp1.mjs.map} +1 -1
  63. package/dist/admin/{InstalledPlugins-B_bI-CBz.js → InstalledPlugins-OsZRe2Mj.js} +2 -2
  64. package/dist/admin/{InstalledPlugins-B_bI-CBz.js.map → InstalledPlugins-OsZRe2Mj.js.map} +1 -1
  65. package/dist/admin/{Layout-CcWr6va_.js → Layout-BmPlcHQy.js} +3 -3
  66. package/dist/admin/{Layout-CcWr6va_.js.map → Layout-BmPlcHQy.js.map} +1 -1
  67. package/dist/admin/{Layout-TkS64Yl1.mjs → Layout-ZnQ6qK04.mjs} +5 -5
  68. package/dist/admin/{Layout-TkS64Yl1.mjs.map → Layout-ZnQ6qK04.mjs.map} +1 -1
  69. package/dist/admin/{ListPage-CP7hcUqH.js → ListPage-6TiKw8tv.js} +2 -2
  70. package/dist/admin/{ListPage-CP7hcUqH.js.map → ListPage-6TiKw8tv.js.map} +1 -1
  71. package/dist/admin/{ListPage-BEQmwBHz.js → ListPage-BVk9Y9nA.js} +2 -2
  72. package/dist/admin/{ListPage-BEQmwBHz.js.map → ListPage-BVk9Y9nA.js.map} +1 -1
  73. package/dist/admin/{ListPage-BX6bIW1R.mjs → ListPage-B_XyFDAF.mjs} +5 -5
  74. package/dist/admin/{ListPage-BX6bIW1R.mjs.map → ListPage-B_XyFDAF.mjs.map} +1 -1
  75. package/dist/admin/{ListPage-DRfqG74z.js → ListPage-BoJnuSeZ.js} +2 -2
  76. package/dist/admin/{ListPage-DRfqG74z.js.map → ListPage-BoJnuSeZ.js.map} +1 -1
  77. package/dist/admin/{ListPage-w3LcIP0T.mjs → ListPage-Bu63qBzy.mjs} +3 -3
  78. package/dist/admin/{ListPage-w3LcIP0T.mjs.map → ListPage-Bu63qBzy.mjs.map} +1 -1
  79. package/dist/admin/{ListPage-CD6ZO-Wp.mjs → ListPage-C0iLSqYo.mjs} +3 -3
  80. package/dist/admin/{ListPage-CD6ZO-Wp.mjs.map → ListPage-C0iLSqYo.mjs.map} +1 -1
  81. package/dist/admin/{ListPage-DmmTUnVG.js → ListPage-CtOOlqCn.js} +5 -5
  82. package/dist/admin/{ListPage-DmmTUnVG.js.map → ListPage-CtOOlqCn.js.map} +1 -1
  83. package/dist/admin/{ListPage-6AqXEX4y.mjs → ListPage-Da_2kaB7.mjs} +6 -6
  84. package/dist/admin/{ListPage-6AqXEX4y.mjs.map → ListPage-Da_2kaB7.mjs.map} +1 -1
  85. package/dist/admin/{ListPage-IsE6pk54.mjs → ListPage-YvkZI4Dz.mjs} +3 -3
  86. package/dist/admin/{ListPage-IsE6pk54.mjs.map → ListPage-YvkZI4Dz.mjs.map} +1 -1
  87. package/dist/admin/{ListPage-BcZC7g5g.js → ListPage-xSonCT19.js} +3 -3
  88. package/dist/admin/{ListPage-BcZC7g5g.js.map → ListPage-xSonCT19.js.map} +1 -1
  89. package/dist/admin/{ListView-fOGcorFr.mjs → ListView-CMiSzy7H.mjs} +4 -4
  90. package/dist/admin/{ListView-fOGcorFr.mjs.map → ListView-CMiSzy7H.mjs.map} +1 -1
  91. package/dist/admin/{ListView-CGwmzT8M.js → ListView-CeE2Qlyi.js} +3 -3
  92. package/dist/admin/{ListView-CGwmzT8M.js.map → ListView-CeE2Qlyi.js.map} +1 -1
  93. package/dist/admin/{ListView-buo5Vb7Z.js → ListView-Cr_P57s2.js} +3 -3
  94. package/dist/admin/{ListView-buo5Vb7Z.js.map → ListView-Cr_P57s2.js.map} +1 -1
  95. package/dist/admin/{ListView-Df-gIOv9.mjs → ListView-DhZFpqcJ.mjs} +4 -4
  96. package/dist/admin/{ListView-Df-gIOv9.mjs.map → ListView-DhZFpqcJ.mjs.map} +1 -1
  97. package/dist/admin/{Login-LmIF0yHO.js → Login-B-e6bger.js} +2 -2
  98. package/dist/admin/{Login-LmIF0yHO.js.map → Login-B-e6bger.js.map} +1 -1
  99. package/dist/admin/{Login-wOwE4WT_.mjs → Login-CKEdHx7A.mjs} +3 -3
  100. package/dist/admin/{Login-wOwE4WT_.mjs.map → Login-CKEdHx7A.mjs.map} +1 -1
  101. package/dist/admin/{MagicLinkEE-BNB-I3Lc.mjs → MagicLinkEE-DCazf_P2.mjs} +3 -3
  102. package/dist/admin/{MagicLinkEE-BNB-I3Lc.mjs.map → MagicLinkEE-DCazf_P2.mjs.map} +1 -1
  103. package/dist/admin/{MagicLinkEE-CzBtZH-_.js → MagicLinkEE-DYCH6Jl2.js} +3 -3
  104. package/dist/admin/{MagicLinkEE-CzBtZH-_.js.map → MagicLinkEE-DYCH6Jl2.js.map} +1 -1
  105. package/dist/admin/{MarketplacePage-ChPIl3Lm.mjs → MarketplacePage-CTbE4SlU.mjs} +3 -3
  106. package/dist/admin/{MarketplacePage-ChPIl3Lm.mjs.map → MarketplacePage-CTbE4SlU.mjs.map} +1 -1
  107. package/dist/admin/{MarketplacePage-YIaJ1AaI.js → MarketplacePage-DeH9a207.js} +2 -2
  108. package/dist/admin/{MarketplacePage-YIaJ1AaI.js.map → MarketplacePage-DeH9a207.js.map} +1 -1
  109. package/dist/admin/{Permissions-CqkJcZdu.mjs → Permissions-gB8QZDch.mjs} +2 -2
  110. package/dist/admin/{Permissions-CqkJcZdu.mjs.map → Permissions-gB8QZDch.mjs.map} +1 -1
  111. package/dist/admin/{PrivateRoute-CzKixo0E.mjs → PrivateRoute-DIxYvSni.mjs} +2 -2
  112. package/dist/admin/{PrivateRoute-CzKixo0E.mjs.map → PrivateRoute-DIxYvSni.mjs.map} +1 -1
  113. package/dist/admin/{ProfilePage-DuSEvyq3.mjs → ProfilePage-Bcb_ayAW.mjs} +4 -4
  114. package/dist/admin/{ProfilePage-DuSEvyq3.mjs.map → ProfilePage-Bcb_ayAW.mjs.map} +1 -1
  115. package/dist/admin/{ProfilePage-CqenohKy.js → ProfilePage-CD0uiMaE.js} +3 -3
  116. package/dist/admin/{ProfilePage-CqenohKy.js.map → ProfilePage-CD0uiMaE.js.map} +1 -1
  117. package/dist/admin/{PurchaseAuditLogs-CvvCh9tm.js → PurchaseAuditLogs-CHKqdqrY.js} +2 -2
  118. package/dist/admin/{PurchaseAuditLogs-CvvCh9tm.js.map → PurchaseAuditLogs-CHKqdqrY.js.map} +1 -1
  119. package/dist/admin/{PurchaseAuditLogs-C3Umrg-5.mjs → PurchaseAuditLogs-D9V7WucM.mjs} +2 -2
  120. package/dist/admin/{PurchaseAuditLogs-C3Umrg-5.mjs.map → PurchaseAuditLogs-D9V7WucM.mjs.map} +1 -1
  121. package/dist/admin/{PurchaseContentHistory-BuIZGUim.mjs → PurchaseContentHistory-CtiF0HJP.mjs} +2 -2
  122. package/dist/admin/{PurchaseContentHistory-BuIZGUim.mjs.map → PurchaseContentHistory-CtiF0HJP.mjs.map} +1 -1
  123. package/dist/admin/{PurchaseContentHistory-CYt2Dx35.js → PurchaseContentHistory-eOg1pQvg.js} +2 -2
  124. package/dist/admin/{PurchaseContentHistory-CYt2Dx35.js.map → PurchaseContentHistory-eOg1pQvg.js.map} +1 -1
  125. package/dist/admin/{PurchaseSingleSignOn-LeXIHRh2.js → PurchaseSingleSignOn-C4Mthjnp.js} +2 -2
  126. package/dist/admin/{PurchaseSingleSignOn-LeXIHRh2.js.map → PurchaseSingleSignOn-C4Mthjnp.js.map} +1 -1
  127. package/dist/admin/{PurchaseSingleSignOn-m3wEJIYm.mjs → PurchaseSingleSignOn-Dfg-RTXq.mjs} +2 -2
  128. package/dist/admin/{PurchaseSingleSignOn-m3wEJIYm.mjs.map → PurchaseSingleSignOn-Dfg-RTXq.mjs.map} +1 -1
  129. package/dist/admin/RelativeTime-BGJ1PWx_.mjs +38 -0
  130. package/dist/admin/RelativeTime-BGJ1PWx_.mjs.map +1 -0
  131. package/dist/admin/RelativeTime-DPLD3wf-.js +60 -0
  132. package/dist/admin/RelativeTime-DPLD3wf-.js.map +1 -0
  133. package/dist/admin/{SelectRoles-C04C6G8i.mjs → SelectRoles-D1xPS-qt.mjs} +4 -4
  134. package/dist/admin/{SelectRoles-C04C6G8i.mjs.map → SelectRoles-D1xPS-qt.mjs.map} +1 -1
  135. package/dist/admin/{SelectRoles-WiYb5Fjg.js → SelectRoles-DIyUH00-.js} +3 -3
  136. package/dist/admin/{SelectRoles-WiYb5Fjg.js.map → SelectRoles-DIyUH00-.js.map} +1 -1
  137. package/dist/admin/{SingleSignOnPage-B7OU11gd.mjs → SingleSignOnPage-BC2aTKy7.mjs} +4 -4
  138. package/dist/admin/{SingleSignOnPage-B7OU11gd.mjs.map → SingleSignOnPage-BC2aTKy7.mjs.map} +1 -1
  139. package/dist/admin/{SingleSignOnPage-BlgE_vrE.js → SingleSignOnPage-BNuYGkeX.js} +3 -3
  140. package/dist/admin/{SingleSignOnPage-BlgE_vrE.js.map → SingleSignOnPage-BNuYGkeX.js.map} +1 -1
  141. package/dist/admin/{Table-BxYY3PX9.js → Table-7pe1j4im.js} +5 -57
  142. package/dist/admin/Table-7pe1j4im.js.map +1 -0
  143. package/dist/admin/{Table-C-_pdniw.mjs → Table-DQnLoM7I.mjs} +4 -36
  144. package/dist/admin/Table-DQnLoM7I.mjs.map +1 -0
  145. package/dist/admin/{Theme-5Y8Pi0Wm.mjs → Theme-CTMU9Z8I.mjs} +2 -2
  146. package/dist/admin/{Theme-5Y8Pi0Wm.mjs.map → Theme-CTMU9Z8I.mjs.map} +1 -1
  147. package/dist/admin/Theme-DWGZX5tv.js.map +1 -1
  148. package/dist/admin/{TokenTypeSelect-Cmc58ea-.mjs → TokenTypeSelect-CTdltdS8.mjs} +3 -3
  149. package/dist/admin/{TokenTypeSelect-Cmc58ea-.mjs.map → TokenTypeSelect-CTdltdS8.mjs.map} +1 -1
  150. package/dist/admin/{TokenTypeSelect-4pU-xqqr.js → TokenTypeSelect-ZzXED7rf.js} +2 -2
  151. package/dist/admin/{TokenTypeSelect-4pU-xqqr.js.map → TokenTypeSelect-ZzXED7rf.js.map} +1 -1
  152. package/dist/admin/{UseCasePage-DFRtsARG.mjs → UseCasePage-BqAoX3j-.mjs} +4 -4
  153. package/dist/admin/{UseCasePage-DFRtsARG.mjs.map → UseCasePage-BqAoX3j-.mjs.map} +1 -1
  154. package/dist/admin/{UseCasePage-BfwS_z1T.js → UseCasePage-iNVoVcCb.js} +2 -2
  155. package/dist/admin/{UseCasePage-BfwS_z1T.js.map → UseCasePage-iNVoVcCb.js.map} +1 -1
  156. package/dist/admin/{constants-BQLsELai.js → constants-BtdWKFzN.js} +2 -2
  157. package/dist/admin/{constants-BQLsELai.js.map → constants-BtdWKFzN.js.map} +1 -1
  158. package/dist/admin/{constants-CV2faKSp.mjs → constants-TZNepYft.mjs} +3 -3
  159. package/dist/admin/{constants-CV2faKSp.mjs.map → constants-TZNepYft.mjs.map} +1 -1
  160. package/dist/admin/{en-CJdNdwAe.js → en-BR2e5qX-.js} +7 -16
  161. package/dist/admin/{en-CJdNdwAe.js.map → en-BR2e5qX-.js.map} +1 -1
  162. package/dist/admin/{en-DOZzjg_v.mjs → en-CSPHZKTw.mjs} +7 -16
  163. package/dist/admin/{en-DOZzjg_v.mjs.map → en-CSPHZKTw.mjs.map} +1 -1
  164. package/dist/admin/{en-GB-BjOvFjLX.js → en-GB-Bke-WrFJ.js} +2 -2
  165. package/dist/admin/en-GB-Bke-WrFJ.js.map +1 -0
  166. package/dist/admin/en-GB-Gv8lAy1p.mjs +6 -0
  167. package/dist/admin/en-GB-Gv8lAy1p.mjs.map +1 -0
  168. package/dist/admin/{index-Cn5HftCc.mjs → index-CMdgTmC0.mjs} +35 -35
  169. package/dist/admin/index-CMdgTmC0.mjs.map +1 -0
  170. package/dist/admin/{index-u_GcMlYH.js → index-DxMAHgtc.js} +33 -33
  171. package/dist/admin/index-DxMAHgtc.js.map +1 -0
  172. package/dist/admin/index.js +1 -1
  173. package/dist/admin/index.mjs +2 -2
  174. package/dist/admin/{selectors-BUDjU_0m.mjs → selectors-BZApelK9.mjs} +2 -2
  175. package/dist/admin/{selectors-BUDjU_0m.mjs.map → selectors-BZApelK9.mjs.map} +1 -1
  176. package/dist/admin/src/features/Tracking.d.ts +1 -1
  177. package/dist/admin/src/pages/Home/components/ContentManagerWidgets.d.ts +3 -0
  178. package/dist/admin/src/pages/Home/components/GuidedTour.d.ts +1 -0
  179. package/dist/admin/src/pages/Home/components/Widget.d.ts +23 -0
  180. package/dist/admin/src/services/homepage.d.ts +5 -0
  181. package/dist/admin/test.js.map +1 -1
  182. package/dist/admin/test.mjs +1 -1
  183. package/dist/admin/test.mjs.map +1 -1
  184. package/dist/admin/{useAdminRoles-DHmyH8OJ.mjs → useAdminRoles-BVwapBge.mjs} +2 -2
  185. package/dist/admin/{useAdminRoles-DHmyH8OJ.mjs.map → useAdminRoles-BVwapBge.mjs.map} +1 -1
  186. package/dist/admin/{useAdminRoles-FWDpKtmj.js → useAdminRoles-DVnFvP_o.js} +2 -2
  187. package/dist/admin/{useAdminRoles-FWDpKtmj.js.map → useAdminRoles-DVnFvP_o.js.map} +1 -1
  188. package/dist/admin/{useLicenseLimitNotification-DQKWFvvl.mjs → useLicenseLimitNotification-CAQIrlP4.mjs} +2 -2
  189. package/dist/admin/{useLicenseLimitNotification-DQKWFvvl.mjs.map → useLicenseLimitNotification-CAQIrlP4.mjs.map} +1 -1
  190. package/dist/admin/{validation-BCuQyMAN.js → validation-CV2jBW7t.js} +2 -2
  191. package/dist/admin/{validation-BCuQyMAN.js.map → validation-CV2jBW7t.js.map} +1 -1
  192. package/dist/admin/{validation-B59Lo6xw.mjs → validation-D36pWUQH.mjs} +2 -2
  193. package/dist/admin/{validation-B59Lo6xw.mjs.map → validation-D36pWUQH.mjs.map} +1 -1
  194. package/dist/ee/server/src/controllers/index.d.ts.map +1 -1
  195. package/dist/package.json.d.ts +7 -7
  196. package/dist/server/index.js +184 -6
  197. package/dist/server/index.js.map +1 -1
  198. package/dist/server/index.mjs +313 -136
  199. package/dist/server/index.mjs.map +1 -1
  200. package/dist/server/src/controllers/homepage.d.ts +8 -0
  201. package/dist/server/src/controllers/homepage.d.ts.map +1 -0
  202. package/dist/server/src/controllers/index.d.ts +3 -0
  203. package/dist/server/src/controllers/index.d.ts.map +1 -1
  204. package/dist/server/src/index.d.ts +9 -0
  205. package/dist/server/src/index.d.ts.map +1 -1
  206. package/dist/server/src/routes/homepage.d.ts +14 -0
  207. package/dist/server/src/routes/homepage.d.ts.map +1 -0
  208. package/dist/server/src/routes/index.d.ts.map +1 -1
  209. package/dist/server/src/services/homepage.d.ts +11 -0
  210. package/dist/server/src/services/homepage.d.ts.map +1 -0
  211. package/dist/server/src/services/index.d.ts +6 -0
  212. package/dist/server/src/services/index.d.ts.map +1 -1
  213. package/dist/shared/contracts/homepage.d.ts +25 -0
  214. package/dist/shared/contracts/homepage.d.ts.map +1 -0
  215. package/package.json +7 -7
  216. package/dist/admin/HomePage-BcKeFpnc.mjs.map +0 -1
  217. package/dist/admin/HomePage-CANB1HEn.js.map +0 -1
  218. package/dist/admin/HomePage-idSom5Sg.mjs +0 -576
  219. package/dist/admin/HomePage-idSom5Sg.mjs.map +0 -1
  220. package/dist/admin/HomePage-lO_3h0i-.js +0 -601
  221. package/dist/admin/HomePage-lO_3h0i-.js.map +0 -1
  222. package/dist/admin/Table-BxYY3PX9.js.map +0 -1
  223. package/dist/admin/Table-C-_pdniw.mjs.map +0 -1
  224. package/dist/admin/en-GB-BjOvFjLX.js.map +0 -1
  225. package/dist/admin/en-GB-Ceyy7cF8.mjs +0 -6
  226. package/dist/admin/en-GB-Ceyy7cF8.mjs.map +0 -1
  227. package/dist/admin/index-Cn5HftCc.mjs.map +0 -1
  228. package/dist/admin/index-u_GcMlYH.js.map +0 -1
  229. /package/dist/admin/src/pages/{HomePage.d.ts → Home/HomePage.d.ts} +0 -0
@@ -0,0 +1,350 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { Flex, Typography, Box, Loader, Table, Tbody, Tr, Td, IconButton, Status, LinkButton, Button, Main, Grid } from '@strapi/design-system';
3
+ import { useIntl } from 'react-intl';
4
+ import { b as Layouts } from './index-CMdgTmC0.mjs';
5
+ import { c as useTracking, t as capitalise, m as useGuidedTour, u as useAuth, P as Page } from './Theme-CTMU9Z8I.mjs';
6
+ import * as React from 'react';
7
+ import { a as adminApi } from './admin-DOzK8yjX.mjs';
8
+ import { u as useEnterprise } from './useEnterprise-BGzVPL4w.mjs';
9
+ import { PuzzlePiece, WarningCircle, Pencil, CheckCircle, ArrowRight } from '@strapi/icons';
10
+ import { useNavigate, Link, NavLink } from 'react-router-dom';
11
+ import { styled } from 'styled-components';
12
+ import { R as RelativeTime } from './RelativeTime-BGJ1PWx_.mjs';
13
+ import { EmptyDocuments } from '@strapi/icons/symbols';
14
+ import { L as LAYOUT_DATA, N as Number, V as VerticalDivider, S as STATES } from './Ornaments-BFThxr2U.mjs';
15
+
16
+ const homepageService = adminApi.enhanceEndpoints({
17
+ // TODO: remove when the CM widgets are moved to the CM package, the type already exists there
18
+ addTagTypes: ["RecentDocumentList"]
19
+ }).injectEndpoints({
20
+ endpoints: (builder) => ({
21
+ getRecentDocuments: builder.query({
22
+ query: (params) => `/admin/homepage/recent-documents?action=${params.action}`,
23
+ transformResponse: (response) => response.data,
24
+ providesTags: (res, _err, { action }) => [
25
+ { type: "RecentDocumentList", id: action }
26
+ ]
27
+ })
28
+ })
29
+ });
30
+ const { useGetRecentDocumentsQuery } = homepageService;
31
+
32
+ const Root = ({ title, icon = PuzzlePiece, children }) => {
33
+ const { formatMessage } = useIntl();
34
+ const id = React.useId();
35
+ const Icon = icon;
36
+ return /* @__PURE__ */ jsxs(
37
+ Flex,
38
+ {
39
+ width: "100%",
40
+ hasRadius: true,
41
+ direction: "column",
42
+ alignItems: "flex-start",
43
+ background: "neutral0",
44
+ shadow: "tableShadow",
45
+ tag: "section",
46
+ gap: 4,
47
+ padding: 6,
48
+ "aria-labelledby": id,
49
+ children: [
50
+ /* @__PURE__ */ jsxs(Flex, { direction: "row", alignItems: "center", gap: 2, tag: "header", children: [
51
+ /* @__PURE__ */ jsx(Icon, { fill: "neutral500", "aria-hidden": true }),
52
+ /* @__PURE__ */ jsx(Typography, { textColor: "neutral500", variant: "sigma", tag: "h2", id, children: formatMessage(title) })
53
+ ] }),
54
+ /* @__PURE__ */ jsx(Box, { width: "100%", height: "261px", overflow: "auto", tag: "main", children })
55
+ ]
56
+ }
57
+ );
58
+ };
59
+ const Loading = ({ children }) => {
60
+ const { formatMessage } = useIntl();
61
+ return /* @__PURE__ */ jsx(Flex, { height: "100%", justifyContent: "center", alignItems: "center", children: /* @__PURE__ */ jsx(Loader, { children: children ?? formatMessage({
62
+ id: "HomePage.widget.loading",
63
+ defaultMessage: "Loading widget content"
64
+ }) }) });
65
+ };
66
+ const Error = ({ children }) => {
67
+ const { formatMessage } = useIntl();
68
+ return /* @__PURE__ */ jsxs(Flex, { height: "100%", direction: "column", justifyContent: "center", alignItems: "center", gap: 2, children: [
69
+ /* @__PURE__ */ jsx(WarningCircle, { width: "3.2rem", height: "3.2rem", fill: "danger600" }),
70
+ /* @__PURE__ */ jsx(Typography, { variant: "delta", children: formatMessage({
71
+ id: "global.error",
72
+ defaultMessage: "Something went wrong"
73
+ }) }),
74
+ /* @__PURE__ */ jsx(Typography, { textColor: "neutral600", children: children ?? formatMessage({
75
+ id: "HomePage.widget.error",
76
+ defaultMessage: "Couldn't load widget content."
77
+ }) })
78
+ ] });
79
+ };
80
+ const NoData = ({ children }) => {
81
+ const { formatMessage } = useIntl();
82
+ return /* @__PURE__ */ jsxs(Flex, { height: "100%", direction: "column", justifyContent: "center", alignItems: "center", gap: 6, children: [
83
+ /* @__PURE__ */ jsx(EmptyDocuments, { width: "16rem", height: "8.8rem" }),
84
+ /* @__PURE__ */ jsx(Typography, { textColor: "neutral600", children: children ?? formatMessage({
85
+ id: "HomePage.widget.no-data",
86
+ defaultMessage: "No content found."
87
+ }) })
88
+ ] });
89
+ };
90
+ const Widget = {
91
+ Root,
92
+ Loading,
93
+ Error,
94
+ NoData
95
+ };
96
+
97
+ const CellTypography = styled(Typography).attrs({ maxWidth: "14.4rem", display: "block" })`
98
+ overflow: hidden;
99
+ text-overflow: ellipsis;
100
+ white-space: nowrap;
101
+ `;
102
+ const DocumentStatus = ({ status = "draft" }) => {
103
+ const statusVariant = status === "draft" ? "secondary" : status === "published" ? "success" : "alternative";
104
+ const { formatMessage } = useIntl();
105
+ return /* @__PURE__ */ jsx(Status, { variant: statusVariant, size: "XS", children: /* @__PURE__ */ jsx(Typography, { tag: "span", variant: "omega", fontWeight: "bold", children: formatMessage({
106
+ id: `content-manager.containers.List.${status}`,
107
+ defaultMessage: capitalise(status)
108
+ }) }) });
109
+ };
110
+ const RecentDocumentsTable = ({ documents }) => {
111
+ const { formatMessage } = useIntl();
112
+ const { trackUsage } = useTracking();
113
+ const navigate = useNavigate();
114
+ const getEditViewLink = (document) => {
115
+ const isSingleType = document.kind === "singleType";
116
+ const kindPath = isSingleType ? "single-types" : "collection-types";
117
+ const queryParams = document.locale ? `?plugins[i18n][locale]=${document.locale}` : "";
118
+ return `/content-manager/${kindPath}/${document.contentTypeUid}${isSingleType ? "" : "/" + document.documentId}${queryParams}`;
119
+ };
120
+ const handleRowClick = (document) => () => {
121
+ trackUsage("willEditEntryFromHome");
122
+ const link = getEditViewLink(document);
123
+ navigate(link);
124
+ };
125
+ return /* @__PURE__ */ jsx(Table, { colCount: 5, rowCount: documents?.length ?? 0, children: /* @__PURE__ */ jsx(Tbody, { children: documents?.map((document) => /* @__PURE__ */ jsxs(Tr, { onClick: handleRowClick(document), cursor: "pointer", children: [
126
+ /* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsx(CellTypography, { title: document.title, variant: "omega", textColor: "neutral800", children: document.title }) }),
127
+ /* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsx(CellTypography, { variant: "omega", textColor: "neutral600", children: document.kind === "singleType" ? formatMessage({
128
+ id: "content-manager.widget.last-edited.single-type",
129
+ defaultMessage: "Single-Type"
130
+ }) : formatMessage({
131
+ id: document.contentTypeDisplayName,
132
+ defaultMessage: document.contentTypeDisplayName
133
+ }) }) }),
134
+ /* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsx(Box, { display: "inline-block", children: document.status ? /* @__PURE__ */ jsx(DocumentStatus, { status: document.status }) : /* @__PURE__ */ jsx(Typography, { textColor: "neutral600", "aria-hidden": true, children: "-" }) }) }),
135
+ /* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsx(Typography, { textColor: "neutral600", children: /* @__PURE__ */ jsx(RelativeTime, { timestamp: new Date(document.updatedAt) }) }) }),
136
+ /* @__PURE__ */ jsx(Td, { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx(Box, { display: "inline-block", children: /* @__PURE__ */ jsx(
137
+ IconButton,
138
+ {
139
+ tag: Link,
140
+ to: getEditViewLink(document),
141
+ onClick: () => trackUsage("willEditEntryFromHome"),
142
+ label: formatMessage({
143
+ id: "content-manager.actions.edit.label",
144
+ defaultMessage: "Edit"
145
+ }),
146
+ variant: "ghost",
147
+ children: /* @__PURE__ */ jsx(Pencil, {})
148
+ }
149
+ ) }) })
150
+ ] }, document.documentId)) }) });
151
+ };
152
+ const LastEditedWidgetContent = () => {
153
+ const { formatMessage } = useIntl();
154
+ const { data, isLoading, error } = useGetRecentDocumentsQuery({ action: "update" });
155
+ if (isLoading) {
156
+ return /* @__PURE__ */ jsx(Widget.Loading, {});
157
+ }
158
+ if (error || !data) {
159
+ return /* @__PURE__ */ jsx(Widget.Error, {});
160
+ }
161
+ if (data.length === 0) {
162
+ return /* @__PURE__ */ jsx(Widget.NoData, { children: formatMessage({
163
+ id: "content-manager.widget.last-edited.no-data",
164
+ defaultMessage: "No edited entries"
165
+ }) });
166
+ }
167
+ return /* @__PURE__ */ jsx(RecentDocumentsTable, { documents: data });
168
+ };
169
+ const LastEditedWidget = () => {
170
+ return /* @__PURE__ */ jsx(
171
+ Widget.Root,
172
+ {
173
+ title: {
174
+ id: "content-manager.widget.last-edited.title",
175
+ defaultMessage: "Last edited entries"
176
+ },
177
+ icon: Pencil,
178
+ children: /* @__PURE__ */ jsx(LastEditedWidgetContent, {})
179
+ }
180
+ );
181
+ };
182
+ const LastPublishedWidgetContent = () => {
183
+ const { formatMessage } = useIntl();
184
+ const { data, isLoading, error } = useGetRecentDocumentsQuery({ action: "publish" });
185
+ if (isLoading) {
186
+ return /* @__PURE__ */ jsx(Widget.Loading, {});
187
+ }
188
+ if (error || !data) {
189
+ return /* @__PURE__ */ jsx(Widget.Error, {});
190
+ }
191
+ if (data.length === 0) {
192
+ return /* @__PURE__ */ jsx(Widget.NoData, { children: formatMessage({
193
+ id: "content-manager.widget.last-published.no-data",
194
+ defaultMessage: "No published entries"
195
+ }) });
196
+ }
197
+ return /* @__PURE__ */ jsx(RecentDocumentsTable, { documents: data });
198
+ };
199
+ const LastPublishedWidget = () => {
200
+ return /* @__PURE__ */ jsx(
201
+ Widget.Root,
202
+ {
203
+ title: {
204
+ id: "content-manager.widget.last-published.title",
205
+ defaultMessage: "Last published entries"
206
+ },
207
+ icon: CheckCircle,
208
+ children: /* @__PURE__ */ jsx(LastPublishedWidgetContent, {})
209
+ }
210
+ );
211
+ };
212
+
213
+ const GuidedTourHomepage = () => {
214
+ const guidedTourState = useGuidedTour("GuidedTourHomepage", (state) => state.guidedTourState);
215
+ const setSkipped = useGuidedTour("GuidedTourHomepage", (state) => state.setSkipped);
216
+ const { formatMessage } = useIntl();
217
+ const { trackUsage } = useTracking();
218
+ const sections = Object.entries(LAYOUT_DATA).map(([key, val]) => ({
219
+ key,
220
+ title: val.home.title,
221
+ content: /* @__PURE__ */ jsx(
222
+ LinkButton,
223
+ {
224
+ onClick: () => trackUsage(val.home.trackingEvent),
225
+ tag: NavLink,
226
+ to: val.home.cta.target,
227
+ endIcon: /* @__PURE__ */ jsx(ArrowRight, {}),
228
+ children: formatMessage(val.home.cta.title)
229
+ }
230
+ ),
231
+ isDone: Object.values(guidedTourState[key]).every((value) => value === true)
232
+ }));
233
+ const activeSectionIndex = sections.findIndex((section) => !section.isDone);
234
+ const handleSkip = () => {
235
+ setSkipped(true);
236
+ trackUsage("didSkipGuidedtour");
237
+ };
238
+ return /* @__PURE__ */ jsxs(
239
+ Box,
240
+ {
241
+ hasRadius: true,
242
+ shadow: "tableShadow",
243
+ paddingTop: 7,
244
+ paddingRight: 4,
245
+ paddingLeft: 7,
246
+ paddingBottom: 4,
247
+ background: "neutral0",
248
+ children: [
249
+ /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: [
250
+ /* @__PURE__ */ jsx(Typography, { variant: "beta", tag: "h2", children: formatMessage({
251
+ id: "app.components.GuidedTour.title",
252
+ defaultMessage: "3 steps to get started"
253
+ }) }),
254
+ /* @__PURE__ */ jsx(Box, { children: sections.map((section, index) => {
255
+ const state = getState(activeSectionIndex, index);
256
+ return /* @__PURE__ */ jsxs(Box, { children: [
257
+ /* @__PURE__ */ jsxs(Flex, { children: [
258
+ /* @__PURE__ */ jsx(Box, { minWidth: `3rem`, marginRight: 5, children: /* @__PURE__ */ jsx(Number, { state, children: index + 1 }) }),
259
+ /* @__PURE__ */ jsx(Typography, { variant: "delta", tag: "h3", children: formatMessage(section.title) })
260
+ ] }),
261
+ /* @__PURE__ */ jsxs(Flex, { alignItems: "flex-start", children: [
262
+ /* @__PURE__ */ jsx(
263
+ Flex,
264
+ {
265
+ justifyContent: "center",
266
+ minWidth: `3rem`,
267
+ marginBottom: 3,
268
+ marginTop: 3,
269
+ marginRight: 5,
270
+ children: index === sections.length - 1 ? null : /* @__PURE__ */ jsx(VerticalDivider, { state })
271
+ }
272
+ ),
273
+ /* @__PURE__ */ jsx(Box, { marginTop: 2, children: state === STATES.IS_ACTIVE ? section.content : null })
274
+ ] })
275
+ ] }, section.key);
276
+ }) })
277
+ ] }),
278
+ /* @__PURE__ */ jsx(Flex, { justifyContent: "flex-end", children: /* @__PURE__ */ jsx(Button, { variant: "tertiary", onClick: handleSkip, children: formatMessage({ id: "app.components.GuidedTour.skip", defaultMessage: "Skip the tour" }) }) })
279
+ ]
280
+ }
281
+ );
282
+ };
283
+ const getState = (activeSectionIndex, index) => {
284
+ if (activeSectionIndex === -1) {
285
+ return STATES.IS_DONE;
286
+ }
287
+ if (index < activeSectionIndex) {
288
+ return STATES.IS_DONE;
289
+ }
290
+ if (index > activeSectionIndex) {
291
+ return STATES.IS_NOT_DONE;
292
+ }
293
+ return STATES.IS_ACTIVE;
294
+ };
295
+
296
+ const GuidedTour = () => {
297
+ const guidedTourState = useGuidedTour("HomePage", (state) => state.guidedTourState);
298
+ const isGuidedTourVisible = useGuidedTour("HomePage", (state) => state.isGuidedTourVisible);
299
+ const isSkipped = useGuidedTour("HomePage", (state) => state.isSkipped);
300
+ const showGuidedTour = !Object.values(guidedTourState).every(
301
+ (section) => Object.values(section).every((step) => step)
302
+ ) && isGuidedTourVisible && !isSkipped;
303
+ if (!showGuidedTour) {
304
+ return null;
305
+ }
306
+ return /* @__PURE__ */ jsx(GuidedTourHomepage, {});
307
+ };
308
+
309
+ const HomePageCE = () => {
310
+ const { formatMessage } = useIntl();
311
+ const user = useAuth("HomePageCE", (state) => state.user);
312
+ const displayName = user?.firstname ?? user?.username ?? user?.email;
313
+ return /* @__PURE__ */ jsxs(Main, { children: [
314
+ /* @__PURE__ */ jsx(Page.Title, { children: formatMessage({ id: "HomePage.head.title", defaultMessage: "Homepage" }) }),
315
+ /* @__PURE__ */ jsx(
316
+ Layouts.Header,
317
+ {
318
+ title: formatMessage(
319
+ { id: "HomePage.header.title", defaultMessage: "Hello {name}" },
320
+ { name: displayName }
321
+ ),
322
+ subtitle: formatMessage({
323
+ id: "HomePage.header.subtitle",
324
+ defaultMessage: "Welcome to your administration panel"
325
+ })
326
+ }
327
+ ),
328
+ /* @__PURE__ */ jsx(Layouts.Content, { children: /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "stretch", gap: 8, paddingBottom: 10, children: [
329
+ /* @__PURE__ */ jsx(GuidedTour, {}),
330
+ /* @__PURE__ */ jsxs(Grid.Root, { gap: 5, children: [
331
+ /* @__PURE__ */ jsx(Grid.Item, { col: 6, s: 12, children: /* @__PURE__ */ jsx(LastEditedWidget, {}) }),
332
+ /* @__PURE__ */ jsx(Grid.Item, { col: 6, s: 12, children: /* @__PURE__ */ jsx(LastPublishedWidget, {}) })
333
+ ] })
334
+ ] }) })
335
+ ] });
336
+ };
337
+ const HomePage = () => {
338
+ const Page2 = useEnterprise(
339
+ HomePageCE,
340
+ // eslint-disable-next-line import/no-cycle
341
+ async () => (await import('./HomePage-HuAhOTRQ.mjs')).HomePageEE
342
+ );
343
+ if (!Page2) {
344
+ return null;
345
+ }
346
+ return /* @__PURE__ */ jsx(Page2, {});
347
+ };
348
+
349
+ export { HomePage, HomePageCE };
350
+ //# sourceMappingURL=HomePage-NPjXohKj.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HomePage-NPjXohKj.mjs","sources":["../../admin/src/services/homepage.ts","../../admin/src/pages/Home/components/Widget.tsx","../../admin/src/pages/Home/components/ContentManagerWidgets.tsx","../../admin/src/components/GuidedTour/Homepage.tsx","../../admin/src/pages/Home/components/GuidedTour.tsx","../../admin/src/pages/Home/HomePage.tsx"],"sourcesContent":["import * as Homepage from '../../../shared/contracts/homepage';\n\nimport { adminApi } from './api';\n\nconst homepageService = adminApi\n .enhanceEndpoints({\n // TODO: remove when the CM widgets are moved to the CM package, the type already exists there\n addTagTypes: ['RecentDocumentList'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n getRecentDocuments: builder.query<\n Homepage.GetRecentDocuments.Response['data'],\n Homepage.GetRecentDocuments.Request['query']\n >({\n query: (params) => `/admin/homepage/recent-documents?action=${params.action}`,\n transformResponse: (response: Homepage.GetRecentDocuments.Response) => response.data,\n providesTags: (res, _err, { action }) => [\n { type: 'RecentDocumentList' as const, id: action },\n ],\n }),\n }),\n });\n\nconst { useGetRecentDocumentsQuery } = homepageService;\n\nexport { useGetRecentDocumentsQuery };\n","import * as React from 'react';\n\nimport { Box, Flex, type FlexProps, Loader, Typography } from '@strapi/design-system';\nimport { PuzzlePiece, WarningCircle } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { type MessageDescriptor, useIntl } from 'react-intl';\n\ninterface RootProps {\n title: MessageDescriptor;\n icon?: typeof import('@strapi/icons').PuzzlePiece;\n children: React.ReactNode;\n}\n\nconst Root = ({ title, icon = PuzzlePiece, children }: RootProps) => {\n const { formatMessage } = useIntl();\n const id = React.useId();\n const Icon = icon;\n\n return (\n <Flex\n width=\"100%\"\n hasRadius\n direction=\"column\"\n alignItems=\"flex-start\"\n background=\"neutral0\"\n shadow=\"tableShadow\"\n tag=\"section\"\n gap={4}\n padding={6}\n aria-labelledby={id}\n >\n <Flex direction=\"row\" alignItems=\"center\" gap={2} tag=\"header\">\n <Icon fill=\"neutral500\" aria-hidden />\n <Typography textColor=\"neutral500\" variant=\"sigma\" tag=\"h2\" id={id}>\n {formatMessage(title)}\n </Typography>\n </Flex>\n <Box width=\"100%\" height=\"261px\" overflow=\"auto\" tag=\"main\">\n {children}\n </Box>\n </Flex>\n );\n};\n\ninterface LoadingProps {\n children?: string;\n}\n\nconst Loading = ({ children }: LoadingProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex height=\"100%\" justifyContent=\"center\" alignItems=\"center\">\n <Loader>\n {children ??\n formatMessage({\n id: 'HomePage.widget.loading',\n defaultMessage: 'Loading widget content',\n })}\n </Loader>\n </Flex>\n );\n};\n\ninterface ErrorProps {\n children?: string;\n}\n\nconst Error = ({ children }: ErrorProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex height=\"100%\" direction=\"column\" justifyContent=\"center\" alignItems=\"center\" gap={2}>\n <WarningCircle width=\"3.2rem\" height=\"3.2rem\" fill=\"danger600\" />\n <Typography variant=\"delta\">\n {formatMessage({\n id: 'global.error',\n defaultMessage: 'Something went wrong',\n })}\n </Typography>\n <Typography textColor=\"neutral600\">\n {children ??\n formatMessage({\n id: 'HomePage.widget.error',\n defaultMessage: \"Couldn't load widget content.\",\n })}\n </Typography>\n </Flex>\n );\n};\n\ninterface NoDataProps {\n children?: string;\n}\n\nconst NoData = ({ children }: NoDataProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex height=\"100%\" direction=\"column\" justifyContent=\"center\" alignItems=\"center\" gap={6}>\n <EmptyDocuments width=\"16rem\" height=\"8.8rem\" />\n <Typography textColor=\"neutral600\">\n {children ??\n formatMessage({\n id: 'HomePage.widget.no-data',\n defaultMessage: 'No content found.',\n })}\n </Typography>\n </Flex>\n );\n};\n\nconst Widget = {\n Root,\n Loading,\n Error,\n NoData,\n};\n\nexport { Widget };\n","import { Box, IconButton, Status, Table, Tbody, Td, Tr, Typography } from '@strapi/design-system';\nimport { CheckCircle, Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { RelativeTime } from '../../../components/RelativeTime';\nimport { useTracking } from '../../../features/Tracking';\nimport { useGetRecentDocumentsQuery } from '../../../services/homepage';\nimport { capitalise } from '../../../utils/strings';\n\nimport { Widget } from './Widget';\n\nimport type { RecentDocument } from '../../../../../shared/contracts/homepage';\n\nconst CellTypography = styled(Typography).attrs({ maxWidth: '14.4rem', display: 'block' })`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\ninterface DocumentStatusProps {\n status: RecentDocument['status'];\n}\n\nconst DocumentStatus = ({ status = 'draft' }: DocumentStatusProps) => {\n const statusVariant =\n status === 'draft' ? 'secondary' : status === 'published' ? 'success' : 'alternative';\n\n const { formatMessage } = useIntl();\n\n return (\n <Status variant={statusVariant} size=\"XS\">\n <Typography tag=\"span\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: `content-manager.containers.List.${status}`,\n defaultMessage: capitalise(status),\n })}\n </Typography>\n </Status>\n );\n};\n\nconst RecentDocumentsTable = ({ documents }: { documents: RecentDocument[] }) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n\n const getEditViewLink = (document: RecentDocument): string => {\n // TODO: import the constants for this once the code is moved to the CM package\n const isSingleType = document.kind === 'singleType';\n const kindPath = isSingleType ? 'single-types' : 'collection-types';\n const queryParams = document.locale ? `?plugins[i18n][locale]=${document.locale}` : '';\n\n return `/content-manager/${kindPath}/${document.contentTypeUid}${isSingleType ? '' : '/' + document.documentId}${queryParams}`;\n };\n\n const handleRowClick = (document: RecentDocument) => () => {\n trackUsage('willEditEntryFromHome');\n const link = getEditViewLink(document);\n navigate(link);\n };\n\n return (\n <Table colCount={5} rowCount={documents?.length ?? 0}>\n <Tbody>\n {documents?.map((document) => (\n <Tr onClick={handleRowClick(document)} cursor=\"pointer\" key={document.documentId}>\n <Td>\n <CellTypography title={document.title} variant=\"omega\" textColor=\"neutral800\">\n {document.title}\n </CellTypography>\n </Td>\n <Td>\n <CellTypography variant=\"omega\" textColor=\"neutral600\">\n {document.kind === 'singleType'\n ? formatMessage({\n id: 'content-manager.widget.last-edited.single-type',\n defaultMessage: 'Single-Type',\n })\n : formatMessage({\n id: document.contentTypeDisplayName,\n defaultMessage: document.contentTypeDisplayName,\n })}\n </CellTypography>\n </Td>\n <Td>\n <Box display=\"inline-block\">\n {document.status ? (\n <DocumentStatus status={document.status} />\n ) : (\n <Typography textColor=\"neutral600\" aria-hidden>\n -\n </Typography>\n )}\n </Box>\n </Td>\n <Td>\n <Typography textColor=\"neutral600\">\n <RelativeTime timestamp={new Date(document.updatedAt)} />\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <Box display=\"inline-block\">\n <IconButton\n tag={Link}\n to={getEditViewLink(document)}\n onClick={() => trackUsage('willEditEntryFromHome')}\n label={formatMessage({\n id: 'content-manager.actions.edit.label',\n defaultMessage: 'Edit',\n })}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n </Box>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * LastEditedWidget\n * -----------------------------------------------------------------------------------------------*/\n\nconst LastEditedWidgetContent = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetRecentDocumentsQuery({ action: 'update' });\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'content-manager.widget.last-edited.no-data',\n defaultMessage: 'No edited entries',\n })}\n </Widget.NoData>\n );\n }\n\n return <RecentDocumentsTable documents={data} />;\n};\n\nconst LastEditedWidget = () => {\n return (\n <Widget.Root\n title={{\n id: 'content-manager.widget.last-edited.title',\n defaultMessage: 'Last edited entries',\n }}\n icon={Pencil}\n >\n <LastEditedWidgetContent />\n </Widget.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * LastPublishedWidget\n * -----------------------------------------------------------------------------------------------*/\n\nconst LastPublishedWidgetContent = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetRecentDocumentsQuery({ action: 'publish' });\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'content-manager.widget.last-published.no-data',\n defaultMessage: 'No published entries',\n })}\n </Widget.NoData>\n );\n }\n\n return <RecentDocumentsTable documents={data} />;\n};\n\nconst LastPublishedWidget = () => {\n return (\n <Widget.Root\n title={{\n id: 'content-manager.widget.last-published.title',\n defaultMessage: 'Last published entries',\n }}\n icon={CheckCircle}\n >\n <LastPublishedWidgetContent />\n </Widget.Root>\n );\n};\n\nexport { LastEditedWidget, LastPublishedWidget };\n","import { Box, Button, Flex, Typography, LinkButton } from '@strapi/design-system';\nimport { ArrowRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\n\nimport { useTracking } from '../../features/Tracking';\n\nimport { LAYOUT_DATA, States, STATES } from './constants';\nimport { Number, VerticalDivider } from './Ornaments';\nimport { GuidedTourContextValue, useGuidedTour } from './Provider';\n\ntype SectionName = keyof GuidedTourContextValue['guidedTourState'];\n\nconst GuidedTourHomepage = () => {\n const guidedTourState = useGuidedTour('GuidedTourHomepage', (state) => state.guidedTourState);\n const setSkipped = useGuidedTour('GuidedTourHomepage', (state) => state.setSkipped);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n const sections = Object.entries(LAYOUT_DATA).map(([key, val]) => ({\n key: key,\n title: val.home.title,\n content: (\n <LinkButton\n onClick={() => trackUsage(val.home.trackingEvent)}\n tag={NavLink}\n to={val.home.cta.target}\n endIcon={<ArrowRight />}\n >\n {formatMessage(val.home.cta.title)}\n </LinkButton>\n ),\n isDone: Object.values(guidedTourState[key as SectionName]).every((value) => value === true),\n }));\n\n const activeSectionIndex = sections.findIndex((section) => !section.isDone);\n\n const handleSkip = () => {\n setSkipped(true);\n trackUsage('didSkipGuidedtour');\n };\n\n return (\n <Box\n hasRadius\n shadow=\"tableShadow\"\n paddingTop={7}\n paddingRight={4}\n paddingLeft={7}\n paddingBottom={4}\n background=\"neutral0\"\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Typography variant=\"beta\" tag=\"h2\">\n {formatMessage({\n id: 'app.components.GuidedTour.title',\n defaultMessage: '3 steps to get started',\n })}\n </Typography>\n <Box>\n {sections.map((section, index) => {\n const state = getState(activeSectionIndex, index);\n\n return (\n <Box key={section.key}>\n <Flex>\n <Box minWidth={`3rem`} marginRight={5}>\n <Number state={state}>{index + 1}</Number>\n </Box>\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage(section.title)}\n </Typography>\n </Flex>\n <Flex alignItems=\"flex-start\">\n <Flex\n justifyContent=\"center\"\n minWidth={`3rem`}\n marginBottom={3}\n marginTop={3}\n marginRight={5}\n >\n {index === sections.length - 1 ? null : <VerticalDivider state={state} />}\n </Flex>\n <Box marginTop={2}>{state === STATES.IS_ACTIVE ? section.content : null}</Box>\n </Flex>\n </Box>\n );\n })}\n </Box>\n </Flex>\n <Flex justifyContent=\"flex-end\">\n <Button variant=\"tertiary\" onClick={handleSkip}>\n {formatMessage({ id: 'app.components.GuidedTour.skip', defaultMessage: 'Skip the tour' })}\n </Button>\n </Flex>\n </Box>\n );\n};\n\nconst getState = (activeSectionIndex: number, index: number): States => {\n if (activeSectionIndex === -1) {\n return STATES.IS_DONE;\n }\n if (index < activeSectionIndex) {\n return STATES.IS_DONE;\n }\n if (index > activeSectionIndex) {\n return STATES.IS_NOT_DONE;\n }\n return STATES.IS_ACTIVE;\n};\n\nexport { GuidedTourHomepage };\n","import { GuidedTourHomepage } from '../../../components/GuidedTour/Homepage';\nimport { useGuidedTour } from '../../../components/GuidedTour/Provider';\n\nexport const GuidedTour = () => {\n const guidedTourState = useGuidedTour('HomePage', (state) => state.guidedTourState);\n const isGuidedTourVisible = useGuidedTour('HomePage', (state) => state.isGuidedTourVisible);\n const isSkipped = useGuidedTour('HomePage', (state) => state.isSkipped);\n const showGuidedTour =\n !Object.values(guidedTourState).every((section) =>\n Object.values(section).every((step) => step)\n ) &&\n isGuidedTourVisible &&\n !isSkipped;\n\n if (!showGuidedTour) {\n return null;\n }\n\n return <GuidedTourHomepage />;\n};\n","import * as React from 'react';\n\nimport { Flex, Grid, Main } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { Layouts } from '../../components/Layouts/Layout';\nimport { Page } from '../../components/PageHelpers';\nimport { useEnterprise } from '../../ee';\nimport { useAuth } from '../../features/Auth';\n\nimport { LastEditedWidget, LastPublishedWidget } from './components/ContentManagerWidgets';\nimport { GuidedTour } from './components/GuidedTour';\n\n/* -------------------------------------------------------------------------------------------------\n * HomePageCE\n * -----------------------------------------------------------------------------------------------*/\n\nconst HomePageCE = () => {\n const { formatMessage } = useIntl();\n const user = useAuth('HomePageCE', (state) => state.user);\n const displayName = user?.firstname ?? user?.username ?? user?.email;\n\n return (\n <Main>\n <Page.Title>\n {formatMessage({ id: 'HomePage.head.title', defaultMessage: 'Homepage' })}\n </Page.Title>\n <Layouts.Header\n title={formatMessage(\n { id: 'HomePage.header.title', defaultMessage: 'Hello {name}' },\n { name: displayName }\n )}\n subtitle={formatMessage({\n id: 'HomePage.header.subtitle',\n defaultMessage: 'Welcome to your administration panel',\n })}\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={8} paddingBottom={10}>\n <GuidedTour />\n <Grid.Root gap={5}>\n <Grid.Item col={6} s={12}>\n <LastEditedWidget />\n </Grid.Item>\n <Grid.Item col={6} s={12}>\n <LastPublishedWidget />\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Layouts.Content>\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * HomePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst HomePage = () => {\n const Page = useEnterprise(\n HomePageCE,\n // eslint-disable-next-line import/no-cycle\n async () => (await import('../../../../ee/admin/src/pages/HomePage')).HomePageEE\n );\n\n // block rendering until the EE component is fully loaded\n if (!Page) {\n return null;\n }\n\n return <Page />;\n};\n\nexport { HomePage, HomePageCE };\n"],"names":["Page"],"mappings":"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"}
@@ -2,8 +2,8 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { useNotifyAT, Table, Thead, Tr, Th, Typography, Tbody, Td } from '@strapi/design-system';
4
4
  import { useIntl } from 'react-intl';
5
- import { b as Layouts } from './index-Cn5HftCc.mjs';
6
- import { b as useTypedSelector, P as Page, a as useNotification, e as useAPIErrorHandler } from './Theme-5Y8Pi0Wm.mjs';
5
+ import { b as Layouts } from './index-CMdgTmC0.mjs';
6
+ import { b as useTypedSelector, P as Page, a as useNotification, e as useAPIErrorHandler } from './Theme-CTMU9Z8I.mjs';
7
7
  import { b as useGetPluginsQuery } from './admin-DOzK8yjX.mjs';
8
8
 
9
9
  const InstalledPlugins = () => {
@@ -92,4 +92,4 @@ const ProtectedInstalledPlugins = () => {
92
92
  };
93
93
 
94
94
  export { InstalledPlugins, ProtectedInstalledPlugins };
95
- //# sourceMappingURL=InstalledPlugins-Chyea6Jt.mjs.map
95
+ //# sourceMappingURL=InstalledPlugins-BDBDHjp1.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstalledPlugins-Chyea6Jt.mjs","sources":["../../admin/src/pages/Settings/pages/InstalledPlugins.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Table, Tbody, Td, Th, Thead, Tr, Typography, useNotifyAT } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { Layouts } from '../../../components/Layouts/Layout';\nimport { Page } from '../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../core/store/hooks';\nimport { useNotification } from '../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../hooks/useAPIErrorHandler';\nimport { useGetPluginsQuery } from '../../../services/admin';\n\nconst InstalledPlugins = () => {\n const { formatMessage } = useIntl();\n const { notifyStatus } = useNotifyAT();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { isLoading, data, error } = useGetPluginsQuery();\n\n React.useEffect(() => {\n if (data) {\n notifyStatus(\n formatMessage(\n {\n id: 'app.utils.notify.data-loaded',\n defaultMessage: 'The {target} has loaded',\n },\n {\n target: formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n }),\n }\n )\n );\n }\n\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [data, error, formatAPIError, formatMessage, notifyStatus, toggleNotification]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Main>\n <Layouts.Header\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n subtitle={formatMessage({\n id: 'app.components.ListPluginsPage.description',\n defaultMessage: 'List of the installed plugins in the project.',\n })}\n />\n <Layouts.Content>\n <Table colCount={2} rowCount={data?.plugins?.length ?? 0 + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'description',\n })}\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {data?.plugins.map(({ name, displayName, description }) => {\n return (\n <Tr key={name}>\n <Td>\n <Typography textColor=\"neutral800\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: `global.plugins.${name}`,\n defaultMessage: displayName,\n })}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: `global.plugins.${name}.description`,\n defaultMessage: description,\n })}\n </Typography>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n </Layouts.Content>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nconst ProtectedInstalledPlugins = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n\n return (\n <Page.Protect permissions={permissions.marketplace?.main}>\n <Page.Title>\n {formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n </Page.Title>\n <InstalledPlugins />\n </Page.Protect>\n );\n};\n\nexport { ProtectedInstalledPlugins, InstalledPlugins };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InstalledPlugins-BDBDHjp1.mjs","sources":["../../admin/src/pages/Settings/pages/InstalledPlugins.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Table, Tbody, Td, Th, Thead, Tr, Typography, useNotifyAT } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { Layouts } from '../../../components/Layouts/Layout';\nimport { Page } from '../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../core/store/hooks';\nimport { useNotification } from '../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../hooks/useAPIErrorHandler';\nimport { useGetPluginsQuery } from '../../../services/admin';\n\nconst InstalledPlugins = () => {\n const { formatMessage } = useIntl();\n const { notifyStatus } = useNotifyAT();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { isLoading, data, error } = useGetPluginsQuery();\n\n React.useEffect(() => {\n if (data) {\n notifyStatus(\n formatMessage(\n {\n id: 'app.utils.notify.data-loaded',\n defaultMessage: 'The {target} has loaded',\n },\n {\n target: formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n }),\n }\n )\n );\n }\n\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [data, error, formatAPIError, formatMessage, notifyStatus, toggleNotification]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Main>\n <Layouts.Header\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n subtitle={formatMessage({\n id: 'app.components.ListPluginsPage.description',\n defaultMessage: 'List of the installed plugins in the project.',\n })}\n />\n <Layouts.Content>\n <Table colCount={2} rowCount={data?.plugins?.length ?? 0 + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'description',\n })}\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {data?.plugins.map(({ name, displayName, description }) => {\n return (\n <Tr key={name}>\n <Td>\n <Typography textColor=\"neutral800\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: `global.plugins.${name}`,\n defaultMessage: displayName,\n })}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: `global.plugins.${name}.description`,\n defaultMessage: description,\n })}\n </Typography>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n </Layouts.Content>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nconst ProtectedInstalledPlugins = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n\n return (\n <Page.Protect permissions={permissions.marketplace?.main}>\n <Page.Title>\n {formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n </Page.Title>\n <InstalledPlugins />\n </Page.Protect>\n );\n};\n\nexport { ProtectedInstalledPlugins, InstalledPlugins };\n"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ const jsxRuntime = require('react/jsx-runtime');
6
6
  const React = require('react');
7
7
  const designSystem = require('@strapi/design-system');
8
8
  const reactIntl = require('react-intl');
9
- const index = require('./index-u_GcMlYH.js');
9
+ const index = require('./index-DxMAHgtc.js');
10
10
  const Theme = require('./Theme-DWGZX5tv.js');
11
11
  const admin = require('./admin-DRnq5SAg.js');
12
12
 
@@ -117,4 +117,4 @@ const ProtectedInstalledPlugins = () => {
117
117
 
118
118
  exports.InstalledPlugins = InstalledPlugins;
119
119
  exports.ProtectedInstalledPlugins = ProtectedInstalledPlugins;
120
- //# sourceMappingURL=InstalledPlugins-B_bI-CBz.js.map
120
+ //# sourceMappingURL=InstalledPlugins-OsZRe2Mj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstalledPlugins-B_bI-CBz.js","sources":["../../admin/src/pages/Settings/pages/InstalledPlugins.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Table, Tbody, Td, Th, Thead, Tr, Typography, useNotifyAT } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { Layouts } from '../../../components/Layouts/Layout';\nimport { Page } from '../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../core/store/hooks';\nimport { useNotification } from '../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../hooks/useAPIErrorHandler';\nimport { useGetPluginsQuery } from '../../../services/admin';\n\nconst InstalledPlugins = () => {\n const { formatMessage } = useIntl();\n const { notifyStatus } = useNotifyAT();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { isLoading, data, error } = useGetPluginsQuery();\n\n React.useEffect(() => {\n if (data) {\n notifyStatus(\n formatMessage(\n {\n id: 'app.utils.notify.data-loaded',\n defaultMessage: 'The {target} has loaded',\n },\n {\n target: formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n }),\n }\n )\n );\n }\n\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [data, error, formatAPIError, formatMessage, notifyStatus, toggleNotification]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Main>\n <Layouts.Header\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n subtitle={formatMessage({\n id: 'app.components.ListPluginsPage.description',\n defaultMessage: 'List of the installed plugins in the project.',\n })}\n />\n <Layouts.Content>\n <Table colCount={2} rowCount={data?.plugins?.length ?? 0 + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'description',\n })}\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {data?.plugins.map(({ name, displayName, description }) => {\n return (\n <Tr key={name}>\n <Td>\n <Typography textColor=\"neutral800\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: `global.plugins.${name}`,\n defaultMessage: displayName,\n })}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: `global.plugins.${name}.description`,\n defaultMessage: description,\n })}\n </Typography>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n </Layouts.Content>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nconst ProtectedInstalledPlugins = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n\n return (\n <Page.Protect permissions={permissions.marketplace?.main}>\n <Page.Title>\n {formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n </Page.Title>\n <InstalledPlugins />\n </Page.Protect>\n );\n};\n\nexport { ProtectedInstalledPlugins, InstalledPlugins };\n"],"names":["useIntl","useNotifyAT","useNotification","useAPIErrorHandler","useGetPluginsQuery","React","jsx","Page","Layouts","jsxs","Table","Thead","Tr","Th","Typography","Tbody","Td","useTypedSelector"],"mappings":"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"}
1
+ {"version":3,"file":"InstalledPlugins-OsZRe2Mj.js","sources":["../../admin/src/pages/Settings/pages/InstalledPlugins.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Table, Tbody, Td, Th, Thead, Tr, Typography, useNotifyAT } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { Layouts } from '../../../components/Layouts/Layout';\nimport { Page } from '../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../core/store/hooks';\nimport { useNotification } from '../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../hooks/useAPIErrorHandler';\nimport { useGetPluginsQuery } from '../../../services/admin';\n\nconst InstalledPlugins = () => {\n const { formatMessage } = useIntl();\n const { notifyStatus } = useNotifyAT();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { isLoading, data, error } = useGetPluginsQuery();\n\n React.useEffect(() => {\n if (data) {\n notifyStatus(\n formatMessage(\n {\n id: 'app.utils.notify.data-loaded',\n defaultMessage: 'The {target} has loaded',\n },\n {\n target: formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n }),\n }\n )\n );\n }\n\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [data, error, formatAPIError, formatMessage, notifyStatus, toggleNotification]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Main>\n <Layouts.Header\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n subtitle={formatMessage({\n id: 'app.components.ListPluginsPage.description',\n defaultMessage: 'List of the installed plugins in the project.',\n })}\n />\n <Layouts.Content>\n <Table colCount={2} rowCount={data?.plugins?.length ?? 0 + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'description',\n })}\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {data?.plugins.map(({ name, displayName, description }) => {\n return (\n <Tr key={name}>\n <Td>\n <Typography textColor=\"neutral800\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: `global.plugins.${name}`,\n defaultMessage: displayName,\n })}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: `global.plugins.${name}.description`,\n defaultMessage: description,\n })}\n </Typography>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n </Layouts.Content>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nconst ProtectedInstalledPlugins = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n\n return (\n <Page.Protect permissions={permissions.marketplace?.main}>\n <Page.Title>\n {formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n </Page.Title>\n <InstalledPlugins />\n </Page.Protect>\n );\n};\n\nexport { ProtectedInstalledPlugins, InstalledPlugins };\n"],"names":["useIntl","useNotifyAT","useNotification","useAPIErrorHandler","useGetPluginsQuery","React","jsx","Page","Layouts","jsxs","Table","Thead","Tr","Th","Typography","Tbody","Td","useTypedSelector"],"mappings":"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"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const reactIntl = require('react-intl');
7
7
  const reactRouterDom = require('react-router-dom');
8
- const index = require('./index-u_GcMlYH.js');
8
+ const index = require('./index-DxMAHgtc.js');
9
9
  const Theme = require('./Theme-DWGZX5tv.js');
10
10
  const React = require('react');
11
11
  const sortBy = require('lodash/sortBy');
@@ -61,7 +61,7 @@ const useSettingsMenu = () => {
61
61
  const ceLinks = React__namespace.useMemo(() => index.SETTINGS_LINKS_CE(), []);
62
62
  const { admin: adminLinks, global: globalLinks } = useEnterprise.useEnterprise(
63
63
  ceLinks,
64
- async () => (await Promise.resolve().then(() => require('./index-u_GcMlYH.js')).then(n => n.constants)).SETTINGS_LINKS_EE(),
64
+ async () => (await Promise.resolve().then(() => require('./index-DxMAHgtc.js')).then(n => n.constants)).SETTINGS_LINKS_EE(),
65
65
  {
66
66
  combine(ceLinks2, eeLinks) {
67
67
  return {
@@ -239,4 +239,4 @@ const Layout = () => {
239
239
  };
240
240
 
241
241
  exports.Layout = Layout;
242
- //# sourceMappingURL=Layout-CcWr6va_.js.map
242
+ //# sourceMappingURL=Layout-BmPlcHQy.js.map