@strapi/admin 5.10.2 → 5.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/dist/admin/chunks/{AdminSeatInfo-Cw1ujAsZ.mjs → AdminSeatInfo-CQ4w8a3g.mjs} +3 -3
  2. package/dist/admin/chunks/{AdminSeatInfo-Cw1ujAsZ.mjs.map → AdminSeatInfo-CQ4w8a3g.mjs.map} +1 -1
  3. package/dist/admin/chunks/{AdminSeatInfo-BfPqdNN0.js → AdminSeatInfo-DZ4hBesy.js} +3 -3
  4. package/dist/admin/chunks/{AdminSeatInfo-BfPqdNN0.js.map → AdminSeatInfo-DZ4hBesy.js.map} +1 -1
  5. package/dist/admin/chunks/{ApplicationInfoPage-DIiAE-tT.js → ApplicationInfoPage-CsBvES_c.js} +5 -5
  6. package/dist/admin/chunks/{ApplicationInfoPage-DIiAE-tT.js.map → ApplicationInfoPage-CsBvES_c.js.map} +1 -1
  7. package/dist/admin/chunks/{ApplicationInfoPage-Ch6hKH4Y.mjs → ApplicationInfoPage-DiEcqVEU.mjs} +5 -5
  8. package/dist/admin/chunks/{ApplicationInfoPage-Ch6hKH4Y.mjs.map → ApplicationInfoPage-DiEcqVEU.mjs.map} +1 -1
  9. package/dist/admin/chunks/{AuthResponse-DI-Q1kQL.js → AuthResponse-Ch0hurir.js} +2 -2
  10. package/dist/admin/chunks/{AuthResponse-DI-Q1kQL.js.map → AuthResponse-Ch0hurir.js.map} +1 -1
  11. package/dist/admin/chunks/{AuthResponse-DFS6gVO4.mjs → AuthResponse-Cu7HgPEK.mjs} +2 -2
  12. package/dist/admin/chunks/{AuthResponse-DFS6gVO4.mjs.map → AuthResponse-Cu7HgPEK.mjs.map} +1 -1
  13. package/dist/admin/chunks/{AuthenticatedLayout-BNWCtSH2.mjs → AuthenticatedLayout-C9eZ12Ue.mjs} +10 -291
  14. package/dist/admin/chunks/AuthenticatedLayout-C9eZ12Ue.mjs.map +1 -0
  15. package/dist/admin/chunks/{AuthenticatedLayout-D067wUoO.js → AuthenticatedLayout-D_VSoB1l.js} +5 -286
  16. package/dist/admin/chunks/AuthenticatedLayout-D_VSoB1l.js.map +1 -0
  17. package/dist/admin/chunks/{CreatePage-DojcQqvH.mjs → CreatePage-Cb-ETkOn.mjs} +5 -5
  18. package/dist/admin/chunks/{CreatePage-DojcQqvH.mjs.map → CreatePage-Cb-ETkOn.mjs.map} +1 -1
  19. package/dist/admin/chunks/{CreatePage-0PdN9Fyc.mjs → CreatePage-DQDa78K3.mjs} +4 -4
  20. package/dist/admin/chunks/{CreatePage-0PdN9Fyc.mjs.map → CreatePage-DQDa78K3.mjs.map} +1 -1
  21. package/dist/admin/chunks/{CreatePage-BK_ivKDk.js → CreatePage-DbmpFjHt.js} +4 -4
  22. package/dist/admin/chunks/{CreatePage-BK_ivKDk.js.map → CreatePage-DbmpFjHt.js.map} +1 -1
  23. package/dist/admin/chunks/{CreatePage-C8PMNi_P.js → CreatePage-DkzHz0zk.js} +5 -5
  24. package/dist/admin/chunks/{CreatePage-C8PMNi_P.js.map → CreatePage-DkzHz0zk.js.map} +1 -1
  25. package/dist/admin/chunks/{CreateView-DtccbWiR.js → CreateView-CE4-drK6.js} +5 -5
  26. package/dist/admin/chunks/{CreateView-DtccbWiR.js.map → CreateView-CE4-drK6.js.map} +1 -1
  27. package/dist/admin/chunks/{CreateView-BuN2a7bo.mjs → CreateView-CmubtWzn.mjs} +5 -5
  28. package/dist/admin/chunks/{CreateView-BuN2a7bo.mjs.map → CreateView-CmubtWzn.mjs.map} +1 -1
  29. package/dist/admin/chunks/{CreateView-DB0xD4f5.mjs → CreateView-DZaIevIB.mjs} +5 -5
  30. package/dist/admin/chunks/{CreateView-DB0xD4f5.mjs.map → CreateView-DZaIevIB.mjs.map} +1 -1
  31. package/dist/admin/chunks/{CreateView-ITRNGoQ6.js → CreateView-yjsS9KUJ.js} +5 -5
  32. package/dist/admin/chunks/{CreateView-ITRNGoQ6.js.map → CreateView-yjsS9KUJ.js.map} +1 -1
  33. package/dist/admin/chunks/{EditPage-BazkPM17.mjs → EditPage-Bjr4f1Bs.mjs} +5 -5
  34. package/dist/admin/chunks/{EditPage-BazkPM17.mjs.map → EditPage-Bjr4f1Bs.mjs.map} +1 -1
  35. package/dist/admin/chunks/{EditPage-ibh8EtSv.js → EditPage-BrMhV8aB.js} +8 -8
  36. package/dist/admin/chunks/{EditPage-ibh8EtSv.js.map → EditPage-BrMhV8aB.js.map} +1 -1
  37. package/dist/admin/chunks/{EditPage-BNZ90ISm.mjs → EditPage-C44OaxjN.mjs} +5 -5
  38. package/dist/admin/chunks/{EditPage-BNZ90ISm.mjs.map → EditPage-C44OaxjN.mjs.map} +1 -1
  39. package/dist/admin/chunks/{EditPage-r043NYgB.js → EditPage-CNaAuT5C.js} +5 -5
  40. package/dist/admin/chunks/{EditPage-r043NYgB.js.map → EditPage-CNaAuT5C.js.map} +1 -1
  41. package/dist/admin/chunks/{EditPage-DiDSR0tz.js → EditPage-CycQlsFL.js} +5 -5
  42. package/dist/admin/chunks/{EditPage-DiDSR0tz.js.map → EditPage-CycQlsFL.js.map} +1 -1
  43. package/dist/admin/chunks/{EditPage-LRn1-C88.mjs → EditPage-MmQQ4hWc.mjs} +8 -8
  44. package/dist/admin/chunks/{EditPage-LRn1-C88.mjs.map → EditPage-MmQQ4hWc.mjs.map} +1 -1
  45. package/dist/admin/chunks/{EditView-DxmJI6e0.js → EditView-C9cKaoY1.js} +4 -4
  46. package/dist/admin/chunks/{EditView-DxmJI6e0.js.map → EditView-C9cKaoY1.js.map} +1 -1
  47. package/dist/admin/chunks/{EditView-CgMgqsza.mjs → EditView-CFIkvFrt.mjs} +4 -4
  48. package/dist/admin/chunks/{EditView-CgMgqsza.mjs.map → EditView-CFIkvFrt.mjs.map} +1 -1
  49. package/dist/admin/chunks/{EditViewPage-BE_u8pQP.mjs → EditViewPage-CwdhHAuX.mjs} +4 -4
  50. package/dist/admin/chunks/{EditViewPage-BE_u8pQP.mjs.map → EditViewPage-CwdhHAuX.mjs.map} +1 -1
  51. package/dist/admin/chunks/{EditViewPage-Bz4GEIsc.js → EditViewPage-DBga-70A.js} +4 -4
  52. package/dist/admin/chunks/{EditViewPage-Bz4GEIsc.js.map → EditViewPage-DBga-70A.js.map} +1 -1
  53. package/dist/admin/chunks/{EventsTable-CsFf4rOj.mjs → EventsTable-CeqMb1jP.mjs} +5 -5
  54. package/dist/admin/chunks/{EventsTable-CsFf4rOj.mjs.map → EventsTable-CeqMb1jP.mjs.map} +1 -1
  55. package/dist/admin/chunks/{EventsTable-CZY0aI5G.js → EventsTable-fkWvAMuL.js} +5 -5
  56. package/dist/admin/chunks/{EventsTable-CZY0aI5G.js.map → EventsTable-fkWvAMuL.js.map} +1 -1
  57. package/dist/admin/chunks/{HomePage-ebJLhO6a.js → HomePage-B2skN1xt.js} +5 -5
  58. package/dist/admin/chunks/{HomePage-ebJLhO6a.js.map → HomePage-B2skN1xt.js.map} +1 -1
  59. package/dist/admin/chunks/{HomePage-Df0YSqNE.js → HomePage-CVc0RfvD.js} +4 -4
  60. package/dist/admin/chunks/{HomePage-Df0YSqNE.js.map → HomePage-CVc0RfvD.js.map} +1 -1
  61. package/dist/admin/chunks/{HomePage-CFTx_SgI.mjs → HomePage-DGTeFboL.mjs} +4 -4
  62. package/dist/admin/chunks/{HomePage-CFTx_SgI.mjs.map → HomePage-DGTeFboL.mjs.map} +1 -1
  63. package/dist/admin/chunks/{HomePage-C2Sue0eX.mjs → HomePage-MfOqcIag.mjs} +5 -5
  64. package/dist/admin/chunks/{HomePage-C2Sue0eX.mjs.map → HomePage-MfOqcIag.mjs.map} +1 -1
  65. package/dist/admin/chunks/{InstalledPlugins-B4gyKUHh.mjs → InstalledPlugins-5j7xjDqh.mjs} +3 -3
  66. package/dist/admin/chunks/{InstalledPlugins-B4gyKUHh.mjs.map → InstalledPlugins-5j7xjDqh.mjs.map} +1 -1
  67. package/dist/admin/chunks/{InstalledPlugins-BtwwVsQ_.js → InstalledPlugins-BXM3i3xr.js} +3 -3
  68. package/dist/admin/chunks/{InstalledPlugins-BtwwVsQ_.js.map → InstalledPlugins-BXM3i3xr.js.map} +1 -1
  69. package/dist/admin/chunks/{Layout-BZTqa7oj.js → Layout-DST1PxaO.js} +5 -5
  70. package/dist/admin/chunks/{Layout-BZTqa7oj.js.map → Layout-DST1PxaO.js.map} +1 -1
  71. package/dist/admin/chunks/{Layout-B_xkPr1q.mjs → Layout-DYjtK6iP.mjs} +5 -5
  72. package/dist/admin/chunks/{Layout-B_xkPr1q.mjs.map → Layout-DYjtK6iP.mjs.map} +1 -1
  73. package/dist/admin/chunks/{ListPage-BtMdu1eQ.mjs → ListPage-B5Hb8BA-.mjs} +7 -7
  74. package/dist/admin/chunks/{ListPage-BtMdu1eQ.mjs.map → ListPage-B5Hb8BA-.mjs.map} +1 -1
  75. package/dist/admin/chunks/{ListPage-Beh8uBDE.mjs → ListPage-BVI0O8bq.mjs} +3 -3
  76. package/dist/admin/chunks/{ListPage-Beh8uBDE.mjs.map → ListPage-BVI0O8bq.mjs.map} +1 -1
  77. package/dist/admin/chunks/{ListPage-YW-UVjk3.js → ListPage-BgyypnOM.js} +7 -7
  78. package/dist/admin/chunks/{ListPage-YW-UVjk3.js.map → ListPage-BgyypnOM.js.map} +1 -1
  79. package/dist/admin/chunks/{ListPage-CENQarKY.mjs → ListPage-BhGt3EBQ.mjs} +3 -3
  80. package/dist/admin/chunks/{ListPage-CENQarKY.mjs.map → ListPage-BhGt3EBQ.mjs.map} +1 -1
  81. package/dist/admin/chunks/{ListPage-gKsEm3Px.js → ListPage-CLXy5r60.js} +5 -5
  82. package/dist/admin/chunks/{ListPage-gKsEm3Px.js.map → ListPage-CLXy5r60.js.map} +1 -1
  83. package/dist/admin/chunks/{ListPage-Du6Jt5wY.js → ListPage-CWINpwfS.js} +7 -7
  84. package/dist/admin/chunks/{ListPage-Du6Jt5wY.js.map → ListPage-CWINpwfS.js.map} +1 -1
  85. package/dist/admin/chunks/{ListPage-DgmOJv7H.js → ListPage-D21yUih2.js} +3 -3
  86. package/dist/admin/chunks/{ListPage-DgmOJv7H.js.map → ListPage-D21yUih2.js.map} +1 -1
  87. package/dist/admin/chunks/{ListPage-LqcmQd_Q.js → ListPage-DbfL2rpi.js} +3 -3
  88. package/dist/admin/chunks/{ListPage-LqcmQd_Q.js.map → ListPage-DbfL2rpi.js.map} +1 -1
  89. package/dist/admin/chunks/{ListPage-r9rW__R8.mjs → ListPage-PwzVjSsA.mjs} +7 -7
  90. package/dist/admin/chunks/{ListPage-r9rW__R8.mjs.map → ListPage-PwzVjSsA.mjs.map} +1 -1
  91. package/dist/admin/chunks/{ListPage-Czwak48Z.mjs → ListPage-srJutHdv.mjs} +5 -5
  92. package/dist/admin/chunks/{ListPage-Czwak48Z.mjs.map → ListPage-srJutHdv.mjs.map} +1 -1
  93. package/dist/admin/chunks/{ListView-Q2AO0JSX.mjs → ListView--KzJiQiO.mjs} +4 -4
  94. package/dist/admin/chunks/{ListView-Q2AO0JSX.mjs.map → ListView--KzJiQiO.mjs.map} +1 -1
  95. package/dist/admin/chunks/{ListView-CajksON_.mjs → ListView-CoGoDDiF.mjs} +4 -4
  96. package/dist/admin/chunks/{ListView-CajksON_.mjs.map → ListView-CoGoDDiF.mjs.map} +1 -1
  97. package/dist/admin/chunks/{ListView-Bys8EN-y.js → ListView-DGfxO89i.js} +4 -4
  98. package/dist/admin/chunks/{ListView-Bys8EN-y.js.map → ListView-DGfxO89i.js.map} +1 -1
  99. package/dist/admin/chunks/{ListView-BfwBUxHL.js → ListView-DzwvQ8nW.js} +4 -4
  100. package/dist/admin/chunks/{ListView-BfwBUxHL.js.map → ListView-DzwvQ8nW.js.map} +1 -1
  101. package/dist/admin/chunks/{Login-5ByBaKI3.mjs → Login-Dtkhd0GV.mjs} +3 -3
  102. package/dist/admin/chunks/{Login-5ByBaKI3.mjs.map → Login-Dtkhd0GV.mjs.map} +1 -1
  103. package/dist/admin/chunks/{Login-BpEOnVbU.js → Login-Iw84AH9L.js} +3 -3
  104. package/dist/admin/chunks/{Login-BpEOnVbU.js.map → Login-Iw84AH9L.js.map} +1 -1
  105. package/dist/admin/chunks/{MagicLinkEE-a-AbOB4s.js → MagicLinkEE-C5K8p8Rk.js} +5 -5
  106. package/dist/admin/chunks/{MagicLinkEE-a-AbOB4s.js.map → MagicLinkEE-C5K8p8Rk.js.map} +1 -1
  107. package/dist/admin/chunks/{MagicLinkEE-CiQG7NL3.mjs → MagicLinkEE-EcyHC46Y.mjs} +5 -5
  108. package/dist/admin/chunks/{MagicLinkEE-CiQG7NL3.mjs.map → MagicLinkEE-EcyHC46Y.mjs.map} +1 -1
  109. package/dist/admin/chunks/{MarketplacePage-my1nDaHy.js → MarketplacePage-BmqfuAvB.js} +3 -3
  110. package/dist/admin/chunks/{MarketplacePage-my1nDaHy.js.map → MarketplacePage-BmqfuAvB.js.map} +1 -1
  111. package/dist/admin/chunks/{MarketplacePage-BrHNQ8SG.mjs → MarketplacePage-CcAYozK2.mjs} +3 -3
  112. package/dist/admin/chunks/{MarketplacePage-BrHNQ8SG.mjs.map → MarketplacePage-CcAYozK2.mjs.map} +1 -1
  113. package/dist/admin/chunks/{Permissions-C7FA_7J9.js → Permissions-D6qH78lN.js} +2 -2
  114. package/dist/admin/chunks/{Permissions-C7FA_7J9.js.map → Permissions-D6qH78lN.js.map} +1 -1
  115. package/dist/admin/chunks/{Permissions-CuLck8vw.mjs → Permissions-rJmE3qb1.mjs} +2 -2
  116. package/dist/admin/chunks/{Permissions-CuLck8vw.mjs.map → Permissions-rJmE3qb1.mjs.map} +1 -1
  117. package/dist/admin/chunks/{PrivateRoute-BnxIlIDb.js → PrivateRoute-DvGSyomB.js} +2 -2
  118. package/dist/admin/chunks/{PrivateRoute-BnxIlIDb.js.map → PrivateRoute-DvGSyomB.js.map} +1 -1
  119. package/dist/admin/chunks/{PrivateRoute-BYKd2yE4.mjs → PrivateRoute-KL_RhoV8.mjs} +2 -2
  120. package/dist/admin/chunks/{PrivateRoute-BYKd2yE4.mjs.map → PrivateRoute-KL_RhoV8.mjs.map} +1 -1
  121. package/dist/admin/chunks/{ProfilePage-Do6nPMsx.mjs → ProfilePage-CN8SAQ9w.mjs} +4 -4
  122. package/dist/admin/chunks/{ProfilePage-Do6nPMsx.mjs.map → ProfilePage-CN8SAQ9w.mjs.map} +1 -1
  123. package/dist/admin/chunks/{ProfilePage-C8zWtYzY.js → ProfilePage-DiGV7o6c.js} +4 -4
  124. package/dist/admin/chunks/{ProfilePage-C8zWtYzY.js.map → ProfilePage-DiGV7o6c.js.map} +1 -1
  125. package/dist/admin/chunks/{PurchaseAuditLogs-McvZESGI.mjs → PurchaseAuditLogs-BI41XTBD.mjs} +3 -3
  126. package/dist/admin/chunks/{PurchaseAuditLogs-McvZESGI.mjs.map → PurchaseAuditLogs-BI41XTBD.mjs.map} +1 -1
  127. package/dist/admin/chunks/{PurchaseAuditLogs-BTAi887h.js → PurchaseAuditLogs-DnWVbru3.js} +3 -3
  128. package/dist/admin/chunks/{PurchaseAuditLogs-BTAi887h.js.map → PurchaseAuditLogs-DnWVbru3.js.map} +1 -1
  129. package/dist/admin/chunks/{PurchaseContentHistory-pb7RDvhZ.mjs → PurchaseContentHistory-BzC2C4Pv.mjs} +3 -3
  130. package/dist/admin/chunks/{PurchaseContentHistory-pb7RDvhZ.mjs.map → PurchaseContentHistory-BzC2C4Pv.mjs.map} +1 -1
  131. package/dist/admin/chunks/{PurchaseContentHistory-dfepsahq.js → PurchaseContentHistory-DUk7otrp.js} +3 -3
  132. package/dist/admin/chunks/{PurchaseContentHistory-dfepsahq.js.map → PurchaseContentHistory-DUk7otrp.js.map} +1 -1
  133. package/dist/admin/chunks/{PurchaseSingleSignOn-Dgal5RnY.js → PurchaseSingleSignOn-Bq0YHAHt.js} +3 -3
  134. package/dist/admin/chunks/{PurchaseSingleSignOn-Dgal5RnY.js.map → PurchaseSingleSignOn-Bq0YHAHt.js.map} +1 -1
  135. package/dist/admin/chunks/{PurchaseSingleSignOn-BUB9Irlt.mjs → PurchaseSingleSignOn-G1TKPP15.mjs} +3 -3
  136. package/dist/admin/chunks/{PurchaseSingleSignOn-BUB9Irlt.mjs.map → PurchaseSingleSignOn-G1TKPP15.mjs.map} +1 -1
  137. package/dist/admin/chunks/{SelectRoles-Clx1_4zB.js → SelectRoles-CKInlnSd.js} +4 -4
  138. package/dist/admin/chunks/{SelectRoles-Clx1_4zB.js.map → SelectRoles-CKInlnSd.js.map} +1 -1
  139. package/dist/admin/chunks/{SelectRoles-CG3Czm0u.mjs → SelectRoles-DR4KBZkw.mjs} +4 -4
  140. package/dist/admin/chunks/{SelectRoles-CG3Czm0u.mjs.map → SelectRoles-DR4KBZkw.mjs.map} +1 -1
  141. package/dist/admin/chunks/{SingleSignOnPage-Bqn13t3u.mjs → SingleSignOnPage-CRzrEUGp.mjs} +4 -4
  142. package/dist/admin/chunks/{SingleSignOnPage-Bqn13t3u.mjs.map → SingleSignOnPage-CRzrEUGp.mjs.map} +1 -1
  143. package/dist/admin/chunks/{SingleSignOnPage-DqHWnXWQ.js → SingleSignOnPage-DtRVlrGP.js} +4 -4
  144. package/dist/admin/chunks/{SingleSignOnPage-DqHWnXWQ.js.map → SingleSignOnPage-DtRVlrGP.js.map} +1 -1
  145. package/dist/admin/chunks/{Table-Ra6bYcx7.mjs → Table-BohVeu0r.mjs} +3 -3
  146. package/dist/admin/chunks/{Table-Ra6bYcx7.mjs.map → Table-BohVeu0r.mjs.map} +1 -1
  147. package/dist/admin/chunks/{Table-BHi0q5It.js → Table-CBZnqMuN.js} +3 -3
  148. package/dist/admin/chunks/{Table-BHi0q5It.js.map → Table-CBZnqMuN.js.map} +1 -1
  149. package/dist/admin/chunks/{Theme-CDaBfQ-7.mjs → Theme-C3oHrQcy.mjs} +6 -4
  150. package/dist/admin/chunks/Theme-C3oHrQcy.mjs.map +1 -0
  151. package/dist/admin/chunks/{Theme-CFGbtvHi.js → Theme-DDlJz91O.js} +6 -3
  152. package/dist/admin/chunks/Theme-DDlJz91O.js.map +1 -0
  153. package/dist/admin/chunks/{TokenTypeSelect-EY1WftKo.js → TokenTypeSelect-BV_ZNiY_.js} +3 -3
  154. package/dist/admin/chunks/{TokenTypeSelect-EY1WftKo.js.map → TokenTypeSelect-BV_ZNiY_.js.map} +1 -1
  155. package/dist/admin/chunks/{TokenTypeSelect-BIRgChNx.mjs → TokenTypeSelect-CpEAVZ_b.mjs} +3 -3
  156. package/dist/admin/chunks/{TokenTypeSelect-BIRgChNx.mjs.map → TokenTypeSelect-CpEAVZ_b.mjs.map} +1 -1
  157. package/dist/admin/chunks/{UseCasePage-Y_h0Fbiv.mjs → UseCasePage-Bro5fyP3.mjs} +4 -4
  158. package/dist/admin/chunks/{UseCasePage-Y_h0Fbiv.mjs.map → UseCasePage-Bro5fyP3.mjs.map} +1 -1
  159. package/dist/admin/chunks/{UseCasePage-Dl-WfgYc.js → UseCasePage-CipG2GC4.js} +4 -4
  160. package/dist/admin/chunks/{UseCasePage-Dl-WfgYc.js.map → UseCasePage-CipG2GC4.js.map} +1 -1
  161. package/dist/admin/chunks/{constants-DoArvzRr.mjs → constants-BddeukI7.mjs} +3 -3
  162. package/dist/admin/chunks/{constants-DoArvzRr.mjs.map → constants-BddeukI7.mjs.map} +1 -1
  163. package/dist/admin/chunks/{constants-DClZ3JYF.js → constants-CaerHoe3.js} +3 -3
  164. package/dist/admin/chunks/{constants-DClZ3JYF.js.map → constants-CaerHoe3.js.map} +1 -1
  165. package/dist/admin/chunks/en-GB-3SrHvAFz.mjs +6 -0
  166. package/dist/admin/chunks/en-GB-3SrHvAFz.mjs.map +1 -0
  167. package/dist/admin/chunks/en-GB-Cc-PTeUP.js +8 -0
  168. package/dist/admin/chunks/en-GB-Cc-PTeUP.js.map +1 -0
  169. package/dist/admin/chunks/{en-CRu3-kTC.mjs → en-n340Bke8.mjs} +2 -1
  170. package/dist/admin/chunks/{en-CRu3-kTC.mjs.map → en-n340Bke8.mjs.map} +1 -1
  171. package/dist/admin/chunks/{en-CJjqxA2Q.js → en-rWmm12oE.js} +2 -1
  172. package/dist/admin/chunks/{en-CJjqxA2Q.js.map → en-rWmm12oE.js.map} +1 -1
  173. package/dist/admin/chunks/{index-BUGouNML.mjs → index-BM8-DG5K.mjs} +56 -36
  174. package/dist/admin/chunks/index-BM8-DG5K.mjs.map +1 -0
  175. package/dist/admin/chunks/{index-D7OmC33R.js → index-HGaughzt.js} +56 -36
  176. package/dist/admin/chunks/index-HGaughzt.js.map +1 -0
  177. package/dist/admin/chunks/{selectors-2ohXQx5g.js → selectors-Bf-6Fmez.js} +2 -2
  178. package/dist/admin/chunks/{selectors-2ohXQx5g.js.map → selectors-Bf-6Fmez.js.map} +1 -1
  179. package/dist/admin/chunks/{selectors-PQdhPmzv.mjs → selectors-Dej_6h4x.mjs} +2 -2
  180. package/dist/admin/chunks/{selectors-PQdhPmzv.mjs.map → selectors-Dej_6h4x.mjs.map} +1 -1
  181. package/dist/admin/chunks/{useAdminRoles-BEmkB0uj.mjs → useAdminRoles-C6Es4UUq.mjs} +2 -2
  182. package/dist/admin/chunks/{useAdminRoles-BEmkB0uj.mjs.map → useAdminRoles-C6Es4UUq.mjs.map} +1 -1
  183. package/dist/admin/chunks/{useAdminRoles-DwDqOIvp.js → useAdminRoles-_4HKisJz.js} +2 -2
  184. package/dist/admin/chunks/{useAdminRoles-DwDqOIvp.js.map → useAdminRoles-_4HKisJz.js.map} +1 -1
  185. package/dist/admin/chunks/{useLicenseLimitNotification-CGkazzao.mjs → useLicenseLimitNotification-DbPhRccK.mjs} +2 -2
  186. package/dist/admin/chunks/{useLicenseLimitNotification-CGkazzao.mjs.map → useLicenseLimitNotification-DbPhRccK.mjs.map} +1 -1
  187. package/dist/admin/chunks/{useLicenseLimitNotification-BMCQ8obE.js → useLicenseLimitNotification-iuozPic9.js} +2 -2
  188. package/dist/admin/chunks/{useLicenseLimitNotification-BMCQ8obE.js.map → useLicenseLimitNotification-iuozPic9.js.map} +1 -1
  189. package/dist/admin/chunks/{validation-DOQs6_Ay.mjs → validation-Dmvl0gZQ.mjs} +8 -2
  190. package/dist/admin/chunks/validation-Dmvl0gZQ.mjs.map +1 -0
  191. package/dist/admin/chunks/{validation-ECrFbJ6K.js → validation-dPl3P7dv.js} +8 -2
  192. package/dist/admin/chunks/validation-dPl3P7dv.js.map +1 -0
  193. package/dist/admin/index.js +2 -2
  194. package/dist/admin/index.mjs +2 -2
  195. package/dist/admin/src/features/Configuration.d.ts +1 -3
  196. package/dist/admin/src/utils/strings.d.ts +2 -1
  197. package/dist/admin/test.js +1 -2
  198. package/dist/admin/test.js.map +1 -1
  199. package/dist/admin/test.mjs +1 -2
  200. package/dist/admin/test.mjs.map +1 -1
  201. package/dist/server/index.js +23 -9
  202. package/dist/server/index.js.map +1 -1
  203. package/dist/server/index.mjs +23 -9
  204. package/dist/server/index.mjs.map +1 -1
  205. package/dist/server/src/routes/authentication.d.ts.map +1 -1
  206. package/dist/server/src/services/homepage.d.ts.map +1 -1
  207. package/dist/server/src/validation/common-validators.d.ts.map +1 -1
  208. package/package.json +9 -9
  209. package/dist/admin/chunks/AuthenticatedLayout-BNWCtSH2.mjs.map +0 -1
  210. package/dist/admin/chunks/AuthenticatedLayout-D067wUoO.js.map +0 -1
  211. package/dist/admin/chunks/Theme-CDaBfQ-7.mjs.map +0 -1
  212. package/dist/admin/chunks/Theme-CFGbtvHi.js.map +0 -1
  213. package/dist/admin/chunks/en-GB-CMP_CCZs.js +0 -8
  214. package/dist/admin/chunks/en-GB-CMP_CCZs.js.map +0 -1
  215. package/dist/admin/chunks/en-GB-DZyWkup_.mjs +0 -6
  216. package/dist/admin/chunks/en-GB-DZyWkup_.mjs.map +0 -1
  217. package/dist/admin/chunks/index-BUGouNML.mjs.map +0 -1
  218. package/dist/admin/chunks/index-D7OmC33R.js.map +0 -1
  219. package/dist/admin/chunks/validation-DOQs6_Ay.mjs.map +0 -1
  220. package/dist/admin/chunks/validation-ECrFbJ6K.js.map +0 -1
  221. package/dist/admin/src/components/Onboarding.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"authentication.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/authentication.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAsDE"}
1
+ {"version":3,"file":"authentication.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/authentication.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAyDE"}
@@ -1 +1 @@
1
- {"version":3,"file":"homepage.d.ts","sourceRoot":"","sources":["../../../../server/src/services/homepage.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,IAAI,EAAmB,MAAM,eAAe,CAAC;AAE3D,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,oCAAoC,CAAC;AAE7F,QAAA,MAAM,qBAAqB,eAAgB;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;qCA0IvB,QAAQ,2BAA2B,CAAC,MAAM,CAAC,CAAC;mCAkC9C,QAAQ,2BAA2B,CAAC,MAAM,CAAC,CAAC;CA6BpF,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"homepage.d.ts","sourceRoot":"","sources":["../../../../server/src/services/homepage.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,IAAI,EAAmB,MAAM,eAAe,CAAC;AAE3D,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,oCAAoC,CAAC;AAE7F,QAAA,MAAM,qBAAqB,eAAgB;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;qCAiJvB,QAAQ,2BAA2B,CAAC,MAAM,CAAC,CAAC;mCAoC9C,QAAQ,2BAA2B,CAAC,MAAM,CAAC,CAAC;CA+BpF,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"common-validators.d.ts","sourceRoot":"","sources":["../../../../server/src/validation/common-validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAcpC,eAAO,MAAM,KAAK,yFAAmC,CAAC;AAEtD,eAAO,MAAM,SAAS,yFAA6B,CAAC;AAEpD,eAAO,MAAM,QAAQ,yFAAe,CAAC;AAErC,eAAO,MAAM,QAAQ,yFAAsB,CAAC;AAE5C,eAAO,MAAM,QAAQ,yFAKuC,CAAC;AAE7D,eAAO,MAAM,KAAK,uHAAmC,CAAC;AAUtD,eAAO,MAAM,qBAAqB,qNAQ9B,CAAC;AAEL,eAAO,MAAM,oBAAoB,MAAO,GAAG,KAAK,GAAG,YAC+C,CAAC;AAwCnG,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;IA2FT,CAAC;AAEf,eAAO,MAAM,iBAAiB,KAchB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEf,wBAWE"}
1
+ {"version":3,"file":"common-validators.d.ts","sourceRoot":"","sources":["../../../../server/src/validation/common-validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAcpC,eAAO,MAAM,KAAK,yFAAmC,CAAC;AAEtD,eAAO,MAAM,SAAS,yFAA6B,CAAC;AAEpD,eAAO,MAAM,QAAQ,yFAAe,CAAC;AAErC,eAAO,MAAM,QAAQ,yFAAsB,CAAC;AAE5C,eAAO,MAAM,QAAQ,yFAUuC,CAAC;AAE7D,eAAO,MAAM,KAAK,uHAAmC,CAAC;AAUtD,eAAO,MAAM,qBAAqB,qNAQ9B,CAAC;AAEL,eAAO,MAAM,oBAAoB,MAAO,GAAG,KAAK,GAAG,YAC+C,CAAC;AAwCnG,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;IA2FT,CAAC;AAEf,eAAO,MAAM,iBAAiB,KAchB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEf,wBAWE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/admin",
3
- "version": "5.10.2",
3
+ "version": "5.10.4",
4
4
  "description": "Strapi Admin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -84,12 +84,12 @@
84
84
  "@radix-ui/react-context": "1.0.1",
85
85
  "@radix-ui/react-toolbar": "1.0.4",
86
86
  "@reduxjs/toolkit": "1.9.7",
87
- "@strapi/design-system": "2.0.0-rc.16",
88
- "@strapi/icons": "2.0.0-rc.16",
89
- "@strapi/permissions": "5.10.2",
90
- "@strapi/types": "5.10.2",
91
- "@strapi/typescript-utils": "5.10.2",
92
- "@strapi/utils": "5.10.2",
87
+ "@strapi/design-system": "2.0.0-rc.17",
88
+ "@strapi/icons": "2.0.0-rc.17",
89
+ "@strapi/permissions": "5.10.4",
90
+ "@strapi/types": "5.10.4",
91
+ "@strapi/typescript-utils": "5.10.4",
92
+ "@strapi/utils": "5.10.4",
93
93
  "@testing-library/dom": "10.1.0",
94
94
  "@testing-library/react": "15.0.7",
95
95
  "@testing-library/user-event": "14.5.2",
@@ -143,8 +143,8 @@
143
143
  "zod": "^3.22.4"
144
144
  },
145
145
  "devDependencies": {
146
- "@strapi/admin-test-utils": "5.10.2",
147
- "@strapi/data-transfer": "5.10.2",
146
+ "@strapi/admin-test-utils": "5.10.4",
147
+ "@strapi/data-transfer": "5.10.4",
148
148
  "@types/codemirror5": "npm:@types/codemirror@^5.60.15",
149
149
  "@types/fs-extra": "11.0.4",
150
150
  "@types/invariant": "2.2.36",
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthenticatedLayout-BNWCtSH2.mjs","sources":["../../../admin/src/components/GuidedTour/Modal.tsx","../../../admin/src/components/MainNav/MainNav.tsx","../../../admin/src/components/MainNav/NavBrand.tsx","../../../admin/src/components/MainNav/NavLink.tsx","../../../admin/src/components/MainNav/NavUser.tsx","../../../admin/src/components/LeftMenu.tsx","../../../admin/src/assets/images/onboarding-preview.png","../../../admin/src/components/Onboarding.tsx","../../../admin/src/components/PluginsInitializer.tsx","../../../admin/src/hooks/useMenu.ts","../../../admin/src/layouts/AuthenticatedLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n FlexComponent,\n FocusTrap,\n IconButton,\n Portal,\n Typography,\n LinkButton,\n} from '@strapi/design-system';\nimport { ArrowRight, Cross } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { MessageDescriptor, useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useTracking } from '../../features/Tracking';\n\nimport { LAYOUT_DATA, STATES } from './constants';\nimport { Number, VerticalDivider } from './Ornaments';\nimport { GuidedTourContextValue, useGuidedTour } from './Provider';\n\n/* -------------------------------------------------------------------------------------------------\n * GuidedTourModal\n * -----------------------------------------------------------------------------------------------*/\n\nconst GuidedTourModal = () => {\n const guidedTour = useGuidedTour('GuidedTourModal', (state) => state);\n\n const {\n currentStep,\n guidedTourState,\n setCurrentStep,\n setStepState,\n isGuidedTourVisible,\n setSkipped,\n } = guidedTour;\n\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n if (!currentStep || !isGuidedTourVisible) {\n return null;\n }\n\n const stepData = get(LAYOUT_DATA, currentStep);\n const sectionKeys = Object.keys(guidedTourState);\n const [sectionName, stepName] = currentStep.split('.') as [\n keyof GuidedTourContextValue['guidedTourState'],\n string,\n ];\n const sectionIndex = sectionKeys.indexOf(sectionName);\n const stepIndex = Object.keys(guidedTourState[sectionName]).indexOf(stepName);\n const hasSectionAfter = sectionIndex < sectionKeys.length - 1;\n const hasStepAfter = stepIndex < Object.keys(guidedTourState[sectionName]).length - 1;\n\n const handleCtaClick = () => {\n setStepState(currentStep, true);\n\n if (stepData) {\n trackUsage(stepData.trackingEvent);\n }\n\n setCurrentStep(null);\n };\n\n const handleSkip = () => {\n setSkipped(true);\n setCurrentStep(null);\n trackUsage('didSkipGuidedtour');\n };\n\n return (\n <Portal>\n <ModalWrapper onClick={handleCtaClick} padding={8} justifyContent=\"center\">\n <FocusTrap onEscape={handleCtaClick}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n background=\"neutral0\"\n width={`66rem`}\n shadow=\"popupShadow\"\n hasRadius\n padding={4}\n gap={8}\n role=\"dialog\"\n aria-modal\n onClick={(e) => e.stopPropagation()}\n >\n <Flex justifyContent=\"flex-end\">\n <IconButton\n onClick={handleCtaClick}\n withTooltip={false}\n label={formatMessage({\n id: 'app.utils.close-label',\n defaultMessage: 'Close',\n })}\n >\n <Cross />\n </IconButton>\n </Flex>\n <Box\n paddingLeft={7}\n paddingRight={7}\n paddingBottom={!hasStepAfter && !hasSectionAfter ? 8 : 0}\n >\n <GuidedTourStepper\n title={stepData && 'title' in stepData ? stepData.title : undefined}\n cta={stepData && 'cta' in stepData ? stepData.cta : undefined}\n onCtaClick={handleCtaClick}\n sectionIndex={sectionIndex}\n stepIndex={stepIndex}\n hasSectionAfter={hasSectionAfter}\n >\n {stepData && 'content' in stepData && <GuidedTourContent {...stepData.content} />}\n </GuidedTourStepper>\n </Box>\n {!(!hasStepAfter && !hasSectionAfter) && (\n <Flex justifyContent=\"flex-end\">\n <Button variant=\"tertiary\" onClick={handleSkip}>\n {formatMessage({\n id: 'app.components.GuidedTour.skip',\n defaultMessage: 'Skip the tour',\n })}\n </Button>\n </Flex>\n )}\n </Flex>\n </FocusTrap>\n </ModalWrapper>\n </Portal>\n );\n};\n\nconst ModalWrapper = styled<FlexComponent>(Flex)`\n position: fixed;\n z-index: 4;\n inset: 0;\n /* this is theme.colors.neutral800 with opacity */\n background: ${({ theme }) => `${theme.colors.neutral800}1F`};\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * GuidedTourStepper\n * -----------------------------------------------------------------------------------------------*/\n\ninterface GuidedTourStepperProps {\n title: MessageDescriptor | undefined;\n children: React.ReactNode;\n cta?: {\n title: MessageDescriptor;\n target?: string;\n };\n onCtaClick: () => void;\n sectionIndex: number;\n stepIndex: number;\n hasSectionAfter: boolean;\n}\n\nconst GuidedTourStepper = ({\n title,\n children,\n cta,\n onCtaClick,\n sectionIndex,\n stepIndex,\n hasSectionAfter,\n}: GuidedTourStepperProps) => {\n const { formatMessage } = useIntl();\n\n const hasSectionBefore = sectionIndex > 0;\n const hasStepsBefore = stepIndex > 0;\n const nextSectionIndex = sectionIndex + 1;\n\n return (\n <>\n <Flex alignItems=\"stretch\">\n <Flex marginRight={8} justifyContent=\"center\" minWidth={`3rem`}>\n {hasSectionBefore && <VerticalDivider state={STATES.IS_DONE} minHeight={`2.4rem`} />}\n </Flex>\n <Typography variant=\"sigma\" textColor=\"primary600\">\n {formatMessage({\n id: 'app.components.GuidedTour.title',\n defaultMessage: '3 steps to get started',\n })}\n </Typography>\n </Flex>\n <Flex>\n <Flex marginRight={8} minWidth={`3rem`}>\n <Number\n state={hasStepsBefore ? STATES.IS_DONE : STATES.IS_ACTIVE}\n paddingTop={3}\n paddingBottom={3}\n >\n {sectionIndex + 1}\n </Number>\n </Flex>\n {title && (\n <Typography variant=\"alpha\" fontWeight=\"bold\" textColor=\"neutral800\" tag=\"h3\" id=\"title\">\n {formatMessage(title)}\n </Typography>\n )}\n </Flex>\n <Flex alignItems=\"stretch\">\n <Flex marginRight={8} direction=\"column\" justifyContent=\"center\" minWidth={`3rem`}>\n {hasSectionAfter && (\n <>\n <VerticalDivider state={STATES.IS_DONE} />\n {hasStepsBefore && (\n <Number state={STATES.IS_ACTIVE} paddingTop={3}>\n {nextSectionIndex + 1}\n </Number>\n )}\n </>\n )}\n </Flex>\n <Box>\n {children}\n {cta &&\n (cta.target ? (\n <LinkButton\n tag={NavLink}\n endIcon={<ArrowRight />}\n onClick={onCtaClick}\n to={cta.target}\n >\n {formatMessage(cta.title)}\n </LinkButton>\n ) : (\n <Button endIcon={<ArrowRight />} onClick={onCtaClick}>\n {formatMessage(cta.title)}\n </Button>\n ))}\n </Box>\n </Flex>\n {hasStepsBefore && hasSectionAfter && (\n <Box paddingTop={3}>\n <Flex marginRight={8} justifyContent=\"center\" width={`3rem`}>\n <VerticalDivider state={STATES.IS_DONE} minHeight={`2.4rem`} />\n </Flex>\n </Box>\n )}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * GuidedTourContent\n * -----------------------------------------------------------------------------------------------*/\n\ninterface GuidedTourContentProps\n extends Required<Pick<MessageDescriptor, 'defaultMessage' | 'id'>> {}\n\nconst GuidedTourContent = ({ id, defaultMessage }: GuidedTourContentProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4} paddingBottom={6}>\n {formatMessage(\n { id, defaultMessage },\n {\n documentationLink: DocumentationLink,\n b: Bold,\n p: Paragraph,\n light: Light,\n ul: List,\n li: ListItem,\n }\n )}\n </Flex>\n );\n};\n\nconst DocumentationLink = (children: React.ReactNode) => (\n <Typography\n tag=\"a\"\n textColor=\"primary600\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://docs.strapi.io/developer-docs/latest/developer-resources/database-apis-reference/rest-api.html#api-parameters\"\n >\n {children}\n </Typography>\n);\n\nconst Bold = (children: React.ReactNode) => (\n <Typography fontWeight=\"semiBold\">{children}</Typography>\n);\n\nconst Paragraph = (children: React.ReactNode) => <Typography>{children}</Typography>;\n\nconst Light = (children: React.ReactNode) => (\n <Typography textColor=\"neutral600\">{children}</Typography>\n);\n\nconst List = (children: React.ReactNode) => (\n <Box paddingLeft={6}>\n <ul>{children}</ul>\n </Box>\n);\n\nconst LiStyled = styled.li`\n list-style: disc;\n &::marker {\n color: ${({ theme }) => theme.colors.neutral800};\n }\n`;\n\nconst ListItem = (children: React.ReactNode) => <LiStyled>{children}</LiStyled>;\n\nexport { GuidedTourModal };\n","import { Flex, FlexComponent, FlexProps } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nconst MainNavWrapper = styled<FlexComponent<'nav'>>(Flex)`\n border-right: 1px solid ${({ theme }) => theme.colors.neutral150};\n`;\n\nconst MainNav = (props: FlexProps<'nav'>) => (\n <MainNavWrapper\n alignItems=\"normal\"\n tag=\"nav\"\n background=\"neutral0\"\n direction=\"column\"\n height=\"100vh\"\n position=\"sticky\"\n top={0}\n zIndex={2}\n width={10}\n {...props}\n />\n);\n\nexport { MainNav };\n","import { Box, Flex, type FlexComponent, VisuallyHidden } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useConfiguration } from '../../features/Configuration';\n\nconst BrandIconWrapper = styled<FlexComponent>(Flex)`\n svg,\n img {\n border-radius: ${({ theme }) => theme.borderRadius};\n object-fit: contain;\n height: 2.4rem;\n width: 2.4rem;\n }\n`;\n\nexport const NavBrand = () => {\n const { formatMessage } = useIntl();\n const {\n logos: { menu },\n } = useConfiguration('LeftMenu');\n return (\n <Box padding={3}>\n <BrandIconWrapper direction=\"column\" justifyContent=\"center\" width=\"3.2rem\" height=\"3.2rem\">\n <img\n src={menu.custom?.url || menu.default}\n alt={formatMessage({\n id: 'app.components.LeftMenu.logo.alt',\n defaultMessage: 'Application logo',\n })}\n width=\"100%\"\n height=\"100%\"\n />\n <VisuallyHidden>\n <span>\n {formatMessage({\n id: 'app.components.LeftMenu.navbrand.title',\n defaultMessage: 'Strapi Dashboard',\n })}\n </span>\n <span>\n {formatMessage({\n id: 'app.components.LeftMenu.navbrand.workplace',\n defaultMessage: 'Workplace',\n })}\n </span>\n </VisuallyHidden>\n </BrandIconWrapper>\n </Box>\n );\n};\n","import * as React from 'react';\n\nimport {\n Tooltip,\n TooltipProps as DSTooltipProps,\n Badge,\n BadgeProps,\n AccessibleIcon,\n} from '@strapi/design-system';\nimport { NavLink as RouterLink, LinkProps } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\n/* -------------------------------------------------------------------------------------------------\n * Link\n * -----------------------------------------------------------------------------------------------*/\nconst MainNavLinkWrapper = styled(RouterLink)`\n text-decoration: none;\n display: flex;\n border-radius: ${({ theme }) => theme.borderRadius};\n background: ${({ theme }) => theme.colors.neutral0};\n color: ${({ theme }) => theme.colors.neutral500};\n position: relative;\n width: fit-content;\n padding-block: 0.6rem;\n padding-inline: 0.6rem;\n\n &:hover {\n svg path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n background: ${({ theme }) => theme.colors.neutral100};\n }\n\n &.active {\n svg path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n background: ${({ theme }) => theme.colors.primary100};\n }\n`;\n\nconst LinkImpl = ({ children, ...props }: LinkProps) => {\n return <MainNavLinkWrapper {...props}>{children}</MainNavLinkWrapper>;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tooltip\n * -----------------------------------------------------------------------------------------------*/\nconst TooltipImpl = ({ children, label, position = 'right' }: NavLink.TooltipProps) => {\n return (\n <Tooltip side={position} label={label} delayDuration={0}>\n <span>{children}</span>\n </Tooltip>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Icon\n * -----------------------------------------------------------------------------------------------*/\nconst IconImpl = ({ label, children }: { label: string; children: React.ReactNode }) => {\n if (!children) {\n return null;\n }\n return <AccessibleIcon label={label}>{children}</AccessibleIcon>;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Badge\n * -----------------------------------------------------------------------------------------------*/\nconst CustomBadge = styled(Badge)`\n /* override default badge styles to change the border radius of the Base element in the Design System */\n border-radius: ${({ theme }) => theme.spaces[10]};\n height: 2rem;\n`;\n\nconst BadgeImpl = ({ children, label, ...props }: NavLink.NavBadgeProps) => {\n if (!children) {\n return null;\n }\n return (\n <CustomBadge\n position=\"absolute\"\n top=\"-0.8rem\"\n left=\"1.7rem\"\n aria-label={label}\n active={false}\n {...props}\n >\n {children}\n </CustomBadge>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EXPORTS\n * -----------------------------------------------------------------------------------------------*/\n\nconst NavLink = {\n Link: LinkImpl,\n Tooltip: TooltipImpl,\n Icon: IconImpl,\n Badge: BadgeImpl,\n};\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nnamespace NavLink {\n export interface NavBadgeProps extends BadgeProps {\n children: React.ReactNode;\n label: string;\n }\n\n export interface TooltipProps {\n children: React.ReactNode;\n label?: string;\n position?: DSTooltipProps['side'];\n }\n}\n\nexport { NavLink };\n","import * as React from 'react';\n\nimport { Flex, Menu, ButtonProps, VisuallyHidden, Avatar } from '@strapi/design-system';\nimport { SignOut } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useAuth } from '../../features/Auth';\n\nexport interface NavUserProps extends ButtonProps {\n initials: string;\n children?: React.ReactNode;\n}\n\nconst MenuTrigger = styled(Menu.Trigger)`\n height: ${({ theme }) => theme.spaces[7]};\n width: ${({ theme }) => theme.spaces[7]};\n border: none;\n border-radius: 50%;\n // Removes inherited 16px padding\n padding: 0;\n // Prevent empty pixel from appearing below the main nav\n overflow: hidden;\n`;\n\nconst MenuContent = styled(Menu.Content)`\n left: ${({ theme }) => theme.spaces[3]};\n`;\n\nconst MenuItem = styled(Menu.Item)`\n & > span {\n width: 100%;\n display: flex;\n align-items: center;\n gap: ${({ theme }) => theme.spaces[3]};\n justify-content: space-between;\n }\n`;\n\nconst MenuItemDanger = styled(MenuItem)`\n &:hover {\n ${({ theme }) => `\n background: ${theme.colors.danger100};\n `}\n }\n`;\n\nexport const NavUser = ({ children, initials, ...props }: NavUserProps) => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const logout = useAuth('Logout', (state) => state.logout);\n const handleProfile = () => {\n navigate('/me');\n };\n const handleLogout = () => {\n logout();\n navigate('/auth/login');\n };\n\n return (\n <Flex\n justifyContent=\"center\"\n padding={3}\n borderStyle=\"solid\"\n borderWidth=\"1px 0 0 0\"\n borderColor=\"neutral150\"\n {...props}\n >\n <Menu.Root>\n <MenuTrigger endIcon={null} fullWidth justifyContent=\"center\">\n <Avatar.Item delayMs={0} fallback={initials} />\n <VisuallyHidden tag=\"span\">{children}</VisuallyHidden>\n </MenuTrigger>\n <MenuContent popoverPlacement=\"top-center\" zIndex={3}>\n <MenuItem onSelect={handleProfile}>\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </MenuItem>\n\n <MenuItemDanger onSelect={handleLogout} color=\"danger600\">\n {formatMessage({\n id: 'app.components.LeftMenu.logout',\n defaultMessage: 'Logout',\n })}\n <SignOut />\n </MenuItemDanger>\n </MenuContent>\n </Menu.Root>\n </Flex>\n );\n};\n","import * as React from 'react';\n\nimport { Divider, Flex, FlexComponent, useCollator } from '@strapi/design-system';\nimport { Lightning } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useLocation } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useAuth } from '../features/Auth';\nimport { useTracking } from '../features/Tracking';\nimport { Menu, MenuItem } from '../hooks/useMenu';\nimport { getDisplayName } from '../utils/users';\n\nimport { MainNav } from './MainNav/MainNav';\nimport { NavBrand } from './MainNav/NavBrand';\nimport { NavLink } from './MainNav/NavLink';\nimport { NavUser } from './MainNav/NavUser';\n\nconst sortLinks = (links: MenuItem[]) => {\n return links.sort((a, b) => {\n // if no position is defined, we put the link in the position of the external plugins, before the plugins list\n const positionA = a.position ?? 6;\n const positionB = b.position ?? 6;\n\n if (positionA < positionB) {\n return -1;\n } else {\n return 1;\n }\n });\n};\n\nconst NavLinkBadgeCounter = styled(NavLink.Badge)`\n span {\n color: ${({ theme }) => theme.colors.neutral0};\n }\n`;\n\nconst NavLinkBadgeLock = styled(NavLink.Badge)`\n background-color: transparent;\n`;\n\nconst NavListWrapper = styled<FlexComponent<'ul'>>(Flex)`\n overflow-y: auto;\n`;\n\ninterface LeftMenuProps extends Pick<Menu, 'generalSectionLinks' | 'pluginsSectionLinks'> {}\n\nconst LeftMenu = ({ generalSectionLinks, pluginsSectionLinks }: LeftMenuProps) => {\n const user = useAuth('AuthenticatedApp', (state) => state.user);\n const { trackUsage } = useTracking();\n const { pathname } = useLocation();\n const userDisplayName = getDisplayName(user);\n const { formatMessage, locale } = useIntl();\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n\n const initials = userDisplayName\n .split(' ')\n .map((name) => name.substring(0, 1))\n .join('')\n .substring(0, 2);\n\n const handleClickOnLink = (destination: string) => {\n trackUsage('willNavigate', { from: pathname, to: destination });\n };\n\n const listLinksAlphabeticallySorted = [...pluginsSectionLinks, ...generalSectionLinks].sort(\n (a, b) => formatter.compare(formatMessage(a.intlLabel), formatMessage(b.intlLabel))\n );\n const listLinks = sortLinks(listLinksAlphabeticallySorted);\n\n return (\n <MainNav>\n <NavBrand />\n\n <Divider />\n\n <NavListWrapper tag=\"ul\" gap={3} direction=\"column\" flex={1} paddingTop={3} paddingBottom={3}>\n {listLinks.length > 0\n ? listLinks.map((link) => {\n const LinkIcon = link.icon;\n const badgeContentLock = link?.licenseOnly ? (\n <Lightning fill=\"warning500\" />\n ) : undefined;\n\n const badgeContentNumeric =\n link.notificationsCount && link.notificationsCount > 0\n ? link.notificationsCount.toString()\n : undefined;\n\n const labelValue = formatMessage(link.intlLabel);\n return (\n <Flex tag=\"li\" key={link.to}>\n <NavLink.Tooltip label={labelValue}>\n <NavLink.Link\n to={link.to}\n onClick={() => handleClickOnLink(link.to)}\n aria-label={labelValue}\n >\n <NavLink.Icon label={labelValue}>\n <LinkIcon width=\"20\" height=\"20\" fill=\"neutral500\" />\n </NavLink.Icon>\n {badgeContentLock ? (\n <NavLinkBadgeLock\n label=\"locked\"\n textColor=\"neutral500\"\n paddingLeft={0}\n paddingRight={0}\n >\n {badgeContentLock}\n </NavLinkBadgeLock>\n ) : badgeContentNumeric ? (\n <NavLinkBadgeCounter\n label={badgeContentNumeric}\n backgroundColor=\"primary600\"\n width=\"2.3rem\"\n color=\"neutral0\"\n >\n {badgeContentNumeric}\n </NavLinkBadgeCounter>\n ) : null}\n </NavLink.Link>\n </NavLink.Tooltip>\n </Flex>\n );\n })\n : null}\n </NavListWrapper>\n <NavUser initials={initials}>{userDisplayName}</NavUser>\n </MainNav>\n );\n};\n\nexport { LeftMenu };\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABQCAMAAAD2kgFPAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAL9UExURff3+fv7+/X19/Pz9/n5+fv7/f39//////39/UdwTPn5+/X1+fHx++/v8fn5/fHx8/Pz9eTk6e/v8/Hx9fHx/e3u7/X19e3t8evr7+fn6YuR96Gl+OLi59LS2dTU2uvr++nq7ff39+Tk697e4ufn6+vr7enq69ra3tDQ1uDg5/nv7+Dg5Nzc4Nzd4tTU2OTk5+fn7djY3tzc5M/Q1NjY3NLS1tbX3MzM0u/w9crK0unp7+np+/37+8rK0MjIzu/v78PEy9ra4djY4eLi6t7e5NbW2s7O1OLk5+/v/Ojp/dra5MPF9+3u89bX3mxz99DQ2fj4+OLi5PHx8dvb29ze+/f3/7C1+t7e5+vr69PX2OPk/Jydl/T09/f393R7+Gdw96ytuNTU3M7O2ODg6a6vumJq9+3u/dTW/PP19cXGzd7e4O3t7cnK+/f3+uLk683O+Z2h+dLU+9/h++no3/j39bq0pu/v7fv7+fHz9XF4911l93V8+bm5waGirffr7Kqrtq+z9qentF9o93mA+fj4+vr6++/v7/f3++vt+83N0/Pz8+vr8dbY+sjJ98zO1crM0vn5//Pz/ra6n/n59d/g4quvp9fa2OTn66Shm8C2prCuq+/r67Gxr9LLvbCwrcfEwK+vqZSahtPVw5WafKiknff5+ZqapvHw7fv4+YGH9dnb++Tn/Ly8xvfo6Oq5v////6WlsNrc3vPz+dLU2Ovr/eTn+drc4JWXo6Wp+cLE++nr74+T+enr4s7Q1m5098bArefk5Nze0ODc1Pf3/MC8tuDi0KWrh/n39+Tk4qmv+77Cqdjc3PX1/c7S0vv7/7ixo/Px7Z+jh62x+8rMtrS6pZebjY+Rn9bayKuvm+vp5+np6aWrjVJa9fX38bi895+fm1pk9620oevp6bS0r+fp6fv19VZg9fn19X6F+fnz89LS3MDAyPXi4uextvX1+vPW2OCVnYmJl9zc4Xh4iff3+mdy97y8xPf3977C96mpsbS29YeHlamv84qS87i89VXx8BYAAAD/dFJOU319fX19fX19fQB9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19bX19fX19fX19fX19Lwd9fX19fX19fX19fX19fX1lfX19fX19fX19fX19fX19fX19fX19fW1dED59fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX0PfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1mfX19bX1eXn0/fX19fX0/fSWruQsAAAbiSURBVGje7VkFcBtHFD2SbnXO9UA56dRIiiRbFFlmiO3asWKIE0MYGrQbZmjDDA1T06RJ03DSJA2XMaWUmZmZmWm6ki3lTie59kTSlJ40p5nV//tud//b/28P0WiG/PgdkhBMHKzRaBDNyWXSRoqi4ki57CQk/MZsKna58pqa0N4gnoNcNgQZzBV8ml9aYMYaW4DQRKjvDC8MG7TkG0ff+gmobifD78gXYQZE0++8b08tXFg/4uf6H46VLh5Rf/P8TERtXG1ykkmtI7zmtZFLhtW9NWfOnCUjhy0Z+T2CJOFYJMOS+YtPzV884teDX8879sKIhfUHSxG1AzH0ajXhB3UjPxpaVzd37uyls5cunRv30Fx0vhxRDfXdLLbhZWU2W1mGGNtbEPuXdStz+2ycu/+kbmv4YLOWZ3merdEyNSweW0KMxXkW1+J4RwxeMeRfCIbhMsu7/LUd0QgkSYkW8TS5wznVlg93W8LnEiUooAIqFYBQkxBnSIxkMStJVLUPoah90cCqlSurWkSI6ijdGGv0v0Wv3iaIa1i9KLJ+QoR0Wk0l2YCo6jO5unpq9dTJkyesW7uu+oZp09q0iLDXvOQNG0r9uxbtNdU2hIcidV4YELTpt40C17WIsMk9oAyapxMbNxiCR4uRWAP2TNOZ3S/KCmdEyfggEORQ9Xh4kKPkM8O6AjbIS/BWfZLED+N5StmbisEZRttRTzVD2LZtUdW09gPbFx0tatuE0Y2E/YYeVYlI0E7ELYjET68vJJS9nZdRc1shq7dgzRIeKfrtj0W//LTojTDCOE2pMsjb3BiQhSo+gF3jOJNhKQwPUgqcBdqhER+Cc4efUOvL8nFKwhxn/tjKtNLTY12HO3z15ecnTiz4ODaEkUEBgoKqIRAdgR3u8NmC4wuOd3g/noSoWoILGgHU5w7/jGpxbQ28dJRl3/AoPfR6jKIUqcnKstkm2fpnZOlZGSFBqUgQtLt6/9vvSf0Y/19qENYbgIpHSQBvFk6ekgy2NZO9SIqk1Pag7Ttvvttb6pu3Ps9lTtvsqsiTtmLpnC83L8fpyjXlmpMVhDYS+IKbN6YkBNINaubunWiMphTh9d0L1tcqMj6IDwKdszgeYYR9u6old/bsi1SsRohhs3heVBK2mz1QLQTthOe3Xyj1q8xJ3uwZZ/A5jbI17GlPyUlNTk31jHN6DQoyhgLuQNVm7l7bWZkPb719FBnKCIcOTJ8h9bVi8GO16hCdLAxR1N9E6HSsDlOmDGjLNBOlcnR6KlY6RFitODzFlrCM799qyt1eZV1KEqhU+E+/5EiE8EML/8qgXVdIfbPHZhfkrrp2bL5J2sqmJptL8nOzi9fnFxekKgjLUOB/rub58obMCEGjVoGzI7x8986Z5zydsDcQkMXWQguPJG4No25tslXYt08Vs62N8TaYvUnKNVSh6tVBuxl798iE7/QYuRSO5jhB2koYGCHZ4PBwKV2MnF5BhlPqxsqC1uJshKChUDIk3qsOPPmy1LeXIIgMzToYWtqK6nS0vRNNC+P1gqgUPrwFfYuFP+DiWK5hCwhjFzSF/WuzOnd2uwt9fEcZ4dp+l52VxSWvPueQb4ugMc7lcY8GhA+iC5+CETqLhV8Ww5iwmmbKsD4glPHtg3bIhJ/mMpucuelpabK8jqVyqdkVOea0nOtzTR4FYQoKvM1MadcJfSUjvO+uB2MlfP+hgrtLAoUf5VAhzPCe++MepVD4gAmlw71bZMLvnZ5ucBhpe0+ZDokuUPgpnJETofDtkYSfEjhUKP8ks0G5eaOoVPjbpt8t9XUYOU+6gfZYZIUEytMOzmB39OzJGThaQZgBv1EPFeIr/AiHCnEMmmiHCgMnnJHI4oFNjGzySEBGVDZsD2g+ovChX3DzjpCeptT1AaEdf8CgHbKgcbnSXBUmoykvRyb8ZKMnrSIzz2Q2myKV+iHhY0laJeGRfhLhW/dcqWulxqOOkOFNp7v78IRm/BZkiztiF6WRDxX85zRFIKTDGfu3PCr1SxcEmGd1jMDKhD9+jE6kRZHWdrILSh3CTsVAXZqa5eWUhA8P7UqGuuu0bfpDso3fuJXjDILHIBc+LQgp6XaHMd1o4HpFyvgZzUzpE49Jn5563wv+qRk/ej6culFSCG96RBc74UcmnHJnH2A5K/xdj0t9S0oLirMrvSWrKmSlvvMmZ3GBuTI/u7IkX1nqW1BQ2wzh6FskNY11eyuFH2kC4DJRf581/B+tQHzfK4e9ZsIQBkFHbURgLQMfX9x4vAlh1sMhIYnAhxhYxVgSNE6C+E+F0KWJpZuIrEgs4WBkSI9E8vXQIJrlCWTssRwSajSDJyYoXFYM0Wj+BNjsk7mwYOwbAAAAAElFTkSuQmCC\";\n export default img;","import * as React from 'react';\n\nimport {\n Box,\n Button,\n Divider,\n Flex,\n FlexComponent,\n Popover,\n Typography,\n TypographyComponent,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { Cross, Message, Play, Question, Book, PaperPlane } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport onboardingPreview from '../assets/images/onboarding-preview.png';\nimport { useAppInfo } from '../features/AppInfo';\n\nconst Onboarding = () => {\n const [isOpen, setIsOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n const communityEdition = useAppInfo('Onboarding', (state) => state.communityEdition);\n\n const docLinks = [\n ...DOCUMENTATION_LINKS,\n {\n label: { id: 'Settings.application.get-help', defaultMessage: 'Get help' },\n icon: Message,\n href: communityEdition\n ? 'https://discord.strapi.io'\n : 'https://support.strapi.io/support/home',\n },\n ];\n\n const Icon = isOpen ? Cross : Question;\n\n return (\n <Popover.Root onOpenChange={setIsOpen}>\n <Box position=\"fixed\" bottom={2} right={2}>\n <Popover.Trigger>\n <HelperButton\n aria-label={formatMessage(\n isOpen\n ? {\n id: 'app.components.Onboarding.help.button-close',\n defaultMessage: 'Close help menu',\n }\n : {\n id: 'app.components.Onboarding.help.button',\n defaultMessage: 'Open help menu',\n }\n )}\n >\n <Icon fill=\"buttonNeutral0\" />\n </HelperButton>\n </Popover.Trigger>\n <Popover.Content align=\"end\" side=\"top\" sideOffset={12}>\n <Flex\n justifyContent=\"space-between\"\n paddingBottom={5}\n paddingRight={6}\n paddingLeft={6}\n paddingTop={6}\n >\n <TypographyLineHeight fontWeight=\"bold\">\n {formatMessage({\n id: 'app.components.Onboarding.title',\n defaultMessage: 'Get started videos',\n })}\n </TypographyLineHeight>\n <TextLink\n tag=\"a\"\n href={WATCH_MORE.href}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n variant=\"pi\"\n textColor=\"primary600\"\n >\n {formatMessage(WATCH_MORE.label)}\n </TextLink>\n </Flex>\n <Divider />\n {VIDEO_LINKS.map(({ href, duration, label }, index) => (\n <VideoLinkWrapper\n tag=\"a\"\n href={href}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n key={href}\n hasRadius\n paddingTop={4}\n paddingBottom={4}\n paddingLeft={6}\n paddingRight={11}\n >\n <Box paddingRight={5}>\n <Number textColor=\"neutral200\" variant=\"alpha\">\n {index + 1}\n </Number>\n </Box>\n <Box position=\"relative\">\n <Preview src={onboardingPreview} alt=\"\" />\n <IconWrapper\n position=\"absolute\"\n top=\"50%\"\n left=\"50%\"\n background=\"primary600\"\n borderRadius=\"50%\"\n justifyContent=\"center\"\n width={6}\n height={6}\n >\n <Play fill=\"buttonNeutral0\" width=\"12\" height=\"12\" />\n </IconWrapper>\n </Box>\n <Flex direction=\"column\" alignItems=\"start\" paddingLeft={4}>\n <Label fontWeight=\"bold\">{formatMessage(label)}</Label>\n <VisuallyHidden>:</VisuallyHidden>\n <Typography textColor=\"neutral600\" variant=\"pi\">\n {duration}\n </Typography>\n </Flex>\n </VideoLinkWrapper>\n ))}\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={2}\n paddingLeft={5}\n paddingTop={2}\n paddingBottom={5}\n >\n {docLinks.map(({ label, href, icon: Icon }) => (\n <Flex gap={3} key={href}>\n <Icon fill=\"primary600\" />\n <TextLink\n tag=\"a\"\n href={href}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n variant=\"sigma\"\n textColor=\"primary700\"\n >\n {formatMessage(label)}\n </TextLink>\n </Flex>\n ))}\n </Flex>\n </Popover.Content>\n </Box>\n </Popover.Root>\n );\n};\n\n// TODO: use new Button props derived from Box props with next DS release\nconst HelperButton = styled(Button)`\n border-radius: 50%;\n padding: ${({ theme }) => theme.spaces[3]};\n /* Resetting 2rem height defined by Button component */\n height: unset;\n width: unset;\n\n & > span {\n display: flex;\n\n svg {\n width: 1.6rem;\n height: 1.6rem;\n }\n }\n`;\n\nconst IconWrapper = styled<FlexComponent>(Flex)`\n transform: translate(-50%, -50%);\n`;\n\nconst Number = styled<TypographyComponent>(Typography)``;\n\nconst Label = styled<TypographyComponent>(Typography)``;\n\nconst VideoLinkWrapper = styled<FlexComponent<'a'>>(Flex)`\n text-decoration: none;\n\n :focus-visible {\n outline-offset: ${({ theme }) => `-${theme.spaces[1]}`};\n }\n\n :hover {\n background: ${({ theme }) => theme.colors.primary100};\n\n /* Hover style for the number displayed */\n ${Number} {\n color: ${({ theme }) => theme.colors.primary500};\n }\n\n /* Hover style for the label */\n ${Label} {\n color: ${({ theme }) => theme.colors.primary600};\n }\n }\n`;\n\nconst Preview = styled.img`\n width: ${({ theme }) => theme.spaces[10]};\n height: ${({ theme }) => theme.spaces[8]};\n /* Same overlay used in ModalLayout */\n background: ${({ theme }) => `${theme.colors.neutral800}1F`};\n border-radius: ${({ theme }) => theme.borderRadius};\n`;\n\nconst TypographyLineHeight = styled<TypographyComponent>(Typography)`\n /* line height of label and watch more to 1 so they can be better aligned visually */\n line-height: 1;\n`;\n\nconst TextLink = styled<TypographyComponent<'a'>>(Typography)`\n text-decoration: none;\n line-height: 1;\n\n :hover {\n text-decoration: underline;\n }\n`;\n\nconst VIDEO_LINKS = [\n {\n label: {\n id: 'app.components.Onboarding.link.build-content',\n defaultMessage: 'Build a content architecture',\n },\n href: 'https://www.youtube.com/watch?v=G9GjN0RxhkE',\n duration: '5:48',\n },\n {\n label: {\n id: 'app.components.Onboarding.link.manage-content',\n defaultMessage: 'Add & manage content',\n },\n href: 'https://www.youtube.com/watch?v=DEZw4KbybAI',\n duration: '3:18',\n },\n {\n label: { id: 'app.components.Onboarding.link.manage-media', defaultMessage: 'Manage media' },\n href: 'https://www.youtube.com/watch?v=-61MuiMQb38',\n duration: '3:41',\n },\n];\n\nconst WATCH_MORE = {\n href: 'https://www.youtube.com/playlist?list=PL7Q0DQYATmvidz6lEmwE5nIcOAYagxWqq',\n label: {\n id: 'app.components.Onboarding.link.more-videos',\n defaultMessage: 'Watch more videos',\n },\n};\n\nconst DOCUMENTATION_LINKS = [\n {\n label: { id: 'global.documentation', defaultMessage: 'documentation' },\n href: 'https://docs.strapi.io',\n icon: Book,\n },\n {\n label: { id: 'app.static.links.cheatsheet', defaultMessage: 'cheatsheet' },\n href: 'https://strapi-showcase.s3-us-west-2.amazonaws.com/CheatSheet.pdf',\n icon: PaperPlane,\n },\n];\n\nexport { Onboarding };\n","import * as React from 'react';\n\nimport { produce } from 'immer';\n\nimport { Page } from '../components/PageHelpers';\nimport { StrapiAppContextValue, useStrapiApp } from '../features/StrapiApp';\n\n/**\n * TODO: this isn't great, and we really should focus on fixing this.\n */\nconst PluginsInitializer = ({ children }: { children: React.ReactNode }) => {\n const appPlugins = useStrapiApp('PluginsInitializer', (state) => state.plugins);\n const [{ plugins }, dispatch] = React.useReducer<React.Reducer<State, Action>, State>(\n reducer,\n initialState,\n () => init(appPlugins)\n );\n const setPlugin = React.useRef((pluginId: string) => {\n dispatch({ type: 'SET_PLUGIN_READY', pluginId });\n });\n\n const hasApluginNotReady = Object.keys(plugins).some(\n (plugin) => plugins[plugin].isReady === false\n );\n\n /**\n *\n * I have spent some time trying to understand what is happening here, and wanted to\n * leave that knowledge for my future me:\n *\n * `initializer` is an undocumented property of the `registerPlugin` API. At the time\n * of writing it seems only to be used by the i18n plugin.\n *\n * How does it work?\n *\n * Every plugin that has an `initializer` component defined, receives the\n * `setPlugin` function as a component prop. In the case of i18n the plugin fetches locales\n * first and calls `setPlugin` with `pluginId` once they are loaded, which then triggers the\n * reducer of the admin app defined above.\n *\n * Once all plugins are set to `isReady: true` the app renders.\n *\n * This API is used to block rendering of the admin app. We should remove that in v5 completely\n * and make sure plugins can inject data into the global store before they are initialized, to avoid\n * having a new prop-callback based communication channel between plugins and the core admin app.\n *\n */\n\n if (hasApluginNotReady) {\n const initializers = Object.keys(plugins).reduce((acc, current) => {\n const InitializerComponent = plugins[current].initializer;\n\n if (InitializerComponent) {\n const key = plugins[current].pluginId;\n\n acc.push(<InitializerComponent key={key} setPlugin={setPlugin.current} />);\n }\n\n return acc;\n }, [] as React.ReactNode[]);\n\n return (\n <>\n {initializers}\n <Page.Loading />\n </>\n );\n }\n\n return children;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Reducer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface State {\n plugins: StrapiAppContextValue['plugins'];\n}\n\nconst initialState: State = {\n plugins: {},\n};\n\ntype SetPluginReadyAction = {\n type: 'SET_PLUGIN_READY';\n pluginId: string;\n};\n\ntype Action = SetPluginReadyAction;\n\nconst reducer: React.Reducer<State, Action> = (state = initialState, action: Action): State =>\n produce(state, (draftState) => {\n switch (action.type) {\n case 'SET_PLUGIN_READY': {\n draftState.plugins[action.pluginId].isReady = true;\n break;\n }\n default:\n return draftState;\n }\n });\n\n/* -------------------------------------------------------------------------------------------------\n * Init state\n * -----------------------------------------------------------------------------------------------*/\n\nconst init = (plugins: State['plugins']): State => {\n return {\n plugins,\n };\n};\n\nexport { PluginsInitializer };\n","import * as React from 'react';\n\nimport { Cog, ShoppingCart, House } from '@strapi/icons';\nimport cloneDeep from 'lodash/cloneDeep';\n\nimport { useTypedSelector } from '../core/store/hooks';\nimport { useAuth, AuthContextValue } from '../features/Auth';\nimport { StrapiAppContextValue, useStrapiApp } from '../features/StrapiApp';\n\n/* -------------------------------------------------------------------------------------------------\n * useMenu\n * -----------------------------------------------------------------------------------------------*/\n\nexport type MenuItem = Omit<StrapiAppContextValue['menu'][number], 'Component'>;\n\nexport interface Menu {\n generalSectionLinks: MenuItem[];\n pluginsSectionLinks: MenuItem[];\n isLoading: boolean;\n}\n\nconst useMenu = (shouldUpdateStrapi: boolean) => {\n const checkUserHasPermissions = useAuth('useMenu', (state) => state.checkUserHasPermissions);\n const menu = useStrapiApp('useMenu', (state) => state.menu);\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const [menuWithUserPermissions, setMenuWithUserPermissions] = React.useState<Menu>({\n generalSectionLinks: [\n {\n icon: House,\n intlLabel: {\n id: 'global.home',\n defaultMessage: 'Home',\n },\n to: '/',\n permissions: [],\n position: 0,\n },\n {\n icon: ShoppingCart,\n intlLabel: {\n id: 'global.marketplace',\n defaultMessage: 'Marketplace',\n },\n to: '/marketplace',\n permissions: permissions.marketplace?.main ?? [],\n position: 7,\n },\n {\n icon: Cog,\n intlLabel: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n to: '/settings',\n // Permissions of this link are retrieved in the init phase\n // using the settings menu\n permissions: [],\n notificationsCount: 0,\n position: 9,\n },\n ],\n pluginsSectionLinks: [],\n isLoading: true,\n });\n const generalSectionLinksRef = React.useRef(menuWithUserPermissions.generalSectionLinks);\n\n React.useEffect(() => {\n async function applyMenuPermissions() {\n const authorizedPluginSectionLinks = await getPluginSectionLinks(\n menu,\n checkUserHasPermissions\n );\n\n const authorizedGeneralSectionLinks = await getGeneralLinks(\n generalSectionLinksRef.current,\n shouldUpdateStrapi,\n checkUserHasPermissions\n );\n\n setMenuWithUserPermissions((state) => ({\n ...state,\n generalSectionLinks: authorizedGeneralSectionLinks,\n pluginsSectionLinks: authorizedPluginSectionLinks,\n isLoading: false,\n }));\n }\n\n applyMenuPermissions();\n }, [\n setMenuWithUserPermissions,\n generalSectionLinksRef,\n menu,\n permissions,\n shouldUpdateStrapi,\n checkUserHasPermissions,\n ]);\n\n return menuWithUserPermissions;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Utils\n * -----------------------------------------------------------------------------------------------*/\n\nconst getGeneralLinks = async (\n generalSectionRawLinks: MenuItem[],\n shouldUpdateStrapi: boolean = false,\n checkUserHasPermissions: AuthContextValue['checkUserHasPermissions']\n) => {\n const generalSectionLinksPermissions = await Promise.all(\n generalSectionRawLinks.map(({ permissions }) => checkUserHasPermissions(permissions))\n );\n\n const authorizedGeneralSectionLinks = generalSectionRawLinks.filter(\n (_, index) => generalSectionLinksPermissions[index].length > 0\n );\n\n const settingsLinkIndex = authorizedGeneralSectionLinks.findIndex(\n (obj) => obj.to === '/settings'\n );\n\n if (settingsLinkIndex === -1) {\n return [];\n }\n\n const authorizedGeneralLinksClone = cloneDeep(authorizedGeneralSectionLinks);\n\n authorizedGeneralLinksClone[settingsLinkIndex].notificationsCount = shouldUpdateStrapi ? 1 : 0;\n\n return authorizedGeneralLinksClone;\n};\n\nconst getPluginSectionLinks = async (\n pluginsSectionRawLinks: MenuItem[],\n checkUserHasPermissions: AuthContextValue['checkUserHasPermissions']\n) => {\n const pluginSectionLinksPermissions = await Promise.all(\n pluginsSectionRawLinks.map(({ permissions }) => checkUserHasPermissions(permissions))\n );\n\n const authorizedPluginSectionLinks = pluginsSectionRawLinks.filter(\n (_, index) => pluginSectionLinksPermissions[index].length > 0\n );\n\n return authorizedPluginSectionLinks;\n};\n\nexport { useMenu };\n","import * as React from 'react';\n\nimport { version as strapiVersion } from '@strapi/admin/package.json';\nimport { Box, Flex, SkipToContent } from '@strapi/design-system';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { useIntl } from 'react-intl';\nimport { Outlet } from 'react-router-dom';\nimport lt from 'semver/functions/lt';\nimport valid from 'semver/functions/valid';\n\nimport { GuidedTourModal } from '../components/GuidedTour/Modal';\nimport { useGuidedTour } from '../components/GuidedTour/Provider';\nimport { LeftMenu } from '../components/LeftMenu';\nimport { NpsSurvey } from '../components/NpsSurvey';\nimport { Onboarding } from '../components/Onboarding';\nimport { Page } from '../components/PageHelpers';\nimport { PluginsInitializer } from '../components/PluginsInitializer';\nimport { PrivateRoute } from '../components/PrivateRoute';\nimport { AppInfoProvider } from '../features/AppInfo';\nimport { useAuth } from '../features/Auth';\nimport { useConfiguration } from '../features/Configuration';\nimport { useTracking } from '../features/Tracking';\nimport { useMenu } from '../hooks/useMenu';\nimport { useOnce } from '../hooks/useOnce';\nimport { useInformationQuery } from '../services/admin';\nimport { hashAdminUserEmail } from '../utils/users';\n\nconst AdminLayout = () => {\n const setGuidedTourVisibility = useGuidedTour(\n 'AdminLayout',\n (state) => state.setGuidedTourVisibility\n );\n const { formatMessage } = useIntl();\n const userInfo = useAuth('AuthenticatedApp', (state) => state.user);\n const [userId, setUserId] = React.useState<string>();\n const { showReleaseNotification } = useConfiguration('AuthenticatedApp');\n\n const { data: appInfo, isLoading: isLoadingAppInfo } = useInformationQuery();\n\n const [tagName, setTagName] = React.useState<string>(strapiVersion);\n\n React.useEffect(() => {\n if (showReleaseNotification) {\n fetch('https://api.github.com/repos/strapi/strapi/releases/latest')\n .then(async (res) => {\n if (!res.ok) {\n return;\n }\n\n const response = (await res.json()) as { tag_name: string | null | undefined };\n\n if (!response.tag_name) {\n throw new Error();\n }\n\n setTagName(response.tag_name);\n })\n .catch(() => {\n /**\n * silence is golden & we'll use the strapiVersion as a fallback\n */\n });\n }\n }, [showReleaseNotification]);\n\n const userRoles = useAuth('AuthenticatedApp', (state) => state.user?.roles);\n\n React.useEffect(() => {\n if (userRoles) {\n const isUserSuperAdmin = userRoles.find(({ code }) => code === 'strapi-super-admin');\n\n if (isUserSuperAdmin && appInfo?.autoReload) {\n setGuidedTourVisibility(true);\n }\n }\n }, [userRoles, appInfo?.autoReload, setGuidedTourVisibility]);\n\n React.useEffect(() => {\n hashAdminUserEmail(userInfo).then((id) => {\n if (id) {\n setUserId(id);\n }\n });\n }, [userInfo]);\n\n const { trackUsage } = useTracking();\n\n const {\n isLoading: isLoadingMenu,\n generalSectionLinks,\n pluginsSectionLinks,\n } = useMenu(checkLatestStrapiVersion(strapiVersion, tagName));\n const { showTutorials } = useConfiguration('Admin');\n\n /**\n * Make sure the event is only send once after accessing the admin panel\n * and not at runtime for example when regenerating the permissions with the ctb\n * or with i18n\n */\n useOnce(() => {\n trackUsage('didAccessAuthenticatedAdministration');\n });\n\n // We don't need to wait for the release query to be fetched before rendering the plugins\n // however, we need the appInfos and the permissions\n if (isLoadingMenu || isLoadingAppInfo) {\n return <Page.Loading />;\n }\n\n return (\n <AppInfoProvider\n {...appInfo}\n userId={userId}\n latestStrapiReleaseTag={tagName}\n shouldUpdateStrapi={checkLatestStrapiVersion(strapiVersion, tagName)}\n >\n <NpsSurvey />\n <PluginsInitializer>\n <DndProvider backend={HTML5Backend}>\n <Box background=\"neutral100\">\n <SkipToContent>\n {formatMessage({ id: 'skipToContent', defaultMessage: 'Skip to content' })}\n </SkipToContent>\n <Flex alignItems=\"flex-start\">\n <LeftMenu\n generalSectionLinks={generalSectionLinks}\n pluginsSectionLinks={pluginsSectionLinks}\n />\n <Box flex={1}>\n <Outlet />\n <GuidedTourModal />\n {showTutorials && <Onboarding />}\n </Box>\n </Flex>\n </Box>\n </DndProvider>\n </PluginsInitializer>\n </AppInfoProvider>\n );\n};\n\nconst PrivateAdminLayout = () => {\n return (\n <PrivateRoute>\n <AdminLayout />\n </PrivateRoute>\n );\n};\n\nconst checkLatestStrapiVersion = (\n currentPackageVersion: string,\n latestPublishedVersion: string = ''\n): boolean => {\n if (!valid(currentPackageVersion) || !valid(latestPublishedVersion)) {\n return false;\n }\n\n return lt(currentPackageVersion, latestPublishedVersion);\n};\n\nexport { AdminLayout, PrivateAdminLayout };\n"],"names":["GuidedTourModal","guidedTour","useGuidedTour","state","currentStep","guidedTourState","setCurrentStep","setStepState","isGuidedTourVisible","setSkipped","formatMessage","useIntl","trackUsage","useTracking","stepData","get","LAYOUT_DATA","sectionKeys","Object","keys","sectionName","stepName","split","sectionIndex","indexOf","stepIndex","hasSectionAfter","length","hasStepAfter","handleCtaClick","trackingEvent","handleSkip","_jsx","Portal","ModalWrapper","onClick","padding","justifyContent","FocusTrap","onEscape","_jsxs","Flex","direction","alignItems","background","width","shadow","hasRadius","gap","role","aria-modal","e","stopPropagation","IconButton","withTooltip","label","id","defaultMessage","Cross","Box","paddingLeft","paddingRight","paddingBottom","GuidedTourStepper","title","undefined","cta","onCtaClick","GuidedTourContent","content","Button","variant","styled","theme","colors","neutral800","children","hasSectionBefore","hasStepsBefore","nextSectionIndex","_Fragment","marginRight","minWidth","VerticalDivider","STATES","IS_DONE","minHeight","Typography","textColor","Number","IS_ACTIVE","paddingTop","fontWeight","tag","target","LinkButton","NavLink","endIcon","ArrowRight","to","documentationLink","DocumentationLink","b","Bold","p","Paragraph","light","Light","ul","List","li","ListItem","rel","href","LiStyled","MainNavWrapper","neutral150","MainNav","props","height","position","top","zIndex","BrandIconWrapper","borderRadius","NavBrand","logos","menu","useConfiguration","img","src","custom","url","default","alt","VisuallyHidden","span","MainNavLinkWrapper","RouterLink","neutral0","neutral500","neutral600","neutral100","primary600","primary100","LinkImpl","TooltipImpl","Tooltip","side","delayDuration","IconImpl","AccessibleIcon","CustomBadge","Badge","spaces","BadgeImpl","left","aria-label","active","Link","Icon","MenuTrigger","Menu","Trigger","MenuContent","Content","MenuItem","Item","MenuItemDanger","danger100","NavUser","initials","navigate","useNavigate","logout","useAuth","handleProfile","handleLogout","borderStyle","borderWidth","borderColor","Root","fullWidth","Avatar","delayMs","fallback","popoverPlacement","onSelect","color","SignOut","sortLinks","links","sort","a","positionA","positionB","NavLinkBadgeCounter","NavLinkBadgeLock","NavListWrapper","LeftMenu","generalSectionLinks","pluginsSectionLinks","user","pathname","useLocation","userDisplayName","getDisplayName","locale","formatter","useCollator","sensitivity","map","name","substring","join","handleClickOnLink","destination","from","listLinksAlphabeticallySorted","compare","intlLabel","listLinks","Divider","flex","link","LinkIcon","icon","badgeContentLock","licenseOnly","Lightning","fill","badgeContentNumeric","notificationsCount","toString","labelValue","backgroundColor","Onboarding","isOpen","setIsOpen","React","useState","communityEdition","useAppInfo","docLinks","DOCUMENTATION_LINKS","Message","Question","Popover","onOpenChange","bottom","right","HelperButton","align","sideOffset","TypographyLineHeight","TextLink","WATCH_MORE","VIDEO_LINKS","duration","index","VideoLinkWrapper","Preview","onboardingPreview","IconWrapper","Play","Label","primary500","Book","PaperPlane","PluginsInitializer","appPlugins","useStrapiApp","plugins","dispatch","useReducer","reducer","initialState","init","setPlugin","useRef","pluginId","type","hasApluginNotReady","some","plugin","isReady","initializers","reduce","acc","current","InitializerComponent","initializer","key","push","Page","Loading","action","produce","draftState","useMenu","shouldUpdateStrapi","checkUserHasPermissions","permissions","useTypedSelector","admin_app","menuWithUserPermissions","setMenuWithUserPermissions","House","ShoppingCart","marketplace","main","Cog","isLoading","generalSectionLinksRef","useEffect","applyMenuPermissions","authorizedPluginSectionLinks","getPluginSectionLinks","authorizedGeneralSectionLinks","getGeneralLinks","generalSectionRawLinks","generalSectionLinksPermissions","Promise","all","filter","_","settingsLinkIndex","findIndex","obj","authorizedGeneralLinksClone","cloneDeep","pluginsSectionRawLinks","pluginSectionLinksPermissions","AdminLayout","setGuidedTourVisibility","userInfo","userId","setUserId","showReleaseNotification","data","appInfo","isLoadingAppInfo","useInformationQuery","tagName","setTagName","strapiVersion","fetch","then","res","ok","response","json","tag_name","Error","catch","userRoles","roles","isUserSuperAdmin","find","code","autoReload","hashAdminUserEmail","isLoadingMenu","checkLatestStrapiVersion","showTutorials","useOnce","AppInfoProvider","latestStrapiReleaseTag","NpsSurvey","DndProvider","backend","HTML5Backend","SkipToContent","Outlet","PrivateAdminLayout","PrivateRoute","currentPackageVersion","latestPublishedVersion","valid","lt"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthenticatedLayout-D067wUoO.js","sources":["../../../admin/src/components/GuidedTour/Modal.tsx","../../../admin/src/components/MainNav/MainNav.tsx","../../../admin/src/components/MainNav/NavBrand.tsx","../../../admin/src/components/MainNav/NavLink.tsx","../../../admin/src/components/MainNav/NavUser.tsx","../../../admin/src/components/LeftMenu.tsx","../../../admin/src/assets/images/onboarding-preview.png","../../../admin/src/components/Onboarding.tsx","../../../admin/src/components/PluginsInitializer.tsx","../../../admin/src/hooks/useMenu.ts","../../../admin/src/layouts/AuthenticatedLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n FlexComponent,\n FocusTrap,\n IconButton,\n Portal,\n Typography,\n LinkButton,\n} from '@strapi/design-system';\nimport { ArrowRight, Cross } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { MessageDescriptor, useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useTracking } from '../../features/Tracking';\n\nimport { LAYOUT_DATA, STATES } from './constants';\nimport { Number, VerticalDivider } from './Ornaments';\nimport { GuidedTourContextValue, useGuidedTour } from './Provider';\n\n/* -------------------------------------------------------------------------------------------------\n * GuidedTourModal\n * -----------------------------------------------------------------------------------------------*/\n\nconst GuidedTourModal = () => {\n const guidedTour = useGuidedTour('GuidedTourModal', (state) => state);\n\n const {\n currentStep,\n guidedTourState,\n setCurrentStep,\n setStepState,\n isGuidedTourVisible,\n setSkipped,\n } = guidedTour;\n\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n if (!currentStep || !isGuidedTourVisible) {\n return null;\n }\n\n const stepData = get(LAYOUT_DATA, currentStep);\n const sectionKeys = Object.keys(guidedTourState);\n const [sectionName, stepName] = currentStep.split('.') as [\n keyof GuidedTourContextValue['guidedTourState'],\n string,\n ];\n const sectionIndex = sectionKeys.indexOf(sectionName);\n const stepIndex = Object.keys(guidedTourState[sectionName]).indexOf(stepName);\n const hasSectionAfter = sectionIndex < sectionKeys.length - 1;\n const hasStepAfter = stepIndex < Object.keys(guidedTourState[sectionName]).length - 1;\n\n const handleCtaClick = () => {\n setStepState(currentStep, true);\n\n if (stepData) {\n trackUsage(stepData.trackingEvent);\n }\n\n setCurrentStep(null);\n };\n\n const handleSkip = () => {\n setSkipped(true);\n setCurrentStep(null);\n trackUsage('didSkipGuidedtour');\n };\n\n return (\n <Portal>\n <ModalWrapper onClick={handleCtaClick} padding={8} justifyContent=\"center\">\n <FocusTrap onEscape={handleCtaClick}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n background=\"neutral0\"\n width={`66rem`}\n shadow=\"popupShadow\"\n hasRadius\n padding={4}\n gap={8}\n role=\"dialog\"\n aria-modal\n onClick={(e) => e.stopPropagation()}\n >\n <Flex justifyContent=\"flex-end\">\n <IconButton\n onClick={handleCtaClick}\n withTooltip={false}\n label={formatMessage({\n id: 'app.utils.close-label',\n defaultMessage: 'Close',\n })}\n >\n <Cross />\n </IconButton>\n </Flex>\n <Box\n paddingLeft={7}\n paddingRight={7}\n paddingBottom={!hasStepAfter && !hasSectionAfter ? 8 : 0}\n >\n <GuidedTourStepper\n title={stepData && 'title' in stepData ? stepData.title : undefined}\n cta={stepData && 'cta' in stepData ? stepData.cta : undefined}\n onCtaClick={handleCtaClick}\n sectionIndex={sectionIndex}\n stepIndex={stepIndex}\n hasSectionAfter={hasSectionAfter}\n >\n {stepData && 'content' in stepData && <GuidedTourContent {...stepData.content} />}\n </GuidedTourStepper>\n </Box>\n {!(!hasStepAfter && !hasSectionAfter) && (\n <Flex justifyContent=\"flex-end\">\n <Button variant=\"tertiary\" onClick={handleSkip}>\n {formatMessage({\n id: 'app.components.GuidedTour.skip',\n defaultMessage: 'Skip the tour',\n })}\n </Button>\n </Flex>\n )}\n </Flex>\n </FocusTrap>\n </ModalWrapper>\n </Portal>\n );\n};\n\nconst ModalWrapper = styled<FlexComponent>(Flex)`\n position: fixed;\n z-index: 4;\n inset: 0;\n /* this is theme.colors.neutral800 with opacity */\n background: ${({ theme }) => `${theme.colors.neutral800}1F`};\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * GuidedTourStepper\n * -----------------------------------------------------------------------------------------------*/\n\ninterface GuidedTourStepperProps {\n title: MessageDescriptor | undefined;\n children: React.ReactNode;\n cta?: {\n title: MessageDescriptor;\n target?: string;\n };\n onCtaClick: () => void;\n sectionIndex: number;\n stepIndex: number;\n hasSectionAfter: boolean;\n}\n\nconst GuidedTourStepper = ({\n title,\n children,\n cta,\n onCtaClick,\n sectionIndex,\n stepIndex,\n hasSectionAfter,\n}: GuidedTourStepperProps) => {\n const { formatMessage } = useIntl();\n\n const hasSectionBefore = sectionIndex > 0;\n const hasStepsBefore = stepIndex > 0;\n const nextSectionIndex = sectionIndex + 1;\n\n return (\n <>\n <Flex alignItems=\"stretch\">\n <Flex marginRight={8} justifyContent=\"center\" minWidth={`3rem`}>\n {hasSectionBefore && <VerticalDivider state={STATES.IS_DONE} minHeight={`2.4rem`} />}\n </Flex>\n <Typography variant=\"sigma\" textColor=\"primary600\">\n {formatMessage({\n id: 'app.components.GuidedTour.title',\n defaultMessage: '3 steps to get started',\n })}\n </Typography>\n </Flex>\n <Flex>\n <Flex marginRight={8} minWidth={`3rem`}>\n <Number\n state={hasStepsBefore ? STATES.IS_DONE : STATES.IS_ACTIVE}\n paddingTop={3}\n paddingBottom={3}\n >\n {sectionIndex + 1}\n </Number>\n </Flex>\n {title && (\n <Typography variant=\"alpha\" fontWeight=\"bold\" textColor=\"neutral800\" tag=\"h3\" id=\"title\">\n {formatMessage(title)}\n </Typography>\n )}\n </Flex>\n <Flex alignItems=\"stretch\">\n <Flex marginRight={8} direction=\"column\" justifyContent=\"center\" minWidth={`3rem`}>\n {hasSectionAfter && (\n <>\n <VerticalDivider state={STATES.IS_DONE} />\n {hasStepsBefore && (\n <Number state={STATES.IS_ACTIVE} paddingTop={3}>\n {nextSectionIndex + 1}\n </Number>\n )}\n </>\n )}\n </Flex>\n <Box>\n {children}\n {cta &&\n (cta.target ? (\n <LinkButton\n tag={NavLink}\n endIcon={<ArrowRight />}\n onClick={onCtaClick}\n to={cta.target}\n >\n {formatMessage(cta.title)}\n </LinkButton>\n ) : (\n <Button endIcon={<ArrowRight />} onClick={onCtaClick}>\n {formatMessage(cta.title)}\n </Button>\n ))}\n </Box>\n </Flex>\n {hasStepsBefore && hasSectionAfter && (\n <Box paddingTop={3}>\n <Flex marginRight={8} justifyContent=\"center\" width={`3rem`}>\n <VerticalDivider state={STATES.IS_DONE} minHeight={`2.4rem`} />\n </Flex>\n </Box>\n )}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * GuidedTourContent\n * -----------------------------------------------------------------------------------------------*/\n\ninterface GuidedTourContentProps\n extends Required<Pick<MessageDescriptor, 'defaultMessage' | 'id'>> {}\n\nconst GuidedTourContent = ({ id, defaultMessage }: GuidedTourContentProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4} paddingBottom={6}>\n {formatMessage(\n { id, defaultMessage },\n {\n documentationLink: DocumentationLink,\n b: Bold,\n p: Paragraph,\n light: Light,\n ul: List,\n li: ListItem,\n }\n )}\n </Flex>\n );\n};\n\nconst DocumentationLink = (children: React.ReactNode) => (\n <Typography\n tag=\"a\"\n textColor=\"primary600\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://docs.strapi.io/developer-docs/latest/developer-resources/database-apis-reference/rest-api.html#api-parameters\"\n >\n {children}\n </Typography>\n);\n\nconst Bold = (children: React.ReactNode) => (\n <Typography fontWeight=\"semiBold\">{children}</Typography>\n);\n\nconst Paragraph = (children: React.ReactNode) => <Typography>{children}</Typography>;\n\nconst Light = (children: React.ReactNode) => (\n <Typography textColor=\"neutral600\">{children}</Typography>\n);\n\nconst List = (children: React.ReactNode) => (\n <Box paddingLeft={6}>\n <ul>{children}</ul>\n </Box>\n);\n\nconst LiStyled = styled.li`\n list-style: disc;\n &::marker {\n color: ${({ theme }) => theme.colors.neutral800};\n }\n`;\n\nconst ListItem = (children: React.ReactNode) => <LiStyled>{children}</LiStyled>;\n\nexport { GuidedTourModal };\n","import { Flex, FlexComponent, FlexProps } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nconst MainNavWrapper = styled<FlexComponent<'nav'>>(Flex)`\n border-right: 1px solid ${({ theme }) => theme.colors.neutral150};\n`;\n\nconst MainNav = (props: FlexProps<'nav'>) => (\n <MainNavWrapper\n alignItems=\"normal\"\n tag=\"nav\"\n background=\"neutral0\"\n direction=\"column\"\n height=\"100vh\"\n position=\"sticky\"\n top={0}\n zIndex={2}\n width={10}\n {...props}\n />\n);\n\nexport { MainNav };\n","import { Box, Flex, type FlexComponent, VisuallyHidden } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useConfiguration } from '../../features/Configuration';\n\nconst BrandIconWrapper = styled<FlexComponent>(Flex)`\n svg,\n img {\n border-radius: ${({ theme }) => theme.borderRadius};\n object-fit: contain;\n height: 2.4rem;\n width: 2.4rem;\n }\n`;\n\nexport const NavBrand = () => {\n const { formatMessage } = useIntl();\n const {\n logos: { menu },\n } = useConfiguration('LeftMenu');\n return (\n <Box padding={3}>\n <BrandIconWrapper direction=\"column\" justifyContent=\"center\" width=\"3.2rem\" height=\"3.2rem\">\n <img\n src={menu.custom?.url || menu.default}\n alt={formatMessage({\n id: 'app.components.LeftMenu.logo.alt',\n defaultMessage: 'Application logo',\n })}\n width=\"100%\"\n height=\"100%\"\n />\n <VisuallyHidden>\n <span>\n {formatMessage({\n id: 'app.components.LeftMenu.navbrand.title',\n defaultMessage: 'Strapi Dashboard',\n })}\n </span>\n <span>\n {formatMessage({\n id: 'app.components.LeftMenu.navbrand.workplace',\n defaultMessage: 'Workplace',\n })}\n </span>\n </VisuallyHidden>\n </BrandIconWrapper>\n </Box>\n );\n};\n","import * as React from 'react';\n\nimport {\n Tooltip,\n TooltipProps as DSTooltipProps,\n Badge,\n BadgeProps,\n AccessibleIcon,\n} from '@strapi/design-system';\nimport { NavLink as RouterLink, LinkProps } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\n/* -------------------------------------------------------------------------------------------------\n * Link\n * -----------------------------------------------------------------------------------------------*/\nconst MainNavLinkWrapper = styled(RouterLink)`\n text-decoration: none;\n display: flex;\n border-radius: ${({ theme }) => theme.borderRadius};\n background: ${({ theme }) => theme.colors.neutral0};\n color: ${({ theme }) => theme.colors.neutral500};\n position: relative;\n width: fit-content;\n padding-block: 0.6rem;\n padding-inline: 0.6rem;\n\n &:hover {\n svg path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n background: ${({ theme }) => theme.colors.neutral100};\n }\n\n &.active {\n svg path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n background: ${({ theme }) => theme.colors.primary100};\n }\n`;\n\nconst LinkImpl = ({ children, ...props }: LinkProps) => {\n return <MainNavLinkWrapper {...props}>{children}</MainNavLinkWrapper>;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tooltip\n * -----------------------------------------------------------------------------------------------*/\nconst TooltipImpl = ({ children, label, position = 'right' }: NavLink.TooltipProps) => {\n return (\n <Tooltip side={position} label={label} delayDuration={0}>\n <span>{children}</span>\n </Tooltip>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Icon\n * -----------------------------------------------------------------------------------------------*/\nconst IconImpl = ({ label, children }: { label: string; children: React.ReactNode }) => {\n if (!children) {\n return null;\n }\n return <AccessibleIcon label={label}>{children}</AccessibleIcon>;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Badge\n * -----------------------------------------------------------------------------------------------*/\nconst CustomBadge = styled(Badge)`\n /* override default badge styles to change the border radius of the Base element in the Design System */\n border-radius: ${({ theme }) => theme.spaces[10]};\n height: 2rem;\n`;\n\nconst BadgeImpl = ({ children, label, ...props }: NavLink.NavBadgeProps) => {\n if (!children) {\n return null;\n }\n return (\n <CustomBadge\n position=\"absolute\"\n top=\"-0.8rem\"\n left=\"1.7rem\"\n aria-label={label}\n active={false}\n {...props}\n >\n {children}\n </CustomBadge>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EXPORTS\n * -----------------------------------------------------------------------------------------------*/\n\nconst NavLink = {\n Link: LinkImpl,\n Tooltip: TooltipImpl,\n Icon: IconImpl,\n Badge: BadgeImpl,\n};\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nnamespace NavLink {\n export interface NavBadgeProps extends BadgeProps {\n children: React.ReactNode;\n label: string;\n }\n\n export interface TooltipProps {\n children: React.ReactNode;\n label?: string;\n position?: DSTooltipProps['side'];\n }\n}\n\nexport { NavLink };\n","import * as React from 'react';\n\nimport { Flex, Menu, ButtonProps, VisuallyHidden, Avatar } from '@strapi/design-system';\nimport { SignOut } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useAuth } from '../../features/Auth';\n\nexport interface NavUserProps extends ButtonProps {\n initials: string;\n children?: React.ReactNode;\n}\n\nconst MenuTrigger = styled(Menu.Trigger)`\n height: ${({ theme }) => theme.spaces[7]};\n width: ${({ theme }) => theme.spaces[7]};\n border: none;\n border-radius: 50%;\n // Removes inherited 16px padding\n padding: 0;\n // Prevent empty pixel from appearing below the main nav\n overflow: hidden;\n`;\n\nconst MenuContent = styled(Menu.Content)`\n left: ${({ theme }) => theme.spaces[3]};\n`;\n\nconst MenuItem = styled(Menu.Item)`\n & > span {\n width: 100%;\n display: flex;\n align-items: center;\n gap: ${({ theme }) => theme.spaces[3]};\n justify-content: space-between;\n }\n`;\n\nconst MenuItemDanger = styled(MenuItem)`\n &:hover {\n ${({ theme }) => `\n background: ${theme.colors.danger100};\n `}\n }\n`;\n\nexport const NavUser = ({ children, initials, ...props }: NavUserProps) => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const logout = useAuth('Logout', (state) => state.logout);\n const handleProfile = () => {\n navigate('/me');\n };\n const handleLogout = () => {\n logout();\n navigate('/auth/login');\n };\n\n return (\n <Flex\n justifyContent=\"center\"\n padding={3}\n borderStyle=\"solid\"\n borderWidth=\"1px 0 0 0\"\n borderColor=\"neutral150\"\n {...props}\n >\n <Menu.Root>\n <MenuTrigger endIcon={null} fullWidth justifyContent=\"center\">\n <Avatar.Item delayMs={0} fallback={initials} />\n <VisuallyHidden tag=\"span\">{children}</VisuallyHidden>\n </MenuTrigger>\n <MenuContent popoverPlacement=\"top-center\" zIndex={3}>\n <MenuItem onSelect={handleProfile}>\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </MenuItem>\n\n <MenuItemDanger onSelect={handleLogout} color=\"danger600\">\n {formatMessage({\n id: 'app.components.LeftMenu.logout',\n defaultMessage: 'Logout',\n })}\n <SignOut />\n </MenuItemDanger>\n </MenuContent>\n </Menu.Root>\n </Flex>\n );\n};\n","import * as React from 'react';\n\nimport { Divider, Flex, FlexComponent, useCollator } from '@strapi/design-system';\nimport { Lightning } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useLocation } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useAuth } from '../features/Auth';\nimport { useTracking } from '../features/Tracking';\nimport { Menu, MenuItem } from '../hooks/useMenu';\nimport { getDisplayName } from '../utils/users';\n\nimport { MainNav } from './MainNav/MainNav';\nimport { NavBrand } from './MainNav/NavBrand';\nimport { NavLink } from './MainNav/NavLink';\nimport { NavUser } from './MainNav/NavUser';\n\nconst sortLinks = (links: MenuItem[]) => {\n return links.sort((a, b) => {\n // if no position is defined, we put the link in the position of the external plugins, before the plugins list\n const positionA = a.position ?? 6;\n const positionB = b.position ?? 6;\n\n if (positionA < positionB) {\n return -1;\n } else {\n return 1;\n }\n });\n};\n\nconst NavLinkBadgeCounter = styled(NavLink.Badge)`\n span {\n color: ${({ theme }) => theme.colors.neutral0};\n }\n`;\n\nconst NavLinkBadgeLock = styled(NavLink.Badge)`\n background-color: transparent;\n`;\n\nconst NavListWrapper = styled<FlexComponent<'ul'>>(Flex)`\n overflow-y: auto;\n`;\n\ninterface LeftMenuProps extends Pick<Menu, 'generalSectionLinks' | 'pluginsSectionLinks'> {}\n\nconst LeftMenu = ({ generalSectionLinks, pluginsSectionLinks }: LeftMenuProps) => {\n const user = useAuth('AuthenticatedApp', (state) => state.user);\n const { trackUsage } = useTracking();\n const { pathname } = useLocation();\n const userDisplayName = getDisplayName(user);\n const { formatMessage, locale } = useIntl();\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n\n const initials = userDisplayName\n .split(' ')\n .map((name) => name.substring(0, 1))\n .join('')\n .substring(0, 2);\n\n const handleClickOnLink = (destination: string) => {\n trackUsage('willNavigate', { from: pathname, to: destination });\n };\n\n const listLinksAlphabeticallySorted = [...pluginsSectionLinks, ...generalSectionLinks].sort(\n (a, b) => formatter.compare(formatMessage(a.intlLabel), formatMessage(b.intlLabel))\n );\n const listLinks = sortLinks(listLinksAlphabeticallySorted);\n\n return (\n <MainNav>\n <NavBrand />\n\n <Divider />\n\n <NavListWrapper tag=\"ul\" gap={3} direction=\"column\" flex={1} paddingTop={3} paddingBottom={3}>\n {listLinks.length > 0\n ? listLinks.map((link) => {\n const LinkIcon = link.icon;\n const badgeContentLock = link?.licenseOnly ? (\n <Lightning fill=\"warning500\" />\n ) : undefined;\n\n const badgeContentNumeric =\n link.notificationsCount && link.notificationsCount > 0\n ? link.notificationsCount.toString()\n : undefined;\n\n const labelValue = formatMessage(link.intlLabel);\n return (\n <Flex tag=\"li\" key={link.to}>\n <NavLink.Tooltip label={labelValue}>\n <NavLink.Link\n to={link.to}\n onClick={() => handleClickOnLink(link.to)}\n aria-label={labelValue}\n >\n <NavLink.Icon label={labelValue}>\n <LinkIcon width=\"20\" height=\"20\" fill=\"neutral500\" />\n </NavLink.Icon>\n {badgeContentLock ? (\n <NavLinkBadgeLock\n label=\"locked\"\n textColor=\"neutral500\"\n paddingLeft={0}\n paddingRight={0}\n >\n {badgeContentLock}\n </NavLinkBadgeLock>\n ) : badgeContentNumeric ? (\n <NavLinkBadgeCounter\n label={badgeContentNumeric}\n backgroundColor=\"primary600\"\n width=\"2.3rem\"\n color=\"neutral0\"\n >\n {badgeContentNumeric}\n </NavLinkBadgeCounter>\n ) : null}\n </NavLink.Link>\n </NavLink.Tooltip>\n </Flex>\n );\n })\n : null}\n </NavListWrapper>\n <NavUser initials={initials}>{userDisplayName}</NavUser>\n </MainNav>\n );\n};\n\nexport { LeftMenu };\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABQCAMAAAD2kgFPAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAL9UExURff3+fv7+/X19/Pz9/n5+fv7/f39//////39/UdwTPn5+/X1+fHx++/v8fn5/fHx8/Pz9eTk6e/v8/Hx9fHx/e3u7/X19e3t8evr7+fn6YuR96Gl+OLi59LS2dTU2uvr++nq7ff39+Tk697e4ufn6+vr7enq69ra3tDQ1uDg5/nv7+Dg5Nzc4Nzd4tTU2OTk5+fn7djY3tzc5M/Q1NjY3NLS1tbX3MzM0u/w9crK0unp7+np+/37+8rK0MjIzu/v78PEy9ra4djY4eLi6t7e5NbW2s7O1OLk5+/v/Ojp/dra5MPF9+3u89bX3mxz99DQ2fj4+OLi5PHx8dvb29ze+/f3/7C1+t7e5+vr69PX2OPk/Jydl/T09/f393R7+Gdw96ytuNTU3M7O2ODg6a6vumJq9+3u/dTW/PP19cXGzd7e4O3t7cnK+/f3+uLk683O+Z2h+dLU+9/h++no3/j39bq0pu/v7fv7+fHz9XF4911l93V8+bm5waGirffr7Kqrtq+z9qentF9o93mA+fj4+vr6++/v7/f3++vt+83N0/Pz8+vr8dbY+sjJ98zO1crM0vn5//Pz/ra6n/n59d/g4quvp9fa2OTn66Shm8C2prCuq+/r67Gxr9LLvbCwrcfEwK+vqZSahtPVw5WafKiknff5+ZqapvHw7fv4+YGH9dnb++Tn/Ly8xvfo6Oq5v////6WlsNrc3vPz+dLU2Ovr/eTn+drc4JWXo6Wp+cLE++nr74+T+enr4s7Q1m5098bArefk5Nze0ODc1Pf3/MC8tuDi0KWrh/n39+Tk4qmv+77Cqdjc3PX1/c7S0vv7/7ixo/Px7Z+jh62x+8rMtrS6pZebjY+Rn9bayKuvm+vp5+np6aWrjVJa9fX38bi895+fm1pk9620oevp6bS0r+fp6fv19VZg9fn19X6F+fnz89LS3MDAyPXi4uextvX1+vPW2OCVnYmJl9zc4Xh4iff3+mdy97y8xPf3977C96mpsbS29YeHlamv84qS87i89VXx8BYAAAD/dFJOU319fX19fX19fQB9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19bX19fX19fX19fX19Lwd9fX19fX19fX19fX19fX1lfX19fX19fX19fX19fX19fX19fX19fW1dED59fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX0PfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1mfX19bX1eXn0/fX19fX0/fSWruQsAAAbiSURBVGje7VkFcBtHFD2SbnXO9UA56dRIiiRbFFlmiO3asWKIE0MYGrQbZmjDDA1T06RJ03DSJA2XMaWUmZmZmWm6ki3lTie59kTSlJ40p5nV//tud//b/28P0WiG/PgdkhBMHKzRaBDNyWXSRoqi4ki57CQk/MZsKna58pqa0N4gnoNcNgQZzBV8ml9aYMYaW4DQRKjvDC8MG7TkG0ff+gmobifD78gXYQZE0++8b08tXFg/4uf6H46VLh5Rf/P8TERtXG1ykkmtI7zmtZFLhtW9NWfOnCUjhy0Z+T2CJOFYJMOS+YtPzV884teDX8879sKIhfUHSxG1AzH0ajXhB3UjPxpaVzd37uyls5cunRv30Fx0vhxRDfXdLLbhZWU2W1mGGNtbEPuXdStz+2ycu/+kbmv4YLOWZ3merdEyNSweW0KMxXkW1+J4RwxeMeRfCIbhMsu7/LUd0QgkSYkW8TS5wznVlg93W8LnEiUooAIqFYBQkxBnSIxkMStJVLUPoah90cCqlSurWkSI6ijdGGv0v0Wv3iaIa1i9KLJ+QoR0Wk0l2YCo6jO5unpq9dTJkyesW7uu+oZp09q0iLDXvOQNG0r9uxbtNdU2hIcidV4YELTpt40C17WIsMk9oAyapxMbNxiCR4uRWAP2TNOZ3S/KCmdEyfggEORQ9Xh4kKPkM8O6AjbIS/BWfZLED+N5StmbisEZRttRTzVD2LZtUdW09gPbFx0tatuE0Y2E/YYeVYlI0E7ELYjET68vJJS9nZdRc1shq7dgzRIeKfrtj0W//LTojTDCOE2pMsjb3BiQhSo+gF3jOJNhKQwPUgqcBdqhER+Cc4efUOvL8nFKwhxn/tjKtNLTY12HO3z15ecnTiz4ODaEkUEBgoKqIRAdgR3u8NmC4wuOd3g/noSoWoILGgHU5w7/jGpxbQ28dJRl3/AoPfR6jKIUqcnKstkm2fpnZOlZGSFBqUgQtLt6/9vvSf0Y/19qENYbgIpHSQBvFk6ekgy2NZO9SIqk1Pag7Ttvvttb6pu3Ps9lTtvsqsiTtmLpnC83L8fpyjXlmpMVhDYS+IKbN6YkBNINaubunWiMphTh9d0L1tcqMj6IDwKdszgeYYR9u6old/bsi1SsRohhs3heVBK2mz1QLQTthOe3Xyj1q8xJ3uwZZ/A5jbI17GlPyUlNTk31jHN6DQoyhgLuQNVm7l7bWZkPb719FBnKCIcOTJ8h9bVi8GO16hCdLAxR1N9E6HSsDlOmDGjLNBOlcnR6KlY6RFitODzFlrCM799qyt1eZV1KEqhU+E+/5EiE8EML/8qgXVdIfbPHZhfkrrp2bL5J2sqmJptL8nOzi9fnFxekKgjLUOB/rub58obMCEGjVoGzI7x8986Z5zydsDcQkMXWQguPJG4No25tslXYt08Vs62N8TaYvUnKNVSh6tVBuxl798iE7/QYuRSO5jhB2koYGCHZ4PBwKV2MnF5BhlPqxsqC1uJshKChUDIk3qsOPPmy1LeXIIgMzToYWtqK6nS0vRNNC+P1gqgUPrwFfYuFP+DiWK5hCwhjFzSF/WuzOnd2uwt9fEcZ4dp+l52VxSWvPueQb4ugMc7lcY8GhA+iC5+CETqLhV8Ww5iwmmbKsD4glPHtg3bIhJ/mMpucuelpabK8jqVyqdkVOea0nOtzTR4FYQoKvM1MadcJfSUjvO+uB2MlfP+hgrtLAoUf5VAhzPCe++MepVD4gAmlw71bZMLvnZ5ucBhpe0+ZDokuUPgpnJETofDtkYSfEjhUKP8ks0G5eaOoVPjbpt8t9XUYOU+6gfZYZIUEytMOzmB39OzJGThaQZgBv1EPFeIr/AiHCnEMmmiHCgMnnJHI4oFNjGzySEBGVDZsD2g+ovChX3DzjpCeptT1AaEdf8CgHbKgcbnSXBUmoykvRyb8ZKMnrSIzz2Q2myKV+iHhY0laJeGRfhLhW/dcqWulxqOOkOFNp7v78IRm/BZkiztiF6WRDxX85zRFIKTDGfu3PCr1SxcEmGd1jMDKhD9+jE6kRZHWdrILSh3CTsVAXZqa5eWUhA8P7UqGuuu0bfpDso3fuJXjDILHIBc+LQgp6XaHMd1o4HpFyvgZzUzpE49Jn5563wv+qRk/ej6culFSCG96RBc74UcmnHJnH2A5K/xdj0t9S0oLirMrvSWrKmSlvvMmZ3GBuTI/u7IkX1nqW1BQ2wzh6FskNY11eyuFH2kC4DJRf581/B+tQHzfK4e9ZsIQBkFHbURgLQMfX9x4vAlh1sMhIYnAhxhYxVgSNE6C+E+F0KWJpZuIrEgs4WBkSI9E8vXQIJrlCWTssRwSajSDJyYoXFYM0Wj+BNjsk7mwYOwbAAAAAElFTkSuQmCC\";\n export default img;","import * as React from 'react';\n\nimport {\n Box,\n Button,\n Divider,\n Flex,\n FlexComponent,\n Popover,\n Typography,\n TypographyComponent,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { Cross, Message, Play, Question, Book, PaperPlane } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport onboardingPreview from '../assets/images/onboarding-preview.png';\nimport { useAppInfo } from '../features/AppInfo';\n\nconst Onboarding = () => {\n const [isOpen, setIsOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n const communityEdition = useAppInfo('Onboarding', (state) => state.communityEdition);\n\n const docLinks = [\n ...DOCUMENTATION_LINKS,\n {\n label: { id: 'Settings.application.get-help', defaultMessage: 'Get help' },\n icon: Message,\n href: communityEdition\n ? 'https://discord.strapi.io'\n : 'https://support.strapi.io/support/home',\n },\n ];\n\n const Icon = isOpen ? Cross : Question;\n\n return (\n <Popover.Root onOpenChange={setIsOpen}>\n <Box position=\"fixed\" bottom={2} right={2}>\n <Popover.Trigger>\n <HelperButton\n aria-label={formatMessage(\n isOpen\n ? {\n id: 'app.components.Onboarding.help.button-close',\n defaultMessage: 'Close help menu',\n }\n : {\n id: 'app.components.Onboarding.help.button',\n defaultMessage: 'Open help menu',\n }\n )}\n >\n <Icon fill=\"buttonNeutral0\" />\n </HelperButton>\n </Popover.Trigger>\n <Popover.Content align=\"end\" side=\"top\" sideOffset={12}>\n <Flex\n justifyContent=\"space-between\"\n paddingBottom={5}\n paddingRight={6}\n paddingLeft={6}\n paddingTop={6}\n >\n <TypographyLineHeight fontWeight=\"bold\">\n {formatMessage({\n id: 'app.components.Onboarding.title',\n defaultMessage: 'Get started videos',\n })}\n </TypographyLineHeight>\n <TextLink\n tag=\"a\"\n href={WATCH_MORE.href}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n variant=\"pi\"\n textColor=\"primary600\"\n >\n {formatMessage(WATCH_MORE.label)}\n </TextLink>\n </Flex>\n <Divider />\n {VIDEO_LINKS.map(({ href, duration, label }, index) => (\n <VideoLinkWrapper\n tag=\"a\"\n href={href}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n key={href}\n hasRadius\n paddingTop={4}\n paddingBottom={4}\n paddingLeft={6}\n paddingRight={11}\n >\n <Box paddingRight={5}>\n <Number textColor=\"neutral200\" variant=\"alpha\">\n {index + 1}\n </Number>\n </Box>\n <Box position=\"relative\">\n <Preview src={onboardingPreview} alt=\"\" />\n <IconWrapper\n position=\"absolute\"\n top=\"50%\"\n left=\"50%\"\n background=\"primary600\"\n borderRadius=\"50%\"\n justifyContent=\"center\"\n width={6}\n height={6}\n >\n <Play fill=\"buttonNeutral0\" width=\"12\" height=\"12\" />\n </IconWrapper>\n </Box>\n <Flex direction=\"column\" alignItems=\"start\" paddingLeft={4}>\n <Label fontWeight=\"bold\">{formatMessage(label)}</Label>\n <VisuallyHidden>:</VisuallyHidden>\n <Typography textColor=\"neutral600\" variant=\"pi\">\n {duration}\n </Typography>\n </Flex>\n </VideoLinkWrapper>\n ))}\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={2}\n paddingLeft={5}\n paddingTop={2}\n paddingBottom={5}\n >\n {docLinks.map(({ label, href, icon: Icon }) => (\n <Flex gap={3} key={href}>\n <Icon fill=\"primary600\" />\n <TextLink\n tag=\"a\"\n href={href}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n variant=\"sigma\"\n textColor=\"primary700\"\n >\n {formatMessage(label)}\n </TextLink>\n </Flex>\n ))}\n </Flex>\n </Popover.Content>\n </Box>\n </Popover.Root>\n );\n};\n\n// TODO: use new Button props derived from Box props with next DS release\nconst HelperButton = styled(Button)`\n border-radius: 50%;\n padding: ${({ theme }) => theme.spaces[3]};\n /* Resetting 2rem height defined by Button component */\n height: unset;\n width: unset;\n\n & > span {\n display: flex;\n\n svg {\n width: 1.6rem;\n height: 1.6rem;\n }\n }\n`;\n\nconst IconWrapper = styled<FlexComponent>(Flex)`\n transform: translate(-50%, -50%);\n`;\n\nconst Number = styled<TypographyComponent>(Typography)``;\n\nconst Label = styled<TypographyComponent>(Typography)``;\n\nconst VideoLinkWrapper = styled<FlexComponent<'a'>>(Flex)`\n text-decoration: none;\n\n :focus-visible {\n outline-offset: ${({ theme }) => `-${theme.spaces[1]}`};\n }\n\n :hover {\n background: ${({ theme }) => theme.colors.primary100};\n\n /* Hover style for the number displayed */\n ${Number} {\n color: ${({ theme }) => theme.colors.primary500};\n }\n\n /* Hover style for the label */\n ${Label} {\n color: ${({ theme }) => theme.colors.primary600};\n }\n }\n`;\n\nconst Preview = styled.img`\n width: ${({ theme }) => theme.spaces[10]};\n height: ${({ theme }) => theme.spaces[8]};\n /* Same overlay used in ModalLayout */\n background: ${({ theme }) => `${theme.colors.neutral800}1F`};\n border-radius: ${({ theme }) => theme.borderRadius};\n`;\n\nconst TypographyLineHeight = styled<TypographyComponent>(Typography)`\n /* line height of label and watch more to 1 so they can be better aligned visually */\n line-height: 1;\n`;\n\nconst TextLink = styled<TypographyComponent<'a'>>(Typography)`\n text-decoration: none;\n line-height: 1;\n\n :hover {\n text-decoration: underline;\n }\n`;\n\nconst VIDEO_LINKS = [\n {\n label: {\n id: 'app.components.Onboarding.link.build-content',\n defaultMessage: 'Build a content architecture',\n },\n href: 'https://www.youtube.com/watch?v=G9GjN0RxhkE',\n duration: '5:48',\n },\n {\n label: {\n id: 'app.components.Onboarding.link.manage-content',\n defaultMessage: 'Add & manage content',\n },\n href: 'https://www.youtube.com/watch?v=DEZw4KbybAI',\n duration: '3:18',\n },\n {\n label: { id: 'app.components.Onboarding.link.manage-media', defaultMessage: 'Manage media' },\n href: 'https://www.youtube.com/watch?v=-61MuiMQb38',\n duration: '3:41',\n },\n];\n\nconst WATCH_MORE = {\n href: 'https://www.youtube.com/playlist?list=PL7Q0DQYATmvidz6lEmwE5nIcOAYagxWqq',\n label: {\n id: 'app.components.Onboarding.link.more-videos',\n defaultMessage: 'Watch more videos',\n },\n};\n\nconst DOCUMENTATION_LINKS = [\n {\n label: { id: 'global.documentation', defaultMessage: 'documentation' },\n href: 'https://docs.strapi.io',\n icon: Book,\n },\n {\n label: { id: 'app.static.links.cheatsheet', defaultMessage: 'cheatsheet' },\n href: 'https://strapi-showcase.s3-us-west-2.amazonaws.com/CheatSheet.pdf',\n icon: PaperPlane,\n },\n];\n\nexport { Onboarding };\n","import * as React from 'react';\n\nimport { produce } from 'immer';\n\nimport { Page } from '../components/PageHelpers';\nimport { StrapiAppContextValue, useStrapiApp } from '../features/StrapiApp';\n\n/**\n * TODO: this isn't great, and we really should focus on fixing this.\n */\nconst PluginsInitializer = ({ children }: { children: React.ReactNode }) => {\n const appPlugins = useStrapiApp('PluginsInitializer', (state) => state.plugins);\n const [{ plugins }, dispatch] = React.useReducer<React.Reducer<State, Action>, State>(\n reducer,\n initialState,\n () => init(appPlugins)\n );\n const setPlugin = React.useRef((pluginId: string) => {\n dispatch({ type: 'SET_PLUGIN_READY', pluginId });\n });\n\n const hasApluginNotReady = Object.keys(plugins).some(\n (plugin) => plugins[plugin].isReady === false\n );\n\n /**\n *\n * I have spent some time trying to understand what is happening here, and wanted to\n * leave that knowledge for my future me:\n *\n * `initializer` is an undocumented property of the `registerPlugin` API. At the time\n * of writing it seems only to be used by the i18n plugin.\n *\n * How does it work?\n *\n * Every plugin that has an `initializer` component defined, receives the\n * `setPlugin` function as a component prop. In the case of i18n the plugin fetches locales\n * first and calls `setPlugin` with `pluginId` once they are loaded, which then triggers the\n * reducer of the admin app defined above.\n *\n * Once all plugins are set to `isReady: true` the app renders.\n *\n * This API is used to block rendering of the admin app. We should remove that in v5 completely\n * and make sure plugins can inject data into the global store before they are initialized, to avoid\n * having a new prop-callback based communication channel between plugins and the core admin app.\n *\n */\n\n if (hasApluginNotReady) {\n const initializers = Object.keys(plugins).reduce((acc, current) => {\n const InitializerComponent = plugins[current].initializer;\n\n if (InitializerComponent) {\n const key = plugins[current].pluginId;\n\n acc.push(<InitializerComponent key={key} setPlugin={setPlugin.current} />);\n }\n\n return acc;\n }, [] as React.ReactNode[]);\n\n return (\n <>\n {initializers}\n <Page.Loading />\n </>\n );\n }\n\n return children;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Reducer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface State {\n plugins: StrapiAppContextValue['plugins'];\n}\n\nconst initialState: State = {\n plugins: {},\n};\n\ntype SetPluginReadyAction = {\n type: 'SET_PLUGIN_READY';\n pluginId: string;\n};\n\ntype Action = SetPluginReadyAction;\n\nconst reducer: React.Reducer<State, Action> = (state = initialState, action: Action): State =>\n produce(state, (draftState) => {\n switch (action.type) {\n case 'SET_PLUGIN_READY': {\n draftState.plugins[action.pluginId].isReady = true;\n break;\n }\n default:\n return draftState;\n }\n });\n\n/* -------------------------------------------------------------------------------------------------\n * Init state\n * -----------------------------------------------------------------------------------------------*/\n\nconst init = (plugins: State['plugins']): State => {\n return {\n plugins,\n };\n};\n\nexport { PluginsInitializer };\n","import * as React from 'react';\n\nimport { Cog, ShoppingCart, House } from '@strapi/icons';\nimport cloneDeep from 'lodash/cloneDeep';\n\nimport { useTypedSelector } from '../core/store/hooks';\nimport { useAuth, AuthContextValue } from '../features/Auth';\nimport { StrapiAppContextValue, useStrapiApp } from '../features/StrapiApp';\n\n/* -------------------------------------------------------------------------------------------------\n * useMenu\n * -----------------------------------------------------------------------------------------------*/\n\nexport type MenuItem = Omit<StrapiAppContextValue['menu'][number], 'Component'>;\n\nexport interface Menu {\n generalSectionLinks: MenuItem[];\n pluginsSectionLinks: MenuItem[];\n isLoading: boolean;\n}\n\nconst useMenu = (shouldUpdateStrapi: boolean) => {\n const checkUserHasPermissions = useAuth('useMenu', (state) => state.checkUserHasPermissions);\n const menu = useStrapiApp('useMenu', (state) => state.menu);\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const [menuWithUserPermissions, setMenuWithUserPermissions] = React.useState<Menu>({\n generalSectionLinks: [\n {\n icon: House,\n intlLabel: {\n id: 'global.home',\n defaultMessage: 'Home',\n },\n to: '/',\n permissions: [],\n position: 0,\n },\n {\n icon: ShoppingCart,\n intlLabel: {\n id: 'global.marketplace',\n defaultMessage: 'Marketplace',\n },\n to: '/marketplace',\n permissions: permissions.marketplace?.main ?? [],\n position: 7,\n },\n {\n icon: Cog,\n intlLabel: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n to: '/settings',\n // Permissions of this link are retrieved in the init phase\n // using the settings menu\n permissions: [],\n notificationsCount: 0,\n position: 9,\n },\n ],\n pluginsSectionLinks: [],\n isLoading: true,\n });\n const generalSectionLinksRef = React.useRef(menuWithUserPermissions.generalSectionLinks);\n\n React.useEffect(() => {\n async function applyMenuPermissions() {\n const authorizedPluginSectionLinks = await getPluginSectionLinks(\n menu,\n checkUserHasPermissions\n );\n\n const authorizedGeneralSectionLinks = await getGeneralLinks(\n generalSectionLinksRef.current,\n shouldUpdateStrapi,\n checkUserHasPermissions\n );\n\n setMenuWithUserPermissions((state) => ({\n ...state,\n generalSectionLinks: authorizedGeneralSectionLinks,\n pluginsSectionLinks: authorizedPluginSectionLinks,\n isLoading: false,\n }));\n }\n\n applyMenuPermissions();\n }, [\n setMenuWithUserPermissions,\n generalSectionLinksRef,\n menu,\n permissions,\n shouldUpdateStrapi,\n checkUserHasPermissions,\n ]);\n\n return menuWithUserPermissions;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Utils\n * -----------------------------------------------------------------------------------------------*/\n\nconst getGeneralLinks = async (\n generalSectionRawLinks: MenuItem[],\n shouldUpdateStrapi: boolean = false,\n checkUserHasPermissions: AuthContextValue['checkUserHasPermissions']\n) => {\n const generalSectionLinksPermissions = await Promise.all(\n generalSectionRawLinks.map(({ permissions }) => checkUserHasPermissions(permissions))\n );\n\n const authorizedGeneralSectionLinks = generalSectionRawLinks.filter(\n (_, index) => generalSectionLinksPermissions[index].length > 0\n );\n\n const settingsLinkIndex = authorizedGeneralSectionLinks.findIndex(\n (obj) => obj.to === '/settings'\n );\n\n if (settingsLinkIndex === -1) {\n return [];\n }\n\n const authorizedGeneralLinksClone = cloneDeep(authorizedGeneralSectionLinks);\n\n authorizedGeneralLinksClone[settingsLinkIndex].notificationsCount = shouldUpdateStrapi ? 1 : 0;\n\n return authorizedGeneralLinksClone;\n};\n\nconst getPluginSectionLinks = async (\n pluginsSectionRawLinks: MenuItem[],\n checkUserHasPermissions: AuthContextValue['checkUserHasPermissions']\n) => {\n const pluginSectionLinksPermissions = await Promise.all(\n pluginsSectionRawLinks.map(({ permissions }) => checkUserHasPermissions(permissions))\n );\n\n const authorizedPluginSectionLinks = pluginsSectionRawLinks.filter(\n (_, index) => pluginSectionLinksPermissions[index].length > 0\n );\n\n return authorizedPluginSectionLinks;\n};\n\nexport { useMenu };\n","import * as React from 'react';\n\nimport { version as strapiVersion } from '@strapi/admin/package.json';\nimport { Box, Flex, SkipToContent } from '@strapi/design-system';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { useIntl } from 'react-intl';\nimport { Outlet } from 'react-router-dom';\nimport lt from 'semver/functions/lt';\nimport valid from 'semver/functions/valid';\n\nimport { GuidedTourModal } from '../components/GuidedTour/Modal';\nimport { useGuidedTour } from '../components/GuidedTour/Provider';\nimport { LeftMenu } from '../components/LeftMenu';\nimport { NpsSurvey } from '../components/NpsSurvey';\nimport { Onboarding } from '../components/Onboarding';\nimport { Page } from '../components/PageHelpers';\nimport { PluginsInitializer } from '../components/PluginsInitializer';\nimport { PrivateRoute } from '../components/PrivateRoute';\nimport { AppInfoProvider } from '../features/AppInfo';\nimport { useAuth } from '../features/Auth';\nimport { useConfiguration } from '../features/Configuration';\nimport { useTracking } from '../features/Tracking';\nimport { useMenu } from '../hooks/useMenu';\nimport { useOnce } from '../hooks/useOnce';\nimport { useInformationQuery } from '../services/admin';\nimport { hashAdminUserEmail } from '../utils/users';\n\nconst AdminLayout = () => {\n const setGuidedTourVisibility = useGuidedTour(\n 'AdminLayout',\n (state) => state.setGuidedTourVisibility\n );\n const { formatMessage } = useIntl();\n const userInfo = useAuth('AuthenticatedApp', (state) => state.user);\n const [userId, setUserId] = React.useState<string>();\n const { showReleaseNotification } = useConfiguration('AuthenticatedApp');\n\n const { data: appInfo, isLoading: isLoadingAppInfo } = useInformationQuery();\n\n const [tagName, setTagName] = React.useState<string>(strapiVersion);\n\n React.useEffect(() => {\n if (showReleaseNotification) {\n fetch('https://api.github.com/repos/strapi/strapi/releases/latest')\n .then(async (res) => {\n if (!res.ok) {\n return;\n }\n\n const response = (await res.json()) as { tag_name: string | null | undefined };\n\n if (!response.tag_name) {\n throw new Error();\n }\n\n setTagName(response.tag_name);\n })\n .catch(() => {\n /**\n * silence is golden & we'll use the strapiVersion as a fallback\n */\n });\n }\n }, [showReleaseNotification]);\n\n const userRoles = useAuth('AuthenticatedApp', (state) => state.user?.roles);\n\n React.useEffect(() => {\n if (userRoles) {\n const isUserSuperAdmin = userRoles.find(({ code }) => code === 'strapi-super-admin');\n\n if (isUserSuperAdmin && appInfo?.autoReload) {\n setGuidedTourVisibility(true);\n }\n }\n }, [userRoles, appInfo?.autoReload, setGuidedTourVisibility]);\n\n React.useEffect(() => {\n hashAdminUserEmail(userInfo).then((id) => {\n if (id) {\n setUserId(id);\n }\n });\n }, [userInfo]);\n\n const { trackUsage } = useTracking();\n\n const {\n isLoading: isLoadingMenu,\n generalSectionLinks,\n pluginsSectionLinks,\n } = useMenu(checkLatestStrapiVersion(strapiVersion, tagName));\n const { showTutorials } = useConfiguration('Admin');\n\n /**\n * Make sure the event is only send once after accessing the admin panel\n * and not at runtime for example when regenerating the permissions with the ctb\n * or with i18n\n */\n useOnce(() => {\n trackUsage('didAccessAuthenticatedAdministration');\n });\n\n // We don't need to wait for the release query to be fetched before rendering the plugins\n // however, we need the appInfos and the permissions\n if (isLoadingMenu || isLoadingAppInfo) {\n return <Page.Loading />;\n }\n\n return (\n <AppInfoProvider\n {...appInfo}\n userId={userId}\n latestStrapiReleaseTag={tagName}\n shouldUpdateStrapi={checkLatestStrapiVersion(strapiVersion, tagName)}\n >\n <NpsSurvey />\n <PluginsInitializer>\n <DndProvider backend={HTML5Backend}>\n <Box background=\"neutral100\">\n <SkipToContent>\n {formatMessage({ id: 'skipToContent', defaultMessage: 'Skip to content' })}\n </SkipToContent>\n <Flex alignItems=\"flex-start\">\n <LeftMenu\n generalSectionLinks={generalSectionLinks}\n pluginsSectionLinks={pluginsSectionLinks}\n />\n <Box flex={1}>\n <Outlet />\n <GuidedTourModal />\n {showTutorials && <Onboarding />}\n </Box>\n </Flex>\n </Box>\n </DndProvider>\n </PluginsInitializer>\n </AppInfoProvider>\n );\n};\n\nconst PrivateAdminLayout = () => {\n return (\n <PrivateRoute>\n <AdminLayout />\n </PrivateRoute>\n );\n};\n\nconst checkLatestStrapiVersion = (\n currentPackageVersion: string,\n latestPublishedVersion: string = ''\n): boolean => {\n if (!valid(currentPackageVersion) || !valid(latestPublishedVersion)) {\n return false;\n }\n\n return lt(currentPackageVersion, latestPublishedVersion);\n};\n\nexport { AdminLayout, PrivateAdminLayout };\n"],"names":["GuidedTourModal","guidedTour","useGuidedTour","state","currentStep","guidedTourState","setCurrentStep","setStepState","isGuidedTourVisible","setSkipped","formatMessage","useIntl","trackUsage","useTracking","stepData","get","LAYOUT_DATA","sectionKeys","Object","keys","sectionName","stepName","split","sectionIndex","indexOf","stepIndex","hasSectionAfter","length","hasStepAfter","handleCtaClick","trackingEvent","handleSkip","_jsx","Portal","ModalWrapper","onClick","padding","justifyContent","FocusTrap","onEscape","_jsxs","Flex","direction","alignItems","background","width","shadow","hasRadius","gap","role","aria-modal","e","stopPropagation","IconButton","withTooltip","label","id","defaultMessage","Cross","Box","paddingLeft","paddingRight","paddingBottom","GuidedTourStepper","title","undefined","cta","onCtaClick","GuidedTourContent","content","Button","variant","styled","theme","colors","neutral800","children","hasSectionBefore","hasStepsBefore","nextSectionIndex","_Fragment","marginRight","minWidth","VerticalDivider","STATES","IS_DONE","minHeight","Typography","textColor","Number","IS_ACTIVE","paddingTop","fontWeight","tag","target","LinkButton","NavLink","endIcon","ArrowRight","to","documentationLink","DocumentationLink","b","Bold","p","Paragraph","light","Light","ul","List","li","ListItem","rel","href","LiStyled","MainNavWrapper","neutral150","MainNav","props","height","position","top","zIndex","BrandIconWrapper","borderRadius","NavBrand","logos","menu","useConfiguration","img","src","custom","url","default","alt","VisuallyHidden","span","MainNavLinkWrapper","RouterLink","neutral0","neutral500","neutral600","neutral100","primary600","primary100","LinkImpl","TooltipImpl","Tooltip","side","delayDuration","IconImpl","AccessibleIcon","CustomBadge","Badge","spaces","BadgeImpl","left","aria-label","active","Link","Icon","MenuTrigger","Menu","Trigger","MenuContent","Content","MenuItem","Item","MenuItemDanger","danger100","NavUser","initials","navigate","useNavigate","logout","useAuth","handleProfile","handleLogout","borderStyle","borderWidth","borderColor","Root","fullWidth","Avatar","delayMs","fallback","popoverPlacement","onSelect","color","SignOut","sortLinks","links","sort","a","positionA","positionB","NavLinkBadgeCounter","NavLinkBadgeLock","NavListWrapper","LeftMenu","generalSectionLinks","pluginsSectionLinks","user","pathname","useLocation","userDisplayName","getDisplayName","locale","formatter","useCollator","sensitivity","map","name","substring","join","handleClickOnLink","destination","from","listLinksAlphabeticallySorted","compare","intlLabel","listLinks","Divider","flex","link","LinkIcon","icon","badgeContentLock","licenseOnly","Lightning","fill","badgeContentNumeric","notificationsCount","toString","labelValue","backgroundColor","Onboarding","isOpen","setIsOpen","React","useState","communityEdition","useAppInfo","docLinks","DOCUMENTATION_LINKS","Message","Question","Popover","onOpenChange","bottom","right","HelperButton","align","sideOffset","TypographyLineHeight","TextLink","WATCH_MORE","VIDEO_LINKS","duration","index","VideoLinkWrapper","Preview","onboardingPreview","IconWrapper","Play","Label","primary500","Book","PaperPlane","PluginsInitializer","appPlugins","useStrapiApp","plugins","dispatch","useReducer","reducer","initialState","init","setPlugin","useRef","pluginId","type","hasApluginNotReady","some","plugin","isReady","initializers","reduce","acc","current","InitializerComponent","initializer","key","push","Page","Loading","action","produce","draftState","useMenu","shouldUpdateStrapi","checkUserHasPermissions","permissions","useTypedSelector","admin_app","menuWithUserPermissions","setMenuWithUserPermissions","House","ShoppingCart","marketplace","main","Cog","isLoading","generalSectionLinksRef","useEffect","applyMenuPermissions","authorizedPluginSectionLinks","getPluginSectionLinks","authorizedGeneralSectionLinks","getGeneralLinks","generalSectionRawLinks","generalSectionLinksPermissions","Promise","all","filter","_","settingsLinkIndex","findIndex","obj","authorizedGeneralLinksClone","cloneDeep","pluginsSectionRawLinks","pluginSectionLinksPermissions","AdminLayout","setGuidedTourVisibility","userInfo","userId","setUserId","showReleaseNotification","data","appInfo","isLoadingAppInfo","useInformationQuery","tagName","setTagName","strapiVersion","fetch","then","res","ok","response","json","tag_name","Error","catch","userRoles","roles","isUserSuperAdmin","find","code","autoReload","hashAdminUserEmail","isLoadingMenu","checkLatestStrapiVersion","showTutorials","useOnce","AppInfoProvider","latestStrapiReleaseTag","NpsSurvey","DndProvider","backend","HTML5Backend","SkipToContent","Outlet","PrivateAdminLayout","PrivateRoute","currentPackageVersion","latestPublishedVersion","valid","lt"],"mappings":"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"}