@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":"ApplicationInfoPage-Q9wPZ3rv.mjs","sources":["../../admin/src/pages/Settings/pages/ApplicationInfo/utils/constants.ts","../../admin/src/pages/Settings/pages/ApplicationInfo/utils/files.ts","../../admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.tsx","../../admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.tsx"],"sourcesContent":["export const DIMENSION = 750;\nexport const SIZE = 100;\nexport const ACCEPTED_FORMAT = ['image/jpeg', 'image/png', 'image/svg+xml'];\n","import { ACCEPTED_FORMAT, DIMENSION, SIZE } from './constants';\n\nimport type { MessageDescriptor } from 'react-intl';\n\nconst FILE_FORMAT_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-format',\n defaultMessage: 'Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg).',\n};\n\nconst FILE_SIZING_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-size',\n defaultMessage:\n 'The file uploaded is too large (max dimension: {dimension}x{dimension}, max file size: {size}KB)',\n};\n\ninterface ImageDimensions {\n height: number;\n width: number;\n}\n\ninterface ImageAsset extends ImageDimensions {\n ext: string | undefined;\n size: number;\n name: string;\n url: string;\n rawFile: File;\n}\n\nconst parseFileMetadatas = async (file: File): Promise<ImageAsset> => {\n const isFormatAuthorized = ACCEPTED_FORMAT.includes(file.type);\n\n if (!isFormatAuthorized) {\n throw new ParsingFileError('File format', FILE_FORMAT_ERROR_MESSAGE);\n }\n\n const fileDimensions = await new Promise<ImageDimensions>((resolve) => {\n const reader = new FileReader();\n reader.onload = () => {\n const img = new Image();\n img.onload = () => {\n resolve({ width: img.width, height: img.height });\n };\n img.src = reader.result as string;\n };\n reader.readAsDataURL(file);\n });\n\n const areDimensionsAuthorized =\n fileDimensions.width <= DIMENSION && fileDimensions.height <= DIMENSION;\n\n if (!areDimensionsAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n const asset = {\n ext: file.name.split('.').pop(),\n size: file.size / 1000,\n name: file.name,\n url: URL.createObjectURL(file),\n rawFile: file,\n width: fileDimensions.width,\n height: fileDimensions.height,\n };\n\n const isSizeAuthorized = asset.size <= SIZE;\n\n if (!isSizeAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n return asset;\n};\n\nclass ParsingFileError extends Error {\n displayMessage: MessageDescriptor;\n\n constructor(message: string, displayMessage: MessageDescriptor, options?: ErrorOptions) {\n super(message, options);\n this.displayMessage = displayMessage;\n }\n}\n\nexport { parseFileMetadatas, ParsingFileError };\nexport type { ImageAsset };\n","import * as React from 'react';\n\nimport { createContext } from '@radix-ui/react-context';\nimport {\n Box,\n Button,\n ButtonProps,\n Card,\n CardAsset,\n CardBadge,\n CardBody,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n CarouselActions,\n CarouselInput,\n CarouselInputProps,\n CarouselSlide,\n Divider,\n Field,\n FieldError,\n FieldInput,\n Flex,\n Icon,\n IconButton,\n ModalFooter,\n ModalHeader,\n ModalLayout,\n Tab,\n TabGroup,\n TabPanel,\n TabPanels,\n Tabs,\n TextInput,\n TextInputProps,\n Typography,\n} from '@strapi/design-system';\nimport { PicturePlus, Plus, Refresh } from '@strapi/icons';\nimport axios, { AxiosError } from 'axios';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { ConfigurationContextValue } from '../../../../../features/Configuration';\nimport { ACCEPTED_FORMAT, DIMENSION, SIZE } from '../utils/constants';\nimport { ImageAsset, ParsingFileError, parseFileMetadatas } from '../utils/files';\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInputContext\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputContextValue {\n localImage: ImageAsset | undefined;\n goToStep: (step: Step) => void;\n onClose: () => void;\n setLocalImage: (asset: ImageAsset | undefined) => void;\n}\n\nconst [LogoInputContextProvider, useLogoInputContext] =\n createContext<LogoInputContextValue>('LogoInput');\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInput\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputProps\n extends Pick<PendingLogoDialogProps, 'onChangeLogo'>,\n Pick<CarouselInputProps, 'label' | 'hint'> {\n canUpdate: boolean;\n customLogo?: ConfigurationContextValue['logos']['auth']['custom'];\n defaultLogo: string;\n}\n\ntype Step = 'pending' | 'upload' | undefined;\n\nconst LogoInput = ({\n canUpdate,\n customLogo,\n defaultLogo,\n hint,\n label,\n onChangeLogo,\n}: LogoInputProps) => {\n const [localImage, setLocalImage] = React.useState<ImageAsset | undefined>();\n const [currentStep, setCurrentStep] = React.useState<Step>();\n const { formatMessage } = useIntl();\n\n const handleClose = () => {\n setLocalImage(undefined);\n setCurrentStep(undefined);\n };\n\n return (\n <LogoInputContextProvider\n setLocalImage={setLocalImage}\n localImage={localImage}\n goToStep={setCurrentStep}\n onClose={handleClose}\n >\n <CarouselInput\n label={label}\n selectedSlide={0}\n hint={hint}\n // Carousel is used here for a single media,\n // we don't need previous and next labels but these props are required\n previousLabel=\"\"\n nextLabel=\"\"\n onNext={() => {}}\n onPrevious={() => {}}\n secondaryLabel={customLogo?.name || 'logo.png'}\n actions={\n <CarouselActions>\n <IconButton\n disabled={!canUpdate}\n onClick={() => setCurrentStep('upload')}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.change-action',\n defaultMessage: 'Change logo',\n })}\n icon={<Plus />}\n />\n {customLogo?.url && (\n <IconButton\n disabled={!canUpdate}\n onClick={() => onChangeLogo(null)}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.reset-action',\n defaultMessage: 'Reset logo',\n })}\n icon={<Refresh />}\n />\n )}\n </CarouselActions>\n }\n >\n <CarouselSlide\n label={formatMessage({\n id: 'Settings.application.customization.carousel-slide.label',\n defaultMessage: 'Logo slide',\n })}\n >\n <Box\n maxHeight=\"40%\"\n maxWidth=\"40%\"\n as=\"img\"\n src={customLogo?.url || defaultLogo}\n alt={formatMessage({\n id: 'Settings.application.customization.carousel.title',\n defaultMessage: 'Logo',\n })}\n />\n </CarouselSlide>\n </CarouselInput>\n {currentStep ? (\n <ModalLayout labelledBy=\"modal\" onClose={handleClose}>\n <ModalHeader>\n <Typography fontWeight=\"bold\" as=\"h2\" id=\"modal\">\n {formatMessage(\n currentStep === 'upload'\n ? {\n id: 'Settings.application.customization.modal.upload',\n defaultMessage: 'Upload logo',\n }\n : {\n id: 'Settings.application.customization.modal.pending',\n defaultMessage: 'Pending logo',\n }\n )}\n </Typography>\n </ModalHeader>\n {currentStep === 'upload' ? (\n <AddLogoDialog />\n ) : (\n <PendingLogoDialog onChangeLogo={onChangeLogo} />\n )}\n </ModalLayout>\n ) : null}\n </LogoInputContextProvider>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AddLogoDialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst AddLogoDialog = () => {\n const { formatMessage } = useIntl();\n\n return (\n <TabGroup\n label={formatMessage({\n id: 'Settings.application.customization.modal.tab.label',\n defaultMessage: 'How do you want to upload your assets?',\n })}\n variant=\"simple\"\n >\n <Box paddingLeft={8} paddingRight={8}>\n <Tabs>\n <Tab>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-computer',\n defaultMessage: 'From computer',\n })}\n </Tab>\n <Tab>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-url',\n defaultMessage: 'From url',\n })}\n </Tab>\n </Tabs>\n <Divider />\n </Box>\n <TabPanels>\n <TabPanel>\n <ComputerForm />\n </TabPanel>\n <TabPanel>\n <URLForm />\n </TabPanel>\n </TabPanels>\n </TabGroup>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * URLForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst URLForm = () => {\n const { formatMessage } = useIntl();\n const [logoUrl, setLogoUrl] = React.useState('');\n const [error, setError] = React.useState<string>();\n const { setLocalImage, goToStep, onClose } = useLogoInputContext('URLForm');\n\n const handleChange: TextInputProps['onChange'] = (e) => {\n setLogoUrl(e.target.value);\n };\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = async (event) => {\n event.preventDefault();\n\n const data = new FormData(event.target as HTMLFormElement);\n\n const url = data.get('logo-url');\n\n if (!url) {\n return;\n }\n\n try {\n const res = await axios.get(url.toString(), { responseType: 'blob', timeout: 8000 });\n\n const file = new File([res.data], res.config.url ?? '', {\n type: res.headers['content-type'],\n });\n\n const asset = await parseFileMetadatas(file);\n\n setLocalImage(asset);\n goToStep('pending');\n } catch (err) {\n if (err instanceof AxiosError) {\n setError(\n formatMessage({\n id: 'Settings.application.customization.modal.upload.error-network',\n defaultMessage: 'Network error',\n })\n );\n } else if (err instanceof ParsingFileError) {\n setError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n } else {\n throw err;\n }\n }\n };\n\n return (\n <form onSubmit={handleSubmit}>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <TextInput\n label={formatMessage({\n id: 'Settings.application.customization.modal.upload.from-url.input-label',\n defaultMessage: 'URL',\n })}\n error={error}\n onChange={handleChange}\n value={logoUrl}\n name=\"logo-url\"\n />\n </Box>\n <ModalFooter\n startActions={\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n }\n endActions={\n <Button type=\"submit\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.next',\n defaultMessage: 'Next',\n })}\n </Button>\n }\n />\n </form>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ComputerForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst ComputerForm = () => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const [fileError, setFileError] = React.useState<string>();\n const inputRef = React.useRef<HTMLInputElement>(null!);\n const id = React.useId();\n\n const { setLocalImage, goToStep, onClose } = useLogoInputContext('ComputerForm');\n\n const handleDragEnter = () => setDragOver(true);\n const handleDragLeave = () => setDragOver(false);\n\n const handleClick: ButtonProps['onClick'] = (e) => {\n e.preventDefault();\n inputRef.current.click();\n };\n\n const handleChange = async () => {\n handleDragLeave();\n\n if (!inputRef.current.files) {\n return;\n }\n\n const [file] = inputRef.current.files;\n\n try {\n const asset = await parseFileMetadatas(file);\n setLocalImage(asset);\n goToStep('pending');\n } catch (err) {\n if (err instanceof ParsingFileError) {\n setFileError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n inputRef.current.focus();\n } else {\n throw err;\n }\n }\n };\n\n return (\n <>\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Field name={id} error={fileError}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex\n paddingTop={9}\n paddingBottom={7}\n hasRadius\n justifyContent=\"center\"\n direction=\"column\"\n background={dragOver ? 'primary100' : 'neutral100'}\n borderColor={dragOver ? 'primary500' : fileError ? 'danger600' : 'neutral300'}\n borderStyle=\"dashed\"\n borderWidth=\"1px\"\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n >\n <Icon\n color=\"primary600\"\n width={`${60 / 16}rem`}\n height={`${60 / 16}rem`}\n as={PicturePlus}\n aria-hidden\n />\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" as=\"label\" htmlFor={id}>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.drag-drop',\n defaultMessage: 'Drag and Drop here or',\n })}\n </Typography>\n </Box>\n <FileInput\n accept={ACCEPTED_FORMAT.join(', ')}\n type=\"file\"\n name=\"files\"\n tabIndex={-1}\n onChange={handleChange}\n ref={inputRef}\n id={id}\n />\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.cta.browse',\n defaultMessage: 'Browse files',\n })}\n </Button>\n <Box paddingTop={6}>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.modal.upload.file-validation',\n defaultMessage:\n 'Max dimension: {dimension}x{dimension}, Max size: {size}KB',\n },\n { size: SIZE, dimension: DIMENSION }\n )}\n </Typography>\n </Box>\n </Flex>\n <FieldError />\n </Flex>\n </Field>\n </Box>\n </form>\n <ModalFooter\n startActions={\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n }\n />\n </>\n );\n};\n\nconst FileInput = styled(FieldInput)`\n opacity: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PendingLogoDialog\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PendingLogoDialogProps {\n onChangeLogo: (file: ImageAsset | null) => void;\n}\n\nconst PendingLogoDialog = ({ onChangeLogo }: PendingLogoDialogProps) => {\n const { formatMessage } = useIntl();\n const { localImage, setLocalImage, goToStep, onClose } = useLogoInputContext('PendingLogoDialog');\n\n const handleGoBack = () => {\n setLocalImage(undefined);\n goToStep('upload');\n };\n\n const handleUpload = () => {\n if (localImage) {\n onChangeLogo(localImage);\n }\n onClose();\n };\n\n return (\n <>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Flex justifyContent=\"space-between\" paddingBottom={6}>\n <Flex direction=\"column\" alignItems=\"flex-start\">\n <Typography variant=\"pi\" fontWeight=\"bold\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.title',\n defaultMessage: 'Logo ready to upload',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral500\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.subtitle',\n defaultMessage: 'Manage the chosen logo before uploading it',\n })}\n </Typography>\n </Flex>\n <Button onClick={handleGoBack} variant=\"secondary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.choose-another',\n defaultMessage: 'Choose another logo',\n })}\n </Button>\n </Flex>\n <Box maxWidth={`${180 / 16}rem`}>\n {localImage?.url ? <ImageCardAsset asset={localImage} /> : null}\n </Box>\n </Box>\n <ModalFooter\n startActions={\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n }\n endActions={\n <Button onClick={handleUpload}>\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.upload',\n defaultMessage: 'Upload logo',\n })}\n </Button>\n }\n />\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ImageCardAsset\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ImageCardAssetProps {\n asset: ImageAsset;\n}\n\nconst ImageCardAsset = ({ asset }: ImageCardAssetProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Card>\n <CardHeader>\n <CardAsset size=\"S\" src={asset.url} />\n </CardHeader>\n <CardBody>\n <CardContent>\n <CardTitle>{asset.name}</CardTitle>\n <CardSubtitle>\n {`${asset.ext?.toUpperCase()} - ${asset.width}✕${asset.height}`}\n </CardSubtitle>\n </CardContent>\n <CardBadge>\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.card-badge',\n defaultMessage: 'image',\n })}\n </CardBadge>\n </CardBody>\n </Card>\n );\n};\n\nexport { LogoInput };\nexport type { LogoInputProps };\n","import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n Layout,\n Link,\n Typography,\n} from '@strapi/design-system';\nimport { Check, ExternalLink } from '@strapi/icons';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { Page } from '../../../../components/PageHelpers';\nimport { useAppInfo } from '../../../../features/AppInfo';\nimport { useConfiguration } from '../../../../features/Configuration';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\n\nimport { LogoInput, LogoInputProps } from './components/LogoInput';\nimport { DIMENSION, SIZE } from './utils/constants';\n\nconst AdminSeatInfoCE = () => null;\n\n/* -------------------------------------------------------------------------------------------------\n * ApplicationInfoPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ApplicationInfoPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { logos: serverLogos, updateProjectSettings } = useConfiguration('ApplicationInfoPage');\n const [logos, setLogos] = React.useState({ menu: serverLogos.menu, auth: serverLogos.auth });\n const { settings } = useSelector(selectAdminPermissions);\n\n const communityEdition = useAppInfo('ApplicationInfoPage', (state) => state.communityEdition);\n const latestStrapiReleaseTag = useAppInfo(\n 'ApplicationInfoPage',\n (state) => state.latestStrapiReleaseTag\n );\n const nodeVersion = useAppInfo('ApplicationInfoPage', (state) => state.nodeVersion);\n const shouldUpdateStrapi = useAppInfo('ApplicationInfoPage', (state) => state.shouldUpdateStrapi);\n const strapiVersion = useAppInfo('ApplicationInfoPage', (state) => state.strapiVersion);\n\n const AdminSeatInfo = useEnterprise(\n AdminSeatInfoCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo'\n )\n ).AdminSeatInfoEE\n );\n\n const {\n allowedActions: { canRead, canUpdate },\n } = useRBAC(settings ? settings['project-settings'] : {});\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = (e) => {\n e.preventDefault();\n\n updateProjectSettings({\n authLogo: logos.auth.custom ?? null,\n menuLogo: logos.menu.custom ?? null,\n });\n };\n\n const handleChangeLogo =\n (logo: 'menu' | 'auth'): LogoInputProps['onChangeLogo'] =>\n (newLogo) => {\n /**\n * If there's no newLogo value we can assume we're reseting.\n */\n if (newLogo === null) {\n trackUsage('didClickResetLogo', {\n logo,\n });\n }\n\n setLogos((prev) => ({\n ...prev,\n [logo]: {\n ...prev[logo],\n custom: newLogo,\n },\n }));\n };\n\n React.useEffect(() => {\n setLogos({\n menu: serverLogos.menu,\n auth: serverLogos.auth,\n });\n }, [serverLogos]);\n\n // block rendering until the EE component is fully loaded\n if (!AdminSeatInfo) {\n return null;\n }\n\n const isSaveDisabled =\n logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;\n\n return (\n <Layout>\n <Helmet\n title={formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'Settings.application.header',\n defaultMessage: 'Application',\n }),\n }\n )}\n />\n <Page.Main>\n <form onSubmit={handleSubmit}>\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.application.title',\n defaultMessage: 'Overview',\n })}\n subtitle={formatMessage({\n id: 'Settings.application.description',\n defaultMessage: 'Administration panel’s global information',\n })}\n primaryAction={\n canUpdate && (\n <Button disabled={isSaveDisabled} type=\"submit\" startIcon={<Check />}>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n )\n }\n />\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={4}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" as=\"h3\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n\n <Grid gap={5} as=\"dl\">\n <GridItem col={6} s={12}>\n <Typography variant=\"sigma\" textColor=\"neutral600\" as=\"dt\">\n {formatMessage({\n id: 'Settings.application.strapiVersion',\n defaultMessage: 'strapi version',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" as=\"dd\">\n <Typography>v{strapiVersion}</Typography>\n {shouldUpdateStrapi && (\n <Link\n href={`https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`}\n endIcon={<ExternalLink />}\n >\n {formatMessage({\n id: 'Settings.application.link-upgrade',\n defaultMessage: 'Upgrade your admin panel',\n })}\n </Link>\n )}\n </Flex>\n </GridItem>\n <GridItem col={6} s={12}>\n <Typography variant=\"sigma\" textColor=\"neutral600\" as=\"dt\">\n {formatMessage({\n id: 'Settings.application.edition-title',\n defaultMessage: 'current plan',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" as=\"dd\">\n <Typography>\n {formatMessage(\n {\n id: 'Settings.application.ee-or-ce',\n defaultMessage:\n '{communityEdition, select, true {Community Edition} other {Enterprise Edition}}',\n },\n { communityEdition }\n )}\n </Typography>\n <Link href=\"https://strapi.io/pricing-self-hosted\" endIcon={<ExternalLink />}>\n {formatMessage({\n id: 'Settings.application.link-pricing',\n defaultMessage: 'See all pricing plans',\n })}\n </Link>\n </Flex>\n </GridItem>\n\n <GridItem col={6} s={12}>\n <Typography variant=\"sigma\" textColor=\"neutral600\" as=\"dt\">\n {formatMessage({\n id: 'Settings.application.node-version',\n defaultMessage: 'node version',\n })}\n </Typography>\n <Typography as=\"dd\">{nodeVersion}</Typography>\n </GridItem>\n <AdminSeatInfo />\n </Grid>\n </Flex>\n {canRead && (\n <Box\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" as=\"h3\">\n {formatMessage({\n id: 'Settings.application.customization',\n defaultMessage: 'Customization',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.size-details',\n defaultMessage:\n 'Max dimension: {dimension}×{dimension}, Max file size: {size}KB',\n },\n { dimension: DIMENSION, size: SIZE }\n )}\n </Typography>\n <Grid paddingTop={4} gap={4}>\n <GridItem col={6} s={12}>\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.menu.custom}\n defaultLogo={logos.menu.default}\n hint={formatMessage({\n id: 'Settings.application.customization.menu-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the main navigation',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.menu-logo.title',\n defaultMessage: 'Menu logo',\n })}\n onChangeLogo={handleChangeLogo('menu')}\n />\n </GridItem>\n <GridItem col={6} s={12}>\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.auth.custom}\n defaultLogo={logos.auth.default}\n hint={formatMessage({\n id: 'Settings.application.customization.auth-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the authentication pages',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.auth-logo.title',\n defaultMessage: 'Auth logo',\n })}\n onChangeLogo={handleChangeLogo('auth')}\n />\n </GridItem>\n </Grid>\n </Box>\n )}\n </Flex>\n </ContentLayout>\n </form>\n </Page.Main>\n </Layout>\n );\n};\n\nexport { ApplicationInfoPage };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApplicationInfoPage-rYJxaeKG.mjs","sources":["../../admin/src/pages/Settings/pages/ApplicationInfo/utils/constants.ts","../../admin/src/pages/Settings/pages/ApplicationInfo/utils/files.ts","../../admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.tsx","../../admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.tsx"],"sourcesContent":["export const DIMENSION = 750;\nexport const SIZE = 100;\nexport const ACCEPTED_FORMAT = ['image/jpeg', 'image/png', 'image/svg+xml'];\n","import { ACCEPTED_FORMAT, DIMENSION, SIZE } from './constants';\n\nimport type { MessageDescriptor } from 'react-intl';\n\nconst FILE_FORMAT_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-format',\n defaultMessage: 'Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg).',\n};\n\nconst FILE_SIZING_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-size',\n defaultMessage:\n 'The file uploaded is too large (max dimension: {dimension}x{dimension}, max file size: {size}KB)',\n};\n\ninterface ImageDimensions {\n height: number;\n width: number;\n}\n\ninterface ImageAsset extends ImageDimensions {\n ext: string | undefined;\n size: number;\n name: string;\n url: string;\n rawFile: File;\n}\n\nconst parseFileMetadatas = async (file: File): Promise<ImageAsset> => {\n const isFormatAuthorized = ACCEPTED_FORMAT.includes(file.type);\n\n if (!isFormatAuthorized) {\n throw new ParsingFileError('File format', FILE_FORMAT_ERROR_MESSAGE);\n }\n\n const fileDimensions = await new Promise<ImageDimensions>((resolve) => {\n const reader = new FileReader();\n reader.onload = () => {\n const img = new Image();\n img.onload = () => {\n resolve({ width: img.width, height: img.height });\n };\n img.src = reader.result as string;\n };\n reader.readAsDataURL(file);\n });\n\n const areDimensionsAuthorized =\n fileDimensions.width <= DIMENSION && fileDimensions.height <= DIMENSION;\n\n if (!areDimensionsAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n const asset = {\n ext: file.name.split('.').pop(),\n size: file.size / 1000,\n name: file.name,\n url: URL.createObjectURL(file),\n rawFile: file,\n width: fileDimensions.width,\n height: fileDimensions.height,\n };\n\n const isSizeAuthorized = asset.size <= SIZE;\n\n if (!isSizeAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n return asset;\n};\n\nclass ParsingFileError extends Error {\n displayMessage: MessageDescriptor;\n\n constructor(message: string, displayMessage: MessageDescriptor, options?: ErrorOptions) {\n super(message, options);\n this.displayMessage = displayMessage;\n }\n}\n\nexport { parseFileMetadatas, ParsingFileError };\nexport type { ImageAsset };\n","import * as React from 'react';\n\nimport { createContext } from '@radix-ui/react-context';\nimport {\n Box,\n Button,\n ButtonProps,\n Card,\n CardAsset,\n CardBadge,\n CardBody,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n CarouselActions,\n CarouselInput,\n CarouselInputProps,\n CarouselSlide,\n Divider,\n Field,\n FieldError,\n FieldInput,\n Flex,\n Icon,\n IconButton,\n ModalFooter,\n ModalHeader,\n ModalLayout,\n Tab,\n TabGroup,\n TabPanel,\n TabPanels,\n Tabs,\n TextInput,\n TextInputProps,\n Typography,\n} from '@strapi/design-system';\nimport { PicturePlus, Plus, Refresh } from '@strapi/icons';\nimport axios, { AxiosError } from 'axios';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { ConfigurationContextValue } from '../../../../../features/Configuration';\nimport { ACCEPTED_FORMAT, DIMENSION, SIZE } from '../utils/constants';\nimport { ImageAsset, ParsingFileError, parseFileMetadatas } from '../utils/files';\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInputContext\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputContextValue {\n localImage: ImageAsset | undefined;\n goToStep: (step: Step) => void;\n onClose: () => void;\n setLocalImage: (asset: ImageAsset | undefined) => void;\n}\n\nconst [LogoInputContextProvider, useLogoInputContext] =\n createContext<LogoInputContextValue>('LogoInput');\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInput\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputProps\n extends Pick<PendingLogoDialogProps, 'onChangeLogo'>,\n Pick<CarouselInputProps, 'label' | 'hint'> {\n canUpdate: boolean;\n customLogo?: ConfigurationContextValue['logos']['auth']['custom'];\n defaultLogo: string;\n}\n\ntype Step = 'pending' | 'upload' | undefined;\n\nconst LogoInput = ({\n canUpdate,\n customLogo,\n defaultLogo,\n hint,\n label,\n onChangeLogo,\n}: LogoInputProps) => {\n const [localImage, setLocalImage] = React.useState<ImageAsset | undefined>();\n const [currentStep, setCurrentStep] = React.useState<Step>();\n const { formatMessage } = useIntl();\n\n const handleClose = () => {\n setLocalImage(undefined);\n setCurrentStep(undefined);\n };\n\n return (\n <LogoInputContextProvider\n setLocalImage={setLocalImage}\n localImage={localImage}\n goToStep={setCurrentStep}\n onClose={handleClose}\n >\n <CarouselInput\n label={label}\n selectedSlide={0}\n hint={hint}\n // Carousel is used here for a single media,\n // we don't need previous and next labels but these props are required\n previousLabel=\"\"\n nextLabel=\"\"\n onNext={() => {}}\n onPrevious={() => {}}\n secondaryLabel={customLogo?.name || 'logo.png'}\n actions={\n <CarouselActions>\n <IconButton\n disabled={!canUpdate}\n onClick={() => setCurrentStep('upload')}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.change-action',\n defaultMessage: 'Change logo',\n })}\n icon={<Plus />}\n />\n {customLogo?.url && (\n <IconButton\n disabled={!canUpdate}\n onClick={() => onChangeLogo(null)}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.reset-action',\n defaultMessage: 'Reset logo',\n })}\n icon={<Refresh />}\n />\n )}\n </CarouselActions>\n }\n >\n <CarouselSlide\n label={formatMessage({\n id: 'Settings.application.customization.carousel-slide.label',\n defaultMessage: 'Logo slide',\n })}\n >\n <Box\n maxHeight=\"40%\"\n maxWidth=\"40%\"\n as=\"img\"\n src={customLogo?.url || defaultLogo}\n alt={formatMessage({\n id: 'Settings.application.customization.carousel.title',\n defaultMessage: 'Logo',\n })}\n />\n </CarouselSlide>\n </CarouselInput>\n {currentStep ? (\n <ModalLayout labelledBy=\"modal\" onClose={handleClose}>\n <ModalHeader>\n <Typography fontWeight=\"bold\" as=\"h2\" id=\"modal\">\n {formatMessage(\n currentStep === 'upload'\n ? {\n id: 'Settings.application.customization.modal.upload',\n defaultMessage: 'Upload logo',\n }\n : {\n id: 'Settings.application.customization.modal.pending',\n defaultMessage: 'Pending logo',\n }\n )}\n </Typography>\n </ModalHeader>\n {currentStep === 'upload' ? (\n <AddLogoDialog />\n ) : (\n <PendingLogoDialog onChangeLogo={onChangeLogo} />\n )}\n </ModalLayout>\n ) : null}\n </LogoInputContextProvider>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AddLogoDialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst AddLogoDialog = () => {\n const { formatMessage } = useIntl();\n\n return (\n <TabGroup\n label={formatMessage({\n id: 'Settings.application.customization.modal.tab.label',\n defaultMessage: 'How do you want to upload your assets?',\n })}\n variant=\"simple\"\n >\n <Box paddingLeft={8} paddingRight={8}>\n <Tabs>\n <Tab>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-computer',\n defaultMessage: 'From computer',\n })}\n </Tab>\n <Tab>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-url',\n defaultMessage: 'From url',\n })}\n </Tab>\n </Tabs>\n <Divider />\n </Box>\n <TabPanels>\n <TabPanel>\n <ComputerForm />\n </TabPanel>\n <TabPanel>\n <URLForm />\n </TabPanel>\n </TabPanels>\n </TabGroup>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * URLForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst URLForm = () => {\n const { formatMessage } = useIntl();\n const [logoUrl, setLogoUrl] = React.useState('');\n const [error, setError] = React.useState<string>();\n const { setLocalImage, goToStep, onClose } = useLogoInputContext('URLForm');\n\n const handleChange: TextInputProps['onChange'] = (e) => {\n setLogoUrl(e.target.value);\n };\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = async (event) => {\n event.preventDefault();\n\n const data = new FormData(event.target as HTMLFormElement);\n\n const url = data.get('logo-url');\n\n if (!url) {\n return;\n }\n\n try {\n const res = await axios.get(url.toString(), { responseType: 'blob', timeout: 8000 });\n\n const file = new File([res.data], res.config.url ?? '', {\n type: res.headers['content-type'],\n });\n\n const asset = await parseFileMetadatas(file);\n\n setLocalImage(asset);\n goToStep('pending');\n } catch (err) {\n if (err instanceof AxiosError) {\n setError(\n formatMessage({\n id: 'Settings.application.customization.modal.upload.error-network',\n defaultMessage: 'Network error',\n })\n );\n } else if (err instanceof ParsingFileError) {\n setError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n } else {\n throw err;\n }\n }\n };\n\n return (\n <form onSubmit={handleSubmit}>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <TextInput\n label={formatMessage({\n id: 'Settings.application.customization.modal.upload.from-url.input-label',\n defaultMessage: 'URL',\n })}\n error={error}\n onChange={handleChange}\n value={logoUrl}\n name=\"logo-url\"\n />\n </Box>\n <ModalFooter\n startActions={\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n }\n endActions={\n <Button type=\"submit\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.next',\n defaultMessage: 'Next',\n })}\n </Button>\n }\n />\n </form>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ComputerForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst ComputerForm = () => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const [fileError, setFileError] = React.useState<string>();\n const inputRef = React.useRef<HTMLInputElement>(null!);\n const id = React.useId();\n\n const { setLocalImage, goToStep, onClose } = useLogoInputContext('ComputerForm');\n\n const handleDragEnter = () => setDragOver(true);\n const handleDragLeave = () => setDragOver(false);\n\n const handleClick: ButtonProps['onClick'] = (e) => {\n e.preventDefault();\n inputRef.current.click();\n };\n\n const handleChange = async () => {\n handleDragLeave();\n\n if (!inputRef.current.files) {\n return;\n }\n\n const [file] = inputRef.current.files;\n\n try {\n const asset = await parseFileMetadatas(file);\n setLocalImage(asset);\n goToStep('pending');\n } catch (err) {\n if (err instanceof ParsingFileError) {\n setFileError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n inputRef.current.focus();\n } else {\n throw err;\n }\n }\n };\n\n return (\n <>\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Field name={id} error={fileError}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex\n paddingTop={9}\n paddingBottom={7}\n hasRadius\n justifyContent=\"center\"\n direction=\"column\"\n background={dragOver ? 'primary100' : 'neutral100'}\n borderColor={dragOver ? 'primary500' : fileError ? 'danger600' : 'neutral300'}\n borderStyle=\"dashed\"\n borderWidth=\"1px\"\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n >\n <Icon\n color=\"primary600\"\n width={`${60 / 16}rem`}\n height={`${60 / 16}rem`}\n as={PicturePlus}\n aria-hidden\n />\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" as=\"label\" htmlFor={id}>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.drag-drop',\n defaultMessage: 'Drag and Drop here or',\n })}\n </Typography>\n </Box>\n <FileInput\n accept={ACCEPTED_FORMAT.join(', ')}\n type=\"file\"\n name=\"files\"\n tabIndex={-1}\n onChange={handleChange}\n ref={inputRef}\n id={id}\n />\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.cta.browse',\n defaultMessage: 'Browse files',\n })}\n </Button>\n <Box paddingTop={6}>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.modal.upload.file-validation',\n defaultMessage:\n 'Max dimension: {dimension}x{dimension}, Max size: {size}KB',\n },\n { size: SIZE, dimension: DIMENSION }\n )}\n </Typography>\n </Box>\n </Flex>\n <FieldError />\n </Flex>\n </Field>\n </Box>\n </form>\n <ModalFooter\n startActions={\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n }\n />\n </>\n );\n};\n\nconst FileInput = styled(FieldInput)`\n opacity: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PendingLogoDialog\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PendingLogoDialogProps {\n onChangeLogo: (file: ImageAsset | null) => void;\n}\n\nconst PendingLogoDialog = ({ onChangeLogo }: PendingLogoDialogProps) => {\n const { formatMessage } = useIntl();\n const { localImage, setLocalImage, goToStep, onClose } = useLogoInputContext('PendingLogoDialog');\n\n const handleGoBack = () => {\n setLocalImage(undefined);\n goToStep('upload');\n };\n\n const handleUpload = () => {\n if (localImage) {\n onChangeLogo(localImage);\n }\n onClose();\n };\n\n return (\n <>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Flex justifyContent=\"space-between\" paddingBottom={6}>\n <Flex direction=\"column\" alignItems=\"flex-start\">\n <Typography variant=\"pi\" fontWeight=\"bold\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.title',\n defaultMessage: 'Logo ready to upload',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral500\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.subtitle',\n defaultMessage: 'Manage the chosen logo before uploading it',\n })}\n </Typography>\n </Flex>\n <Button onClick={handleGoBack} variant=\"secondary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.choose-another',\n defaultMessage: 'Choose another logo',\n })}\n </Button>\n </Flex>\n <Box maxWidth={`${180 / 16}rem`}>\n {localImage?.url ? <ImageCardAsset asset={localImage} /> : null}\n </Box>\n </Box>\n <ModalFooter\n startActions={\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n }\n endActions={\n <Button onClick={handleUpload}>\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.upload',\n defaultMessage: 'Upload logo',\n })}\n </Button>\n }\n />\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ImageCardAsset\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ImageCardAssetProps {\n asset: ImageAsset;\n}\n\nconst ImageCardAsset = ({ asset }: ImageCardAssetProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Card>\n <CardHeader>\n <CardAsset size=\"S\" src={asset.url} />\n </CardHeader>\n <CardBody>\n <CardContent>\n <CardTitle>{asset.name}</CardTitle>\n <CardSubtitle>\n {`${asset.ext?.toUpperCase()} - ${asset.width}✕${asset.height}`}\n </CardSubtitle>\n </CardContent>\n <CardBadge>\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.card-badge',\n defaultMessage: 'image',\n })}\n </CardBadge>\n </CardBody>\n </Card>\n );\n};\n\nexport { LogoInput };\nexport type { LogoInputProps };\n","import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n Layout,\n Link,\n Typography,\n} from '@strapi/design-system';\nimport { Check, ExternalLink } from '@strapi/icons';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { Page } from '../../../../components/PageHelpers';\nimport { useAppInfo } from '../../../../features/AppInfo';\nimport { useConfiguration } from '../../../../features/Configuration';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\n\nimport { LogoInput, LogoInputProps } from './components/LogoInput';\nimport { DIMENSION, SIZE } from './utils/constants';\n\nconst AdminSeatInfoCE = () => null;\n\n/* -------------------------------------------------------------------------------------------------\n * ApplicationInfoPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ApplicationInfoPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { logos: serverLogos, updateProjectSettings } = useConfiguration('ApplicationInfoPage');\n const [logos, setLogos] = React.useState({ menu: serverLogos.menu, auth: serverLogos.auth });\n const { settings } = useSelector(selectAdminPermissions);\n\n const communityEdition = useAppInfo('ApplicationInfoPage', (state) => state.communityEdition);\n const latestStrapiReleaseTag = useAppInfo(\n 'ApplicationInfoPage',\n (state) => state.latestStrapiReleaseTag\n );\n const nodeVersion = useAppInfo('ApplicationInfoPage', (state) => state.nodeVersion);\n const shouldUpdateStrapi = useAppInfo('ApplicationInfoPage', (state) => state.shouldUpdateStrapi);\n const strapiVersion = useAppInfo('ApplicationInfoPage', (state) => state.strapiVersion);\n\n const AdminSeatInfo = useEnterprise(\n AdminSeatInfoCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo'\n )\n ).AdminSeatInfoEE\n );\n\n const {\n allowedActions: { canRead, canUpdate },\n } = useRBAC(settings ? settings['project-settings'] : {});\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = (e) => {\n e.preventDefault();\n\n updateProjectSettings({\n authLogo: logos.auth.custom ?? null,\n menuLogo: logos.menu.custom ?? null,\n });\n };\n\n const handleChangeLogo =\n (logo: 'menu' | 'auth'): LogoInputProps['onChangeLogo'] =>\n (newLogo) => {\n /**\n * If there's no newLogo value we can assume we're reseting.\n */\n if (newLogo === null) {\n trackUsage('didClickResetLogo', {\n logo,\n });\n }\n\n setLogos((prev) => ({\n ...prev,\n [logo]: {\n ...prev[logo],\n custom: newLogo,\n },\n }));\n };\n\n React.useEffect(() => {\n setLogos({\n menu: serverLogos.menu,\n auth: serverLogos.auth,\n });\n }, [serverLogos]);\n\n // block rendering until the EE component is fully loaded\n if (!AdminSeatInfo) {\n return null;\n }\n\n const isSaveDisabled =\n logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;\n\n return (\n <Layout>\n <Helmet\n title={formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'Settings.application.header',\n defaultMessage: 'Application',\n }),\n }\n )}\n />\n <Page.Main>\n <form onSubmit={handleSubmit}>\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.application.title',\n defaultMessage: 'Overview',\n })}\n subtitle={formatMessage({\n id: 'Settings.application.description',\n defaultMessage: 'Administration panel’s global information',\n })}\n primaryAction={\n canUpdate && (\n <Button disabled={isSaveDisabled} type=\"submit\" startIcon={<Check />}>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n )\n }\n />\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={4}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" as=\"h3\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n\n <Grid gap={5} as=\"dl\">\n <GridItem col={6} s={12}>\n <Typography variant=\"sigma\" textColor=\"neutral600\" as=\"dt\">\n {formatMessage({\n id: 'Settings.application.strapiVersion',\n defaultMessage: 'strapi version',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" as=\"dd\">\n <Typography>v{strapiVersion}</Typography>\n {shouldUpdateStrapi && (\n <Link\n href={`https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`}\n endIcon={<ExternalLink />}\n >\n {formatMessage({\n id: 'Settings.application.link-upgrade',\n defaultMessage: 'Upgrade your admin panel',\n })}\n </Link>\n )}\n </Flex>\n </GridItem>\n <GridItem col={6} s={12}>\n <Typography variant=\"sigma\" textColor=\"neutral600\" as=\"dt\">\n {formatMessage({\n id: 'Settings.application.edition-title',\n defaultMessage: 'current plan',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" as=\"dd\">\n <Typography>\n {formatMessage(\n {\n id: 'Settings.application.ee-or-ce',\n defaultMessage:\n '{communityEdition, select, true {Community Edition} other {Enterprise Edition}}',\n },\n { communityEdition }\n )}\n </Typography>\n <Link href=\"https://strapi.io/pricing-self-hosted\" endIcon={<ExternalLink />}>\n {formatMessage({\n id: 'Settings.application.link-pricing',\n defaultMessage: 'See all pricing plans',\n })}\n </Link>\n </Flex>\n </GridItem>\n\n <GridItem col={6} s={12}>\n <Typography variant=\"sigma\" textColor=\"neutral600\" as=\"dt\">\n {formatMessage({\n id: 'Settings.application.node-version',\n defaultMessage: 'node version',\n })}\n </Typography>\n <Typography as=\"dd\">{nodeVersion}</Typography>\n </GridItem>\n <AdminSeatInfo />\n </Grid>\n </Flex>\n {canRead && (\n <Box\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" as=\"h3\">\n {formatMessage({\n id: 'Settings.application.customization',\n defaultMessage: 'Customization',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.size-details',\n defaultMessage:\n 'Max dimension: {dimension}×{dimension}, Max file size: {size}KB',\n },\n { dimension: DIMENSION, size: SIZE }\n )}\n </Typography>\n <Grid paddingTop={4} gap={4}>\n <GridItem col={6} s={12}>\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.menu.custom}\n defaultLogo={logos.menu.default}\n hint={formatMessage({\n id: 'Settings.application.customization.menu-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the main navigation',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.menu-logo.title',\n defaultMessage: 'Menu logo',\n })}\n onChangeLogo={handleChangeLogo('menu')}\n />\n </GridItem>\n <GridItem col={6} s={12}>\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.auth.custom}\n defaultLogo={logos.auth.default}\n hint={formatMessage({\n id: 'Settings.application.customization.auth-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the authentication pages',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.auth-logo.title',\n defaultMessage: 'Auth logo',\n })}\n onChangeLogo={handleChangeLogo('auth')}\n />\n </GridItem>\n </Grid>\n </Box>\n )}\n </Flex>\n </ContentLayout>\n </form>\n </Page.Main>\n </Layout>\n );\n};\n\nexport { ApplicationInfoPage };\n"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ const get = require('lodash/get');
17
17
  const styled = require('styled-components');
18
18
  const layout = require('./reducers-uDxSALD_.js');
19
19
  const Ornaments = require('./Ornaments-fHu7120M.js');
20
- const index = require('./index-Xcv2DEB8.js');
20
+ const index = require('./index-_fZT3TVe.js');
21
21
  const useDocumentLayout = require('./useDocumentLayout-wBQQmFJL.js');
22
22
  const immer = require('immer');
23
23
  const set = require('lodash/set');
@@ -56,7 +56,7 @@ const set__default = /*#__PURE__*/_interopDefault(set);
56
56
  const cloneDeep__default = /*#__PURE__*/_interopDefault(cloneDeep);
57
57
 
58
58
  const name = "@strapi/admin";
59
- const version = "5.0.0-alpha.2";
59
+ const version = "5.0.0-alpha.3";
60
60
  const description = "Strapi Admin";
61
61
  const repository = {
62
62
  type: "git",
@@ -127,14 +127,14 @@ const dependencies = {
127
127
  "@radix-ui/react-context": "1.0.1",
128
128
  "@radix-ui/react-toolbar": "1.0.4",
129
129
  "@reduxjs/toolkit": "1.9.7",
130
- "@strapi/admin-test-utils": "5.0.0-alpha.2",
130
+ "@strapi/admin-test-utils": "5.0.0-alpha.3",
131
131
  "@strapi/design-system": "1.16.0",
132
132
  "@strapi/icons": "1.16.0",
133
- "@strapi/permissions": "5.0.0-alpha.2",
134
- "@strapi/provider-audit-logs-local": "5.0.0-alpha.2",
135
- "@strapi/types": "5.0.0-alpha.2",
136
- "@strapi/typescript-utils": "5.0.0-alpha.2",
137
- "@strapi/utils": "5.0.0-alpha.2",
133
+ "@strapi/permissions": "5.0.0-alpha.3",
134
+ "@strapi/provider-audit-logs-local": "5.0.0-alpha.3",
135
+ "@strapi/types": "5.0.0-alpha.3",
136
+ "@strapi/typescript-utils": "5.0.0-alpha.3",
137
+ "@strapi/utils": "5.0.0-alpha.3",
138
138
  "@testing-library/dom": "9.2.0",
139
139
  "@testing-library/react": "14.0.0",
140
140
  "@testing-library/user-event": "14.4.3",
@@ -204,9 +204,9 @@ const dependencies = {
204
204
  yup: "0.32.9"
205
205
  };
206
206
  const devDependencies = {
207
- "@strapi/data-transfer": "5.0.0-alpha.2",
208
- "@strapi/pack-up": "5.0.0-alpha.2",
209
- "@strapi/plugin-content-manager": "5.0.0-alpha.2",
207
+ "@strapi/data-transfer": "5.0.0-alpha.3",
208
+ "@strapi/pack-up": "5.0.0-alpha.3",
209
+ "@strapi/plugin-content-manager": "5.0.0-alpha.3",
210
210
  "@types/codemirror5": "npm:@types/codemirror@^5.60.15",
211
211
  "@types/invariant": "2.2.36",
212
212
  "@types/js-cookie": "3.0.6",
@@ -1145,4 +1145,4 @@ const checkLatestStrapiVersion = (currentPackageVersion, latestPublishedVersion
1145
1145
 
1146
1146
  exports.AdminLayout = AdminLayout;
1147
1147
  exports.PrivateAdminLayout = PrivateAdminLayout;
1148
- //# sourceMappingURL=AuthenticatedLayout-xBpE8NA-.js.map
1148
+ //# sourceMappingURL=AuthenticatedLayout-C4p6uMXy.js.map