@strapi/admin 5.10.3 → 5.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/dist/admin/chunks/{ApplicationInfoPage-DiEcqVEU.mjs → ApplicationInfoPage-BZwUO73O.mjs} +2 -2
  2. package/dist/admin/chunks/{ApplicationInfoPage-DiEcqVEU.mjs.map → ApplicationInfoPage-BZwUO73O.mjs.map} +1 -1
  3. package/dist/admin/chunks/{ApplicationInfoPage-CsBvES_c.js → ApplicationInfoPage-DJOazrYK.js} +2 -2
  4. package/dist/admin/chunks/{ApplicationInfoPage-CsBvES_c.js.map → ApplicationInfoPage-DJOazrYK.js.map} +1 -1
  5. package/dist/admin/chunks/{AuthenticatedLayout-D_VSoB1l.js → AuthenticatedLayout-Dy75FZrh.js} +7 -6
  6. package/dist/admin/chunks/AuthenticatedLayout-Dy75FZrh.js.map +1 -0
  7. package/dist/admin/chunks/{AuthenticatedLayout-C9eZ12Ue.mjs → AuthenticatedLayout-jDyinb04.mjs} +7 -6
  8. package/dist/admin/chunks/AuthenticatedLayout-jDyinb04.mjs.map +1 -0
  9. package/dist/admin/chunks/{CreatePage-DQDa78K3.mjs → CreatePage-BO4p8eVo.mjs} +2 -2
  10. package/dist/admin/chunks/{CreatePage-DQDa78K3.mjs.map → CreatePage-BO4p8eVo.mjs.map} +1 -1
  11. package/dist/admin/chunks/{CreatePage-DbmpFjHt.js → CreatePage-Bgs19RIr.js} +2 -2
  12. package/dist/admin/chunks/{CreatePage-DbmpFjHt.js.map → CreatePage-Bgs19RIr.js.map} +1 -1
  13. package/dist/admin/chunks/{CreatePage-Cb-ETkOn.mjs → CreatePage-CvMkpe3b.mjs} +3 -3
  14. package/dist/admin/chunks/{CreatePage-Cb-ETkOn.mjs.map → CreatePage-CvMkpe3b.mjs.map} +1 -1
  15. package/dist/admin/chunks/{CreatePage-DkzHz0zk.js → CreatePage-D0kjwP8s.js} +3 -3
  16. package/dist/admin/chunks/{CreatePage-DkzHz0zk.js.map → CreatePage-D0kjwP8s.js.map} +1 -1
  17. package/dist/admin/chunks/{CreateView-CmubtWzn.mjs → CreateView-B5Rq5Uhw.mjs} +4 -4
  18. package/dist/admin/chunks/{CreateView-CmubtWzn.mjs.map → CreateView-B5Rq5Uhw.mjs.map} +1 -1
  19. package/dist/admin/chunks/{CreateView-CE4-drK6.js → CreateView-DCsm2KBZ.js} +4 -4
  20. package/dist/admin/chunks/{CreateView-CE4-drK6.js.map → CreateView-DCsm2KBZ.js.map} +1 -1
  21. package/dist/admin/chunks/{CreateView-yjsS9KUJ.js → CreateView-DGq7e-Zm.js} +4 -4
  22. package/dist/admin/chunks/{CreateView-yjsS9KUJ.js.map → CreateView-DGq7e-Zm.js.map} +1 -1
  23. package/dist/admin/chunks/{CreateView-DZaIevIB.mjs → CreateView-h_bF5XrZ.mjs} +4 -4
  24. package/dist/admin/chunks/{CreateView-DZaIevIB.mjs.map → CreateView-h_bF5XrZ.mjs.map} +1 -1
  25. package/dist/admin/chunks/{EditPage-CNaAuT5C.js → EditPage-85v6bKcJ.js} +3 -3
  26. package/dist/admin/chunks/{EditPage-CNaAuT5C.js.map → EditPage-85v6bKcJ.js.map} +1 -1
  27. package/dist/admin/chunks/{EditPage-C44OaxjN.mjs → EditPage-CBrPs4kH.mjs} +3 -3
  28. package/dist/admin/chunks/{EditPage-C44OaxjN.mjs.map → EditPage-CBrPs4kH.mjs.map} +1 -1
  29. package/dist/admin/chunks/{EditPage-Bjr4f1Bs.mjs → EditPage-CFSx_zaS.mjs} +3 -3
  30. package/dist/admin/chunks/{EditPage-Bjr4f1Bs.mjs.map → EditPage-CFSx_zaS.mjs.map} +1 -1
  31. package/dist/admin/chunks/{EditPage-CycQlsFL.js → EditPage-CK8pIRKZ.js} +3 -3
  32. package/dist/admin/chunks/{EditPage-CycQlsFL.js.map → EditPage-CK8pIRKZ.js.map} +1 -1
  33. package/dist/admin/chunks/{EditPage-BrMhV8aB.js → EditPage-DHtr1mq1.js} +6 -6
  34. package/dist/admin/chunks/{EditPage-BrMhV8aB.js.map → EditPage-DHtr1mq1.js.map} +1 -1
  35. package/dist/admin/chunks/{EditPage-MmQQ4hWc.mjs → EditPage-DrT9bgfE.mjs} +6 -6
  36. package/dist/admin/chunks/{EditPage-MmQQ4hWc.mjs.map → EditPage-DrT9bgfE.mjs.map} +1 -1
  37. package/dist/admin/chunks/{EditView-C9cKaoY1.js → EditView-CfJxHMkF.js} +3 -3
  38. package/dist/admin/chunks/{EditView-C9cKaoY1.js.map → EditView-CfJxHMkF.js.map} +1 -1
  39. package/dist/admin/chunks/{EditView-CFIkvFrt.mjs → EditView-XfGT5Bj1.mjs} +3 -3
  40. package/dist/admin/chunks/{EditView-CFIkvFrt.mjs.map → EditView-XfGT5Bj1.mjs.map} +1 -1
  41. package/dist/admin/chunks/{EditViewPage-CwdhHAuX.mjs → EditViewPage-BLftPAqX.mjs} +3 -3
  42. package/dist/admin/chunks/{EditViewPage-CwdhHAuX.mjs.map → EditViewPage-BLftPAqX.mjs.map} +1 -1
  43. package/dist/admin/chunks/{EditViewPage-DBga-70A.js → EditViewPage-Dvm8m28e.js} +3 -3
  44. package/dist/admin/chunks/{EditViewPage-DBga-70A.js.map → EditViewPage-Dvm8m28e.js.map} +1 -1
  45. package/dist/admin/chunks/{EventsTable-fkWvAMuL.js → EventsTable-C1FNa1mh.js} +3 -3
  46. package/dist/admin/chunks/{EventsTable-fkWvAMuL.js.map → EventsTable-C1FNa1mh.js.map} +1 -1
  47. package/dist/admin/chunks/{EventsTable-CeqMb1jP.mjs → EventsTable-aDYIp-4O.mjs} +3 -3
  48. package/dist/admin/chunks/{EventsTable-CeqMb1jP.mjs.map → EventsTable-aDYIp-4O.mjs.map} +1 -1
  49. package/dist/admin/chunks/{HomePage-CVc0RfvD.js → HomePage-8CeDS3qO.js} +3 -3
  50. package/dist/admin/chunks/{HomePage-CVc0RfvD.js.map → HomePage-8CeDS3qO.js.map} +1 -1
  51. package/dist/admin/chunks/{HomePage-B2skN1xt.js → HomePage-BKwoMagC.js} +3 -3
  52. package/dist/admin/chunks/{HomePage-B2skN1xt.js.map → HomePage-BKwoMagC.js.map} +1 -1
  53. package/dist/admin/chunks/{HomePage-DGTeFboL.mjs → HomePage-BRggBAHf.mjs} +3 -3
  54. package/dist/admin/chunks/{HomePage-DGTeFboL.mjs.map → HomePage-BRggBAHf.mjs.map} +1 -1
  55. package/dist/admin/chunks/{HomePage-MfOqcIag.mjs → HomePage-DuRHJoC7.mjs} +3 -3
  56. package/dist/admin/chunks/{HomePage-MfOqcIag.mjs.map → HomePage-DuRHJoC7.mjs.map} +1 -1
  57. package/dist/admin/chunks/{InstalledPlugins-5j7xjDqh.mjs → InstalledPlugins-23tOdYYB.mjs} +2 -2
  58. package/dist/admin/chunks/{InstalledPlugins-5j7xjDqh.mjs.map → InstalledPlugins-23tOdYYB.mjs.map} +1 -1
  59. package/dist/admin/chunks/{InstalledPlugins-BXM3i3xr.js → InstalledPlugins-z8ODfbJj.js} +2 -2
  60. package/dist/admin/chunks/{InstalledPlugins-BXM3i3xr.js.map → InstalledPlugins-z8ODfbJj.js.map} +1 -1
  61. package/dist/admin/chunks/{Layout-DST1PxaO.js → Layout-BZgwh-LZ.js} +3 -3
  62. package/dist/admin/chunks/{Layout-DST1PxaO.js.map → Layout-BZgwh-LZ.js.map} +1 -1
  63. package/dist/admin/chunks/{Layout-DYjtK6iP.mjs → Layout-CmzbGRtV.mjs} +3 -3
  64. package/dist/admin/chunks/{Layout-DYjtK6iP.mjs.map → Layout-CmzbGRtV.mjs.map} +1 -1
  65. package/dist/admin/chunks/{ListPage-BhGt3EBQ.mjs → ListPage-BE3aimOU.mjs} +2 -2
  66. package/dist/admin/chunks/{ListPage-BhGt3EBQ.mjs.map → ListPage-BE3aimOU.mjs.map} +1 -1
  67. package/dist/admin/chunks/{ListPage-CWINpwfS.js → ListPage-BRVhZryp.js} +6 -6
  68. package/dist/admin/chunks/{ListPage-CWINpwfS.js.map → ListPage-BRVhZryp.js.map} +1 -1
  69. package/dist/admin/chunks/{ListPage-srJutHdv.mjs → ListPage-BuFQNHRU.mjs} +3 -3
  70. package/dist/admin/chunks/{ListPage-srJutHdv.mjs.map → ListPage-BuFQNHRU.mjs.map} +1 -1
  71. package/dist/admin/chunks/{ListPage-CLXy5r60.js → ListPage-C46MNvAQ.js} +3 -3
  72. package/dist/admin/chunks/{ListPage-CLXy5r60.js.map → ListPage-C46MNvAQ.js.map} +1 -1
  73. package/dist/admin/chunks/{ListPage-BVI0O8bq.mjs → ListPage-CTxfjKUP.mjs} +2 -2
  74. package/dist/admin/chunks/{ListPage-BVI0O8bq.mjs.map → ListPage-CTxfjKUP.mjs.map} +1 -1
  75. package/dist/admin/chunks/{ListPage-B5Hb8BA-.mjs → ListPage-CovdXetq.mjs} +6 -6
  76. package/dist/admin/chunks/{ListPage-B5Hb8BA-.mjs.map → ListPage-CovdXetq.mjs.map} +1 -1
  77. package/dist/admin/chunks/{ListPage-BgyypnOM.js → ListPage-D7fIXyTM.js} +5 -5
  78. package/dist/admin/chunks/{ListPage-BgyypnOM.js.map → ListPage-D7fIXyTM.js.map} +1 -1
  79. package/dist/admin/chunks/{ListPage-PwzVjSsA.mjs → ListPage-DoR-NV6v.mjs} +5 -5
  80. package/dist/admin/chunks/{ListPage-PwzVjSsA.mjs.map → ListPage-DoR-NV6v.mjs.map} +1 -1
  81. package/dist/admin/chunks/{ListPage-D21yUih2.js → ListPage-SVEmrFSg.js} +2 -2
  82. package/dist/admin/chunks/{ListPage-D21yUih2.js.map → ListPage-SVEmrFSg.js.map} +1 -1
  83. package/dist/admin/chunks/{ListPage-DbfL2rpi.js → ListPage-fOcHewxm.js} +2 -2
  84. package/dist/admin/chunks/{ListPage-DbfL2rpi.js.map → ListPage-fOcHewxm.js.map} +1 -1
  85. package/dist/admin/chunks/{ListView--KzJiQiO.mjs → ListView-BUbdI3-z.mjs} +3 -3
  86. package/dist/admin/chunks/{ListView--KzJiQiO.mjs.map → ListView-BUbdI3-z.mjs.map} +1 -1
  87. package/dist/admin/chunks/{ListView-DzwvQ8nW.js → ListView-CGHuleNQ.js} +3 -3
  88. package/dist/admin/chunks/{ListView-DzwvQ8nW.js.map → ListView-CGHuleNQ.js.map} +1 -1
  89. package/dist/admin/chunks/{ListView-CoGoDDiF.mjs → ListView-DxPGNDw_.mjs} +3 -3
  90. package/dist/admin/chunks/{ListView-CoGoDDiF.mjs.map → ListView-DxPGNDw_.mjs.map} +1 -1
  91. package/dist/admin/chunks/{ListView-DGfxO89i.js → ListView-HZFAPppY.js} +3 -3
  92. package/dist/admin/chunks/{ListView-DGfxO89i.js.map → ListView-HZFAPppY.js.map} +1 -1
  93. package/dist/admin/chunks/{Login-Dtkhd0GV.mjs → Login-B_Z4SJVp.mjs} +2 -2
  94. package/dist/admin/chunks/{Login-Dtkhd0GV.mjs.map → Login-B_Z4SJVp.mjs.map} +1 -1
  95. package/dist/admin/chunks/{Login-Iw84AH9L.js → Login-CjRacmoJ.js} +2 -2
  96. package/dist/admin/chunks/{Login-Iw84AH9L.js.map → Login-CjRacmoJ.js.map} +1 -1
  97. package/dist/admin/chunks/{MagicLinkEE-C5K8p8Rk.js → MagicLinkEE-DZLJwQiC.js} +4 -4
  98. package/dist/admin/chunks/{MagicLinkEE-C5K8p8Rk.js.map → MagicLinkEE-DZLJwQiC.js.map} +1 -1
  99. package/dist/admin/chunks/{MagicLinkEE-EcyHC46Y.mjs → MagicLinkEE-Oh6er0ux.mjs} +4 -4
  100. package/dist/admin/chunks/{MagicLinkEE-EcyHC46Y.mjs.map → MagicLinkEE-Oh6er0ux.mjs.map} +1 -1
  101. package/dist/admin/chunks/{MarketplacePage-CcAYozK2.mjs → MarketplacePage-BUksRtFV.mjs} +2 -2
  102. package/dist/admin/chunks/{MarketplacePage-CcAYozK2.mjs.map → MarketplacePage-BUksRtFV.mjs.map} +1 -1
  103. package/dist/admin/chunks/{MarketplacePage-BmqfuAvB.js → MarketplacePage-D-PvEBXN.js} +2 -2
  104. package/dist/admin/chunks/{MarketplacePage-BmqfuAvB.js.map → MarketplacePage-D-PvEBXN.js.map} +1 -1
  105. package/dist/admin/chunks/{ProfilePage-CN8SAQ9w.mjs → ProfilePage-D0cczhuo.mjs} +3 -3
  106. package/dist/admin/chunks/{ProfilePage-CN8SAQ9w.mjs.map → ProfilePage-D0cczhuo.mjs.map} +1 -1
  107. package/dist/admin/chunks/{ProfilePage-DiGV7o6c.js → ProfilePage-DghUK7p_.js} +3 -3
  108. package/dist/admin/chunks/{ProfilePage-DiGV7o6c.js.map → ProfilePage-DghUK7p_.js.map} +1 -1
  109. package/dist/admin/chunks/{PurchaseAuditLogs-DnWVbru3.js → PurchaseAuditLogs-BIBa5E6F.js} +2 -2
  110. package/dist/admin/chunks/{PurchaseAuditLogs-DnWVbru3.js.map → PurchaseAuditLogs-BIBa5E6F.js.map} +1 -1
  111. package/dist/admin/chunks/{PurchaseAuditLogs-BI41XTBD.mjs → PurchaseAuditLogs-BOqpGLyP.mjs} +2 -2
  112. package/dist/admin/chunks/{PurchaseAuditLogs-BI41XTBD.mjs.map → PurchaseAuditLogs-BOqpGLyP.mjs.map} +1 -1
  113. package/dist/admin/chunks/{PurchaseContentHistory-BzC2C4Pv.mjs → PurchaseContentHistory-DqyUHK_8.mjs} +2 -2
  114. package/dist/admin/chunks/{PurchaseContentHistory-BzC2C4Pv.mjs.map → PurchaseContentHistory-DqyUHK_8.mjs.map} +1 -1
  115. package/dist/admin/chunks/{PurchaseContentHistory-DUk7otrp.js → PurchaseContentHistory-y25nmJsq.js} +2 -2
  116. package/dist/admin/chunks/{PurchaseContentHistory-DUk7otrp.js.map → PurchaseContentHistory-y25nmJsq.js.map} +1 -1
  117. package/dist/admin/chunks/{PurchaseSingleSignOn-Bq0YHAHt.js → PurchaseSingleSignOn-DloQ-NfU.js} +2 -2
  118. package/dist/admin/chunks/{PurchaseSingleSignOn-Bq0YHAHt.js.map → PurchaseSingleSignOn-DloQ-NfU.js.map} +1 -1
  119. package/dist/admin/chunks/{PurchaseSingleSignOn-G1TKPP15.mjs → PurchaseSingleSignOn-L8wgCpHG.mjs} +2 -2
  120. package/dist/admin/chunks/{PurchaseSingleSignOn-G1TKPP15.mjs.map → PurchaseSingleSignOn-L8wgCpHG.mjs.map} +1 -1
  121. package/dist/admin/chunks/{SelectRoles-CKInlnSd.js → SelectRoles-ChZyGpDA.js} +3 -3
  122. package/dist/admin/chunks/{SelectRoles-CKInlnSd.js.map → SelectRoles-ChZyGpDA.js.map} +1 -1
  123. package/dist/admin/chunks/{SelectRoles-DR4KBZkw.mjs → SelectRoles-hAMu1PFv.mjs} +3 -3
  124. package/dist/admin/chunks/{SelectRoles-DR4KBZkw.mjs.map → SelectRoles-hAMu1PFv.mjs.map} +1 -1
  125. package/dist/admin/chunks/{SingleSignOnPage-CRzrEUGp.mjs → SingleSignOnPage-B-NIM66a.mjs} +3 -3
  126. package/dist/admin/chunks/{SingleSignOnPage-CRzrEUGp.mjs.map → SingleSignOnPage-B-NIM66a.mjs.map} +1 -1
  127. package/dist/admin/chunks/{SingleSignOnPage-DtRVlrGP.js → SingleSignOnPage-D-JNyyk2.js} +3 -3
  128. package/dist/admin/chunks/{SingleSignOnPage-DtRVlrGP.js.map → SingleSignOnPage-D-JNyyk2.js.map} +1 -1
  129. package/dist/admin/chunks/{Table-CBZnqMuN.js → Table-U6zMuKE5.js} +2 -2
  130. package/dist/admin/chunks/{Table-CBZnqMuN.js.map → Table-U6zMuKE5.js.map} +1 -1
  131. package/dist/admin/chunks/{Table-BohVeu0r.mjs → Table-b4wXHsis.mjs} +2 -2
  132. package/dist/admin/chunks/{Table-BohVeu0r.mjs.map → Table-b4wXHsis.mjs.map} +1 -1
  133. package/dist/admin/chunks/{TokenTypeSelect-CpEAVZ_b.mjs → TokenTypeSelect-BUFFAUgx.mjs} +2 -2
  134. package/dist/admin/chunks/{TokenTypeSelect-CpEAVZ_b.mjs.map → TokenTypeSelect-BUFFAUgx.mjs.map} +1 -1
  135. package/dist/admin/chunks/{TokenTypeSelect-BV_ZNiY_.js → TokenTypeSelect-DCa4dg3r.js} +2 -2
  136. package/dist/admin/chunks/{TokenTypeSelect-BV_ZNiY_.js.map → TokenTypeSelect-DCa4dg3r.js.map} +1 -1
  137. package/dist/admin/chunks/{UseCasePage-Bro5fyP3.mjs → UseCasePage-BlHgNz7W.mjs} +2 -2
  138. package/dist/admin/chunks/{UseCasePage-Bro5fyP3.mjs.map → UseCasePage-BlHgNz7W.mjs.map} +1 -1
  139. package/dist/admin/chunks/{UseCasePage-CipG2GC4.js → UseCasePage-CYCPZztF.js} +2 -2
  140. package/dist/admin/chunks/{UseCasePage-CipG2GC4.js.map → UseCasePage-CYCPZztF.js.map} +1 -1
  141. package/dist/admin/chunks/{constants-BddeukI7.mjs → constants-BY_PZgf3.mjs} +2 -2
  142. package/dist/admin/chunks/{constants-BddeukI7.mjs.map → constants-BY_PZgf3.mjs.map} +1 -1
  143. package/dist/admin/chunks/{constants-CaerHoe3.js → constants-D3gM8ElF.js} +2 -2
  144. package/dist/admin/chunks/{constants-CaerHoe3.js.map → constants-D3gM8ElF.js.map} +1 -1
  145. package/dist/admin/chunks/{index-HGaughzt.js → index-BdqtLS-k.js} +32 -32
  146. package/dist/admin/chunks/{index-HGaughzt.js.map → index-BdqtLS-k.js.map} +1 -1
  147. package/dist/admin/chunks/{index-BM8-DG5K.mjs → index-C3BO0YZa.mjs} +32 -32
  148. package/dist/admin/chunks/{index-BM8-DG5K.mjs.map → index-C3BO0YZa.mjs.map} +1 -1
  149. package/dist/admin/chunks/uk-D7QEPfXn.mjs +788 -0
  150. package/dist/admin/chunks/uk-D7QEPfXn.mjs.map +1 -0
  151. package/dist/admin/chunks/uk-WdcESeZB.js +807 -0
  152. package/dist/admin/chunks/uk-WdcESeZB.js.map +1 -0
  153. package/dist/admin/chunks/{useAdminRoles-C6Es4UUq.mjs → useAdminRoles-D68i2BI_.mjs} +2 -2
  154. package/dist/admin/chunks/{useAdminRoles-C6Es4UUq.mjs.map → useAdminRoles-D68i2BI_.mjs.map} +1 -1
  155. package/dist/admin/chunks/{useAdminRoles-_4HKisJz.js → useAdminRoles-Dy5KXk0R.js} +2 -2
  156. package/dist/admin/chunks/{useAdminRoles-_4HKisJz.js.map → useAdminRoles-Dy5KXk0R.js.map} +1 -1
  157. package/dist/admin/chunks/{validation-Dmvl0gZQ.mjs → validation-XFv2h8gD.mjs} +2 -2
  158. package/dist/admin/chunks/{validation-Dmvl0gZQ.mjs.map → validation-XFv2h8gD.mjs.map} +1 -1
  159. package/dist/admin/chunks/{validation-dPl3P7dv.js → validation-sucpUItn.js} +2 -2
  160. package/dist/admin/chunks/{validation-dPl3P7dv.js.map → validation-sucpUItn.js.map} +1 -1
  161. package/dist/admin/index.js +1 -1
  162. package/dist/admin/index.mjs +1 -1
  163. package/dist/server/index.js +0 -1
  164. package/dist/server/index.js.map +1 -1
  165. package/dist/server/index.mjs +0 -1
  166. package/dist/server/index.mjs.map +1 -1
  167. package/dist/server/src/controllers/authenticated-user.d.ts.map +1 -1
  168. package/package.json +11 -11
  169. package/dist/admin/chunks/AuthenticatedLayout-C9eZ12Ue.mjs.map +0 -1
  170. package/dist/admin/chunks/AuthenticatedLayout-D_VSoB1l.js.map +0 -1
  171. package/dist/admin/chunks/uk-Cb6a0PAZ.mjs +0 -201
  172. package/dist/admin/chunks/uk-Cb6a0PAZ.mjs.map +0 -1
  173. package/dist/admin/chunks/uk-gz16FlMw.js +0 -212
  174. package/dist/admin/chunks/uk-gz16FlMw.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"authenticated-user.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/authenticated-user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;;eAQhB,OAAO;kBAQJ,OAAO;2BA4BE,OAAO;;AArCtC,wBAgDE"}
1
+ {"version":3,"file":"authenticated-user.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/authenticated-user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;;eAQhB,OAAO;kBAQJ,OAAO;2BA2BE,OAAO;;AApCtC,wBA+CE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/admin",
3
- "version": "5.10.3",
3
+ "version": "5.11.0",
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.3",
90
- "@strapi/types": "5.10.3",
91
- "@strapi/typescript-utils": "5.10.3",
92
- "@strapi/utils": "5.10.3",
87
+ "@strapi/design-system": "2.0.0-rc.18",
88
+ "@strapi/icons": "2.0.0-rc.18",
89
+ "@strapi/permissions": "5.11.0",
90
+ "@strapi/types": "5.11.0",
91
+ "@strapi/typescript-utils": "5.11.0",
92
+ "@strapi/utils": "5.11.0",
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",
@@ -111,7 +111,7 @@
111
111
  "invariant": "^2.2.4",
112
112
  "is-localhost-ip": "2.0.0",
113
113
  "jsonwebtoken": "9.0.0",
114
- "koa": "2.15.2",
114
+ "koa": "2.15.4",
115
115
  "koa-compose": "4.1.0",
116
116
  "koa-passport": "6.0.0",
117
117
  "koa-static": "5.0.0",
@@ -143,8 +143,8 @@
143
143
  "zod": "^3.22.4"
144
144
  },
145
145
  "devDependencies": {
146
- "@strapi/admin-test-utils": "5.10.3",
147
- "@strapi/data-transfer": "5.10.3",
146
+ "@strapi/admin-test-utils": "5.11.0",
147
+ "@strapi/data-transfer": "5.11.0",
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",
@@ -167,7 +167,7 @@
167
167
  "react-dom": "18.3.1",
168
168
  "react-router-dom": "6.22.3",
169
169
  "styled-components": "6.1.8",
170
- "vite": "5.2.14",
170
+ "vite": "5.4.11",
171
171
  "vite-plugin-dts": "^4.3.0"
172
172
  },
173
173
  "peerDependencies": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthenticatedLayout-C9eZ12Ue.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/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","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 { 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\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 </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","PluginsInitializer","appPlugins","useStrapiApp","plugins","dispatch","React","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","useState","House","ShoppingCart","marketplace","main","Cog","isLoading","generalSectionLinksRef","useEffect","applyMenuPermissions","authorizedPluginSectionLinks","getPluginSectionLinks","authorizedGeneralSectionLinks","getGeneralLinks","generalSectionRawLinks","generalSectionLinksPermissions","Promise","all","filter","_","index","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","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-D_VSoB1l.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/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","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 { 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\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 </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","PluginsInitializer","appPlugins","useStrapiApp","plugins","dispatch","React","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","useState","House","ShoppingCart","marketplace","main","Cog","isLoading","generalSectionLinksRef","useEffect","applyMenuPermissions","authorizedPluginSectionLinks","getPluginSectionLinks","authorizedGeneralSectionLinks","getGeneralLinks","generalSectionRawLinks","generalSectionLinksPermissions","Promise","all","filter","_","index","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","useOnce","AppInfoProvider","latestStrapiReleaseTag","NpsSurvey","DndProvider","backend","HTML5Backend","SkipToContent","Outlet","PrivateAdminLayout","PrivateRoute","currentPackageVersion","latestPublishedVersion","valid","lt"],"mappings":"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"}