@strapi/admin 5.0.0-alpha.3 → 5.0.0-alpha.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 (208) hide show
  1. package/dist/admin/{AdminSeatInfo-RaHBmrod.mjs → AdminSeatInfo-G8sTB4TN.mjs} +2 -2
  2. package/dist/admin/{AdminSeatInfo-RaHBmrod.mjs.map → AdminSeatInfo-G8sTB4TN.mjs.map} +1 -1
  3. package/dist/admin/{AdminSeatInfo-TsCaWOLV.js → AdminSeatInfo-jHCKfvy4.js} +2 -2
  4. package/dist/admin/{AdminSeatInfo-TsCaWOLV.js.map → AdminSeatInfo-jHCKfvy4.js.map} +1 -1
  5. package/dist/admin/{ApplicationInfoPage-ma8gBkmC.js → ApplicationInfoPage-DPcd8u-E.js} +3 -3
  6. package/dist/admin/{ApplicationInfoPage-ma8gBkmC.js.map → ApplicationInfoPage-DPcd8u-E.js.map} +1 -1
  7. package/dist/admin/{ApplicationInfoPage-Q9wPZ3rv.mjs → ApplicationInfoPage-rYJxaeKG.mjs} +3 -3
  8. package/dist/admin/{ApplicationInfoPage-Q9wPZ3rv.mjs.map → ApplicationInfoPage-rYJxaeKG.mjs.map} +1 -1
  9. package/dist/admin/{AuthenticatedLayout-xBpE8NA-.js → AuthenticatedLayout-C4p6uMXy.js} +12 -12
  10. package/dist/admin/{AuthenticatedLayout-xBpE8NA-.js.map → AuthenticatedLayout-C4p6uMXy.js.map} +1 -1
  11. package/dist/admin/{AuthenticatedLayout--yP2CRIf.mjs → AuthenticatedLayout-FJd0k59k.mjs} +12 -12
  12. package/dist/admin/{AuthenticatedLayout--yP2CRIf.mjs.map → AuthenticatedLayout-FJd0k59k.mjs.map} +1 -1
  13. package/dist/admin/{ComponentConfigurationPage-hY2EaAYj.js → ComponentConfigurationPage-5UqUF73x.js} +2 -2
  14. package/dist/admin/{ComponentConfigurationPage-hY2EaAYj.js.map → ComponentConfigurationPage-5UqUF73x.js.map} +1 -1
  15. package/dist/admin/{ComponentConfigurationPage-KnpNn9te.mjs → ComponentConfigurationPage-aH3eivWq.mjs} +2 -2
  16. package/dist/admin/{ComponentConfigurationPage-KnpNn9te.mjs.map → ComponentConfigurationPage-aH3eivWq.mjs.map} +1 -1
  17. package/dist/admin/{CreateActionEE-MO4CwmTg.js → CreateActionEE-FShadq9j.js} +2 -2
  18. package/dist/admin/{CreateActionEE-MO4CwmTg.js.map → CreateActionEE-FShadq9j.js.map} +1 -1
  19. package/dist/admin/{CreateActionEE-MS5BO87T.mjs → CreateActionEE-PeDYp0gX.mjs} +2 -2
  20. package/dist/admin/{CreateActionEE-MS5BO87T.mjs.map → CreateActionEE-PeDYp0gX.mjs.map} +1 -1
  21. package/dist/admin/{CreatePage-nXCKqLfv.js → CreatePage--AtUMCaU.js} +2 -2
  22. package/dist/admin/{CreatePage-nXCKqLfv.js.map → CreatePage--AtUMCaU.js.map} +1 -1
  23. package/dist/admin/{CreatePage-TuxqMr0o.mjs → CreatePage-XuobAWJK.mjs} +6 -6
  24. package/dist/admin/{CreatePage-TuxqMr0o.mjs.map → CreatePage-XuobAWJK.mjs.map} +1 -1
  25. package/dist/admin/{CreatePage-qT-aQZxS.mjs → CreatePage-ZExp8rHA.mjs} +2 -2
  26. package/dist/admin/{CreatePage-qT-aQZxS.mjs.map → CreatePage-ZExp8rHA.mjs.map} +1 -1
  27. package/dist/admin/{CreatePage-rPWvvWs7.js → CreatePage-btStJe_p.js} +2 -2
  28. package/dist/admin/{CreatePage-rPWvvWs7.js.map → CreatePage-btStJe_p.js.map} +1 -1
  29. package/dist/admin/{CreatePage-WpCjH5Y_.js → CreatePage-dQ2vPAka.js} +6 -6
  30. package/dist/admin/{CreatePage-WpCjH5Y_.js.map → CreatePage-dQ2vPAka.js.map} +1 -1
  31. package/dist/admin/{CreatePage-atcxK0nv.mjs → CreatePage-vUR8c8Wi.mjs} +2 -2
  32. package/dist/admin/{CreatePage-atcxK0nv.mjs.map → CreatePage-vUR8c8Wi.mjs.map} +1 -1
  33. package/dist/admin/{CreateView-Tdx1lvOB.js → CreateView-L98QJ908.js} +2 -2
  34. package/dist/admin/{CreateView-Tdx1lvOB.js.map → CreateView-L98QJ908.js.map} +1 -1
  35. package/dist/admin/{CreateView-2p_vypXq.js → CreateView-Ry0jxIm8.js} +2 -2
  36. package/dist/admin/{CreateView-2p_vypXq.js.map → CreateView-Ry0jxIm8.js.map} +1 -1
  37. package/dist/admin/{CreateView-e7AQd7tP.mjs → CreateView-UAXKJ1XB.mjs} +2 -2
  38. package/dist/admin/{CreateView-e7AQd7tP.mjs.map → CreateView-UAXKJ1XB.mjs.map} +1 -1
  39. package/dist/admin/{CreateView-C1q22Lvk.mjs → CreateView-n-X-ip9A.mjs} +2 -2
  40. package/dist/admin/{CreateView-C1q22Lvk.mjs.map → CreateView-n-X-ip9A.mjs.map} +1 -1
  41. package/dist/admin/{EditConfigurationPage-elMqHM_A.mjs → EditConfigurationPage-7aqUfM-_.mjs} +2 -2
  42. package/dist/admin/{EditConfigurationPage-elMqHM_A.mjs.map → EditConfigurationPage-7aqUfM-_.mjs.map} +1 -1
  43. package/dist/admin/{EditConfigurationPage-lf0uG4_2.js → EditConfigurationPage-9hpFgyVd.js} +2 -2
  44. package/dist/admin/{EditConfigurationPage-lf0uG4_2.js.map → EditConfigurationPage-9hpFgyVd.js.map} +1 -1
  45. package/dist/admin/{EditPage-erGEYjBw.mjs → EditPage-5_mPjbp1.mjs} +4 -4
  46. package/dist/admin/{EditPage-erGEYjBw.mjs.map → EditPage-5_mPjbp1.mjs.map} +1 -1
  47. package/dist/admin/{EditPage-Ef0Fslnn.js → EditPage-7p0wMhRr.js} +4 -4
  48. package/dist/admin/{EditPage-Ef0Fslnn.js.map → EditPage-7p0wMhRr.js.map} +1 -1
  49. package/dist/admin/{EditPage-Pve0dLk9.js → EditPage-FfXtsX6I.js} +6 -6
  50. package/dist/admin/{EditPage-Pve0dLk9.js.map → EditPage-FfXtsX6I.js.map} +1 -1
  51. package/dist/admin/{EditPage-OeI53g45.mjs → EditPage-NIhP9MDK.mjs} +3 -3
  52. package/dist/admin/{EditPage-OeI53g45.mjs.map → EditPage-NIhP9MDK.mjs.map} +1 -1
  53. package/dist/admin/{EditPage-UJJ2TqBc.js → EditPage-PKgsIJsU.js} +3 -3
  54. package/dist/admin/{EditPage-UJJ2TqBc.js.map → EditPage-PKgsIJsU.js.map} +1 -1
  55. package/dist/admin/{EditPage-eR-YN8hj.mjs → EditPage-T3344ZeF.mjs} +3 -3
  56. package/dist/admin/{EditPage-eR-YN8hj.mjs.map → EditPage-T3344ZeF.mjs.map} +1 -1
  57. package/dist/admin/{EditPage-tC47Sw_P.js → EditPage-icpAlX0U.js} +3 -3
  58. package/dist/admin/{EditPage-tC47Sw_P.js.map → EditPage-icpAlX0U.js.map} +1 -1
  59. package/dist/admin/{EditPage-h8lmVUEA.mjs → EditPage-zuPfy7bP.mjs} +6 -6
  60. package/dist/admin/{EditPage-h8lmVUEA.mjs.map → EditPage-zuPfy7bP.mjs.map} +1 -1
  61. package/dist/admin/{EditView-eySlKWYf.js → EditView-6orvVYcs.js} +2 -2
  62. package/dist/admin/{EditView-eySlKWYf.js.map → EditView-6orvVYcs.js.map} +1 -1
  63. package/dist/admin/{EditView-x1qgWntY.mjs → EditView-Py-98_8F.mjs} +2 -2
  64. package/dist/admin/{EditView-x1qgWntY.mjs.map → EditView-Py-98_8F.mjs.map} +1 -1
  65. package/dist/admin/{EditViewPage-_9OVPk8U.js → EditViewPage-b8B7crGF.js} +2 -2
  66. package/dist/admin/{EditViewPage-_9OVPk8U.js.map → EditViewPage-b8B7crGF.js.map} +1 -1
  67. package/dist/admin/{EditViewPage-MF0jfabM.js → EditViewPage-bvSm02vo.js} +2 -2
  68. package/dist/admin/{EditViewPage-MF0jfabM.js.map → EditViewPage-bvSm02vo.js.map} +1 -1
  69. package/dist/admin/{EditViewPage--KlNP7xz.mjs → EditViewPage-m8eq8b5B.mjs} +2 -2
  70. package/dist/admin/{EditViewPage--KlNP7xz.mjs.map → EditViewPage-m8eq8b5B.mjs.map} +1 -1
  71. package/dist/admin/{EditViewPage-NC42P37Y.mjs → EditViewPage-taqlSy8-.mjs} +2 -2
  72. package/dist/admin/{EditViewPage-NC42P37Y.mjs.map → EditViewPage-taqlSy8-.mjs.map} +1 -1
  73. package/dist/admin/{EventsTable-FclswYEC.js → EventsTable-PkxRHECw.js} +2 -2
  74. package/dist/admin/{EventsTable-FclswYEC.js.map → EventsTable-PkxRHECw.js.map} +1 -1
  75. package/dist/admin/{EventsTable-sl9Ii-zk.mjs → EventsTable-nHKCiGbY.mjs} +2 -2
  76. package/dist/admin/{EventsTable-sl9Ii-zk.mjs.map → EventsTable-nHKCiGbY.mjs.map} +1 -1
  77. package/dist/admin/{Filters-WmczcUjA.mjs → Filters-8DH_AqD9.mjs} +2 -2
  78. package/dist/admin/{Filters-WmczcUjA.mjs.map → Filters-8DH_AqD9.mjs.map} +1 -1
  79. package/dist/admin/{Filters-xCY3Scq4.js → Filters-ogIU7Q6e.js} +2 -2
  80. package/dist/admin/{Filters-xCY3Scq4.js.map → Filters-ogIU7Q6e.js.map} +1 -1
  81. package/dist/admin/{Form-4WnSgaHv.mjs → Form-qYMSW-OI.mjs} +2 -2
  82. package/dist/admin/{Form-4WnSgaHv.mjs.map → Form-qYMSW-OI.mjs.map} +1 -1
  83. package/dist/admin/{Form-KkSKnRfU.js → Form-ykqsO6fm.js} +2 -2
  84. package/dist/admin/{Form-KkSKnRfU.js.map → Form-ykqsO6fm.js.map} +1 -1
  85. package/dist/admin/{HomePage-c066MxgP.mjs → HomePage-1pjv0BI8.mjs} +3 -3
  86. package/dist/admin/{HomePage-c066MxgP.mjs.map → HomePage-1pjv0BI8.mjs.map} +1 -1
  87. package/dist/admin/{HomePage-rnxrKLBm.js → HomePage-3V4WbE7J.js} +3 -3
  88. package/dist/admin/{HomePage-rnxrKLBm.js.map → HomePage-3V4WbE7J.js.map} +1 -1
  89. package/dist/admin/{HomePage-ruRmxUmi.mjs → HomePage-Kc_uEvV-.mjs} +3 -3
  90. package/dist/admin/{HomePage-ruRmxUmi.mjs.map → HomePage-Kc_uEvV-.mjs.map} +1 -1
  91. package/dist/admin/{HomePage-lw1r2If1.js → HomePage-OlYV50mz.js} +3 -3
  92. package/dist/admin/{HomePage-lw1r2If1.js.map → HomePage-OlYV50mz.js.map} +1 -1
  93. package/dist/admin/{Layout-IkzS-9jW.mjs → Layout-DpiBAhal.mjs} +3 -3
  94. package/dist/admin/{Layout-IkzS-9jW.mjs.map → Layout-DpiBAhal.mjs.map} +1 -1
  95. package/dist/admin/{Layout--4O1STTS.js → Layout-Drko3mHh.js} +3 -3
  96. package/dist/admin/{Layout--4O1STTS.js.map → Layout-Drko3mHh.js.map} +1 -1
  97. package/dist/admin/{Layout-LPeuunW1.js → Layout-G57F6Yr1.js} +2 -2
  98. package/dist/admin/{Layout-LPeuunW1.js.map → Layout-G57F6Yr1.js.map} +1 -1
  99. package/dist/admin/{Layout-12gUdjvi.mjs → Layout-ipua3uHy.mjs} +2 -2
  100. package/dist/admin/{Layout-12gUdjvi.mjs.map → Layout-ipua3uHy.mjs.map} +1 -1
  101. package/dist/admin/{ListConfigurationPage-Sj0Fbune.js → ListConfigurationPage-fR6bfJTF.js} +2 -2
  102. package/dist/admin/{ListConfigurationPage-Sj0Fbune.js.map → ListConfigurationPage-fR6bfJTF.js.map} +1 -1
  103. package/dist/admin/{ListConfigurationPage-aVwnEajq.mjs → ListConfigurationPage-vJzC-kba.mjs} +2 -2
  104. package/dist/admin/{ListConfigurationPage-aVwnEajq.mjs.map → ListConfigurationPage-vJzC-kba.mjs.map} +1 -1
  105. package/dist/admin/{ListPage-fgcVicZB.mjs → ListPage-0ZSyBi8x.mjs} +3 -3
  106. package/dist/admin/{ListPage-fgcVicZB.mjs.map → ListPage-0ZSyBi8x.mjs.map} +1 -1
  107. package/dist/admin/{ListPage-pbpYBzDZ.mjs → ListPage-9heSiDbD.mjs} +3 -3
  108. package/dist/admin/{ListPage-pbpYBzDZ.mjs.map → ListPage-9heSiDbD.mjs.map} +1 -1
  109. package/dist/admin/{ListPage-cjKaeLgt.mjs → ListPage-FY6b3WdF.mjs} +2 -2
  110. package/dist/admin/{ListPage-cjKaeLgt.mjs.map → ListPage-FY6b3WdF.mjs.map} +1 -1
  111. package/dist/admin/{ListPage-pcklRUos.js → ListPage-LLm7jeMJ.js} +4 -4
  112. package/dist/admin/{ListPage-pcklRUos.js.map → ListPage-LLm7jeMJ.js.map} +1 -1
  113. package/dist/admin/{ListPage-Umx66wz5.js → ListPage-NfgDLiTv.js} +7 -7
  114. package/dist/admin/{ListPage-Umx66wz5.js.map → ListPage-NfgDLiTv.js.map} +1 -1
  115. package/dist/admin/{ListPage-udzDwGlH.js → ListPage-PF-K0vRV.js} +3 -3
  116. package/dist/admin/{ListPage-udzDwGlH.js.map → ListPage-PF-K0vRV.js.map} +1 -1
  117. package/dist/admin/{ListPage-pvhgqLCH.js → ListPage-YhzdUuPY.js} +3 -3
  118. package/dist/admin/{ListPage-pvhgqLCH.js.map → ListPage-YhzdUuPY.js.map} +1 -1
  119. package/dist/admin/{ListPage-5Mv-pB4C.js → ListPage-eBRwQOBq.js} +3 -3
  120. package/dist/admin/{ListPage-5Mv-pB4C.js.map → ListPage-eBRwQOBq.js.map} +1 -1
  121. package/dist/admin/{ListPage-4-8fscdP.js → ListPage-hyHTGust.js} +2 -2
  122. package/dist/admin/{ListPage-4-8fscdP.js.map → ListPage-hyHTGust.js.map} +1 -1
  123. package/dist/admin/{ListPage-J7j1MewO.mjs → ListPage-k7Cm8qlS.mjs} +7 -7
  124. package/dist/admin/{ListPage-J7j1MewO.mjs.map → ListPage-k7Cm8qlS.mjs.map} +1 -1
  125. package/dist/admin/{ListPage-w59EHkU5.mjs → ListPage-q5CzNEts.mjs} +3 -3
  126. package/dist/admin/{ListPage-w59EHkU5.mjs.map → ListPage-q5CzNEts.mjs.map} +1 -1
  127. package/dist/admin/{ListPage-YQEYg_px.mjs → ListPage-u0H0CObE.mjs} +4 -4
  128. package/dist/admin/{ListPage-YQEYg_px.mjs.map → ListPage-u0H0CObE.mjs.map} +1 -1
  129. package/dist/admin/{ListView-n1aKpVDI.js → ListView-5cUHtatI.js} +2 -2
  130. package/dist/admin/{ListView-n1aKpVDI.js.map → ListView-5cUHtatI.js.map} +1 -1
  131. package/dist/admin/{ListView-j2r_9ISi.js → ListView-ZrssEOAH.js} +2 -2
  132. package/dist/admin/{ListView-j2r_9ISi.js.map → ListView-ZrssEOAH.js.map} +1 -1
  133. package/dist/admin/{ListView-r5ixmUC5.mjs → ListView-he-cDEr8.mjs} +2 -2
  134. package/dist/admin/{ListView-r5ixmUC5.mjs.map → ListView-he-cDEr8.mjs.map} +1 -1
  135. package/dist/admin/{ListView-kGivEizN.mjs → ListView-wtrnAeIs.mjs} +2 -2
  136. package/dist/admin/{ListView-kGivEizN.mjs.map → ListView-wtrnAeIs.mjs.map} +1 -1
  137. package/dist/admin/{ListViewPage-P945_1O5.js → ListViewPage--usbPNMW.js} +6 -6
  138. package/dist/admin/{ListViewPage-P945_1O5.js.map → ListViewPage--usbPNMW.js.map} +1 -1
  139. package/dist/admin/{ListViewPage-TJbHzMdV.mjs → ListViewPage-fcwyHB4o.mjs} +6 -6
  140. package/dist/admin/{ListViewPage-TJbHzMdV.mjs.map → ListViewPage-fcwyHB4o.mjs.map} +1 -1
  141. package/dist/admin/{Login-0X6MwipF.mjs → Login-JhiQkX0g.mjs} +2 -2
  142. package/dist/admin/{Login-0X6MwipF.mjs.map → Login-JhiQkX0g.mjs.map} +1 -1
  143. package/dist/admin/{Login-z6SxPtlF.js → Login-ge1q7Ao9.js} +2 -2
  144. package/dist/admin/{Login-z6SxPtlF.js.map → Login-ge1q7Ao9.js.map} +1 -1
  145. package/dist/admin/{MagicLinkEE-OoAnOb7G.mjs → MagicLinkEE-6fksiP2N.mjs} +3 -3
  146. package/dist/admin/{MagicLinkEE-OoAnOb7G.mjs.map → MagicLinkEE-6fksiP2N.mjs.map} +1 -1
  147. package/dist/admin/{MagicLinkEE-Y6HYUQfj.js → MagicLinkEE-HZRvA15-.js} +3 -3
  148. package/dist/admin/{MagicLinkEE-Y6HYUQfj.js.map → MagicLinkEE-HZRvA15-.js.map} +1 -1
  149. package/dist/admin/{MarketplacePage-PYAB5VYz.mjs → MarketplacePage-BhzDMBT-.mjs} +2 -2
  150. package/dist/admin/{MarketplacePage-PYAB5VYz.mjs.map → MarketplacePage-BhzDMBT-.mjs.map} +1 -1
  151. package/dist/admin/{MarketplacePage-7fNWKnG0.js → MarketplacePage-jeaqEHfo.js} +2 -2
  152. package/dist/admin/{MarketplacePage-7fNWKnG0.js.map → MarketplacePage-jeaqEHfo.js.map} +1 -1
  153. package/dist/admin/{ReviewWorkflowsColumn-6zZJluSU.mjs → ReviewWorkflowsColumn-BdkHPnDo.mjs} +2 -2
  154. package/dist/admin/{ReviewWorkflowsColumn-6zZJluSU.mjs.map → ReviewWorkflowsColumn-BdkHPnDo.mjs.map} +1 -1
  155. package/dist/admin/{ReviewWorkflowsColumn-NVi2rQul.js → ReviewWorkflowsColumn-xNjqgu-L.js} +2 -2
  156. package/dist/admin/{ReviewWorkflowsColumn-NVi2rQul.js.map → ReviewWorkflowsColumn-xNjqgu-L.js.map} +1 -1
  157. package/dist/admin/{SelectRoles-cVDrVL5d.mjs → SelectRoles--7dfmawm.mjs} +3 -3
  158. package/dist/admin/{SelectRoles-cVDrVL5d.mjs.map → SelectRoles--7dfmawm.mjs.map} +1 -1
  159. package/dist/admin/{SelectRoles-x4F6UwAi.js → SelectRoles-JxYKvga9.js} +3 -3
  160. package/dist/admin/{SelectRoles-x4F6UwAi.js.map → SelectRoles-JxYKvga9.js.map} +1 -1
  161. package/dist/admin/{SingleSignOnPage-MXM2dl1r.js → SingleSignOnPage-APC1hAX2.js} +2 -2
  162. package/dist/admin/{SingleSignOnPage-MXM2dl1r.js.map → SingleSignOnPage-APC1hAX2.js.map} +1 -1
  163. package/dist/admin/{SingleSignOnPage-qyob98fd.mjs → SingleSignOnPage-rKeiHpGS.mjs} +2 -2
  164. package/dist/admin/{SingleSignOnPage-qyob98fd.mjs.map → SingleSignOnPage-rKeiHpGS.mjs.map} +1 -1
  165. package/dist/admin/{Table-L9ox45fi.js → Table-BKVants3.js} +2 -2
  166. package/dist/admin/{Table-L9ox45fi.js.map → Table-BKVants3.js.map} +1 -1
  167. package/dist/admin/{Table-GO4n7QXV.mjs → Table-idNir8r9.mjs} +2 -2
  168. package/dist/admin/{Table-GO4n7QXV.mjs.map → Table-idNir8r9.mjs.map} +1 -1
  169. package/dist/admin/{TokenTypeSelect-mlkqk9MH.js → TokenTypeSelect-Y6C3wEJm.js} +2 -2
  170. package/dist/admin/{TokenTypeSelect-mlkqk9MH.js.map → TokenTypeSelect-Y6C3wEJm.js.map} +1 -1
  171. package/dist/admin/{TokenTypeSelect-IMMoVNb1.mjs → TokenTypeSelect-k_R6xVFw.mjs} +2 -2
  172. package/dist/admin/{TokenTypeSelect-IMMoVNb1.mjs.map → TokenTypeSelect-k_R6xVFw.mjs.map} +1 -1
  173. package/dist/admin/{UseCasePage-iGGqfq7-.js → UseCasePage-63kprMhe.js} +2 -2
  174. package/dist/admin/{UseCasePage-iGGqfq7-.js.map → UseCasePage-63kprMhe.js.map} +1 -1
  175. package/dist/admin/{UseCasePage-QSUB-KqK.mjs → UseCasePage-eOIMEIRP.mjs} +2 -2
  176. package/dist/admin/{UseCasePage-QSUB-KqK.mjs.map → UseCasePage-eOIMEIRP.mjs.map} +1 -1
  177. package/dist/admin/{constants-ePjaxS4h.js → constants-GzcRsyWk.js} +2 -2
  178. package/dist/admin/{constants-ePjaxS4h.js.map → constants-GzcRsyWk.js.map} +1 -1
  179. package/dist/admin/{constants-VMWcn5Dg.mjs → constants-OqgYP6sX.mjs} +3 -3
  180. package/dist/admin/{constants-VMWcn5Dg.mjs.map → constants-OqgYP6sX.mjs.map} +1 -1
  181. package/dist/admin/{constants-7TD-JFW-.mjs → constants-X5ozLqHT.mjs} +2 -2
  182. package/dist/admin/{constants-7TD-JFW-.mjs.map → constants-X5ozLqHT.mjs.map} +1 -1
  183. package/dist/admin/{constants-eV26e_2a.js → constants-zUoXz50h.js} +3 -3
  184. package/dist/admin/{constants-eV26e_2a.js.map → constants-zUoXz50h.js.map} +1 -1
  185. package/dist/admin/{index--h1ljeG8.mjs → index-Sd8uo7mE.mjs} +36 -36
  186. package/dist/admin/{index--h1ljeG8.mjs.map → index-Sd8uo7mE.mjs.map} +1 -1
  187. package/dist/admin/{index-Xcv2DEB8.js → index-_fZT3TVe.js} +36 -36
  188. package/dist/admin/{index-Xcv2DEB8.js.map → index-_fZT3TVe.js.map} +1 -1
  189. package/dist/admin/index.js +1 -1
  190. package/dist/admin/index.mjs +1 -1
  191. package/dist/admin/{useAdminRoles-gR2hyMNd.mjs → useAdminRoles-YT1f2LGL.mjs} +2 -2
  192. package/dist/admin/{useAdminRoles-gR2hyMNd.mjs.map → useAdminRoles-YT1f2LGL.mjs.map} +1 -1
  193. package/dist/admin/{useAdminRoles-2R5oKMoO.js → useAdminRoles-pS_ZatAB.js} +2 -2
  194. package/dist/admin/{useAdminRoles-2R5oKMoO.js.map → useAdminRoles-pS_ZatAB.js.map} +1 -1
  195. package/dist/admin/{useLicenseLimitNotification-SSUn-Y_I.mjs → useLicenseLimitNotification-EXzXTEr3.mjs} +2 -2
  196. package/dist/admin/{useLicenseLimitNotification-SSUn-Y_I.mjs.map → useLicenseLimitNotification-EXzXTEr3.mjs.map} +1 -1
  197. package/dist/admin/{useLicenseLimitNotification-wFWLFjgU.js → useLicenseLimitNotification-KDK7jUFG.js} +2 -2
  198. package/dist/admin/{useLicenseLimitNotification-wFWLFjgU.js.map → useLicenseLimitNotification-KDK7jUFG.js.map} +1 -1
  199. package/dist/admin/{useReviewWorkflows-b64v93dC.js → useReviewWorkflows-2ubos26m.js} +2 -2
  200. package/dist/admin/{useReviewWorkflows-b64v93dC.js.map → useReviewWorkflows-2ubos26m.js.map} +1 -1
  201. package/dist/admin/{useReviewWorkflows-5xeAwxah.mjs → useReviewWorkflows-vIYhJ1WA.mjs} +2 -2
  202. package/dist/admin/{useReviewWorkflows-5xeAwxah.mjs.map → useReviewWorkflows-vIYhJ1WA.mjs.map} +1 -1
  203. package/dist/admin/{validateWorkflow-nIbqjAha.mjs → validateWorkflow-KQMhiXda.mjs} +2 -2
  204. package/dist/admin/{validateWorkflow-nIbqjAha.mjs.map → validateWorkflow-KQMhiXda.mjs.map} +1 -1
  205. package/dist/admin/{validateWorkflow-28G5p4rG.js → validateWorkflow-dAaScNrW.js} +2 -2
  206. package/dist/admin/{validateWorkflow-28G5p4rG.js.map → validateWorkflow-dAaScNrW.js.map} +1 -1
  207. package/dist/package.json.d.ts +10 -10
  208. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"HomePage-lw1r2If1.js","sources":["../../admin/src/components/GuidedTour/Homepage.tsx","../../admin/src/pages/assets/corner-ornament.svg","../../admin/src/pages/assets/strapi-cloud-background.png","../../admin/src/pages/assets/strapi-cloud-flags.svg","../../admin/src/pages/HomePage.tsx"],"sourcesContent":["import { Box, Button, Flex, Typography } from '@strapi/design-system';\nimport { LinkButton } from '@strapi/design-system/v2';\nimport { ArrowRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\n\nimport { useTracking } from '../../features/Tracking';\n\nimport { LAYOUT_DATA, States, STATES } from './constants';\nimport { Number, VerticalDivider } from './Ornaments';\nimport { GuidedTourContextValue, useGuidedTour } from './Provider';\n\nconst GuidedTourHomepage = () => {\n const guidedTourState = useGuidedTour('GuidedTourHomepage', (state) => state.guidedTourState);\n const setSkipped = useGuidedTour('GuidedTourHomepage', (state) => state.setSkipped);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n const sections = Object.entries(LAYOUT_DATA).map(([key, val]) => ({\n key: key,\n title: val.home.title,\n content: (\n <LinkButton\n onClick={() => trackUsage(val.home.trackingEvent)}\n as={NavLink}\n // @ts-expect-error - types are not inferred correctly through the as prop.\n to={val.home.cta.target}\n endIcon={<ArrowRight />}\n >\n {formatMessage(val.home.cta.title)}\n </LinkButton>\n ),\n isDone: Object.entries(\n guidedTourState[key as keyof GuidedTourContextValue['guidedTourState']]\n ).every(([, value]) => value),\n }));\n\n const activeSectionIndex = sections.findIndex((section) => !section.isDone);\n\n const handleSkip = () => {\n setSkipped(true);\n trackUsage('didSkipGuidedtour');\n };\n\n return (\n <Box\n hasRadius\n shadow=\"tableShadow\"\n paddingTop={7}\n paddingRight={4}\n paddingLeft={7}\n paddingBottom={4}\n background=\"neutral0\"\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Typography variant=\"beta\" as=\"h2\">\n {formatMessage({\n id: 'app.components.GuidedTour.title',\n defaultMessage: '3 steps to get started',\n })}\n </Typography>\n <Box>\n {sections.map((section, index) => {\n const state = getState(activeSectionIndex, index);\n return (\n <Box key={section.key}>\n <Flex>\n <Box minWidth={`${30 / 16}rem`} marginRight={5}>\n <Number state={state}>{index + 1}</Number>\n </Box>\n <Typography variant=\"delta\" as=\"h3\">\n {formatMessage(section.title)}\n </Typography>\n </Flex>\n <Flex alignItems=\"flex-start\">\n <Flex\n justifyContent=\"center\"\n minWidth={`${30 / 16}rem`}\n marginBottom={3}\n marginTop={3}\n marginRight={5}\n >\n {index === sections.length - 1 ? null : <VerticalDivider state={state} />}\n </Flex>\n <Box marginTop={2}>{state === STATES.IS_ACTIVE ? section.content : null}</Box>\n </Flex>\n </Box>\n );\n })}\n </Box>\n </Flex>\n <Flex justifyContent=\"flex-end\">\n <Button variant=\"tertiary\" onClick={handleSkip}>\n {formatMessage({ id: 'app.components.GuidedTour.skip', defaultMessage: 'Skip the tour' })}\n </Button>\n </Flex>\n </Box>\n );\n};\n\nconst getState = (activeSectionIndex: number, index: number): States => {\n if (activeSectionIndex === -1) {\n return STATES.IS_DONE;\n }\n if (index < activeSectionIndex) {\n return STATES.IS_DONE;\n }\n if (index > activeSectionIndex) {\n return STATES.IS_NOT_DONE;\n }\n return STATES.IS_ACTIVE;\n};\n\nexport { GuidedTourHomepage };\n","export default \"data:image/svg+xml,%3csvg%20width='148'%20height='148'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20opacity='.8'%20fill-rule='evenodd'%20clip-rule='evenodd'%3e%3cpath%20opacity='.15'%20d='M110.81%2037H73.97V74.1h36.84V37Z'%20fill='url(%23a)'/%3e%3cpath%20opacity='.07'%20d='M36.84%200H0v37.08h36.84V0Z'%20fill='url(%23b)'/%3e%3cpath%20opacity='.07'%20d='M73.92%2073.95H37.08v37.08h36.84V73.95Z'%20fill='url(%23c)'/%3e%3cpath%20opacity='.07'%20d='M147.99%20110.92h-37.3V148H148v-37.08Z'%20fill='url(%23d)'/%3e%3cpath%20opacity='.15'%20d='M73.83%2037H36.84L73.83%200v37Z'%20fill='url(%23e)'/%3e%3cpath%20opacity='.15'%20d='M110.6%20111.02v-37h36.98l-36.99%2037Z'%20fill='url(%23f)'/%3e%3cpath%20opacity='.4'%20d='M73.83%200v37h36.98v37.01h37V3a3%203%200%200%200-3-3H73.82Z'%20fill='url(%23g)'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='a'%20x1='91.31'%20y1='83.31'%20x2='118.24'%20y2='56.59'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%237A92FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='b'%20x1='40.99'%20y1='13.88'%20x2='.01'%20y2='11.64'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23A8B8FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='c'%20x1='54.41'%20y1='120.25'%20x2='81.35'%20y2='93.52'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23A8B8FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='d'%20x1='128.24'%20y1='157.22'%20x2='155.17'%20y2='130.17'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23A8B8FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='e'%20x1='54.24'%20y1='46.21'%20x2='81.12'%20y2='19.38'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%237A92FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='f'%20x1='126.28'%20y1='74.05'%20x2='124.94'%20y2='111.07'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%237A92FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='g'%20x1='73.37'%20y1='36.87'%20x2='132.87'%20y2='66.74'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%237A92FF'/%3e%3cstop%20offset='1'%20stop-color='%233858EA'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e\"","export default \"data:image/png;base64,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\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='160'%20fill='none'%20viewBox='29.41%2044%20149.09%2050.35'%3e%3cpath%20stroke='%23EAEAEF'%20d='M30.5%2044.5c37%2027%2047.5%2038%20147.499%2032'/%3e%3cg%20filter='url(%23a)'%3e%3cpath%20fill='%23F29D41'%20d='m129.467%2094.085%208.148-14.142a.598.598%200%200%200-.403-.887%2075.099%2075.099%200%200%200-3.045-.536c-1.875-.274-2.936-.44-4.837-.505-1.838-.064-2.873.01-4.698.153a64.05%2064.05%200%200%200-2.692.293.597.597%200%200%200-.462.851l7.042%2014.737c.186.388.732.41.947.036Z'/%3e%3c/g%3e%3cg%20filter='url(%23b)'%3e%3cpath%20fill='%23F29D41'%20d='m46.99%2075.52%2013.813-8.697a.597.597%200%200%200%20.058-.971%2075.191%2075.191%200%200%200-2.442-1.897c-1.53-1.119-2.39-1.761-4.04-2.707-1.595-.915-2.545-1.334-4.226-2.06a64.09%2064.09%200%200%200-2.516-.999.597.597%200%200%200-.806.537l-.66%2016.319a.535.535%200%200%200%20.82.474Z'/%3e%3c/g%3e%3cg%20filter='url(%23c)'%3e%3cpath%20fill='%235CB176'%20d='m29.41%2063.51%202.102-16.186a.597.597%200%200%201%20.858-.46c.748.371%201.905.954%202.745%201.42%201.657.92%202.602%201.433%204.152%202.534%201.5%201.064%202.278%201.75%203.642%202.972a64.026%2064.026%200%200%201%201.962%201.865c.291.286.214.771-.149.957l-14.538%207.443a.535.535%200%200%201-.774-.545Z'/%3e%3c/g%3e%3cmask%20id='d'%20width='17'%20height='19'%20x='29'%20y='46'%20maskUnits='userSpaceOnUse'%20style='mask-type:alpha'%3e%3cpath%20fill='%235CB176'%20d='m29.412%2063.51%202.101-16.186a.597.597%200%200%201%20.858-.46c.749.371%201.905.954%202.746%201.42%201.657.92%202.601%201.433%204.152%202.534%201.5%201.064%202.278%201.75%203.642%202.972a64.148%2064.148%200%200%201%201.962%201.865c.29.286.214.771-.15.957l-14.537%207.443a.535.535%200%200%201-.774-.545Z'/%3e%3c/mask%3e%3cg%20stroke='%23fff'%20stroke-linecap='round'%20stroke-width='.661'%20mask='url(%23d)'%3e%3cpath%20d='M39.755%2051.218c-1.05%201.558-4.606%204.788-10.44%205.247M36.415%2047.816c-1.05%201.558-4.606%204.789-10.44%205.247M42.97%2053.97c-1.457%201.908-6.341%205.902-14.216%206.619M42.15%2058.499c-1.645%201.748-5.29%204.033-13.197%203.939'/%3e%3c/g%3e%3cg%20filter='url(%23e)'%3e%3cpath%20fill='%237B79FF'%20d='m169.813%2092.983%205.927-15.208a.598.598%200%200%200-.531-.815%2075.213%2075.213%200%200%200-3.091-.072c-1.895.01-2.969.007-4.859.228-1.826.214-2.838.442-4.621.859-.815.19-1.893.488-2.617.694a.596.596%200%200%200-.328.91l9.178%2013.51a.536.536%200%200%200%20.942-.106Z'/%3e%3c/g%3e%3cg%20filter='url(%23f)'%3e%3cpath%20fill='%237B79FF'%20d='m87.001%2090.853-4.466-15.699a.597.597%200%200%201%20.606-.761c.835.045%202.127.123%203.084.22%201.886.19%202.956.287%204.816.685%201.797.385%202.784.709%204.519%201.291.794.267%201.839.665%202.54.938.38.148.501.624.24.938L87.929%2091.048a.535.535%200%200%201-.927-.195Z'/%3e%3c/g%3e%3cg%20filter='url(%23g)'%3e%3cpath%20fill='%23EE5E52'%20d='m66.153%2085.122%2012.355-10.665a.597.597%200%200%200-.087-.97%2075.353%2075.353%200%200%200-2.698-1.51c-1.68-.877-2.627-1.383-4.4-2.072-1.714-.666-2.716-.938-4.486-1.404a64.083%2064.083%200%200%200-2.638-.611.597.597%200%200%200-.716.651l1.788%2016.234a.535.535%200%200%200%20.882.347Z'/%3e%3c/g%3e%3ccircle%20cx='70.793'%20cy='74.511'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2070.793%2074.51)'/%3e%3ccircle%20cx='65.574'%20cy='78.63'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2065.574%2078.63)'/%3e%3ccircle%20cx='65.408'%20cy='74.519'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2065.408%2074.519)'/%3e%3ccircle%20cx='67.834'%20cy='81.943'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2067.834%2081.943)'/%3e%3ccircle%20cx='67.259'%20cy='69.875'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2067.259%2069.875)'/%3e%3ccircle%20cx='74.691'%20cy='72.834'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2074.69%2072.834)'/%3e%3ccircle%20cx='71.171'%20cy='78.968'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2071.171%2078.968)'/%3e%3cg%20filter='url(%23h)'%3e%3cpath%20fill='%23EE5E52'%20d='m149.911%2093.824%206.521-14.963a.598.598%200%200%200-.499-.836%2075.255%2075.255%200%200%200-3.086-.193c-1.894-.064-2.967-.11-4.863.037-1.833.141-2.854.33-4.651.676-.823.158-1.912.414-2.643.59a.596.596%200%200%200-.364.898l8.64%2013.86a.535.535%200%200%200%20.945-.07Z'/%3e%3c/g%3e%3ccircle%20cx='149.5'%20cy='82.25'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20149.5%2082.25)'/%3e%3ccircle%20cx='146.579'%20cy='88.222'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20146.579%2088.222)'/%3e%3ccircle%20cx='144.65'%20cy='84.588'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20144.65%2084.588)'/%3e%3ccircle%20cx='150.049'%20cy='90.231'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20150.049%2090.231)'/%3e%3ccircle%20cx='144.306'%20cy='79.6'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20144.306%2079.6)'/%3e%3ccircle%20cx='152.287'%20cy='79.051'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20152.287%2079.05)'/%3e%3ccircle%20cx='151.77'%20cy='86.103'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20151.77%2086.103)'/%3e%3cg%20filter='url(%23i)'%3e%3cpath%20fill='%235CB176'%20d='m109.171%2093.4%208.86-13.707a.598.598%200%200%200-.357-.906c-.811-.2-2.07-.503-3.013-.69-1.859-.37-2.911-.59-4.806-.753-1.831-.157-2.869-.136-4.699-.086-.837.023-1.953.098-2.703.154a.597.597%200%200%200-.505.827l6.279%2015.077c.166.398.71.447.944.084Z'/%3e%3c/g%3e%3cmask%20id='j'%20width='18'%20height='17'%20x='101'%20y='77'%20maskUnits='userSpaceOnUse'%20style='mask-type:alpha'%3e%3cpath%20fill='%235CB176'%20d='m109.17%2093.4%208.86-13.707a.598.598%200%200%200-.357-.905c-.811-.201-2.07-.504-3.013-.692-1.859-.37-2.911-.589-4.806-.751-1.831-.158-2.869-.137-4.699-.087-.837.023-1.953.099-2.703.154a.597.597%200%200%200-.505.827l6.279%2015.077c.166.398.71.447.944.085Z'/%3e%3c/mask%3e%3cg%20stroke='%23fff'%20stroke-linecap='round'%20stroke-width='.661'%20mask='url(%23j)'%3e%3cpath%20d='M109.225%2077.335c-.207%201.867.418%206.632%204.573%2010.753M113.972%2076.9c-.207%201.867.418%206.631%204.573%2010.753M104.992%2077.357c-.121%202.397%201.023%208.602%206.568%2014.24M102.69%2081.343c.125%202.397%201.429%206.497%207.522%2011.537'/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='a'%20width='21.565'%20height='21.649'%20x='118.775'%20y='76.009'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='b'%20width='20.201'%20height='22.741'%20x='43.526'%20y='56.167'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='c'%20width='20.932'%20height='22.602'%20x='26.761'%20y='44.818'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='e'%20width='21.482'%20height='21.724'%20x='156.944'%20y='74.904'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='f'%20width='21.256'%20height='22.139'%20x='79.868'%20y='72.409'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='g'%20width='20.526'%20height='22.664'%20x='60.835'%20y='65.893'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='h'%20width='21.537'%20height='21.662'%20x='137.59'%20y='75.788'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='i'%20width='21.515'%20height='21.712'%20x='99.257'%20y='75.238'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e\"","import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, GridItem, Layout, Main, Typography } from '@strapi/design-system';\nimport { Link, LinkButton } from '@strapi/design-system/v2';\nimport {\n ArrowRight,\n CodeSquare,\n Discord,\n Discourse,\n ExternalLink,\n FeatherSquare,\n Github,\n InformationSquare,\n PlaySquare,\n Reddit,\n Strapi,\n Twitter,\n} from '@strapi/icons';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { ContentBox } from '../components/ContentBox';\nimport { GuidedTourHomepage } from '../components/GuidedTour/Homepage';\nimport { useGuidedTour } from '../components/GuidedTour/Provider';\nimport { Page } from '../components/PageHelpers';\nimport { useAppInfo } from '../features/AppInfo';\nimport { useTracking } from '../features/Tracking';\nimport { useContentTypes } from '../hooks/useContentTypes';\nimport { useEnterprise } from '../hooks/useEnterprise';\n\nimport cornerOrnamentPath from './assets/corner-ornament.svg';\nimport cloudIconBackgroundImage from './assets/strapi-cloud-background.png';\nimport cloudFlagsImage from './assets/strapi-cloud-flags.svg';\n\n/* -------------------------------------------------------------------------------------------------\n * HomePageCE\n * -----------------------------------------------------------------------------------------------*/\n\nconst HomePageCE = () => {\n const { formatMessage } = useIntl();\n // Temporary until we develop the menu API\n const { collectionTypes, singleTypes, isLoading: isLoadingForModels } = useContentTypes();\n const guidedTourState = useGuidedTour('HomePage', (state) => state.guidedTourState);\n const isGuidedTourVisible = useGuidedTour('HomePage', (state) => state.isGuidedTourVisible);\n const isSkipped = useGuidedTour('HomePage', (state) => state.isSkipped);\n\n const showGuidedTour =\n !Object.values(guidedTourState).every((section) =>\n Object.values(section).every((step) => step)\n ) &&\n isGuidedTourVisible &&\n !isSkipped;\n const navigate = useNavigate();\n const handleClick: React.MouseEventHandler<HTMLButtonElement> = (e) => {\n e.preventDefault();\n\n navigate('/plugins/content-type-builder/content-types/create-content-type');\n };\n\n const hasAlreadyCreatedContentTypes = collectionTypes.length > 1 || singleTypes.length > 0;\n\n if (isLoadingForModels) {\n return <Page.Loading />;\n }\n\n return (\n <Layout>\n <Helmet\n title={formatMessage({\n id: 'HomePage.helmet.title',\n defaultMessage: 'Homepage',\n })}\n />\n <Main>\n <LogoContainer>\n <img alt=\"\" aria-hidden src={cornerOrnamentPath} />\n </LogoContainer>\n <Box padding={10}>\n <Grid>\n <GridItem col={8} s={12}>\n <div>\n <Box paddingLeft={6} paddingBottom={10}>\n <Flex direction=\"column\" alignItems=\"flex-start\" gap={5}>\n <Typography as=\"h1\" variant=\"alpha\">\n {hasAlreadyCreatedContentTypes\n ? formatMessage({\n id: 'app.components.HomePage.welcome.again',\n defaultMessage: 'Welcome 👋',\n })\n : formatMessage({\n id: 'app.components.HomePage.welcome',\n defaultMessage: 'Welcome on board!',\n })}\n </Typography>\n <WordWrap textColor=\"neutral600\" variant=\"epsilon\">\n {hasAlreadyCreatedContentTypes\n ? formatMessage({\n id: 'app.components.HomePage.welcomeBlock.content.again',\n defaultMessage:\n 'We hope you are making progress on your project! Feel free to read the latest news about Strapi. We are giving our best to improve the product based on your feedback.',\n })\n : formatMessage({\n id: 'app.components.HomePage.welcomeBlock.content',\n defaultMessage:\n 'Congrats! You are logged as the first administrator. To discover the powerful features provided by Strapi, we recommend you to create your first Content type!',\n })}\n </WordWrap>\n {hasAlreadyCreatedContentTypes ? (\n <Link isExternal href=\"https://strapi.io/blog\">\n {formatMessage({\n id: 'app.components.HomePage.button.blog',\n defaultMessage: 'See more on the blog',\n })}\n </Link>\n ) : (\n <Button size=\"L\" onClick={handleClick} endIcon={<ArrowRight />}>\n {formatMessage({\n id: 'app.components.HomePage.create',\n defaultMessage: 'Create your first Content type',\n })}\n </Button>\n )}\n </Flex>\n </Box>\n </div>\n </GridItem>\n </Grid>\n <Grid gap={6}>\n <GridItem col={8} s={12}>\n {showGuidedTour ? <GuidedTourHomepage /> : <ContentBlocks />}\n </GridItem>\n <GridItem col={4} s={12}>\n <SocialLinks />\n </GridItem>\n </Grid>\n </Box>\n </Main>\n </Layout>\n );\n};\n\nconst LogoContainer = styled(Box)`\n position: absolute;\n top: 0;\n right: 0;\n\n img {\n width: ${150 / 16}rem;\n }\n`;\n\nconst WordWrap = styled(Typography)`\n word-break: break-word;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * ContentBlocks\n * -----------------------------------------------------------------------------------------------*/\n\nconst ContentBlocks = () => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={5}>\n <BlockLink\n href=\"https://cloud.strapi.io\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => {\n trackUsage('didClickOnTryStrapiCloudSection');\n }}\n >\n <Flex\n shadow=\"tableShadow\"\n hasRadius\n padding={6}\n background=\"neutral0\"\n position=\"relative\"\n gap={6}\n >\n <CloudCustomWrapper hasRadius padding={3}>\n <CloudIconWrapper\n width=\"2rem\"\n height=\"2rem\"\n justifyContent=\"center\"\n hasRadius\n alignItems=\"center\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"15\" fill=\"none\">\n <path\n fill=\"#fff\"\n fillRule=\"evenodd\"\n d=\"M4.39453 13.8298C1.93859 13.6455 0 11.468 0 8.80884 0 6.0289 2.11876 3.7753 4.73238 3.7753c.46775 0 .91964.07218 1.34638.20664C7.21234 1.62909 9.66469 0 12.5073 0c2.5102 0 4.7161 1.27036 5.9782 3.18766a4.54297 4.54297 0 0 1 .6132-.04144C21.8056 3.14622 24 5.54066 24 8.49436c0 2.89194-2.1036 5.24784-4.7323 5.34504v.0031l-1.8948.278a38.18054 38.18054 0 0 1-11.08354 0l-1.89483-.278v-.0127Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </CloudIconWrapper>\n </CloudCustomWrapper>\n <Flex gap={1} direction=\"column\" alignItems=\"start\">\n <Typography fontWeight=\"semiBold\" variant=\"pi\">\n {formatMessage({\n id: 'app.components.BlockLink.cloud',\n defaultMessage: 'Strapi Cloud',\n })}\n </Typography>\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: 'app.components.BlockLink.cloud.content',\n defaultMessage:\n 'A fully composable, and collaborative platform to boost your team velocity.',\n })}\n </Typography>\n <Box src={cloudFlagsImage} position=\"absolute\" top={0} right={0} as=\"img\" />\n </Flex>\n </Flex>\n </BlockLink>\n <BlockLink\n href=\"https://strapi.io/resource-center\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => trackUsage('didClickonReadTheDocumentationSection')}\n >\n <ContentBox\n title={formatMessage({\n id: 'global.documentation',\n defaultMessage: 'Documentation',\n })}\n subtitle={formatMessage({\n id: 'app.components.BlockLink.documentation.content',\n defaultMessage: 'Discover the essential concepts, guides and instructions.',\n })}\n icon={<InformationSquare />}\n iconBackground=\"primary100\"\n />\n </BlockLink>\n <BlockLink\n href=\"https://strapi.io/starters\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => trackUsage('didClickonCodeExampleSection')}\n >\n <ContentBox\n title={formatMessage({\n id: 'app.components.BlockLink.code',\n defaultMessage: 'Code example',\n })}\n subtitle={formatMessage({\n id: 'app.components.BlockLink.code.content',\n defaultMessage: 'Learn by using ready-made starters for your projects.',\n })}\n icon={<CodeSquare />}\n iconBackground=\"warning100\"\n />\n </BlockLink>\n <BlockLink\n href=\"https://strapi.io/blog/categories/tutorials\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => trackUsage('didClickonTutorialSection')}\n >\n <ContentBox\n title={formatMessage({\n id: 'app.components.BlockLink.tutorial',\n defaultMessage: 'Tutorials',\n })}\n subtitle={formatMessage({\n id: 'app.components.BlockLink.tutorial.content',\n defaultMessage: 'Follow step-by-step instructions to use and customize Strapi.',\n })}\n icon={<PlaySquare />}\n iconBackground=\"secondary100\"\n />\n </BlockLink>\n <BlockLink\n href=\"https://strapi.io/blog\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => trackUsage('didClickonBlogSection')}\n >\n <ContentBox\n title={formatMessage({\n id: 'app.components.BlockLink.blog',\n defaultMessage: 'Blog',\n })}\n subtitle={formatMessage({\n id: 'app.components.BlockLink.blog.content',\n defaultMessage: 'Read the latest news about Strapi and the ecosystem.',\n })}\n icon={<FeatherSquare />}\n iconBackground=\"alternative100\"\n />\n </BlockLink>\n </Flex>\n );\n};\n\nconst BlockLink = styled.a`\n text-decoration: none;\n`;\n\nconst CloudCustomWrapper = styled(Box)`\n background-image: url(${cloudIconBackgroundImage});\n`;\n\nconst CloudIconWrapper = styled(Flex)`\n background: rgba(255, 255, 255, 0.3);\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * SocialLinks\n * -----------------------------------------------------------------------------------------------*/\n\nconst SocialLinks = () => {\n const { formatMessage } = useIntl();\n const communityEdition = useAppInfo('SocialLinks', (state) => state.communityEdition);\n\n const socialLinksExtended = [\n ...SOCIAL_LINKS,\n {\n icon: <StyledStrapi />,\n link: communityEdition\n ? 'https://discord.strapi.io'\n : 'https://support.strapi.io/support/home',\n name: {\n id: 'Settings.application.get-help',\n defaultMessage: 'Get help',\n },\n },\n ];\n\n return (\n <Flex\n as=\"aside\"\n direction=\"column\"\n aria-labelledby=\"join-the-community\"\n background=\"neutral0\"\n hasRadius\n paddingRight={5}\n paddingLeft={5}\n paddingTop={6}\n paddingBottom={6}\n shadow=\"tableShadow\"\n gap={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={5}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={3}>\n <Typography variant=\"delta\" as=\"h2\" id=\"join-the-community\">\n {formatMessage({\n id: 'app.components.HomePage.community',\n defaultMessage: 'Join the community',\n })}\n </Typography>\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: 'app.components.HomePage.community.content',\n defaultMessage:\n 'Discuss with team members, contributors and developers on different channels',\n })}\n </Typography>\n </Flex>\n <Link href=\"https://feedback.strapi.io/\" isExternal endIcon={<ExternalLink />}>\n {formatMessage({\n id: 'app.components.HomePage.roadmap',\n defaultMessage: 'See our road map',\n })}\n </Link>\n </Flex>\n <GridGap>\n {socialLinksExtended.map(({ icon, link, name }) => {\n return (\n <GridItem col={6} s={12} key={name.id}>\n <LinkCustom size=\"L\" startIcon={icon} variant=\"tertiary\" href={link} isExternal>\n {formatMessage(name)}\n </LinkCustom>\n </GridItem>\n );\n })}\n </GridGap>\n </Flex>\n );\n};\n\nconst StyledDiscord = styled(Discord)`\n path {\n fill: #7289da !important;\n }\n`;\n\nconst StyledReddit = styled(Reddit)`\n > path:first-child {\n fill: #ff4500;\n }\n`;\nconst StyledStrapi = styled(Strapi)`\n > path:first-child {\n fill: #4945ff;\n }\n > path:nth-child(2) {\n fill: #fff;\n }\n > path:nth-child(4) {\n fill: #9593ff;\n }\n`;\n\nconst StyledTwitter = styled(Twitter)`\n path {\n fill: #1da1f2 !important;\n }\n`;\n\nconst StyledDiscourse = styled(Discourse)`\n > path:first-child {\n fill: #231f20;\n }\n > path:nth-child(2) {\n fill: #fff9ae;\n }\n > path:nth-child(3) {\n fill: #00aeef;\n }\n > path:nth-child(4) {\n fill: #00a94f;\n }\n > path:nth-child(5) {\n fill: #f15d22;\n }\n > path:nth-child(6) {\n fill: #e31b23;\n }\n`;\n\nconst LinkCustom = styled(LinkButton)`\n display: flex;\n align-items: center;\n border: none;\n\n svg {\n width: ${({ theme }) => theme.spaces[6]};\n height: ${({ theme }) => theme.spaces[6]};\n }\n\n span {\n word-break: keep-all;\n }\n`;\n\nconst GridGap = styled(Grid)`\n row-gap: ${({ theme }) => theme.spaces[2]};\n column-gap: ${({ theme }) => theme.spaces[4]};\n`;\n\nconst SOCIAL_LINKS = [\n {\n name: { id: 'app.components.HomePage.community.links.github', defaultMessage: 'Github' },\n link: 'https://github.com/strapi/strapi/',\n icon: <Github fill=\"#7289DA\" />,\n alt: 'github',\n },\n {\n name: { id: 'app.components.HomePage.community.links.discord', defaultMessage: 'Discord' },\n link: 'https://discord.strapi.io/',\n icon: <StyledDiscord />,\n alt: 'discord',\n },\n {\n name: { id: 'app.components.HomePage.community.links.reddit', defaultMessage: 'Reddit' },\n link: 'https://www.reddit.com/r/Strapi/',\n icon: <StyledReddit />,\n alt: 'reddit',\n },\n {\n name: { id: 'app.components.HomePage.community.links.twitter', defaultMessage: 'Twitter' },\n link: 'https://twitter.com/strapijs',\n icon: <StyledTwitter />,\n alt: 'twitter',\n },\n {\n name: { id: 'app.components.HomePage.community.links.forum', defaultMessage: 'Forum' },\n link: 'https://forum.strapi.io',\n icon: <StyledDiscourse />,\n alt: 'forum',\n },\n {\n name: { id: 'app.components.HomePage.community.links.blog', defaultMessage: 'Blog' },\n link: 'https://strapi.io/blog?utm_source=referral&utm_medium=admin&utm_campaign=career%20page',\n icon: <StyledStrapi />,\n alt: 'blog',\n },\n {\n name: {\n id: 'app.components.HomePage.community.links.career',\n defaultMessage: 'We are hiring!',\n },\n link: 'https://strapi.io/careers?utm_source=referral&utm_medium=admin&utm_campaign=blog',\n icon: <StyledStrapi />,\n alt: 'career',\n },\n];\n\n/* -------------------------------------------------------------------------------------------------\n * HomePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst HomePage = () => {\n const Page = useEnterprise(\n HomePageCE,\n // eslint-disable-next-line import/no-cycle\n async () => (await import('../../../ee/admin/src/pages/HomePage')).HomePageEE\n );\n\n // block rendering until the EE component is fully loaded\n if (!Page) {\n return null;\n }\n\n return <Page />;\n};\n\nexport { HomePage, HomePageCE };\n"],"names":["useGuidedTour","useIntl","useTracking","LAYOUT_DATA","jsx","LinkButton","NavLink","ArrowRight","jsxs","Box","Flex","Typography","Number","VerticalDivider","STATES","Button","useContentTypes","useNavigate","Page","Layout","Helmet","Main","Grid","GridItem","Link","styled","ContentBox","InformationSquare","CodeSquare","PlaySquare","FeatherSquare","useAppInfo","ExternalLink","Discord","Reddit","Strapi","Twitter","Discourse","Github","useEnterprise"],"mappings":"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"}
1
+ {"version":3,"file":"HomePage-OlYV50mz.js","sources":["../../admin/src/components/GuidedTour/Homepage.tsx","../../admin/src/pages/assets/corner-ornament.svg","../../admin/src/pages/assets/strapi-cloud-background.png","../../admin/src/pages/assets/strapi-cloud-flags.svg","../../admin/src/pages/HomePage.tsx"],"sourcesContent":["import { Box, Button, Flex, Typography } from '@strapi/design-system';\nimport { LinkButton } from '@strapi/design-system/v2';\nimport { ArrowRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\n\nimport { useTracking } from '../../features/Tracking';\n\nimport { LAYOUT_DATA, States, STATES } from './constants';\nimport { Number, VerticalDivider } from './Ornaments';\nimport { GuidedTourContextValue, useGuidedTour } from './Provider';\n\nconst GuidedTourHomepage = () => {\n const guidedTourState = useGuidedTour('GuidedTourHomepage', (state) => state.guidedTourState);\n const setSkipped = useGuidedTour('GuidedTourHomepage', (state) => state.setSkipped);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n const sections = Object.entries(LAYOUT_DATA).map(([key, val]) => ({\n key: key,\n title: val.home.title,\n content: (\n <LinkButton\n onClick={() => trackUsage(val.home.trackingEvent)}\n as={NavLink}\n // @ts-expect-error - types are not inferred correctly through the as prop.\n to={val.home.cta.target}\n endIcon={<ArrowRight />}\n >\n {formatMessage(val.home.cta.title)}\n </LinkButton>\n ),\n isDone: Object.entries(\n guidedTourState[key as keyof GuidedTourContextValue['guidedTourState']]\n ).every(([, value]) => value),\n }));\n\n const activeSectionIndex = sections.findIndex((section) => !section.isDone);\n\n const handleSkip = () => {\n setSkipped(true);\n trackUsage('didSkipGuidedtour');\n };\n\n return (\n <Box\n hasRadius\n shadow=\"tableShadow\"\n paddingTop={7}\n paddingRight={4}\n paddingLeft={7}\n paddingBottom={4}\n background=\"neutral0\"\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Typography variant=\"beta\" as=\"h2\">\n {formatMessage({\n id: 'app.components.GuidedTour.title',\n defaultMessage: '3 steps to get started',\n })}\n </Typography>\n <Box>\n {sections.map((section, index) => {\n const state = getState(activeSectionIndex, index);\n return (\n <Box key={section.key}>\n <Flex>\n <Box minWidth={`${30 / 16}rem`} marginRight={5}>\n <Number state={state}>{index + 1}</Number>\n </Box>\n <Typography variant=\"delta\" as=\"h3\">\n {formatMessage(section.title)}\n </Typography>\n </Flex>\n <Flex alignItems=\"flex-start\">\n <Flex\n justifyContent=\"center\"\n minWidth={`${30 / 16}rem`}\n marginBottom={3}\n marginTop={3}\n marginRight={5}\n >\n {index === sections.length - 1 ? null : <VerticalDivider state={state} />}\n </Flex>\n <Box marginTop={2}>{state === STATES.IS_ACTIVE ? section.content : null}</Box>\n </Flex>\n </Box>\n );\n })}\n </Box>\n </Flex>\n <Flex justifyContent=\"flex-end\">\n <Button variant=\"tertiary\" onClick={handleSkip}>\n {formatMessage({ id: 'app.components.GuidedTour.skip', defaultMessage: 'Skip the tour' })}\n </Button>\n </Flex>\n </Box>\n );\n};\n\nconst getState = (activeSectionIndex: number, index: number): States => {\n if (activeSectionIndex === -1) {\n return STATES.IS_DONE;\n }\n if (index < activeSectionIndex) {\n return STATES.IS_DONE;\n }\n if (index > activeSectionIndex) {\n return STATES.IS_NOT_DONE;\n }\n return STATES.IS_ACTIVE;\n};\n\nexport { GuidedTourHomepage };\n","export default \"data:image/svg+xml,%3csvg%20width='148'%20height='148'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20opacity='.8'%20fill-rule='evenodd'%20clip-rule='evenodd'%3e%3cpath%20opacity='.15'%20d='M110.81%2037H73.97V74.1h36.84V37Z'%20fill='url(%23a)'/%3e%3cpath%20opacity='.07'%20d='M36.84%200H0v37.08h36.84V0Z'%20fill='url(%23b)'/%3e%3cpath%20opacity='.07'%20d='M73.92%2073.95H37.08v37.08h36.84V73.95Z'%20fill='url(%23c)'/%3e%3cpath%20opacity='.07'%20d='M147.99%20110.92h-37.3V148H148v-37.08Z'%20fill='url(%23d)'/%3e%3cpath%20opacity='.15'%20d='M73.83%2037H36.84L73.83%200v37Z'%20fill='url(%23e)'/%3e%3cpath%20opacity='.15'%20d='M110.6%20111.02v-37h36.98l-36.99%2037Z'%20fill='url(%23f)'/%3e%3cpath%20opacity='.4'%20d='M73.83%200v37h36.98v37.01h37V3a3%203%200%200%200-3-3H73.82Z'%20fill='url(%23g)'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='a'%20x1='91.31'%20y1='83.31'%20x2='118.24'%20y2='56.59'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%237A92FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='b'%20x1='40.99'%20y1='13.88'%20x2='.01'%20y2='11.64'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23A8B8FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='c'%20x1='54.41'%20y1='120.25'%20x2='81.35'%20y2='93.52'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23A8B8FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='d'%20x1='128.24'%20y1='157.22'%20x2='155.17'%20y2='130.17'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23A8B8FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='e'%20x1='54.24'%20y1='46.21'%20x2='81.12'%20y2='19.38'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%237A92FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='f'%20x1='126.28'%20y1='74.05'%20x2='124.94'%20y2='111.07'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%237A92FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='g'%20x1='73.37'%20y1='36.87'%20x2='132.87'%20y2='66.74'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%237A92FF'/%3e%3cstop%20offset='1'%20stop-color='%233858EA'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e\"","export default \"data:image/png;base64,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\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='160'%20fill='none'%20viewBox='29.41%2044%20149.09%2050.35'%3e%3cpath%20stroke='%23EAEAEF'%20d='M30.5%2044.5c37%2027%2047.5%2038%20147.499%2032'/%3e%3cg%20filter='url(%23a)'%3e%3cpath%20fill='%23F29D41'%20d='m129.467%2094.085%208.148-14.142a.598.598%200%200%200-.403-.887%2075.099%2075.099%200%200%200-3.045-.536c-1.875-.274-2.936-.44-4.837-.505-1.838-.064-2.873.01-4.698.153a64.05%2064.05%200%200%200-2.692.293.597.597%200%200%200-.462.851l7.042%2014.737c.186.388.732.41.947.036Z'/%3e%3c/g%3e%3cg%20filter='url(%23b)'%3e%3cpath%20fill='%23F29D41'%20d='m46.99%2075.52%2013.813-8.697a.597.597%200%200%200%20.058-.971%2075.191%2075.191%200%200%200-2.442-1.897c-1.53-1.119-2.39-1.761-4.04-2.707-1.595-.915-2.545-1.334-4.226-2.06a64.09%2064.09%200%200%200-2.516-.999.597.597%200%200%200-.806.537l-.66%2016.319a.535.535%200%200%200%20.82.474Z'/%3e%3c/g%3e%3cg%20filter='url(%23c)'%3e%3cpath%20fill='%235CB176'%20d='m29.41%2063.51%202.102-16.186a.597.597%200%200%201%20.858-.46c.748.371%201.905.954%202.745%201.42%201.657.92%202.602%201.433%204.152%202.534%201.5%201.064%202.278%201.75%203.642%202.972a64.026%2064.026%200%200%201%201.962%201.865c.291.286.214.771-.149.957l-14.538%207.443a.535.535%200%200%201-.774-.545Z'/%3e%3c/g%3e%3cmask%20id='d'%20width='17'%20height='19'%20x='29'%20y='46'%20maskUnits='userSpaceOnUse'%20style='mask-type:alpha'%3e%3cpath%20fill='%235CB176'%20d='m29.412%2063.51%202.101-16.186a.597.597%200%200%201%20.858-.46c.749.371%201.905.954%202.746%201.42%201.657.92%202.601%201.433%204.152%202.534%201.5%201.064%202.278%201.75%203.642%202.972a64.148%2064.148%200%200%201%201.962%201.865c.29.286.214.771-.15.957l-14.537%207.443a.535.535%200%200%201-.774-.545Z'/%3e%3c/mask%3e%3cg%20stroke='%23fff'%20stroke-linecap='round'%20stroke-width='.661'%20mask='url(%23d)'%3e%3cpath%20d='M39.755%2051.218c-1.05%201.558-4.606%204.788-10.44%205.247M36.415%2047.816c-1.05%201.558-4.606%204.789-10.44%205.247M42.97%2053.97c-1.457%201.908-6.341%205.902-14.216%206.619M42.15%2058.499c-1.645%201.748-5.29%204.033-13.197%203.939'/%3e%3c/g%3e%3cg%20filter='url(%23e)'%3e%3cpath%20fill='%237B79FF'%20d='m169.813%2092.983%205.927-15.208a.598.598%200%200%200-.531-.815%2075.213%2075.213%200%200%200-3.091-.072c-1.895.01-2.969.007-4.859.228-1.826.214-2.838.442-4.621.859-.815.19-1.893.488-2.617.694a.596.596%200%200%200-.328.91l9.178%2013.51a.536.536%200%200%200%20.942-.106Z'/%3e%3c/g%3e%3cg%20filter='url(%23f)'%3e%3cpath%20fill='%237B79FF'%20d='m87.001%2090.853-4.466-15.699a.597.597%200%200%201%20.606-.761c.835.045%202.127.123%203.084.22%201.886.19%202.956.287%204.816.685%201.797.385%202.784.709%204.519%201.291.794.267%201.839.665%202.54.938.38.148.501.624.24.938L87.929%2091.048a.535.535%200%200%201-.927-.195Z'/%3e%3c/g%3e%3cg%20filter='url(%23g)'%3e%3cpath%20fill='%23EE5E52'%20d='m66.153%2085.122%2012.355-10.665a.597.597%200%200%200-.087-.97%2075.353%2075.353%200%200%200-2.698-1.51c-1.68-.877-2.627-1.383-4.4-2.072-1.714-.666-2.716-.938-4.486-1.404a64.083%2064.083%200%200%200-2.638-.611.597.597%200%200%200-.716.651l1.788%2016.234a.535.535%200%200%200%20.882.347Z'/%3e%3c/g%3e%3ccircle%20cx='70.793'%20cy='74.511'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2070.793%2074.51)'/%3e%3ccircle%20cx='65.574'%20cy='78.63'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2065.574%2078.63)'/%3e%3ccircle%20cx='65.408'%20cy='74.519'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2065.408%2074.519)'/%3e%3ccircle%20cx='67.834'%20cy='81.943'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2067.834%2081.943)'/%3e%3ccircle%20cx='67.259'%20cy='69.875'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2067.259%2069.875)'/%3e%3ccircle%20cx='74.691'%20cy='72.834'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2074.69%2072.834)'/%3e%3ccircle%20cx='71.171'%20cy='78.968'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2071.171%2078.968)'/%3e%3cg%20filter='url(%23h)'%3e%3cpath%20fill='%23EE5E52'%20d='m149.911%2093.824%206.521-14.963a.598.598%200%200%200-.499-.836%2075.255%2075.255%200%200%200-3.086-.193c-1.894-.064-2.967-.11-4.863.037-1.833.141-2.854.33-4.651.676-.823.158-1.912.414-2.643.59a.596.596%200%200%200-.364.898l8.64%2013.86a.535.535%200%200%200%20.945-.07Z'/%3e%3c/g%3e%3ccircle%20cx='149.5'%20cy='82.25'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20149.5%2082.25)'/%3e%3ccircle%20cx='146.579'%20cy='88.222'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20146.579%2088.222)'/%3e%3ccircle%20cx='144.65'%20cy='84.588'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20144.65%2084.588)'/%3e%3ccircle%20cx='150.049'%20cy='90.231'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20150.049%2090.231)'/%3e%3ccircle%20cx='144.306'%20cy='79.6'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20144.306%2079.6)'/%3e%3ccircle%20cx='152.287'%20cy='79.051'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20152.287%2079.05)'/%3e%3ccircle%20cx='151.77'%20cy='86.103'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20151.77%2086.103)'/%3e%3cg%20filter='url(%23i)'%3e%3cpath%20fill='%235CB176'%20d='m109.171%2093.4%208.86-13.707a.598.598%200%200%200-.357-.906c-.811-.2-2.07-.503-3.013-.69-1.859-.37-2.911-.59-4.806-.753-1.831-.157-2.869-.136-4.699-.086-.837.023-1.953.098-2.703.154a.597.597%200%200%200-.505.827l6.279%2015.077c.166.398.71.447.944.084Z'/%3e%3c/g%3e%3cmask%20id='j'%20width='18'%20height='17'%20x='101'%20y='77'%20maskUnits='userSpaceOnUse'%20style='mask-type:alpha'%3e%3cpath%20fill='%235CB176'%20d='m109.17%2093.4%208.86-13.707a.598.598%200%200%200-.357-.905c-.811-.201-2.07-.504-3.013-.692-1.859-.37-2.911-.589-4.806-.751-1.831-.158-2.869-.137-4.699-.087-.837.023-1.953.099-2.703.154a.597.597%200%200%200-.505.827l6.279%2015.077c.166.398.71.447.944.085Z'/%3e%3c/mask%3e%3cg%20stroke='%23fff'%20stroke-linecap='round'%20stroke-width='.661'%20mask='url(%23j)'%3e%3cpath%20d='M109.225%2077.335c-.207%201.867.418%206.632%204.573%2010.753M113.972%2076.9c-.207%201.867.418%206.631%204.573%2010.753M104.992%2077.357c-.121%202.397%201.023%208.602%206.568%2014.24M102.69%2081.343c.125%202.397%201.429%206.497%207.522%2011.537'/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='a'%20width='21.565'%20height='21.649'%20x='118.775'%20y='76.009'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='b'%20width='20.201'%20height='22.741'%20x='43.526'%20y='56.167'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='c'%20width='20.932'%20height='22.602'%20x='26.761'%20y='44.818'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='e'%20width='21.482'%20height='21.724'%20x='156.944'%20y='74.904'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='f'%20width='21.256'%20height='22.139'%20x='79.868'%20y='72.409'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='g'%20width='20.526'%20height='22.664'%20x='60.835'%20y='65.893'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='h'%20width='21.537'%20height='21.662'%20x='137.59'%20y='75.788'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='i'%20width='21.515'%20height='21.712'%20x='99.257'%20y='75.238'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e\"","import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, GridItem, Layout, Main, Typography } from '@strapi/design-system';\nimport { Link, LinkButton } from '@strapi/design-system/v2';\nimport {\n ArrowRight,\n CodeSquare,\n Discord,\n Discourse,\n ExternalLink,\n FeatherSquare,\n Github,\n InformationSquare,\n PlaySquare,\n Reddit,\n Strapi,\n Twitter,\n} from '@strapi/icons';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { ContentBox } from '../components/ContentBox';\nimport { GuidedTourHomepage } from '../components/GuidedTour/Homepage';\nimport { useGuidedTour } from '../components/GuidedTour/Provider';\nimport { Page } from '../components/PageHelpers';\nimport { useAppInfo } from '../features/AppInfo';\nimport { useTracking } from '../features/Tracking';\nimport { useContentTypes } from '../hooks/useContentTypes';\nimport { useEnterprise } from '../hooks/useEnterprise';\n\nimport cornerOrnamentPath from './assets/corner-ornament.svg';\nimport cloudIconBackgroundImage from './assets/strapi-cloud-background.png';\nimport cloudFlagsImage from './assets/strapi-cloud-flags.svg';\n\n/* -------------------------------------------------------------------------------------------------\n * HomePageCE\n * -----------------------------------------------------------------------------------------------*/\n\nconst HomePageCE = () => {\n const { formatMessage } = useIntl();\n // Temporary until we develop the menu API\n const { collectionTypes, singleTypes, isLoading: isLoadingForModels } = useContentTypes();\n const guidedTourState = useGuidedTour('HomePage', (state) => state.guidedTourState);\n const isGuidedTourVisible = useGuidedTour('HomePage', (state) => state.isGuidedTourVisible);\n const isSkipped = useGuidedTour('HomePage', (state) => state.isSkipped);\n\n const showGuidedTour =\n !Object.values(guidedTourState).every((section) =>\n Object.values(section).every((step) => step)\n ) &&\n isGuidedTourVisible &&\n !isSkipped;\n const navigate = useNavigate();\n const handleClick: React.MouseEventHandler<HTMLButtonElement> = (e) => {\n e.preventDefault();\n\n navigate('/plugins/content-type-builder/content-types/create-content-type');\n };\n\n const hasAlreadyCreatedContentTypes = collectionTypes.length > 1 || singleTypes.length > 0;\n\n if (isLoadingForModels) {\n return <Page.Loading />;\n }\n\n return (\n <Layout>\n <Helmet\n title={formatMessage({\n id: 'HomePage.helmet.title',\n defaultMessage: 'Homepage',\n })}\n />\n <Main>\n <LogoContainer>\n <img alt=\"\" aria-hidden src={cornerOrnamentPath} />\n </LogoContainer>\n <Box padding={10}>\n <Grid>\n <GridItem col={8} s={12}>\n <div>\n <Box paddingLeft={6} paddingBottom={10}>\n <Flex direction=\"column\" alignItems=\"flex-start\" gap={5}>\n <Typography as=\"h1\" variant=\"alpha\">\n {hasAlreadyCreatedContentTypes\n ? formatMessage({\n id: 'app.components.HomePage.welcome.again',\n defaultMessage: 'Welcome 👋',\n })\n : formatMessage({\n id: 'app.components.HomePage.welcome',\n defaultMessage: 'Welcome on board!',\n })}\n </Typography>\n <WordWrap textColor=\"neutral600\" variant=\"epsilon\">\n {hasAlreadyCreatedContentTypes\n ? formatMessage({\n id: 'app.components.HomePage.welcomeBlock.content.again',\n defaultMessage:\n 'We hope you are making progress on your project! Feel free to read the latest news about Strapi. We are giving our best to improve the product based on your feedback.',\n })\n : formatMessage({\n id: 'app.components.HomePage.welcomeBlock.content',\n defaultMessage:\n 'Congrats! You are logged as the first administrator. To discover the powerful features provided by Strapi, we recommend you to create your first Content type!',\n })}\n </WordWrap>\n {hasAlreadyCreatedContentTypes ? (\n <Link isExternal href=\"https://strapi.io/blog\">\n {formatMessage({\n id: 'app.components.HomePage.button.blog',\n defaultMessage: 'See more on the blog',\n })}\n </Link>\n ) : (\n <Button size=\"L\" onClick={handleClick} endIcon={<ArrowRight />}>\n {formatMessage({\n id: 'app.components.HomePage.create',\n defaultMessage: 'Create your first Content type',\n })}\n </Button>\n )}\n </Flex>\n </Box>\n </div>\n </GridItem>\n </Grid>\n <Grid gap={6}>\n <GridItem col={8} s={12}>\n {showGuidedTour ? <GuidedTourHomepage /> : <ContentBlocks />}\n </GridItem>\n <GridItem col={4} s={12}>\n <SocialLinks />\n </GridItem>\n </Grid>\n </Box>\n </Main>\n </Layout>\n );\n};\n\nconst LogoContainer = styled(Box)`\n position: absolute;\n top: 0;\n right: 0;\n\n img {\n width: ${150 / 16}rem;\n }\n`;\n\nconst WordWrap = styled(Typography)`\n word-break: break-word;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * ContentBlocks\n * -----------------------------------------------------------------------------------------------*/\n\nconst ContentBlocks = () => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={5}>\n <BlockLink\n href=\"https://cloud.strapi.io\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => {\n trackUsage('didClickOnTryStrapiCloudSection');\n }}\n >\n <Flex\n shadow=\"tableShadow\"\n hasRadius\n padding={6}\n background=\"neutral0\"\n position=\"relative\"\n gap={6}\n >\n <CloudCustomWrapper hasRadius padding={3}>\n <CloudIconWrapper\n width=\"2rem\"\n height=\"2rem\"\n justifyContent=\"center\"\n hasRadius\n alignItems=\"center\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"15\" fill=\"none\">\n <path\n fill=\"#fff\"\n fillRule=\"evenodd\"\n d=\"M4.39453 13.8298C1.93859 13.6455 0 11.468 0 8.80884 0 6.0289 2.11876 3.7753 4.73238 3.7753c.46775 0 .91964.07218 1.34638.20664C7.21234 1.62909 9.66469 0 12.5073 0c2.5102 0 4.7161 1.27036 5.9782 3.18766a4.54297 4.54297 0 0 1 .6132-.04144C21.8056 3.14622 24 5.54066 24 8.49436c0 2.89194-2.1036 5.24784-4.7323 5.34504v.0031l-1.8948.278a38.18054 38.18054 0 0 1-11.08354 0l-1.89483-.278v-.0127Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </CloudIconWrapper>\n </CloudCustomWrapper>\n <Flex gap={1} direction=\"column\" alignItems=\"start\">\n <Typography fontWeight=\"semiBold\" variant=\"pi\">\n {formatMessage({\n id: 'app.components.BlockLink.cloud',\n defaultMessage: 'Strapi Cloud',\n })}\n </Typography>\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: 'app.components.BlockLink.cloud.content',\n defaultMessage:\n 'A fully composable, and collaborative platform to boost your team velocity.',\n })}\n </Typography>\n <Box src={cloudFlagsImage} position=\"absolute\" top={0} right={0} as=\"img\" />\n </Flex>\n </Flex>\n </BlockLink>\n <BlockLink\n href=\"https://strapi.io/resource-center\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => trackUsage('didClickonReadTheDocumentationSection')}\n >\n <ContentBox\n title={formatMessage({\n id: 'global.documentation',\n defaultMessage: 'Documentation',\n })}\n subtitle={formatMessage({\n id: 'app.components.BlockLink.documentation.content',\n defaultMessage: 'Discover the essential concepts, guides and instructions.',\n })}\n icon={<InformationSquare />}\n iconBackground=\"primary100\"\n />\n </BlockLink>\n <BlockLink\n href=\"https://strapi.io/starters\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => trackUsage('didClickonCodeExampleSection')}\n >\n <ContentBox\n title={formatMessage({\n id: 'app.components.BlockLink.code',\n defaultMessage: 'Code example',\n })}\n subtitle={formatMessage({\n id: 'app.components.BlockLink.code.content',\n defaultMessage: 'Learn by using ready-made starters for your projects.',\n })}\n icon={<CodeSquare />}\n iconBackground=\"warning100\"\n />\n </BlockLink>\n <BlockLink\n href=\"https://strapi.io/blog/categories/tutorials\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => trackUsage('didClickonTutorialSection')}\n >\n <ContentBox\n title={formatMessage({\n id: 'app.components.BlockLink.tutorial',\n defaultMessage: 'Tutorials',\n })}\n subtitle={formatMessage({\n id: 'app.components.BlockLink.tutorial.content',\n defaultMessage: 'Follow step-by-step instructions to use and customize Strapi.',\n })}\n icon={<PlaySquare />}\n iconBackground=\"secondary100\"\n />\n </BlockLink>\n <BlockLink\n href=\"https://strapi.io/blog\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => trackUsage('didClickonBlogSection')}\n >\n <ContentBox\n title={formatMessage({\n id: 'app.components.BlockLink.blog',\n defaultMessage: 'Blog',\n })}\n subtitle={formatMessage({\n id: 'app.components.BlockLink.blog.content',\n defaultMessage: 'Read the latest news about Strapi and the ecosystem.',\n })}\n icon={<FeatherSquare />}\n iconBackground=\"alternative100\"\n />\n </BlockLink>\n </Flex>\n );\n};\n\nconst BlockLink = styled.a`\n text-decoration: none;\n`;\n\nconst CloudCustomWrapper = styled(Box)`\n background-image: url(${cloudIconBackgroundImage});\n`;\n\nconst CloudIconWrapper = styled(Flex)`\n background: rgba(255, 255, 255, 0.3);\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * SocialLinks\n * -----------------------------------------------------------------------------------------------*/\n\nconst SocialLinks = () => {\n const { formatMessage } = useIntl();\n const communityEdition = useAppInfo('SocialLinks', (state) => state.communityEdition);\n\n const socialLinksExtended = [\n ...SOCIAL_LINKS,\n {\n icon: <StyledStrapi />,\n link: communityEdition\n ? 'https://discord.strapi.io'\n : 'https://support.strapi.io/support/home',\n name: {\n id: 'Settings.application.get-help',\n defaultMessage: 'Get help',\n },\n },\n ];\n\n return (\n <Flex\n as=\"aside\"\n direction=\"column\"\n aria-labelledby=\"join-the-community\"\n background=\"neutral0\"\n hasRadius\n paddingRight={5}\n paddingLeft={5}\n paddingTop={6}\n paddingBottom={6}\n shadow=\"tableShadow\"\n gap={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={5}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={3}>\n <Typography variant=\"delta\" as=\"h2\" id=\"join-the-community\">\n {formatMessage({\n id: 'app.components.HomePage.community',\n defaultMessage: 'Join the community',\n })}\n </Typography>\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: 'app.components.HomePage.community.content',\n defaultMessage:\n 'Discuss with team members, contributors and developers on different channels',\n })}\n </Typography>\n </Flex>\n <Link href=\"https://feedback.strapi.io/\" isExternal endIcon={<ExternalLink />}>\n {formatMessage({\n id: 'app.components.HomePage.roadmap',\n defaultMessage: 'See our road map',\n })}\n </Link>\n </Flex>\n <GridGap>\n {socialLinksExtended.map(({ icon, link, name }) => {\n return (\n <GridItem col={6} s={12} key={name.id}>\n <LinkCustom size=\"L\" startIcon={icon} variant=\"tertiary\" href={link} isExternal>\n {formatMessage(name)}\n </LinkCustom>\n </GridItem>\n );\n })}\n </GridGap>\n </Flex>\n );\n};\n\nconst StyledDiscord = styled(Discord)`\n path {\n fill: #7289da !important;\n }\n`;\n\nconst StyledReddit = styled(Reddit)`\n > path:first-child {\n fill: #ff4500;\n }\n`;\nconst StyledStrapi = styled(Strapi)`\n > path:first-child {\n fill: #4945ff;\n }\n > path:nth-child(2) {\n fill: #fff;\n }\n > path:nth-child(4) {\n fill: #9593ff;\n }\n`;\n\nconst StyledTwitter = styled(Twitter)`\n path {\n fill: #1da1f2 !important;\n }\n`;\n\nconst StyledDiscourse = styled(Discourse)`\n > path:first-child {\n fill: #231f20;\n }\n > path:nth-child(2) {\n fill: #fff9ae;\n }\n > path:nth-child(3) {\n fill: #00aeef;\n }\n > path:nth-child(4) {\n fill: #00a94f;\n }\n > path:nth-child(5) {\n fill: #f15d22;\n }\n > path:nth-child(6) {\n fill: #e31b23;\n }\n`;\n\nconst LinkCustom = styled(LinkButton)`\n display: flex;\n align-items: center;\n border: none;\n\n svg {\n width: ${({ theme }) => theme.spaces[6]};\n height: ${({ theme }) => theme.spaces[6]};\n }\n\n span {\n word-break: keep-all;\n }\n`;\n\nconst GridGap = styled(Grid)`\n row-gap: ${({ theme }) => theme.spaces[2]};\n column-gap: ${({ theme }) => theme.spaces[4]};\n`;\n\nconst SOCIAL_LINKS = [\n {\n name: { id: 'app.components.HomePage.community.links.github', defaultMessage: 'Github' },\n link: 'https://github.com/strapi/strapi/',\n icon: <Github fill=\"#7289DA\" />,\n alt: 'github',\n },\n {\n name: { id: 'app.components.HomePage.community.links.discord', defaultMessage: 'Discord' },\n link: 'https://discord.strapi.io/',\n icon: <StyledDiscord />,\n alt: 'discord',\n },\n {\n name: { id: 'app.components.HomePage.community.links.reddit', defaultMessage: 'Reddit' },\n link: 'https://www.reddit.com/r/Strapi/',\n icon: <StyledReddit />,\n alt: 'reddit',\n },\n {\n name: { id: 'app.components.HomePage.community.links.twitter', defaultMessage: 'Twitter' },\n link: 'https://twitter.com/strapijs',\n icon: <StyledTwitter />,\n alt: 'twitter',\n },\n {\n name: { id: 'app.components.HomePage.community.links.forum', defaultMessage: 'Forum' },\n link: 'https://forum.strapi.io',\n icon: <StyledDiscourse />,\n alt: 'forum',\n },\n {\n name: { id: 'app.components.HomePage.community.links.blog', defaultMessage: 'Blog' },\n link: 'https://strapi.io/blog?utm_source=referral&utm_medium=admin&utm_campaign=career%20page',\n icon: <StyledStrapi />,\n alt: 'blog',\n },\n {\n name: {\n id: 'app.components.HomePage.community.links.career',\n defaultMessage: 'We are hiring!',\n },\n link: 'https://strapi.io/careers?utm_source=referral&utm_medium=admin&utm_campaign=blog',\n icon: <StyledStrapi />,\n alt: 'career',\n },\n];\n\n/* -------------------------------------------------------------------------------------------------\n * HomePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst HomePage = () => {\n const Page = useEnterprise(\n HomePageCE,\n // eslint-disable-next-line import/no-cycle\n async () => (await import('../../../ee/admin/src/pages/HomePage')).HomePageEE\n );\n\n // block rendering until the EE component is fully loaded\n if (!Page) {\n return null;\n }\n\n return <Page />;\n};\n\nexport { HomePage, HomePageCE };\n"],"names":["useGuidedTour","useIntl","useTracking","LAYOUT_DATA","jsx","LinkButton","NavLink","ArrowRight","jsxs","Box","Flex","Typography","Number","VerticalDivider","STATES","Button","useContentTypes","useNavigate","Page","Layout","Helmet","Main","Grid","GridItem","Link","styled","ContentBox","InformationSquare","CodeSquare","PlaySquare","FeatherSquare","useAppInfo","ExternalLink","Discord","Reddit","Strapi","Twitter","Discourse","Github","useEnterprise"],"mappings":"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"}
@@ -8,7 +8,7 @@ import * as React from 'react';
8
8
  import sortBy from 'lodash/sortBy';
9
9
  import { useSelector } from 'react-redux';
10
10
  import { s as selectAdminPermissions } from './selectors-NvWWczps.mjs';
11
- import { b as useEnterprise } from './index--h1ljeG8.mjs';
11
+ import { b as useEnterprise } from './index-Sd8uo7mE.mjs';
12
12
  import { SubNav, SubNavHeader, SubNavSections, SubNavSection, SubNavLink } from '@strapi/design-system/v2';
13
13
  import { Lock } from '@strapi/icons';
14
14
  import styled from 'styled-components';
@@ -35,7 +35,7 @@ const useSettingsMenu = () => {
35
35
  const ceLinks = React.useMemo(() => SETTINGS_LINKS_CE(), []);
36
36
  const { admin: adminLinks, global: globalLinks } = useEnterprise(
37
37
  ceLinks,
38
- async () => (await import('./index--h1ljeG8.mjs').then(n => n.aa)).SETTINGS_LINKS_EE(),
38
+ async () => (await import('./index-Sd8uo7mE.mjs').then(n => n.aa)).SETTINGS_LINKS_EE(),
39
39
  {
40
40
  combine(ceLinks2, eeLinks) {
41
41
  return {
@@ -206,4 +206,4 @@ const Layout = () => {
206
206
  };
207
207
 
208
208
  export { Layout };
209
- //# sourceMappingURL=Layout-IkzS-9jW.mjs.map
209
+ //# sourceMappingURL=Layout-DpiBAhal.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layout-IkzS-9jW.mjs","sources":["../../admin/src/hooks/useSettingsMenu.ts","../../admin/src/pages/Settings/components/SettingsNav.tsx","../../admin/src/pages/Settings/Layout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport sortBy from 'lodash/sortBy';\nimport { useSelector } from 'react-redux';\n\nimport { SETTINGS_LINKS_CE, SettingsMenuLink } from '../constants';\nimport { useAppInfo } from '../features/AppInfo';\nimport { useAuth } from '../features/Auth';\nimport { useStrapiApp } from '../features/StrapiApp';\nimport { selectAdminPermissions } from '../selectors';\nimport { PermissionMap } from '../types/permissions';\n\nimport { useEnterprise } from './useEnterprise';\n\nimport type { StrapiAppSetting, StrapiAppSettingLink as IStrapiAppSettingLink } from '../StrapiApp';\n\nconst formatLinks = (menu: SettingsMenuSection[]): SettingsMenuSectionWithDisplayedLinks[] =>\n menu.map((menuSection) => {\n const formattedLinks = menuSection.links.map((link) => ({\n ...link,\n isDisplayed: false,\n }));\n\n return { ...menuSection, links: formattedLinks };\n });\n\ninterface SettingsMenuLinkWithPermissions extends SettingsMenuLink {\n permissions: IStrapiAppSettingLink['permissions'];\n hasNotification?: boolean;\n}\n\ninterface StrapiAppSettingsLink extends IStrapiAppSettingLink {\n lockIcon?: never;\n hasNotification?: never;\n}\n\ninterface SettingsMenuSection extends Omit<StrapiAppSetting, 'links'> {\n links: Array<SettingsMenuLinkWithPermissions | StrapiAppSettingsLink>;\n}\n\ninterface SettingsMenuLinkWithPermissionsAndDisplayed extends SettingsMenuLinkWithPermissions {\n isDisplayed: boolean;\n}\n\ninterface StrapiAppSettingLinkWithDisplayed extends StrapiAppSettingsLink {\n isDisplayed: boolean;\n}\n\ninterface SettingsMenuSectionWithDisplayedLinks extends Omit<SettingsMenuSection, 'links'> {\n links: Array<SettingsMenuLinkWithPermissionsAndDisplayed | StrapiAppSettingLinkWithDisplayed>;\n}\n\ntype SettingsMenu = SettingsMenuSectionWithDisplayedLinks[];\n\nconst useSettingsMenu = (): {\n isLoading: boolean;\n menu: SettingsMenu;\n} => {\n const [{ isLoading, menu }, setData] = React.useState<{\n isLoading: boolean;\n menu: SettingsMenu;\n }>({\n isLoading: true,\n menu: [],\n });\n const checkUserHasPermission = useAuth(\n 'useSettingsMenu',\n (state) => state.checkUserHasPermissions\n );\n const shouldUpdateStrapi = useAppInfo('useSettingsMenu', (state) => state.shouldUpdateStrapi);\n const settings = useStrapiApp('useSettingsMenu', (state) => state.settings);\n const permissions = useSelector(selectAdminPermissions);\n\n /**\n * memoize the return value of this function to avoid re-computing it on every render\n * because it's used in an effect it ends up re-running recursively.\n */\n const ceLinks = React.useMemo(() => SETTINGS_LINKS_CE(), []);\n\n const { admin: adminLinks, global: globalLinks } = useEnterprise(\n ceLinks,\n async () => (await import('../../../ee/admin/src/constants')).SETTINGS_LINKS_EE(),\n {\n combine(ceLinks, eeLinks) {\n return {\n admin: [...eeLinks.admin, ...ceLinks.admin],\n global: [...ceLinks.global, ...eeLinks.global],\n };\n },\n defaultValue: {\n admin: [],\n global: [],\n },\n }\n );\n\n const addPermissions = React.useCallback(\n (link: SettingsMenuLink) => {\n if (!link.id) {\n throw new Error('The settings menu item must have an id attribute.');\n }\n\n return {\n ...link,\n permissions: permissions.settings?.[link.id as keyof PermissionMap['settings']]?.main ?? [],\n } satisfies SettingsMenuLinkWithPermissions;\n },\n [permissions.settings]\n );\n\n React.useEffect(() => {\n const getData = async () => {\n interface MenuLinkPermission {\n hasPermission: boolean;\n sectionIndex: number;\n linkIndex: number;\n }\n\n const buildMenuPermissions = (sections: SettingsMenuSectionWithDisplayedLinks[]) =>\n Promise.all(\n sections.reduce<Promise<MenuLinkPermission>[]>((acc, section, sectionIndex) => {\n const linksWithPermissions = section.links.map(async (link, linkIndex) => ({\n hasPermission: await checkUserHasPermission(link.permissions),\n sectionIndex,\n linkIndex,\n }));\n\n return [...acc, ...linksWithPermissions];\n }, [])\n );\n\n const menuPermissions = await buildMenuPermissions(sections);\n\n setData((prev) => {\n return {\n ...prev,\n isLoading: false,\n menu: sections.map((section, sectionIndex) => ({\n ...section,\n links: section.links.map((link, linkIndex) => {\n const permission = menuPermissions.find(\n (permission) =>\n permission.sectionIndex === sectionIndex && permission.linkIndex === linkIndex\n );\n\n return {\n ...link,\n isDisplayed: Boolean(permission?.hasPermission),\n };\n }),\n })),\n };\n });\n };\n\n const { global, ...otherSections } = settings;\n const sections = formatLinks([\n {\n ...global,\n links: sortBy([...global.links, ...globalLinks.map(addPermissions)], (link) => link.id).map(\n (link) => ({\n ...link,\n hasNotification: link.id === '000-application-infos' && shouldUpdateStrapi,\n })\n ),\n },\n {\n id: 'permissions',\n intlLabel: { id: 'Settings.permissions', defaultMessage: 'Administration Panel' },\n links: adminLinks.map(addPermissions),\n },\n ...Object.values(otherSections),\n ]);\n\n getData();\n }, [\n adminLinks,\n globalLinks,\n settings,\n shouldUpdateStrapi,\n addPermissions,\n checkUserHasPermission,\n ]);\n\n return {\n isLoading,\n menu: menu.map((menuItem) => ({\n ...menuItem,\n links: menuItem.links.filter((link) => link.isDisplayed),\n })),\n };\n};\n\nexport { useSettingsMenu };\nexport type { SettingsMenu };\n","import { Icon } from '@strapi/design-system';\nimport {\n SubNav,\n SubNavHeader,\n SubNavLink,\n SubNavSection,\n SubNavSections,\n} from '@strapi/design-system/v2';\nimport { Lock } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { useTracking } from '../../../features/Tracking';\nimport { SettingsMenu } from '../../../hooks/useSettingsMenu';\n\n/**\n * TODO: refactor the SubNav entirely, we shouldn't have\n * to do this hack to work a lock at the end. It's a bit hacky.\n */\n\nconst CustomIcon = styled(Icon)`\n right: 15px;\n position: absolute;\n`;\n\ninterface SettingsNavProps {\n menu: SettingsMenu;\n}\n\nconst SettingsNav = ({ menu }: SettingsNavProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { pathname } = useLocation();\n\n const filteredMenu = menu.filter(\n (section) => !section.links.every((link) => link.isDisplayed === false)\n );\n\n const sections = filteredMenu.map((section) => {\n return {\n ...section,\n title: section.intlLabel,\n links: section.links.map((link) => {\n return {\n ...link,\n title: link.intlLabel,\n name: link.id,\n };\n }),\n };\n });\n\n const label = formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n });\n\n const handleClickOnLink = (destination: string) => () => {\n trackUsage('willNavigate', { from: pathname, to: destination });\n };\n\n return (\n <SubNav ariaLabel={label}>\n <SubNavHeader label={label} />\n <SubNavSections>\n {sections.map((section) => (\n <SubNavSection key={section.id} label={formatMessage(section.intlLabel)}>\n {section.links.map((link) => {\n return (\n <SubNavLink\n as={NavLink}\n withBullet={link.hasNotification}\n // @ts-expect-error – this is an issue with the DS where as props are not inferred\n to={link.to}\n onClick={handleClickOnLink(link.to)}\n key={link.id}\n >\n {formatMessage(link.intlLabel)}\n {link?.lockIcon && (\n <CustomIcon width={`${15 / 16}rem`} height={`${15 / 16}rem`} as={Lock} />\n )}\n </SubNavLink>\n );\n })}\n </SubNavSection>\n ))}\n </SubNavSections>\n </SubNav>\n );\n};\n\nexport { SettingsNav };\nexport type { SettingsNavProps };\n","import { Layout as DSLayout } from '@strapi/design-system';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { Navigate, Outlet, useMatch } from 'react-router-dom';\n\nimport { Page } from '../../components/PageHelpers';\nimport { useSettingsMenu } from '../../hooks/useSettingsMenu';\n\nimport { SettingsNav } from './components/SettingsNav';\n\nconst Layout = () => {\n /**\n * This ensures we're capturing the settingId from the URL\n * but also lets any nesting after that pass.\n */\n const match = useMatch('/settings/:settingId/*');\n const { formatMessage } = useIntl();\n const { isLoading, menu } = useSettingsMenu();\n\n // Since the useSettingsMenu hook can make API calls in order to check the links permissions\n // We need to add a loading state to prevent redirecting the user while permissions are being checked\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (!match?.params.settingId) {\n return <Navigate to=\"application-infos\" />;\n }\n\n return (\n <DSLayout sideNav={<SettingsNav menu={menu} />}>\n <Helmet\n title={formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n />\n <Outlet />\n </DSLayout>\n );\n};\n\nexport { Layout };\n"],"names":["ceLinks","sections","permission","DSLayout"],"mappings":"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"}
1
+ {"version":3,"file":"Layout-DpiBAhal.mjs","sources":["../../admin/src/hooks/useSettingsMenu.ts","../../admin/src/pages/Settings/components/SettingsNav.tsx","../../admin/src/pages/Settings/Layout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport sortBy from 'lodash/sortBy';\nimport { useSelector } from 'react-redux';\n\nimport { SETTINGS_LINKS_CE, SettingsMenuLink } from '../constants';\nimport { useAppInfo } from '../features/AppInfo';\nimport { useAuth } from '../features/Auth';\nimport { useStrapiApp } from '../features/StrapiApp';\nimport { selectAdminPermissions } from '../selectors';\nimport { PermissionMap } from '../types/permissions';\n\nimport { useEnterprise } from './useEnterprise';\n\nimport type { StrapiAppSetting, StrapiAppSettingLink as IStrapiAppSettingLink } from '../StrapiApp';\n\nconst formatLinks = (menu: SettingsMenuSection[]): SettingsMenuSectionWithDisplayedLinks[] =>\n menu.map((menuSection) => {\n const formattedLinks = menuSection.links.map((link) => ({\n ...link,\n isDisplayed: false,\n }));\n\n return { ...menuSection, links: formattedLinks };\n });\n\ninterface SettingsMenuLinkWithPermissions extends SettingsMenuLink {\n permissions: IStrapiAppSettingLink['permissions'];\n hasNotification?: boolean;\n}\n\ninterface StrapiAppSettingsLink extends IStrapiAppSettingLink {\n lockIcon?: never;\n hasNotification?: never;\n}\n\ninterface SettingsMenuSection extends Omit<StrapiAppSetting, 'links'> {\n links: Array<SettingsMenuLinkWithPermissions | StrapiAppSettingsLink>;\n}\n\ninterface SettingsMenuLinkWithPermissionsAndDisplayed extends SettingsMenuLinkWithPermissions {\n isDisplayed: boolean;\n}\n\ninterface StrapiAppSettingLinkWithDisplayed extends StrapiAppSettingsLink {\n isDisplayed: boolean;\n}\n\ninterface SettingsMenuSectionWithDisplayedLinks extends Omit<SettingsMenuSection, 'links'> {\n links: Array<SettingsMenuLinkWithPermissionsAndDisplayed | StrapiAppSettingLinkWithDisplayed>;\n}\n\ntype SettingsMenu = SettingsMenuSectionWithDisplayedLinks[];\n\nconst useSettingsMenu = (): {\n isLoading: boolean;\n menu: SettingsMenu;\n} => {\n const [{ isLoading, menu }, setData] = React.useState<{\n isLoading: boolean;\n menu: SettingsMenu;\n }>({\n isLoading: true,\n menu: [],\n });\n const checkUserHasPermission = useAuth(\n 'useSettingsMenu',\n (state) => state.checkUserHasPermissions\n );\n const shouldUpdateStrapi = useAppInfo('useSettingsMenu', (state) => state.shouldUpdateStrapi);\n const settings = useStrapiApp('useSettingsMenu', (state) => state.settings);\n const permissions = useSelector(selectAdminPermissions);\n\n /**\n * memoize the return value of this function to avoid re-computing it on every render\n * because it's used in an effect it ends up re-running recursively.\n */\n const ceLinks = React.useMemo(() => SETTINGS_LINKS_CE(), []);\n\n const { admin: adminLinks, global: globalLinks } = useEnterprise(\n ceLinks,\n async () => (await import('../../../ee/admin/src/constants')).SETTINGS_LINKS_EE(),\n {\n combine(ceLinks, eeLinks) {\n return {\n admin: [...eeLinks.admin, ...ceLinks.admin],\n global: [...ceLinks.global, ...eeLinks.global],\n };\n },\n defaultValue: {\n admin: [],\n global: [],\n },\n }\n );\n\n const addPermissions = React.useCallback(\n (link: SettingsMenuLink) => {\n if (!link.id) {\n throw new Error('The settings menu item must have an id attribute.');\n }\n\n return {\n ...link,\n permissions: permissions.settings?.[link.id as keyof PermissionMap['settings']]?.main ?? [],\n } satisfies SettingsMenuLinkWithPermissions;\n },\n [permissions.settings]\n );\n\n React.useEffect(() => {\n const getData = async () => {\n interface MenuLinkPermission {\n hasPermission: boolean;\n sectionIndex: number;\n linkIndex: number;\n }\n\n const buildMenuPermissions = (sections: SettingsMenuSectionWithDisplayedLinks[]) =>\n Promise.all(\n sections.reduce<Promise<MenuLinkPermission>[]>((acc, section, sectionIndex) => {\n const linksWithPermissions = section.links.map(async (link, linkIndex) => ({\n hasPermission: await checkUserHasPermission(link.permissions),\n sectionIndex,\n linkIndex,\n }));\n\n return [...acc, ...linksWithPermissions];\n }, [])\n );\n\n const menuPermissions = await buildMenuPermissions(sections);\n\n setData((prev) => {\n return {\n ...prev,\n isLoading: false,\n menu: sections.map((section, sectionIndex) => ({\n ...section,\n links: section.links.map((link, linkIndex) => {\n const permission = menuPermissions.find(\n (permission) =>\n permission.sectionIndex === sectionIndex && permission.linkIndex === linkIndex\n );\n\n return {\n ...link,\n isDisplayed: Boolean(permission?.hasPermission),\n };\n }),\n })),\n };\n });\n };\n\n const { global, ...otherSections } = settings;\n const sections = formatLinks([\n {\n ...global,\n links: sortBy([...global.links, ...globalLinks.map(addPermissions)], (link) => link.id).map(\n (link) => ({\n ...link,\n hasNotification: link.id === '000-application-infos' && shouldUpdateStrapi,\n })\n ),\n },\n {\n id: 'permissions',\n intlLabel: { id: 'Settings.permissions', defaultMessage: 'Administration Panel' },\n links: adminLinks.map(addPermissions),\n },\n ...Object.values(otherSections),\n ]);\n\n getData();\n }, [\n adminLinks,\n globalLinks,\n settings,\n shouldUpdateStrapi,\n addPermissions,\n checkUserHasPermission,\n ]);\n\n return {\n isLoading,\n menu: menu.map((menuItem) => ({\n ...menuItem,\n links: menuItem.links.filter((link) => link.isDisplayed),\n })),\n };\n};\n\nexport { useSettingsMenu };\nexport type { SettingsMenu };\n","import { Icon } from '@strapi/design-system';\nimport {\n SubNav,\n SubNavHeader,\n SubNavLink,\n SubNavSection,\n SubNavSections,\n} from '@strapi/design-system/v2';\nimport { Lock } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { useTracking } from '../../../features/Tracking';\nimport { SettingsMenu } from '../../../hooks/useSettingsMenu';\n\n/**\n * TODO: refactor the SubNav entirely, we shouldn't have\n * to do this hack to work a lock at the end. It's a bit hacky.\n */\n\nconst CustomIcon = styled(Icon)`\n right: 15px;\n position: absolute;\n`;\n\ninterface SettingsNavProps {\n menu: SettingsMenu;\n}\n\nconst SettingsNav = ({ menu }: SettingsNavProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { pathname } = useLocation();\n\n const filteredMenu = menu.filter(\n (section) => !section.links.every((link) => link.isDisplayed === false)\n );\n\n const sections = filteredMenu.map((section) => {\n return {\n ...section,\n title: section.intlLabel,\n links: section.links.map((link) => {\n return {\n ...link,\n title: link.intlLabel,\n name: link.id,\n };\n }),\n };\n });\n\n const label = formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n });\n\n const handleClickOnLink = (destination: string) => () => {\n trackUsage('willNavigate', { from: pathname, to: destination });\n };\n\n return (\n <SubNav ariaLabel={label}>\n <SubNavHeader label={label} />\n <SubNavSections>\n {sections.map((section) => (\n <SubNavSection key={section.id} label={formatMessage(section.intlLabel)}>\n {section.links.map((link) => {\n return (\n <SubNavLink\n as={NavLink}\n withBullet={link.hasNotification}\n // @ts-expect-error – this is an issue with the DS where as props are not inferred\n to={link.to}\n onClick={handleClickOnLink(link.to)}\n key={link.id}\n >\n {formatMessage(link.intlLabel)}\n {link?.lockIcon && (\n <CustomIcon width={`${15 / 16}rem`} height={`${15 / 16}rem`} as={Lock} />\n )}\n </SubNavLink>\n );\n })}\n </SubNavSection>\n ))}\n </SubNavSections>\n </SubNav>\n );\n};\n\nexport { SettingsNav };\nexport type { SettingsNavProps };\n","import { Layout as DSLayout } from '@strapi/design-system';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { Navigate, Outlet, useMatch } from 'react-router-dom';\n\nimport { Page } from '../../components/PageHelpers';\nimport { useSettingsMenu } from '../../hooks/useSettingsMenu';\n\nimport { SettingsNav } from './components/SettingsNav';\n\nconst Layout = () => {\n /**\n * This ensures we're capturing the settingId from the URL\n * but also lets any nesting after that pass.\n */\n const match = useMatch('/settings/:settingId/*');\n const { formatMessage } = useIntl();\n const { isLoading, menu } = useSettingsMenu();\n\n // Since the useSettingsMenu hook can make API calls in order to check the links permissions\n // We need to add a loading state to prevent redirecting the user while permissions are being checked\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (!match?.params.settingId) {\n return <Navigate to=\"application-infos\" />;\n }\n\n return (\n <DSLayout sideNav={<SettingsNav menu={menu} />}>\n <Helmet\n title={formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n />\n <Outlet />\n </DSLayout>\n );\n};\n\nexport { Layout };\n"],"names":["ceLinks","sections","permission","DSLayout"],"mappings":"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"}
@@ -12,7 +12,7 @@ const React = require('react');
12
12
  const sortBy = require('lodash/sortBy');
13
13
  const reactRedux = require('react-redux');
14
14
  const selectors = require('./selectors-ka781RNf.js');
15
- const index = require('./index-Xcv2DEB8.js');
15
+ const index = require('./index-_fZT3TVe.js');
16
16
  const v2 = require('@strapi/design-system/v2');
17
17
  const Icons = require('@strapi/icons');
18
18
  const styled = require('styled-components');
@@ -63,7 +63,7 @@ const useSettingsMenu = () => {
63
63
  const ceLinks = React__namespace.useMemo(() => layout.SETTINGS_LINKS_CE(), []);
64
64
  const { admin: adminLinks, global: globalLinks } = index.useEnterprise(
65
65
  ceLinks,
66
- async () => (await Promise.resolve().then(() => require('./index-Xcv2DEB8.js')).then(n => n.constants)).SETTINGS_LINKS_EE(),
66
+ async () => (await Promise.resolve().then(() => require('./index-_fZT3TVe.js')).then(n => n.constants)).SETTINGS_LINKS_EE(),
67
67
  {
68
68
  combine(ceLinks2, eeLinks) {
69
69
  return {
@@ -234,4 +234,4 @@ const Layout = () => {
234
234
  };
235
235
 
236
236
  exports.Layout = Layout;
237
- //# sourceMappingURL=Layout--4O1STTS.js.map
237
+ //# sourceMappingURL=Layout-Drko3mHh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layout--4O1STTS.js","sources":["../../admin/src/hooks/useSettingsMenu.ts","../../admin/src/pages/Settings/components/SettingsNav.tsx","../../admin/src/pages/Settings/Layout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport sortBy from 'lodash/sortBy';\nimport { useSelector } from 'react-redux';\n\nimport { SETTINGS_LINKS_CE, SettingsMenuLink } from '../constants';\nimport { useAppInfo } from '../features/AppInfo';\nimport { useAuth } from '../features/Auth';\nimport { useStrapiApp } from '../features/StrapiApp';\nimport { selectAdminPermissions } from '../selectors';\nimport { PermissionMap } from '../types/permissions';\n\nimport { useEnterprise } from './useEnterprise';\n\nimport type { StrapiAppSetting, StrapiAppSettingLink as IStrapiAppSettingLink } from '../StrapiApp';\n\nconst formatLinks = (menu: SettingsMenuSection[]): SettingsMenuSectionWithDisplayedLinks[] =>\n menu.map((menuSection) => {\n const formattedLinks = menuSection.links.map((link) => ({\n ...link,\n isDisplayed: false,\n }));\n\n return { ...menuSection, links: formattedLinks };\n });\n\ninterface SettingsMenuLinkWithPermissions extends SettingsMenuLink {\n permissions: IStrapiAppSettingLink['permissions'];\n hasNotification?: boolean;\n}\n\ninterface StrapiAppSettingsLink extends IStrapiAppSettingLink {\n lockIcon?: never;\n hasNotification?: never;\n}\n\ninterface SettingsMenuSection extends Omit<StrapiAppSetting, 'links'> {\n links: Array<SettingsMenuLinkWithPermissions | StrapiAppSettingsLink>;\n}\n\ninterface SettingsMenuLinkWithPermissionsAndDisplayed extends SettingsMenuLinkWithPermissions {\n isDisplayed: boolean;\n}\n\ninterface StrapiAppSettingLinkWithDisplayed extends StrapiAppSettingsLink {\n isDisplayed: boolean;\n}\n\ninterface SettingsMenuSectionWithDisplayedLinks extends Omit<SettingsMenuSection, 'links'> {\n links: Array<SettingsMenuLinkWithPermissionsAndDisplayed | StrapiAppSettingLinkWithDisplayed>;\n}\n\ntype SettingsMenu = SettingsMenuSectionWithDisplayedLinks[];\n\nconst useSettingsMenu = (): {\n isLoading: boolean;\n menu: SettingsMenu;\n} => {\n const [{ isLoading, menu }, setData] = React.useState<{\n isLoading: boolean;\n menu: SettingsMenu;\n }>({\n isLoading: true,\n menu: [],\n });\n const checkUserHasPermission = useAuth(\n 'useSettingsMenu',\n (state) => state.checkUserHasPermissions\n );\n const shouldUpdateStrapi = useAppInfo('useSettingsMenu', (state) => state.shouldUpdateStrapi);\n const settings = useStrapiApp('useSettingsMenu', (state) => state.settings);\n const permissions = useSelector(selectAdminPermissions);\n\n /**\n * memoize the return value of this function to avoid re-computing it on every render\n * because it's used in an effect it ends up re-running recursively.\n */\n const ceLinks = React.useMemo(() => SETTINGS_LINKS_CE(), []);\n\n const { admin: adminLinks, global: globalLinks } = useEnterprise(\n ceLinks,\n async () => (await import('../../../ee/admin/src/constants')).SETTINGS_LINKS_EE(),\n {\n combine(ceLinks, eeLinks) {\n return {\n admin: [...eeLinks.admin, ...ceLinks.admin],\n global: [...ceLinks.global, ...eeLinks.global],\n };\n },\n defaultValue: {\n admin: [],\n global: [],\n },\n }\n );\n\n const addPermissions = React.useCallback(\n (link: SettingsMenuLink) => {\n if (!link.id) {\n throw new Error('The settings menu item must have an id attribute.');\n }\n\n return {\n ...link,\n permissions: permissions.settings?.[link.id as keyof PermissionMap['settings']]?.main ?? [],\n } satisfies SettingsMenuLinkWithPermissions;\n },\n [permissions.settings]\n );\n\n React.useEffect(() => {\n const getData = async () => {\n interface MenuLinkPermission {\n hasPermission: boolean;\n sectionIndex: number;\n linkIndex: number;\n }\n\n const buildMenuPermissions = (sections: SettingsMenuSectionWithDisplayedLinks[]) =>\n Promise.all(\n sections.reduce<Promise<MenuLinkPermission>[]>((acc, section, sectionIndex) => {\n const linksWithPermissions = section.links.map(async (link, linkIndex) => ({\n hasPermission: await checkUserHasPermission(link.permissions),\n sectionIndex,\n linkIndex,\n }));\n\n return [...acc, ...linksWithPermissions];\n }, [])\n );\n\n const menuPermissions = await buildMenuPermissions(sections);\n\n setData((prev) => {\n return {\n ...prev,\n isLoading: false,\n menu: sections.map((section, sectionIndex) => ({\n ...section,\n links: section.links.map((link, linkIndex) => {\n const permission = menuPermissions.find(\n (permission) =>\n permission.sectionIndex === sectionIndex && permission.linkIndex === linkIndex\n );\n\n return {\n ...link,\n isDisplayed: Boolean(permission?.hasPermission),\n };\n }),\n })),\n };\n });\n };\n\n const { global, ...otherSections } = settings;\n const sections = formatLinks([\n {\n ...global,\n links: sortBy([...global.links, ...globalLinks.map(addPermissions)], (link) => link.id).map(\n (link) => ({\n ...link,\n hasNotification: link.id === '000-application-infos' && shouldUpdateStrapi,\n })\n ),\n },\n {\n id: 'permissions',\n intlLabel: { id: 'Settings.permissions', defaultMessage: 'Administration Panel' },\n links: adminLinks.map(addPermissions),\n },\n ...Object.values(otherSections),\n ]);\n\n getData();\n }, [\n adminLinks,\n globalLinks,\n settings,\n shouldUpdateStrapi,\n addPermissions,\n checkUserHasPermission,\n ]);\n\n return {\n isLoading,\n menu: menu.map((menuItem) => ({\n ...menuItem,\n links: menuItem.links.filter((link) => link.isDisplayed),\n })),\n };\n};\n\nexport { useSettingsMenu };\nexport type { SettingsMenu };\n","import { Icon } from '@strapi/design-system';\nimport {\n SubNav,\n SubNavHeader,\n SubNavLink,\n SubNavSection,\n SubNavSections,\n} from '@strapi/design-system/v2';\nimport { Lock } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { useTracking } from '../../../features/Tracking';\nimport { SettingsMenu } from '../../../hooks/useSettingsMenu';\n\n/**\n * TODO: refactor the SubNav entirely, we shouldn't have\n * to do this hack to work a lock at the end. It's a bit hacky.\n */\n\nconst CustomIcon = styled(Icon)`\n right: 15px;\n position: absolute;\n`;\n\ninterface SettingsNavProps {\n menu: SettingsMenu;\n}\n\nconst SettingsNav = ({ menu }: SettingsNavProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { pathname } = useLocation();\n\n const filteredMenu = menu.filter(\n (section) => !section.links.every((link) => link.isDisplayed === false)\n );\n\n const sections = filteredMenu.map((section) => {\n return {\n ...section,\n title: section.intlLabel,\n links: section.links.map((link) => {\n return {\n ...link,\n title: link.intlLabel,\n name: link.id,\n };\n }),\n };\n });\n\n const label = formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n });\n\n const handleClickOnLink = (destination: string) => () => {\n trackUsage('willNavigate', { from: pathname, to: destination });\n };\n\n return (\n <SubNav ariaLabel={label}>\n <SubNavHeader label={label} />\n <SubNavSections>\n {sections.map((section) => (\n <SubNavSection key={section.id} label={formatMessage(section.intlLabel)}>\n {section.links.map((link) => {\n return (\n <SubNavLink\n as={NavLink}\n withBullet={link.hasNotification}\n // @ts-expect-error – this is an issue with the DS where as props are not inferred\n to={link.to}\n onClick={handleClickOnLink(link.to)}\n key={link.id}\n >\n {formatMessage(link.intlLabel)}\n {link?.lockIcon && (\n <CustomIcon width={`${15 / 16}rem`} height={`${15 / 16}rem`} as={Lock} />\n )}\n </SubNavLink>\n );\n })}\n </SubNavSection>\n ))}\n </SubNavSections>\n </SubNav>\n );\n};\n\nexport { SettingsNav };\nexport type { SettingsNavProps };\n","import { Layout as DSLayout } from '@strapi/design-system';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { Navigate, Outlet, useMatch } from 'react-router-dom';\n\nimport { Page } from '../../components/PageHelpers';\nimport { useSettingsMenu } from '../../hooks/useSettingsMenu';\n\nimport { SettingsNav } from './components/SettingsNav';\n\nconst Layout = () => {\n /**\n * This ensures we're capturing the settingId from the URL\n * but also lets any nesting after that pass.\n */\n const match = useMatch('/settings/:settingId/*');\n const { formatMessage } = useIntl();\n const { isLoading, menu } = useSettingsMenu();\n\n // Since the useSettingsMenu hook can make API calls in order to check the links permissions\n // We need to add a loading state to prevent redirecting the user while permissions are being checked\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (!match?.params.settingId) {\n return <Navigate to=\"application-infos\" />;\n }\n\n return (\n <DSLayout sideNav={<SettingsNav menu={menu} />}>\n <Helmet\n title={formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n />\n <Outlet />\n </DSLayout>\n );\n};\n\nexport { Layout };\n"],"names":["React","useAuth","useAppInfo","useStrapiApp","useSelector","selectAdminPermissions","SETTINGS_LINKS_CE","useEnterprise","ceLinks","sections","permission","sortBy","styled","Icon","useIntl","useTracking","useLocation","jsxs","SubNav","jsx","SubNavHeader","SubNavSections","SubNavSection","SubNavLink","NavLink","Lock","useMatch","Page","Navigate","DSLayout","Helmet","Outlet"],"mappings":"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"}
1
+ {"version":3,"file":"Layout-Drko3mHh.js","sources":["../../admin/src/hooks/useSettingsMenu.ts","../../admin/src/pages/Settings/components/SettingsNav.tsx","../../admin/src/pages/Settings/Layout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport sortBy from 'lodash/sortBy';\nimport { useSelector } from 'react-redux';\n\nimport { SETTINGS_LINKS_CE, SettingsMenuLink } from '../constants';\nimport { useAppInfo } from '../features/AppInfo';\nimport { useAuth } from '../features/Auth';\nimport { useStrapiApp } from '../features/StrapiApp';\nimport { selectAdminPermissions } from '../selectors';\nimport { PermissionMap } from '../types/permissions';\n\nimport { useEnterprise } from './useEnterprise';\n\nimport type { StrapiAppSetting, StrapiAppSettingLink as IStrapiAppSettingLink } from '../StrapiApp';\n\nconst formatLinks = (menu: SettingsMenuSection[]): SettingsMenuSectionWithDisplayedLinks[] =>\n menu.map((menuSection) => {\n const formattedLinks = menuSection.links.map((link) => ({\n ...link,\n isDisplayed: false,\n }));\n\n return { ...menuSection, links: formattedLinks };\n });\n\ninterface SettingsMenuLinkWithPermissions extends SettingsMenuLink {\n permissions: IStrapiAppSettingLink['permissions'];\n hasNotification?: boolean;\n}\n\ninterface StrapiAppSettingsLink extends IStrapiAppSettingLink {\n lockIcon?: never;\n hasNotification?: never;\n}\n\ninterface SettingsMenuSection extends Omit<StrapiAppSetting, 'links'> {\n links: Array<SettingsMenuLinkWithPermissions | StrapiAppSettingsLink>;\n}\n\ninterface SettingsMenuLinkWithPermissionsAndDisplayed extends SettingsMenuLinkWithPermissions {\n isDisplayed: boolean;\n}\n\ninterface StrapiAppSettingLinkWithDisplayed extends StrapiAppSettingsLink {\n isDisplayed: boolean;\n}\n\ninterface SettingsMenuSectionWithDisplayedLinks extends Omit<SettingsMenuSection, 'links'> {\n links: Array<SettingsMenuLinkWithPermissionsAndDisplayed | StrapiAppSettingLinkWithDisplayed>;\n}\n\ntype SettingsMenu = SettingsMenuSectionWithDisplayedLinks[];\n\nconst useSettingsMenu = (): {\n isLoading: boolean;\n menu: SettingsMenu;\n} => {\n const [{ isLoading, menu }, setData] = React.useState<{\n isLoading: boolean;\n menu: SettingsMenu;\n }>({\n isLoading: true,\n menu: [],\n });\n const checkUserHasPermission = useAuth(\n 'useSettingsMenu',\n (state) => state.checkUserHasPermissions\n );\n const shouldUpdateStrapi = useAppInfo('useSettingsMenu', (state) => state.shouldUpdateStrapi);\n const settings = useStrapiApp('useSettingsMenu', (state) => state.settings);\n const permissions = useSelector(selectAdminPermissions);\n\n /**\n * memoize the return value of this function to avoid re-computing it on every render\n * because it's used in an effect it ends up re-running recursively.\n */\n const ceLinks = React.useMemo(() => SETTINGS_LINKS_CE(), []);\n\n const { admin: adminLinks, global: globalLinks } = useEnterprise(\n ceLinks,\n async () => (await import('../../../ee/admin/src/constants')).SETTINGS_LINKS_EE(),\n {\n combine(ceLinks, eeLinks) {\n return {\n admin: [...eeLinks.admin, ...ceLinks.admin],\n global: [...ceLinks.global, ...eeLinks.global],\n };\n },\n defaultValue: {\n admin: [],\n global: [],\n },\n }\n );\n\n const addPermissions = React.useCallback(\n (link: SettingsMenuLink) => {\n if (!link.id) {\n throw new Error('The settings menu item must have an id attribute.');\n }\n\n return {\n ...link,\n permissions: permissions.settings?.[link.id as keyof PermissionMap['settings']]?.main ?? [],\n } satisfies SettingsMenuLinkWithPermissions;\n },\n [permissions.settings]\n );\n\n React.useEffect(() => {\n const getData = async () => {\n interface MenuLinkPermission {\n hasPermission: boolean;\n sectionIndex: number;\n linkIndex: number;\n }\n\n const buildMenuPermissions = (sections: SettingsMenuSectionWithDisplayedLinks[]) =>\n Promise.all(\n sections.reduce<Promise<MenuLinkPermission>[]>((acc, section, sectionIndex) => {\n const linksWithPermissions = section.links.map(async (link, linkIndex) => ({\n hasPermission: await checkUserHasPermission(link.permissions),\n sectionIndex,\n linkIndex,\n }));\n\n return [...acc, ...linksWithPermissions];\n }, [])\n );\n\n const menuPermissions = await buildMenuPermissions(sections);\n\n setData((prev) => {\n return {\n ...prev,\n isLoading: false,\n menu: sections.map((section, sectionIndex) => ({\n ...section,\n links: section.links.map((link, linkIndex) => {\n const permission = menuPermissions.find(\n (permission) =>\n permission.sectionIndex === sectionIndex && permission.linkIndex === linkIndex\n );\n\n return {\n ...link,\n isDisplayed: Boolean(permission?.hasPermission),\n };\n }),\n })),\n };\n });\n };\n\n const { global, ...otherSections } = settings;\n const sections = formatLinks([\n {\n ...global,\n links: sortBy([...global.links, ...globalLinks.map(addPermissions)], (link) => link.id).map(\n (link) => ({\n ...link,\n hasNotification: link.id === '000-application-infos' && shouldUpdateStrapi,\n })\n ),\n },\n {\n id: 'permissions',\n intlLabel: { id: 'Settings.permissions', defaultMessage: 'Administration Panel' },\n links: adminLinks.map(addPermissions),\n },\n ...Object.values(otherSections),\n ]);\n\n getData();\n }, [\n adminLinks,\n globalLinks,\n settings,\n shouldUpdateStrapi,\n addPermissions,\n checkUserHasPermission,\n ]);\n\n return {\n isLoading,\n menu: menu.map((menuItem) => ({\n ...menuItem,\n links: menuItem.links.filter((link) => link.isDisplayed),\n })),\n };\n};\n\nexport { useSettingsMenu };\nexport type { SettingsMenu };\n","import { Icon } from '@strapi/design-system';\nimport {\n SubNav,\n SubNavHeader,\n SubNavLink,\n SubNavSection,\n SubNavSections,\n} from '@strapi/design-system/v2';\nimport { Lock } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { useTracking } from '../../../features/Tracking';\nimport { SettingsMenu } from '../../../hooks/useSettingsMenu';\n\n/**\n * TODO: refactor the SubNav entirely, we shouldn't have\n * to do this hack to work a lock at the end. It's a bit hacky.\n */\n\nconst CustomIcon = styled(Icon)`\n right: 15px;\n position: absolute;\n`;\n\ninterface SettingsNavProps {\n menu: SettingsMenu;\n}\n\nconst SettingsNav = ({ menu }: SettingsNavProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { pathname } = useLocation();\n\n const filteredMenu = menu.filter(\n (section) => !section.links.every((link) => link.isDisplayed === false)\n );\n\n const sections = filteredMenu.map((section) => {\n return {\n ...section,\n title: section.intlLabel,\n links: section.links.map((link) => {\n return {\n ...link,\n title: link.intlLabel,\n name: link.id,\n };\n }),\n };\n });\n\n const label = formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n });\n\n const handleClickOnLink = (destination: string) => () => {\n trackUsage('willNavigate', { from: pathname, to: destination });\n };\n\n return (\n <SubNav ariaLabel={label}>\n <SubNavHeader label={label} />\n <SubNavSections>\n {sections.map((section) => (\n <SubNavSection key={section.id} label={formatMessage(section.intlLabel)}>\n {section.links.map((link) => {\n return (\n <SubNavLink\n as={NavLink}\n withBullet={link.hasNotification}\n // @ts-expect-error – this is an issue with the DS where as props are not inferred\n to={link.to}\n onClick={handleClickOnLink(link.to)}\n key={link.id}\n >\n {formatMessage(link.intlLabel)}\n {link?.lockIcon && (\n <CustomIcon width={`${15 / 16}rem`} height={`${15 / 16}rem`} as={Lock} />\n )}\n </SubNavLink>\n );\n })}\n </SubNavSection>\n ))}\n </SubNavSections>\n </SubNav>\n );\n};\n\nexport { SettingsNav };\nexport type { SettingsNavProps };\n","import { Layout as DSLayout } from '@strapi/design-system';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { Navigate, Outlet, useMatch } from 'react-router-dom';\n\nimport { Page } from '../../components/PageHelpers';\nimport { useSettingsMenu } from '../../hooks/useSettingsMenu';\n\nimport { SettingsNav } from './components/SettingsNav';\n\nconst Layout = () => {\n /**\n * This ensures we're capturing the settingId from the URL\n * but also lets any nesting after that pass.\n */\n const match = useMatch('/settings/:settingId/*');\n const { formatMessage } = useIntl();\n const { isLoading, menu } = useSettingsMenu();\n\n // Since the useSettingsMenu hook can make API calls in order to check the links permissions\n // We need to add a loading state to prevent redirecting the user while permissions are being checked\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (!match?.params.settingId) {\n return <Navigate to=\"application-infos\" />;\n }\n\n return (\n <DSLayout sideNav={<SettingsNav menu={menu} />}>\n <Helmet\n title={formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n />\n <Outlet />\n </DSLayout>\n );\n};\n\nexport { Layout };\n"],"names":["React","useAuth","useAppInfo","useStrapiApp","useSelector","selectAdminPermissions","SETTINGS_LINKS_CE","useEnterprise","ceLinks","sections","permission","sortBy","styled","Icon","useIntl","useTracking","useLocation","jsxs","SubNav","jsx","SubNavHeader","SubNavSections","SubNavSection","SubNavLink","NavLink","Lock","useMatch","Page","Navigate","DSLayout","Helmet","Outlet"],"mappings":"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"}
@@ -5,7 +5,7 @@ const designSystem = require('@strapi/design-system');
5
5
  const reactHelmet = require('react-helmet');
6
6
  const reactIntl = require('react-intl');
7
7
  const layout = require('./reducers-uDxSALD_.js');
8
- const index = require('./index-Xcv2DEB8.js');
8
+ const index = require('./index-_fZT3TVe.js');
9
9
  const Icons = require('@strapi/icons');
10
10
  const styled = require('styled-components');
11
11
 
@@ -94,4 +94,4 @@ const Header = ({ title, subtitle, navigationAction, primaryAction }) => {
94
94
  exports.DragLayerRendered = DragLayerRendered;
95
95
  exports.Header = Header;
96
96
  exports.Root = Root;
97
- //# sourceMappingURL=Layout-LPeuunW1.js.map
97
+ //# sourceMappingURL=Layout-G57F6Yr1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layout-LPeuunW1.js","sources":["../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/StageDragPreview.tsx","../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Layout.tsx"],"sourcesContent":["import { Flex, Typography } from '@strapi/design-system';\nimport { CarretDown } from '@strapi/icons';\nimport styled from 'styled-components';\n\nconst Toggle = styled(Flex)`\n svg path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n`;\n\nexport type StageDragPreviewType = {\n name: string | null;\n};\n\nexport const StageDragPreview = ({ name }: StageDragPreviewType) => {\n return (\n <Flex\n background=\"primary100\"\n borderStyle=\"dashed\"\n borderColor=\"primary600\"\n borderWidth=\"1px\"\n gap={3}\n hasRadius\n padding={3}\n shadow=\"tableShadow\"\n width={`${300 / 16}rem`}\n >\n <Toggle\n alignItems=\"center\"\n background=\"neutral200\"\n borderRadius=\"50%\"\n height={6}\n justifyContent=\"center\"\n width={6}\n >\n <CarretDown width={`${8 / 16}rem`} />\n </Toggle>\n\n <Typography fontWeight=\"bold\">{name}</Typography>\n </Flex>\n );\n};\n","import * as React from 'react';\n\nimport { ContentLayout, HeaderLayout, Layout, Main } from '@strapi/design-system';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\n\nimport { DragLayer } from '../../../../../../../../admin/src/components/DragLayer';\nimport { DRAG_DROP_TYPES } from '../constants';\n\nimport { StageDragPreview } from './StageDragPreview';\n\nconst DragLayerRendered = () => {\n return (\n <DragLayer\n renderItem={(item) => {\n if (item.type === DRAG_DROP_TYPES.STAGE) {\n return <StageDragPreview name={typeof item.item === 'string' ? item.item : null} />;\n }\n }}\n />\n );\n};\n\nconst Root: React.FC<React.PropsWithChildren> = ({ children }) => {\n return (\n <Layout>\n <Main tabIndex={-1}>\n <ContentLayout>{children}</ContentLayout>\n </Main>\n </Layout>\n );\n};\n\ntype HeaderProps = {\n title: string;\n navigationAction?: React.ReactNode;\n primaryAction?: React.ReactNode;\n secondaryAction?: React.ReactNode;\n subtitle?: React.ReactNode;\n};\nconst Header: React.FC<HeaderProps> = ({ title, subtitle, navigationAction, primaryAction }) => {\n const { formatMessage } = useIntl();\n return (\n <>\n <Helmet\n title={formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: title,\n }\n )}\n />\n <HeaderLayout\n navigationAction={navigationAction}\n primaryAction={primaryAction}\n title={title}\n subtitle={subtitle}\n />\n </>\n );\n};\n\nexport { DragLayerRendered, Header, Root };\n"],"names":["styled","Flex","jsxs","jsx","CarretDown","Typography","DragLayer","DRAG_DROP_TYPES","Layout","Main","ContentLayout","useIntl","Fragment","Helmet","HeaderLayout"],"mappings":"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"}
1
+ {"version":3,"file":"Layout-G57F6Yr1.js","sources":["../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/StageDragPreview.tsx","../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Layout.tsx"],"sourcesContent":["import { Flex, Typography } from '@strapi/design-system';\nimport { CarretDown } from '@strapi/icons';\nimport styled from 'styled-components';\n\nconst Toggle = styled(Flex)`\n svg path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n`;\n\nexport type StageDragPreviewType = {\n name: string | null;\n};\n\nexport const StageDragPreview = ({ name }: StageDragPreviewType) => {\n return (\n <Flex\n background=\"primary100\"\n borderStyle=\"dashed\"\n borderColor=\"primary600\"\n borderWidth=\"1px\"\n gap={3}\n hasRadius\n padding={3}\n shadow=\"tableShadow\"\n width={`${300 / 16}rem`}\n >\n <Toggle\n alignItems=\"center\"\n background=\"neutral200\"\n borderRadius=\"50%\"\n height={6}\n justifyContent=\"center\"\n width={6}\n >\n <CarretDown width={`${8 / 16}rem`} />\n </Toggle>\n\n <Typography fontWeight=\"bold\">{name}</Typography>\n </Flex>\n );\n};\n","import * as React from 'react';\n\nimport { ContentLayout, HeaderLayout, Layout, Main } from '@strapi/design-system';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\n\nimport { DragLayer } from '../../../../../../../../admin/src/components/DragLayer';\nimport { DRAG_DROP_TYPES } from '../constants';\n\nimport { StageDragPreview } from './StageDragPreview';\n\nconst DragLayerRendered = () => {\n return (\n <DragLayer\n renderItem={(item) => {\n if (item.type === DRAG_DROP_TYPES.STAGE) {\n return <StageDragPreview name={typeof item.item === 'string' ? item.item : null} />;\n }\n }}\n />\n );\n};\n\nconst Root: React.FC<React.PropsWithChildren> = ({ children }) => {\n return (\n <Layout>\n <Main tabIndex={-1}>\n <ContentLayout>{children}</ContentLayout>\n </Main>\n </Layout>\n );\n};\n\ntype HeaderProps = {\n title: string;\n navigationAction?: React.ReactNode;\n primaryAction?: React.ReactNode;\n secondaryAction?: React.ReactNode;\n subtitle?: React.ReactNode;\n};\nconst Header: React.FC<HeaderProps> = ({ title, subtitle, navigationAction, primaryAction }) => {\n const { formatMessage } = useIntl();\n return (\n <>\n <Helmet\n title={formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: title,\n }\n )}\n />\n <HeaderLayout\n navigationAction={navigationAction}\n primaryAction={primaryAction}\n title={title}\n subtitle={subtitle}\n />\n </>\n );\n};\n\nexport { DragLayerRendered, Header, Root };\n"],"names":["styled","Flex","jsxs","jsx","CarretDown","Typography","DragLayer","DRAG_DROP_TYPES","Layout","Main","ContentLayout","useIntl","Fragment","Helmet","HeaderLayout"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { Flex, Typography, Layout, Main, ContentLayout, HeaderLayout } from '@st
3
3
  import { Helmet } from 'react-helmet';
4
4
  import { useIntl } from 'react-intl';
5
5
  import { at as DragLayer } from './reducers-TOuLOGw_.mjs';
6
- import { D as DRAG_DROP_TYPES } from './index--h1ljeG8.mjs';
6
+ import { D as DRAG_DROP_TYPES } from './index-Sd8uo7mE.mjs';
7
7
  import { CarretDown } from '@strapi/icons';
8
8
  import styled from 'styled-components';
9
9
 
@@ -86,4 +86,4 @@ const Header = ({ title, subtitle, navigationAction, primaryAction }) => {
86
86
  };
87
87
 
88
88
  export { DragLayerRendered as D, Header as H, Root as R };
89
- //# sourceMappingURL=Layout-12gUdjvi.mjs.map
89
+ //# sourceMappingURL=Layout-ipua3uHy.mjs.map