@strapi/admin 4.15.1 → 4.15.3-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/dist/_chunks/{AuthenticatedApp-092ef2be.js → AuthenticatedApp-26a57d48.js} +30 -30
  2. package/dist/_chunks/{AuthenticatedApp-092ef2be.js.map → AuthenticatedApp-26a57d48.js.map} +1 -1
  3. package/dist/_chunks/{AuthenticatedApp-b0ada7e9.mjs → AuthenticatedApp-332b40a8.mjs} +30 -30
  4. package/dist/_chunks/{AuthenticatedApp-b0ada7e9.mjs.map → AuthenticatedApp-332b40a8.mjs.map} +1 -1
  5. package/dist/_chunks/{HomePage-5798ba6f.mjs → HomePage-332764b2.mjs} +7 -8
  6. package/dist/_chunks/{HomePage-5798ba6f.mjs.map → HomePage-332764b2.mjs.map} +1 -1
  7. package/dist/_chunks/{HomePage-bdcb51be.js → HomePage-74c5c19b.js} +12 -13
  8. package/dist/_chunks/HomePage-74c5c19b.js.map +1 -0
  9. package/dist/_chunks/{HomePage-5ae473e6.js → HomePage-8022e4f9.js} +7 -8
  10. package/dist/_chunks/{HomePage-5ae473e6.js.map → HomePage-8022e4f9.js.map} +1 -1
  11. package/dist/_chunks/{HomePage-a3cc32d2.mjs → HomePage-ebb9bd4d.mjs} +12 -13
  12. package/dist/_chunks/HomePage-ebb9bd4d.mjs.map +1 -0
  13. package/dist/_chunks/{InstalledPluginsPage-cc2d6a36.js → InstalledPluginsPage-08915bd0.js} +10 -12
  14. package/dist/_chunks/{InstalledPluginsPage-cc2d6a36.js.map → InstalledPluginsPage-08915bd0.js.map} +1 -1
  15. package/dist/_chunks/{InstalledPluginsPage-6284aaff.mjs → InstalledPluginsPage-33ed21ac.mjs} +10 -12
  16. package/dist/_chunks/{InstalledPluginsPage-6284aaff.mjs.map → InstalledPluginsPage-33ed21ac.mjs.map} +1 -1
  17. package/dist/_chunks/{index-305a03f4.mjs → Login-4e7ab11a.mjs} +25 -29
  18. package/dist/_chunks/Login-4e7ab11a.mjs.map +1 -0
  19. package/dist/_chunks/{index-137490ba.js → Login-7c938e98.js} +25 -30
  20. package/dist/_chunks/Login-7c938e98.js.map +1 -0
  21. package/dist/_chunks/{MarketplacePage-209ec658.js → MarketplacePage-3c080568.js} +6 -8
  22. package/dist/_chunks/{MarketplacePage-209ec658.js.map → MarketplacePage-3c080568.js.map} +1 -1
  23. package/dist/_chunks/{MarketplacePage-7dee72f5.mjs → MarketplacePage-b82389f1.mjs} +6 -8
  24. package/dist/_chunks/{MarketplacePage-7dee72f5.mjs.map → MarketplacePage-b82389f1.mjs.map} +1 -1
  25. package/dist/_chunks/{ProfilePage-26c14ba4.mjs → ProfilePage-2f0d41e0.mjs} +7 -9
  26. package/dist/_chunks/{ProfilePage-26c14ba4.mjs.map → ProfilePage-2f0d41e0.mjs.map} +1 -1
  27. package/dist/_chunks/{ProfilePage-4f8c127b.js → ProfilePage-9911a1aa.js} +7 -9
  28. package/dist/_chunks/{ProfilePage-4f8c127b.js.map → ProfilePage-9911a1aa.js.map} +1 -1
  29. package/dist/_chunks/{SSOProviders-1d062c95.mjs → SSOProviders-62bfad92.mjs} +29 -61
  30. package/dist/_chunks/SSOProviders-62bfad92.mjs.map +1 -0
  31. package/dist/_chunks/{SSOProviders-1ef0a89e.js → SSOProviders-b395a4e6.js} +28 -80
  32. package/dist/_chunks/SSOProviders-b395a4e6.js.map +1 -0
  33. package/dist/_chunks/{build-f36bfc97.js → build-55ba3e68.js} +4 -2
  34. package/dist/_chunks/{build-f36bfc97.js.map → build-55ba3e68.js.map} +1 -1
  35. package/dist/_chunks/{build-e1ca35da.mjs → build-b67ecc59.mjs} +4 -2
  36. package/dist/_chunks/{build-e1ca35da.mjs.map → build-b67ecc59.mjs.map} +1 -1
  37. package/dist/_chunks/{constants-a773ff9b.js → constants-2bd3e15b.js} +13 -12
  38. package/dist/_chunks/{constants-a773ff9b.js.map → constants-2bd3e15b.js.map} +1 -1
  39. package/dist/_chunks/{constants-90c20a6f.mjs → constants-6082c0ef.mjs} +11 -12
  40. package/dist/_chunks/{constants-90c20a6f.mjs.map → constants-6082c0ef.mjs.map} +1 -1
  41. package/dist/_chunks/{constants-921eda17.mjs → constants-6ecddc43.mjs} +43 -15
  42. package/dist/_chunks/constants-6ecddc43.mjs.map +1 -0
  43. package/dist/_chunks/{constants-86aa3e70.js → constants-7596f6f3.js} +60 -13
  44. package/dist/_chunks/constants-7596f6f3.js.map +1 -0
  45. package/dist/_chunks/{constants-9de7641c.mjs → constants-889d52fe.mjs} +28 -28
  46. package/dist/_chunks/constants-889d52fe.mjs.map +1 -0
  47. package/dist/_chunks/{constants-70e05152.js → constants-9d60a039.js} +6 -6
  48. package/dist/_chunks/{constants-70e05152.js.map → constants-9d60a039.js.map} +1 -1
  49. package/dist/_chunks/{constants-6157f648.mjs → constants-b9efe215.mjs} +6 -6
  50. package/dist/_chunks/{constants-6157f648.mjs.map → constants-b9efe215.mjs.map} +1 -1
  51. package/dist/_chunks/{constants-27319180.mjs → constants-c5bbe308.mjs} +13 -12
  52. package/dist/_chunks/{constants-27319180.mjs.map → constants-c5bbe308.mjs.map} +1 -1
  53. package/dist/_chunks/{constants-32975b2e.js → constants-df81febb.js} +11 -12
  54. package/dist/_chunks/{constants-32975b2e.js.map → constants-df81febb.js.map} +1 -1
  55. package/dist/_chunks/{constants-727a113c.js → constants-efc88bf2.js} +26 -26
  56. package/dist/_chunks/constants-efc88bf2.js.map +1 -0
  57. package/dist/_chunks/{develop-513c9644.js → develop-69e28e61.js} +4 -2
  58. package/dist/_chunks/{develop-513c9644.js.map → develop-69e28e61.js.map} +1 -1
  59. package/dist/_chunks/{develop-e45b460e.mjs → develop-d97e7494.mjs} +4 -2
  60. package/dist/_chunks/{develop-e45b460e.mjs.map → develop-d97e7494.mjs.map} +1 -1
  61. package/dist/_chunks/formatAPIErrors-b599cf27.js +20 -0
  62. package/dist/_chunks/formatAPIErrors-b599cf27.js.map +1 -0
  63. package/dist/_chunks/formatAPIErrors-db6ed675.mjs +21 -0
  64. package/dist/_chunks/formatAPIErrors-db6ed675.mjs.map +1 -0
  65. package/dist/_chunks/{index-edc9bb0b.js → index-0134922e.js} +673 -811
  66. package/dist/_chunks/index-0134922e.js.map +1 -0
  67. package/dist/_chunks/{index-6a512cec.js → index-01a3932c.js} +8 -9
  68. package/dist/_chunks/{index-6a512cec.js.map → index-01a3932c.js.map} +1 -1
  69. package/dist/_chunks/{index-284c5926.js → index-13a08117.js} +33 -47
  70. package/dist/_chunks/index-13a08117.js.map +1 -0
  71. package/dist/_chunks/{index-1b7e986c.mjs → index-14462502.mjs} +14 -13
  72. package/dist/_chunks/{index-1b7e986c.mjs.map → index-14462502.mjs.map} +1 -1
  73. package/dist/_chunks/{index-85069cac.mjs → index-22fbd8cc.mjs} +9 -10
  74. package/dist/_chunks/{index-85069cac.mjs.map → index-22fbd8cc.mjs.map} +1 -1
  75. package/dist/_chunks/{index-73ba6bdd.mjs → index-259a5ab3.mjs} +3 -3
  76. package/dist/_chunks/{index-73ba6bdd.mjs.map → index-259a5ab3.mjs.map} +1 -1
  77. package/dist/_chunks/{index-7d40adea.mjs → index-287b49b0.mjs} +8 -7
  78. package/dist/_chunks/{index-7d40adea.mjs.map → index-287b49b0.mjs.map} +1 -1
  79. package/dist/_chunks/{index-77e0e5d7.js → index-293f112c.js} +8 -7
  80. package/dist/_chunks/{index-77e0e5d7.js.map → index-293f112c.js.map} +1 -1
  81. package/dist/_chunks/{index-0af587c3.js → index-2ca9ffb3.js} +78 -147
  82. package/dist/_chunks/index-2ca9ffb3.js.map +1 -0
  83. package/dist/_chunks/{index-4c5acc70.js → index-2e47d9aa.js} +9 -10
  84. package/dist/_chunks/{index-4c5acc70.js.map → index-2e47d9aa.js.map} +1 -1
  85. package/dist/_chunks/{index-59d22949.mjs → index-3d323e1b.mjs} +8 -9
  86. package/dist/_chunks/{index-59d22949.mjs.map → index-3d323e1b.mjs.map} +1 -1
  87. package/dist/_chunks/{index-5752584c.mjs → index-44360544.mjs} +182 -76
  88. package/dist/_chunks/index-44360544.mjs.map +1 -0
  89. package/dist/_chunks/{index-34a2909e.mjs → index-46245c2d.mjs} +12 -12
  90. package/dist/_chunks/{index-34a2909e.mjs.map → index-46245c2d.mjs.map} +1 -1
  91. package/dist/_chunks/{index-5ad8482b.mjs → index-486f5166.mjs} +7 -7
  92. package/dist/_chunks/{index-5ad8482b.mjs.map → index-486f5166.mjs.map} +1 -1
  93. package/dist/_chunks/{index-58db145d.mjs → index-49b41e57.mjs} +3 -3
  94. package/dist/_chunks/{index-58db145d.mjs.map → index-49b41e57.mjs.map} +1 -1
  95. package/dist/_chunks/{index-da04b144.js → index-4bdd41f2.js} +14 -13
  96. package/dist/_chunks/{index-da04b144.js.map → index-4bdd41f2.js.map} +1 -1
  97. package/dist/_chunks/{index-7aed99db.js → index-4ff5f2a8.js} +12 -12
  98. package/dist/_chunks/{index-7aed99db.js.map → index-4ff5f2a8.js.map} +1 -1
  99. package/dist/_chunks/{index-56ced4ab.mjs → index-5221021e.mjs} +8 -7
  100. package/dist/_chunks/{index-56ced4ab.mjs.map → index-5221021e.mjs.map} +1 -1
  101. package/dist/_chunks/{index-a4348f3b.js → index-54a7f1f4.js} +12 -12
  102. package/dist/_chunks/index-54a7f1f4.js.map +1 -0
  103. package/dist/_chunks/{index-1da8c640.mjs → index-5502f0f9.mjs} +9 -10
  104. package/dist/_chunks/{index-1da8c640.mjs.map → index-5502f0f9.mjs.map} +1 -1
  105. package/dist/_chunks/{index-36e0d449.mjs → index-5af78a9d.mjs} +32 -45
  106. package/dist/_chunks/index-5af78a9d.mjs.map +1 -0
  107. package/dist/_chunks/{index-1f1e2465.js → index-5be49e36.js} +9 -11
  108. package/dist/_chunks/{index-1f1e2465.js.map → index-5be49e36.js.map} +1 -1
  109. package/dist/_chunks/{index-4565fcbd.js → index-5bf8300a.js} +3 -3
  110. package/dist/_chunks/{index-4565fcbd.js.map → index-5bf8300a.js.map} +1 -1
  111. package/dist/_chunks/{index-48322669.mjs → index-663f37fb.mjs} +3 -3
  112. package/dist/_chunks/index-663f37fb.mjs.map +1 -0
  113. package/dist/_chunks/{index-35e4bad6.mjs → index-6999385d.mjs} +8 -9
  114. package/dist/_chunks/{index-35e4bad6.mjs.map → index-6999385d.mjs.map} +1 -1
  115. package/dist/_chunks/{index-928b18d2.mjs → index-70ad05e1.mjs} +3 -3
  116. package/dist/_chunks/{index-928b18d2.mjs.map → index-70ad05e1.mjs.map} +1 -1
  117. package/dist/_chunks/{index-e22d1a84.mjs → index-72195b26.mjs} +14 -13
  118. package/dist/_chunks/{index-e22d1a84.mjs.map → index-72195b26.mjs.map} +1 -1
  119. package/dist/_chunks/{index-c604806d.js → index-73b1ca6d.js} +12 -12
  120. package/dist/_chunks/{index-c604806d.js.map → index-73b1ca6d.js.map} +1 -1
  121. package/dist/_chunks/{index-62b4b3fc.js → index-76459a60.js} +11 -11
  122. package/dist/_chunks/{index-62b4b3fc.js.map → index-76459a60.js.map} +1 -1
  123. package/dist/_chunks/{index-6b9e3d60.js → index-77b91009.js} +9 -10
  124. package/dist/_chunks/{index-6b9e3d60.js.map → index-77b91009.js.map} +1 -1
  125. package/dist/_chunks/{index-24189ec9.js → index-84321b2e.js} +6 -6
  126. package/dist/_chunks/{index-24189ec9.js.map → index-84321b2e.js.map} +1 -1
  127. package/dist/_chunks/{index-b2257157.js → index-866d1aaf.js} +49 -12
  128. package/dist/_chunks/index-866d1aaf.js.map +1 -0
  129. package/dist/_chunks/{index-066ee02e.js → index-891738bc.js} +8 -10
  130. package/dist/_chunks/{index-066ee02e.js.map → index-891738bc.js.map} +1 -1
  131. package/dist/_chunks/{index-cadd3ee0.js → index-89cb437c.js} +4 -4
  132. package/dist/_chunks/{index-cadd3ee0.js.map → index-89cb437c.js.map} +1 -1
  133. package/dist/_chunks/{index-8ea5a488.js → index-901d8afc.js} +9 -10
  134. package/dist/_chunks/{index-8ea5a488.js.map → index-901d8afc.js.map} +1 -1
  135. package/dist/_chunks/{index-d1620260.js → index-9c56225f.js} +13 -14
  136. package/dist/_chunks/{index-d1620260.js.map → index-9c56225f.js.map} +1 -1
  137. package/dist/_chunks/{index-6dbc94a9.mjs → index-9e3fc4fe.mjs} +6 -6
  138. package/dist/_chunks/{index-6dbc94a9.mjs.map → index-9e3fc4fe.mjs.map} +1 -1
  139. package/dist/_chunks/{index-bdfc1149.mjs → index-a16075f2.mjs} +49 -12
  140. package/dist/_chunks/index-a16075f2.mjs.map +1 -0
  141. package/dist/_chunks/{index-6cc54f3b.mjs → index-a1c1b833.mjs} +8 -9
  142. package/dist/_chunks/{index-6cc54f3b.mjs.map → index-a1c1b833.mjs.map} +1 -1
  143. package/dist/_chunks/{index-acd6d64f.js → index-aaffa28c.js} +8 -7
  144. package/dist/_chunks/{index-acd6d64f.js.map → index-aaffa28c.js.map} +1 -1
  145. package/dist/_chunks/{index-be2ca313.mjs → index-abcea3d3.mjs} +13 -13
  146. package/dist/_chunks/{index-be2ca313.mjs.map → index-abcea3d3.mjs.map} +1 -1
  147. package/dist/_chunks/{index-af69bc98.mjs → index-acdd9b71.mjs} +11 -11
  148. package/dist/_chunks/{index-af69bc98.mjs.map → index-acdd9b71.mjs.map} +1 -1
  149. package/dist/_chunks/{index-89d27faa.js → index-adc85ed8.js} +14 -13
  150. package/dist/_chunks/{index-89d27faa.js.map → index-adc85ed8.js.map} +1 -1
  151. package/dist/_chunks/{index-f448aed2.js → index-af5e137f.js} +13 -12
  152. package/dist/_chunks/{index-f448aed2.js.map → index-af5e137f.js.map} +1 -1
  153. package/dist/_chunks/{index-16030b74.js → index-b11e88f3.js} +3 -3
  154. package/dist/_chunks/index-b11e88f3.js.map +1 -0
  155. package/dist/_chunks/{index-e414353b.js → index-b47862fc.js} +8 -8
  156. package/dist/_chunks/{index-e414353b.js.map → index-b47862fc.js.map} +1 -1
  157. package/dist/_chunks/{index-51a15b27.js → index-bea39602.js} +4 -4
  158. package/dist/_chunks/{index-51a15b27.js.map → index-bea39602.js.map} +1 -1
  159. package/dist/_chunks/{index-53ba81f9.mjs → index-c202e78f.mjs} +9 -10
  160. package/dist/_chunks/{index-53ba81f9.mjs.map → index-c202e78f.mjs.map} +1 -1
  161. package/dist/_chunks/{index-8d4d361d.mjs → index-c9f9b444.mjs} +13 -13
  162. package/dist/_chunks/{index-8d4d361d.mjs.map → index-c9f9b444.mjs.map} +1 -1
  163. package/dist/_chunks/{index-ea23ee9f.mjs → index-caecca36.mjs} +9 -11
  164. package/dist/_chunks/{index-ea23ee9f.mjs.map → index-caecca36.mjs.map} +1 -1
  165. package/dist/_chunks/{index-86dfbe3a.js → index-cce8ecb6.js} +178 -72
  166. package/dist/_chunks/index-cce8ecb6.js.map +1 -0
  167. package/dist/_chunks/{index-34de382e.mjs → index-cd461a87.mjs} +688 -824
  168. package/dist/_chunks/index-cd461a87.mjs.map +1 -0
  169. package/dist/_chunks/{index-5d8d89a7.js → index-cdfb1568.js} +13 -13
  170. package/dist/_chunks/{index-5d8d89a7.js.map → index-cdfb1568.js.map} +1 -1
  171. package/dist/_chunks/{index-1763a04f.js → index-cf87a6f0.js} +8 -9
  172. package/dist/_chunks/{index-1763a04f.js.map → index-cf87a6f0.js.map} +1 -1
  173. package/dist/_chunks/{index-b81f7273.mjs → index-d33930a8.mjs} +78 -147
  174. package/dist/_chunks/index-d33930a8.mjs.map +1 -0
  175. package/dist/_chunks/{index-fcd5bc14.mjs → index-d4473456.mjs} +14 -13
  176. package/dist/_chunks/{index-fcd5bc14.mjs.map → index-d4473456.mjs.map} +1 -1
  177. package/dist/_chunks/{index-3c58de6f.js → index-d74efba3.js} +14 -13
  178. package/dist/_chunks/{index-3c58de6f.js.map → index-d74efba3.js.map} +1 -1
  179. package/dist/_chunks/{index-1e973c03.mjs → index-d7bc095b.mjs} +14 -13
  180. package/dist/_chunks/{index-1e973c03.mjs.map → index-d7bc095b.mjs.map} +1 -1
  181. package/dist/_chunks/{index-00202c8a.mjs → index-dbbda762.mjs} +13 -12
  182. package/dist/_chunks/{index-00202c8a.mjs.map → index-dbbda762.mjs.map} +1 -1
  183. package/dist/_chunks/{index-f5342ea5.js → index-dfb03b19.js} +14 -13
  184. package/dist/_chunks/{index-f5342ea5.js.map → index-dfb03b19.js.map} +1 -1
  185. package/dist/_chunks/{index-bb8093ea.mjs → index-e10dd15d.mjs} +12 -12
  186. package/dist/_chunks/{index-bb8093ea.mjs.map → index-e10dd15d.mjs.map} +1 -1
  187. package/dist/_chunks/{index-370a4ee8.mjs → index-e4f7fa95.mjs} +12 -12
  188. package/dist/_chunks/index-e4f7fa95.mjs.map +1 -0
  189. package/dist/_chunks/{index-b98ea3ce.mjs → index-e749e6ef.mjs} +13 -14
  190. package/dist/_chunks/{index-b98ea3ce.mjs.map → index-e749e6ef.mjs.map} +1 -1
  191. package/dist/_chunks/{index-332f319e.mjs → index-ef5a0b8f.mjs} +8 -10
  192. package/dist/_chunks/{index-332f319e.mjs.map → index-ef5a0b8f.mjs.map} +1 -1
  193. package/dist/_chunks/{index-f179c7ea.js → index-f03c4e70.js} +13 -13
  194. package/dist/_chunks/{index-f179c7ea.js.map → index-f03c4e70.js.map} +1 -1
  195. package/dist/_chunks/{index-52b5db8a.js → index-fc0191f3.js} +8 -9
  196. package/dist/_chunks/{index-52b5db8a.js.map → index-fc0191f3.js.map} +1 -1
  197. package/dist/_chunks/{schema-a95f2514.mjs → schema-4d12cff6.mjs} +2 -2
  198. package/dist/_chunks/{schema-a95f2514.mjs.map → schema-4d12cff6.mjs.map} +1 -1
  199. package/dist/_chunks/{schema-f49c76d7.js → schema-c6ce9e01.js} +2 -2
  200. package/dist/_chunks/{schema-f49c76d7.js.map → schema-c6ce9e01.js.map} +1 -1
  201. package/dist/_chunks/{validateWorkflow-e66d7d2e.js → validateWorkflow-155f5778.js} +3 -3
  202. package/dist/_chunks/{validateWorkflow-e66d7d2e.js.map → validateWorkflow-155f5778.js.map} +1 -1
  203. package/dist/_chunks/{validateWorkflow-d051b610.mjs → validateWorkflow-e0166061.mjs} +3 -3
  204. package/dist/_chunks/{validateWorkflow-d051b610.mjs.map → validateWorkflow-e0166061.mjs.map} +1 -1
  205. package/dist/admin/index.js +9 -10
  206. package/dist/admin/index.js.map +1 -1
  207. package/dist/admin/index.mjs +9 -10
  208. package/dist/admin/index.mjs.map +1 -1
  209. package/dist/admin/src/constants.d.ts +10 -0
  210. package/dist/admin/src/contexts/admin.d.ts +2 -2
  211. package/dist/admin/src/hooks/__mocks__/useSettingsMenu.d.ts +2 -0
  212. package/dist/admin/src/hooks/useEnterprise.d.ts +6 -4
  213. package/dist/admin/src/hooks/useSettingsMenu.d.ts +24 -0
  214. package/dist/admin/src/pages/Auth/AuthPage.d.ts +6 -0
  215. package/dist/admin/src/pages/Auth/components/FieldActionWrapper.d.ts +3 -0
  216. package/dist/admin/src/pages/Auth/components/ForgotPassword.d.ts +3 -0
  217. package/dist/admin/src/pages/Auth/components/ForgotPasswordSuccess.d.ts +2 -0
  218. package/dist/admin/src/pages/Auth/components/Login.d.ts +8 -0
  219. package/dist/admin/src/pages/Auth/components/Oops.d.ts +2 -0
  220. package/dist/admin/src/pages/Auth/components/Register.d.ts +7 -0
  221. package/dist/admin/src/pages/Auth/components/ResetPassword.d.ts +3 -0
  222. package/dist/admin/src/pages/Auth/constants.d.ts +14 -0
  223. package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +2 -2
  224. package/dist/admin/src/types/permissions.d.ts +10 -0
  225. package/dist/cli.js +3 -1
  226. package/dist/cli.js.map +1 -1
  227. package/dist/cli.mjs +3 -1
  228. package/dist/cli.mjs.map +1 -1
  229. package/dist/ee/admin/src/constants.d.ts +3 -1
  230. package/dist/ee/admin/src/pages/AuthPage/components/Login.d.ts +3 -0
  231. package/dist/ee/admin/src/pages/AuthPage/components/Providers.d.ts +2 -0
  232. package/dist/ee/admin/src/pages/AuthPage/components/SSOProviders.d.ts +8 -0
  233. package/dist/ee/admin/src/pages/AuthPage/constants.d.ts +3 -0
  234. package/dist/ee/admin/src/pages/AuthResponse.d.ts +2 -0
  235. package/dist/ee/admin/src/pages/HomePage.d.ts +1 -1
  236. package/dist/shared/contracts/authentication.d.ts +126 -0
  237. package/dist/shared/contracts/providers.d.ts +18 -0
  238. package/ee/LICENSE +1 -0
  239. package/package.json +21 -21
  240. package/dist/_chunks/HomePage-a3cc32d2.mjs.map +0 -1
  241. package/dist/_chunks/HomePage-bdcb51be.js.map +0 -1
  242. package/dist/_chunks/SSOProviders-1d062c95.mjs.map +0 -1
  243. package/dist/_chunks/SSOProviders-1ef0a89e.js.map +0 -1
  244. package/dist/_chunks/constants-12dfb222.mjs +0 -34
  245. package/dist/_chunks/constants-12dfb222.mjs.map +0 -1
  246. package/dist/_chunks/constants-1aea1185.js +0 -34
  247. package/dist/_chunks/constants-1aea1185.js.map +0 -1
  248. package/dist/_chunks/constants-727a113c.js.map +0 -1
  249. package/dist/_chunks/constants-86aa3e70.js.map +0 -1
  250. package/dist/_chunks/constants-921eda17.mjs.map +0 -1
  251. package/dist/_chunks/constants-9de7641c.mjs.map +0 -1
  252. package/dist/_chunks/index-0af587c3.js.map +0 -1
  253. package/dist/_chunks/index-137490ba.js.map +0 -1
  254. package/dist/_chunks/index-16030b74.js.map +0 -1
  255. package/dist/_chunks/index-284c5926.js.map +0 -1
  256. package/dist/_chunks/index-305a03f4.mjs.map +0 -1
  257. package/dist/_chunks/index-34de382e.mjs.map +0 -1
  258. package/dist/_chunks/index-36e0d449.mjs.map +0 -1
  259. package/dist/_chunks/index-370a4ee8.mjs.map +0 -1
  260. package/dist/_chunks/index-48322669.mjs.map +0 -1
  261. package/dist/_chunks/index-5752584c.mjs.map +0 -1
  262. package/dist/_chunks/index-86dfbe3a.js.map +0 -1
  263. package/dist/_chunks/index-a4348f3b.js.map +0 -1
  264. package/dist/_chunks/index-b2257157.js.map +0 -1
  265. package/dist/_chunks/index-b81f7273.mjs.map +0 -1
  266. package/dist/_chunks/index-bdfc1149.mjs.map +0 -1
  267. package/dist/_chunks/index-edc9bb0b.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ProfilePage-4f8c127b.js","sources":["../../admin/src/pages/ProfilePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n HeaderLayout,\n Main,\n useNotifyAT,\n Grid,\n GridItem,\n Typography,\n SingleSelect,\n SingleSelectOption,\n TextInput,\n FieldAction,\n} from '@strapi/design-system';\nimport {\n auth,\n Form,\n GenericInput,\n GenericInputProps,\n LoadingIndicatorPage,\n pxToRem,\n useAppInfo,\n useFetchClient,\n useFocusWhenNavigate,\n useNotification,\n useOverlayBlocker,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Check, Eye, EyeStriked } from '@strapi/icons';\nimport { AxiosError } from 'axios';\nimport { Formik, FormikHelpers } from 'formik';\nimport upperFirst from 'lodash/upperFirst';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery } from 'react-query';\nimport styled from 'styled-components';\nimport * as yup from 'yup';\n\nimport { useLocales } from '../components/LanguageProvider';\nimport { useThemeToggle, ThemeName, ThemeToggleContextContextValue } from '../contexts/themeToggle';\nimport { getFullName } from '../utils/getFullName';\n\n// @ts-expect-error – no types available\nimport { profileValidation } from './SettingsPage/pages/Users/utils/validations/users';\n\nimport type { IsSSOLocked } from '../../../shared/contracts/providers';\nimport type { GetMe, UpdateMe } from '../../../shared/contracts/users';\n\nconst schema = yup.object().shape(profileValidation);\n\n/* -------------------------------------------------------------------------------------------------\n * ProfilePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProfilePage = () => {\n const { changeLocale, localeNames } = useLocales();\n const { setUserDisplayName } = useAppInfo();\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const toggleNotification = useNotification();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const { notifyStatus } = useNotifyAT();\n const { currentTheme, themes: allApplicationThemes, onChangeTheme } = useThemeToggle();\n const { get, put } = useFetchClient();\n\n useFocusWhenNavigate();\n\n const {\n isLoading: isLoadingUser,\n data,\n refetch,\n } = useQuery(\n 'user',\n async () => {\n const { data } = await get<GetMe.Response>('/admin/users/me');\n\n return data.data;\n },\n {\n onSuccess() {\n notifyStatus(\n formatMessage({\n id: 'Settings.profile.form.notify.data.loaded',\n defaultMessage: 'Your profile data has been loaded',\n })\n );\n },\n onError() {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n },\n }\n );\n\n const { isLoading: isLoadingSSO, data: dataSSO } = useQuery(\n ['providers', 'isSSOLocked'],\n async () => {\n const {\n data: { data },\n } = await get<IsSSOLocked.Response>('/admin/providers/isSSOLocked');\n\n return data;\n },\n {\n enabled: window.strapi.isEE && window.strapi.features.isEnabled('sso'),\n onError() {\n toggleNotification({\n type: 'warning',\n message: { id: 'Settings.permissions.users.sso.provider.error' },\n });\n },\n }\n );\n\n const isLoading = isLoadingUser || isLoadingSSO;\n\n type UpdateUsersMeBody = Omit<UpdateMe.Request['body'], 'currentPassword'> & {\n confirmPassword: string;\n currentTheme: ThemeName;\n };\n\n const submitMutation = useMutation<\n UpdateMe.Response['data'] & { currentTheme: ThemeName },\n AxiosError<UpdateMe.Response>,\n UpdateUsersMeBody\n >(\n async (body) => {\n const { confirmPassword: _confirmPassword, currentTheme, ...dataToSend } = body;\n const { data } = await put<UpdateMe.Response>('/admin/users/me', dataToSend);\n\n return { ...data.data, currentTheme };\n },\n {\n async onSuccess(data) {\n await refetch();\n const { email, firstname, lastname, username, preferedLanguage } = data;\n auth.setUserInfo({ email, firstname, lastname, username, preferedLanguage });\n const userDisplayName = data.username || getFullName(data.firstname ?? '', data.lastname);\n setUserDisplayName(userDisplayName);\n\n if (data.preferedLanguage) {\n changeLocale(data.preferedLanguage);\n }\n\n // @ts-expect-error – we're going to implement a context assertion to avoid this\n onChangeTheme(data.currentTheme);\n\n trackUsage('didChangeMode', { newMode: data.currentTheme });\n\n toggleNotification({\n type: 'success',\n message: { id: 'notification.success.saved', defaultMessage: 'Saved' },\n });\n },\n async onSettled() {\n // @ts-expect-error – we're going to implement a context assertion to avoid this\n unlockApp();\n },\n }\n );\n\n const { isLoading: isSubmittingForm } = submitMutation;\n\n const handleSubmit = async (\n body: UpdateUsersMeBody,\n { setErrors }: FormikHelpers<UpdateUsersMeBody>\n ) => {\n // @ts-expect-error – we're going to implement a context assertion to avoid this\n lockApp();\n\n const username = body.username;\n submitMutation.mutate(\n { ...body, username },\n {\n onError(error) {\n const res = error?.response?.data;\n\n if (res?.data) {\n return setErrors(res.data);\n }\n\n return toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n },\n }\n );\n };\n\n if (isLoading || !data) {\n return (\n <Main aria-busy=\"true\">\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.profile.form.section.profile.page.title',\n defaultMessage: 'Profile page',\n })}\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n }\n\n const hasLockedRole = dataSSO?.isSSOLocked ?? false;\n const { email, firstname, lastname, username, preferedLanguage } = data;\n const initialData = {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n confirmPassword: '',\n password: '',\n };\n\n return (\n <Main aria-busy={isSubmittingForm}>\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <Formik\n onSubmit={handleSubmit}\n // @ts-expect-error – currentTheme could be undefined because we don't have context assertion yet.\n initialValues={initialData}\n validateOnChange={false}\n validationSchema={schema}\n enableReinitialize\n >\n {({\n errors,\n values: {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n password,\n confirmPassword,\n },\n handleChange,\n isSubmitting,\n dirty,\n }) => {\n return (\n <Form>\n <HeaderLayout\n title={data.username || getFullName(data.firstname ?? '', data.lastname)}\n primaryAction={\n <Button\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n disabled={!dirty}\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Box paddingBottom={10}>\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <UserInfoSection\n errors={errors}\n onChange={handleChange}\n values={{\n firstname,\n lastname,\n username,\n email,\n }}\n />\n {!hasLockedRole && (\n <PasswordSection\n errors={errors}\n onChange={handleChange}\n values={{ password, confirmPassword }}\n />\n )}\n <PreferencesSection\n allApplicationThemes={allApplicationThemes}\n onChange={handleChange}\n values={{\n preferedLanguage,\n currentTheme,\n }}\n localeNames={localeNames}\n />\n </Flex>\n </ContentLayout>\n </Box>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PasswordSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PasswordSectionProps {\n errors: { password?: string; confirmPassword?: string };\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n values: {\n password?: string;\n confirmPassword?: string;\n };\n}\n\nconst PasswordSection = ({ errors, onChange, values }: PasswordSectionProps) => {\n const { formatMessage } = useIntl();\n const [passwordShown, setPasswordShown] = React.useState(false);\n const [passwordConfirmShown, setPasswordConfirmShown] = React.useState(false);\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.password\n ? formatMessage({\n id: errors.password,\n defaultMessage: errors.password,\n })\n : ''\n }\n onChange={onChange}\n value={values.password}\n label={formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n })}\n name=\"password\"\n type={passwordShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.confirmPassword\n ? formatMessage({\n id: errors.confirmPassword,\n defaultMessage: errors.confirmPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.confirmPassword}\n label={formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Password confirmation',\n })}\n name=\"confirmPassword\"\n type={passwordConfirmShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordConfirmShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordConfirmShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordConfirmShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nconst PasswordInput = styled(TextInput)`\n ::-ms-reveal {\n display: none;\n }\n`;\n\n// Wrapper of the Eye Icon able to show or hide the Password inside the field\nconst FieldActionWrapper = styled(FieldAction)`\n svg {\n height: ${pxToRem(16)};\n width: ${pxToRem(16)};\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PreferencesSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreferencesSectionProps extends Pick<GenericInputProps, 'onChange'> {\n values: {\n preferedLanguage?: string;\n currentTheme?: string;\n };\n localeNames: Record<string, string>;\n allApplicationThemes?: Partial<ThemeToggleContextContextValue['themes']>;\n}\n\nconst PreferencesSection = ({\n onChange,\n values,\n localeNames,\n allApplicationThemes = {},\n}: PreferencesSectionProps) => {\n const { formatMessage } = useIntl();\n const themesToDisplay = Object.keys(allApplicationThemes).filter(\n (themeName) => allApplicationThemes[themeName as keyof ThemeToggleContextContextValue['themes']]\n );\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.title',\n defaultMessage: 'Experience',\n })}\n </Typography>\n <Typography>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.interfaceLanguageHelp',\n defaultMessage:\n 'Preference changes will apply only to you. More information is available {here}.',\n },\n {\n here: (\n <Box\n as=\"a\"\n color=\"primary600\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#locales\"\n >\n {formatMessage({\n id: 'Settings.profile.form.section.experience.here',\n defaultMessage: 'here',\n })}\n </Box>\n ),\n }\n )}\n </Typography>\n </Flex>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage',\n defaultMessage: 'Interface language',\n })}\n placeholder={formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })}\n hint={formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage.hint',\n defaultMessage: 'This will only display your own interface in the chosen language.',\n })}\n onClear={() => {\n onChange({\n target: { name: 'preferedLanguage', value: null },\n });\n }}\n clearLabel={formatMessage({\n id: 'Settings.profile.form.section.experience.clear.select',\n defaultMessage: 'Clear the interface language selected',\n })}\n value={values.preferedLanguage}\n onChange={(e) => {\n onChange({\n target: { name: 'preferedLanguage', value: e },\n });\n }}\n >\n {Object.entries(localeNames).map(([language, langName]) => (\n <SingleSelectOption value={language} key={language}>\n {langName}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.label',\n defaultMessage: 'Interface mode',\n })}\n placeholder={formatMessage({\n id: 'components.Select.placeholder',\n defaultMessage: 'Select',\n })}\n hint={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.hint',\n defaultMessage: 'Displays your interface in the chosen mode.',\n })}\n value={values.currentTheme}\n onChange={(e) => {\n onChange({\n target: { name: 'currentTheme', value: e },\n });\n }}\n >\n <SingleSelectOption value=\"system\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.mode.option-system-label',\n defaultMessage: 'Use system settings',\n })}\n </SingleSelectOption>\n {themesToDisplay.map((theme) => (\n <SingleSelectOption value={theme} key={theme}>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.mode.option-label',\n defaultMessage: '{name} mode',\n },\n {\n name: formatMessage({\n id: theme,\n defaultMessage: upperFirst(theme),\n }),\n }\n )}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UserInfoSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface UserInfoSectionProps extends Pick<GenericInputProps, 'onChange'> {\n errors: { firstname?: string; lastname?: string; username?: string; email?: string };\n values: {\n firstname?: string;\n lastname?: string;\n username?: string;\n email?: string;\n };\n}\n\nconst UserInfoSection = ({ errors, onChange, values }: UserInfoSectionProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n }}\n error={errors.firstname}\n onChange={onChange}\n value={values.firstname}\n type=\"text\"\n name=\"firstname\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n }}\n error={errors.lastname}\n onChange={onChange}\n value={values.lastname}\n type=\"text\"\n name=\"lastname\"\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{ id: 'Auth.form.email.label', defaultMessage: 'Email' }}\n error={errors.email}\n onChange={onChange}\n value={values.email}\n type=\"email\"\n name=\"email\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n }}\n error={errors.username}\n onChange={onChange}\n value={values.username}\n type=\"text\"\n name=\"username\"\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nexport { ProfilePage };\n"],"names":["yup","profileValidation","useLocales","useAppInfo","useIntl","useTracking","useNotification","useOverlayBlocker","useNotifyAT","useThemeToggle","useFetchClient","useFocusWhenNavigate","useQuery","data","useMutation","currentTheme","email","firstname","lastname","username","preferedLanguage","auth","getFullName","jsxs","Main","jsx","Helmet","HeaderLayout","ContentLayout","LoadingIndicatorPage","Formik","Form","Button","Check","Box","Flex","React","Typography","Grid","GridItem","Eye","EyeStriked","styled","TextInput","FieldAction","pxToRem","SingleSelect","SingleSelectOption","upperFirst","GenericInput"],"mappings":"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"}
1
+ {"version":3,"file":"ProfilePage-9911a1aa.js","sources":["../../admin/src/pages/ProfilePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n HeaderLayout,\n Main,\n useNotifyAT,\n Grid,\n GridItem,\n Typography,\n SingleSelect,\n SingleSelectOption,\n TextInput,\n FieldAction,\n} from '@strapi/design-system';\nimport {\n auth,\n Form,\n GenericInput,\n GenericInputProps,\n LoadingIndicatorPage,\n pxToRem,\n useAppInfo,\n useFetchClient,\n useFocusWhenNavigate,\n useNotification,\n useOverlayBlocker,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Check, Eye, EyeStriked } from '@strapi/icons';\nimport { AxiosError } from 'axios';\nimport { Formik, FormikHelpers } from 'formik';\nimport upperFirst from 'lodash/upperFirst';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery } from 'react-query';\nimport styled from 'styled-components';\nimport * as yup from 'yup';\n\nimport { useLocales } from '../components/LanguageProvider';\nimport { useThemeToggle, ThemeName, ThemeToggleContextContextValue } from '../contexts/themeToggle';\nimport { getFullName } from '../utils/getFullName';\n\n// @ts-expect-error – no types available\nimport { profileValidation } from './SettingsPage/pages/Users/utils/validations/users';\n\nimport type { IsSSOLocked } from '../../../shared/contracts/providers';\nimport type { GetMe, UpdateMe } from '../../../shared/contracts/users';\n\nconst schema = yup.object().shape(profileValidation);\n\n/* -------------------------------------------------------------------------------------------------\n * ProfilePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProfilePage = () => {\n const { changeLocale, localeNames } = useLocales();\n const { setUserDisplayName } = useAppInfo();\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const toggleNotification = useNotification();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const { notifyStatus } = useNotifyAT();\n const { currentTheme, themes: allApplicationThemes, onChangeTheme } = useThemeToggle();\n const { get, put } = useFetchClient();\n\n useFocusWhenNavigate();\n\n const {\n isLoading: isLoadingUser,\n data,\n refetch,\n } = useQuery(\n 'user',\n async () => {\n const { data } = await get<GetMe.Response>('/admin/users/me');\n\n return data.data;\n },\n {\n onSuccess() {\n notifyStatus(\n formatMessage({\n id: 'Settings.profile.form.notify.data.loaded',\n defaultMessage: 'Your profile data has been loaded',\n })\n );\n },\n onError() {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n },\n }\n );\n\n const { isLoading: isLoadingSSO, data: dataSSO } = useQuery(\n ['providers', 'isSSOLocked'],\n async () => {\n const {\n data: { data },\n } = await get<IsSSOLocked.Response>('/admin/providers/isSSOLocked');\n\n return data;\n },\n {\n enabled: window.strapi.isEE && window.strapi.features.isEnabled('sso'),\n onError() {\n toggleNotification({\n type: 'warning',\n message: { id: 'Settings.permissions.users.sso.provider.error' },\n });\n },\n }\n );\n\n const isLoading = isLoadingUser || isLoadingSSO;\n\n type UpdateUsersMeBody = Omit<UpdateMe.Request['body'], 'currentPassword'> & {\n confirmPassword: string;\n currentTheme: ThemeName;\n };\n\n const submitMutation = useMutation<\n UpdateMe.Response['data'] & { currentTheme: ThemeName },\n AxiosError<UpdateMe.Response>,\n UpdateUsersMeBody\n >(\n async (body) => {\n const { confirmPassword: _confirmPassword, currentTheme, ...dataToSend } = body;\n const { data } = await put<UpdateMe.Response>('/admin/users/me', dataToSend);\n\n return { ...data.data, currentTheme };\n },\n {\n async onSuccess(data) {\n await refetch();\n const { email, firstname, lastname, username, preferedLanguage } = data;\n auth.setUserInfo({ email, firstname, lastname, username, preferedLanguage });\n const userDisplayName = data.username || getFullName(data.firstname ?? '', data.lastname);\n setUserDisplayName(userDisplayName);\n\n if (data.preferedLanguage) {\n changeLocale(data.preferedLanguage);\n }\n\n // @ts-expect-error – we're going to implement a context assertion to avoid this\n onChangeTheme(data.currentTheme);\n\n trackUsage('didChangeMode', { newMode: data.currentTheme });\n\n toggleNotification({\n type: 'success',\n message: { id: 'notification.success.saved', defaultMessage: 'Saved' },\n });\n },\n async onSettled() {\n // @ts-expect-error – we're going to implement a context assertion to avoid this\n unlockApp();\n },\n }\n );\n\n const { isLoading: isSubmittingForm } = submitMutation;\n\n const handleSubmit = async (\n body: UpdateUsersMeBody,\n { setErrors }: FormikHelpers<UpdateUsersMeBody>\n ) => {\n // @ts-expect-error – we're going to implement a context assertion to avoid this\n lockApp();\n\n const username = body.username;\n submitMutation.mutate(\n { ...body, username },\n {\n onError(error) {\n const res = error?.response?.data;\n\n if (res?.data) {\n return setErrors(res.data);\n }\n\n return toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n },\n }\n );\n };\n\n if (isLoading || !data) {\n return (\n <Main aria-busy=\"true\">\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.profile.form.section.profile.page.title',\n defaultMessage: 'Profile page',\n })}\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n }\n\n const hasLockedRole = dataSSO?.isSSOLocked ?? false;\n const { email, firstname, lastname, username, preferedLanguage } = data;\n const initialData = {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n confirmPassword: '',\n password: '',\n };\n\n return (\n <Main aria-busy={isSubmittingForm}>\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <Formik\n onSubmit={handleSubmit}\n // @ts-expect-error – currentTheme could be undefined because we don't have context assertion yet.\n initialValues={initialData}\n validateOnChange={false}\n validationSchema={schema}\n enableReinitialize\n >\n {({\n errors,\n values: {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n password,\n confirmPassword,\n },\n handleChange,\n isSubmitting,\n dirty,\n }) => {\n return (\n <Form>\n <HeaderLayout\n title={data.username || getFullName(data.firstname ?? '', data.lastname)}\n primaryAction={\n <Button\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n disabled={!dirty}\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Box paddingBottom={10}>\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <UserInfoSection\n errors={errors}\n onChange={handleChange}\n values={{\n firstname,\n lastname,\n username,\n email,\n }}\n />\n {!hasLockedRole && (\n <PasswordSection\n errors={errors}\n onChange={handleChange}\n values={{ password, confirmPassword }}\n />\n )}\n <PreferencesSection\n allApplicationThemes={allApplicationThemes}\n onChange={handleChange}\n values={{\n preferedLanguage,\n currentTheme,\n }}\n localeNames={localeNames}\n />\n </Flex>\n </ContentLayout>\n </Box>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PasswordSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PasswordSectionProps {\n errors: { password?: string; confirmPassword?: string };\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n values: {\n password?: string;\n confirmPassword?: string;\n };\n}\n\nconst PasswordSection = ({ errors, onChange, values }: PasswordSectionProps) => {\n const { formatMessage } = useIntl();\n const [passwordShown, setPasswordShown] = React.useState(false);\n const [passwordConfirmShown, setPasswordConfirmShown] = React.useState(false);\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.password\n ? formatMessage({\n id: errors.password,\n defaultMessage: errors.password,\n })\n : ''\n }\n onChange={onChange}\n value={values.password}\n label={formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n })}\n name=\"password\"\n type={passwordShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.confirmPassword\n ? formatMessage({\n id: errors.confirmPassword,\n defaultMessage: errors.confirmPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.confirmPassword}\n label={formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Password confirmation',\n })}\n name=\"confirmPassword\"\n type={passwordConfirmShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordConfirmShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordConfirmShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordConfirmShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nconst PasswordInput = styled(TextInput)`\n ::-ms-reveal {\n display: none;\n }\n`;\n\n// Wrapper of the Eye Icon able to show or hide the Password inside the field\nconst FieldActionWrapper = styled(FieldAction)`\n svg {\n height: ${pxToRem(16)};\n width: ${pxToRem(16)};\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PreferencesSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreferencesSectionProps extends Pick<GenericInputProps, 'onChange'> {\n values: {\n preferedLanguage?: string;\n currentTheme?: string;\n };\n localeNames: Record<string, string>;\n allApplicationThemes?: Partial<ThemeToggleContextContextValue['themes']>;\n}\n\nconst PreferencesSection = ({\n onChange,\n values,\n localeNames,\n allApplicationThemes = {},\n}: PreferencesSectionProps) => {\n const { formatMessage } = useIntl();\n const themesToDisplay = Object.keys(allApplicationThemes).filter(\n (themeName) => allApplicationThemes[themeName as keyof ThemeToggleContextContextValue['themes']]\n );\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.title',\n defaultMessage: 'Experience',\n })}\n </Typography>\n <Typography>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.interfaceLanguageHelp',\n defaultMessage:\n 'Preference changes will apply only to you. More information is available {here}.',\n },\n {\n here: (\n <Box\n as=\"a\"\n color=\"primary600\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#locales\"\n >\n {formatMessage({\n id: 'Settings.profile.form.section.experience.here',\n defaultMessage: 'here',\n })}\n </Box>\n ),\n }\n )}\n </Typography>\n </Flex>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage',\n defaultMessage: 'Interface language',\n })}\n placeholder={formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })}\n hint={formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage.hint',\n defaultMessage: 'This will only display your own interface in the chosen language.',\n })}\n onClear={() => {\n onChange({\n target: { name: 'preferedLanguage', value: null },\n });\n }}\n clearLabel={formatMessage({\n id: 'Settings.profile.form.section.experience.clear.select',\n defaultMessage: 'Clear the interface language selected',\n })}\n value={values.preferedLanguage}\n onChange={(e) => {\n onChange({\n target: { name: 'preferedLanguage', value: e },\n });\n }}\n >\n {Object.entries(localeNames).map(([language, langName]) => (\n <SingleSelectOption value={language} key={language}>\n {langName}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.label',\n defaultMessage: 'Interface mode',\n })}\n placeholder={formatMessage({\n id: 'components.Select.placeholder',\n defaultMessage: 'Select',\n })}\n hint={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.hint',\n defaultMessage: 'Displays your interface in the chosen mode.',\n })}\n value={values.currentTheme}\n onChange={(e) => {\n onChange({\n target: { name: 'currentTheme', value: e },\n });\n }}\n >\n <SingleSelectOption value=\"system\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.mode.option-system-label',\n defaultMessage: 'Use system settings',\n })}\n </SingleSelectOption>\n {themesToDisplay.map((theme) => (\n <SingleSelectOption value={theme} key={theme}>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.mode.option-label',\n defaultMessage: '{name} mode',\n },\n {\n name: formatMessage({\n id: theme,\n defaultMessage: upperFirst(theme),\n }),\n }\n )}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UserInfoSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface UserInfoSectionProps extends Pick<GenericInputProps, 'onChange'> {\n errors: { firstname?: string; lastname?: string; username?: string; email?: string };\n values: {\n firstname?: string;\n lastname?: string;\n username?: string;\n email?: string;\n };\n}\n\nconst UserInfoSection = ({ errors, onChange, values }: UserInfoSectionProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n }}\n error={errors.firstname}\n onChange={onChange}\n value={values.firstname}\n type=\"text\"\n name=\"firstname\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n }}\n error={errors.lastname}\n onChange={onChange}\n value={values.lastname}\n type=\"text\"\n name=\"lastname\"\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{ id: 'Auth.form.email.label', defaultMessage: 'Email' }}\n error={errors.email}\n onChange={onChange}\n value={values.email}\n type=\"email\"\n name=\"email\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n }}\n error={errors.username}\n onChange={onChange}\n value={values.username}\n type=\"text\"\n name=\"username\"\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nexport { ProfilePage };\n"],"names":["yup","profileValidation","useLocales","useAppInfo","useIntl","useTracking","useNotification","useOverlayBlocker","useNotifyAT","useThemeToggle","useFetchClient","useFocusWhenNavigate","useQuery","data","useMutation","currentTheme","email","firstname","lastname","username","preferedLanguage","auth","getFullName","jsxs","Main","jsx","Helmet","HeaderLayout","ContentLayout","LoadingIndicatorPage","Formik","Form","Button","Check","Box","Flex","React","Typography","Grid","GridItem","Eye","EyeStriked","styled","TextInput","FieldAction","pxToRem","SingleSelect","SingleSelectOption","upperFirst","GenericInput"],"mappings":"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"}
@@ -1,60 +1,8 @@
1
- import * as React from "react";
2
- import { useFetchClient } from "@strapi/helper-plugin";
3
- import { useQuery } from "react-query";
4
1
  import { jsx, jsxs } from "react/jsx-runtime";
5
2
  import { Flex, Grid, GridItem, Tooltip, Typography } from "@strapi/design-system";
6
- import PropTypes from "prop-types";
7
3
  import { useIntl } from "react-intl";
8
4
  import { Link } from "react-router-dom";
9
5
  import styled from "styled-components";
10
- const useAuthProviders = (queryOptions = {}) => {
11
- const { get } = useFetchClient();
12
- const { data, isLoading } = useQuery(
13
- ["ee", "providers"],
14
- async () => {
15
- const { data: data2 } = await get("/admin/providers");
16
- return data2;
17
- },
18
- queryOptions
19
- );
20
- const providers = React.useMemo(() => data ?? [], [data]);
21
- return { providers, isLoading };
22
- };
23
- const SSOButton = styled.a`
24
- width: ${136 / 16}rem;
25
- display: flex;
26
- justify-content: center;
27
- align-items: center;
28
- height: ${48 / 16}rem;
29
- border: 1px solid ${({ theme }) => theme.colors.neutral150};
30
- border-radius: ${({ theme }) => theme.borderRadius};
31
- text-decoration: inherit;
32
- &:link {
33
- text-decoration: none;
34
- }
35
- color: ${({ theme }) => theme.colors.neutral600};
36
- `;
37
- const SSOProvidersWrapper = styled(Flex)`
38
- & a:not(:first-child):not(:last-child) {
39
- margin: 0 ${({ theme }) => theme.spaces[2]};
40
- }
41
- & a:first-child {
42
- margin-right: ${({ theme }) => theme.spaces[2]};
43
- }
44
- & a:last-child {
45
- margin-left: ${({ theme }) => theme.spaces[2]};
46
- }
47
- `;
48
- const SSOProviderButton = ({ provider }) => {
49
- return /* @__PURE__ */ jsx(Tooltip, { label: provider.displayName, children: /* @__PURE__ */ jsx(SSOButton, { href: `${window.strapi.backendURL}/admin/connect/${provider.uid}`, children: provider.icon ? /* @__PURE__ */ jsx("img", { src: provider.icon, "aria-hidden": true, alt: "", height: "32px" }) : /* @__PURE__ */ jsx(Typography, { children: provider.displayName }) }) });
50
- };
51
- SSOProviderButton.propTypes = {
52
- provider: PropTypes.shape({
53
- icon: PropTypes.string,
54
- displayName: PropTypes.string.isRequired,
55
- uid: PropTypes.string.isRequired
56
- }).isRequired
57
- };
58
6
  const SSOProviders = ({ providers, displayAllProviders }) => {
59
7
  const { formatMessage } = useIntl();
60
8
  if (displayAllProviders) {
@@ -76,15 +24,35 @@ const SSOProviders = ({ providers, displayAllProviders }) => {
76
24
  }
77
25
  return /* @__PURE__ */ jsx(SSOProvidersWrapper, { justifyContent: "center", children: providers.map((provider) => /* @__PURE__ */ jsx(SSOProviderButton, { provider }, provider.uid)) });
78
26
  };
79
- SSOProviders.defaultProps = {
80
- displayAllProviders: true
81
- };
82
- SSOProviders.propTypes = {
83
- providers: PropTypes.arrayOf(PropTypes.object).isRequired,
84
- displayAllProviders: PropTypes.bool
27
+ const SSOProvidersWrapper = styled(Flex)`
28
+ & a:not(:first-child):not(:last-child) {
29
+ margin: 0 ${({ theme }) => theme.spaces[2]};
30
+ }
31
+ & a:first-child {
32
+ margin-right: ${({ theme }) => theme.spaces[2]};
33
+ }
34
+ & a:last-child {
35
+ margin-left: ${({ theme }) => theme.spaces[2]};
36
+ }
37
+ `;
38
+ const SSOProviderButton = ({ provider }) => {
39
+ return /* @__PURE__ */ jsx(Tooltip, { label: provider.displayName, children: /* @__PURE__ */ jsx(SSOButton, { href: `${window.strapi.backendURL}/admin/connect/${provider.uid}`, children: provider.icon ? /* @__PURE__ */ jsx("img", { src: provider.icon, "aria-hidden": true, alt: "", height: "32px" }) : /* @__PURE__ */ jsx(Typography, { children: provider.displayName }) }) });
85
40
  };
41
+ const SSOButton = styled.a`
42
+ width: ${136 / 16}rem;
43
+ display: flex;
44
+ justify-content: center;
45
+ align-items: center;
46
+ height: ${48 / 16}rem;
47
+ border: 1px solid ${({ theme }) => theme.colors.neutral150};
48
+ border-radius: ${({ theme }) => theme.borderRadius};
49
+ text-decoration: inherit;
50
+ &:link {
51
+ text-decoration: none;
52
+ }
53
+ color: ${({ theme }) => theme.colors.neutral600};
54
+ `;
86
55
  export {
87
- SSOProviders as S,
88
- useAuthProviders as u
56
+ SSOProviders as S
89
57
  };
90
- //# sourceMappingURL=SSOProviders-1d062c95.mjs.map
58
+ //# sourceMappingURL=SSOProviders-62bfad92.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SSOProviders-62bfad92.mjs","sources":["../../ee/admin/src/pages/AuthPage/components/SSOProviders.tsx"],"sourcesContent":["import { Flex, Grid, GridItem, Tooltip, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { Link } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { GetProviders } from '../../../../../../shared/contracts/providers';\n\n/* -------------------------------------------------------------------------------------------------\n * SSOProviders\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SSOProvidersProps {\n providers: GetProviders.Response;\n displayAllProviders?: boolean;\n}\n\nconst SSOProviders = ({ providers, displayAllProviders }: SSOProvidersProps) => {\n const { formatMessage } = useIntl();\n\n if (displayAllProviders) {\n return (\n <Grid gap={4}>\n {providers.map((provider) => (\n <GridItem key={provider.uid} col={4}>\n <SSOProviderButton provider={provider} />\n </GridItem>\n ))}\n </Grid>\n );\n }\n\n if (providers.length > 2 && !displayAllProviders) {\n return (\n <Grid gap={4}>\n {providers.slice(0, 2).map((provider) => (\n <GridItem key={provider.uid} col={4}>\n <SSOProviderButton provider={provider} />\n </GridItem>\n ))}\n <GridItem col={4}>\n <Tooltip\n label={formatMessage({\n id: 'global.see-more',\n })}\n >\n <SSOButton as={Link} to=\"/auth/providers\">\n <span aria-hidden>•••</span>\n </SSOButton>\n </Tooltip>\n </GridItem>\n </Grid>\n );\n }\n\n return (\n <SSOProvidersWrapper justifyContent=\"center\">\n {providers.map((provider) => (\n <SSOProviderButton key={provider.uid} provider={provider} />\n ))}\n </SSOProvidersWrapper>\n );\n};\n\nconst SSOProvidersWrapper = styled(Flex)`\n & a:not(:first-child):not(:last-child) {\n margin: 0 ${({ theme }) => theme.spaces[2]};\n }\n & a:first-child {\n margin-right: ${({ theme }) => theme.spaces[2]};\n }\n & a:last-child {\n margin-left: ${({ theme }) => theme.spaces[2]};\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * SSOProviderButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SSOProviderButtonProps {\n provider: GetProviders.Response[number];\n}\n\nconst SSOProviderButton = ({ provider }: SSOProviderButtonProps) => {\n return (\n <Tooltip label={provider.displayName}>\n <SSOButton href={`${window.strapi.backendURL}/admin/connect/${provider.uid}`}>\n {provider.icon ? (\n <img src={provider.icon} aria-hidden alt=\"\" height=\"32px\" />\n ) : (\n <Typography>{provider.displayName}</Typography>\n )}\n </SSOButton>\n </Tooltip>\n );\n};\n\nconst SSOButton = styled.a`\n width: ${136 / 16}rem;\n display: flex;\n justify-content: center;\n align-items: center;\n height: ${48 / 16}rem;\n border: 1px solid ${({ theme }) => theme.colors.neutral150};\n border-radius: ${({ theme }) => theme.borderRadius};\n text-decoration: inherit;\n &:link {\n text-decoration: none;\n }\n color: ${({ theme }) => theme.colors.neutral600};\n`;\n\nexport { SSOProviders };\nexport type { SSOProvidersProps };\n"],"names":[],"mappings":";;;;;AAgBA,MAAM,eAAe,CAAC,EAAE,WAAW,0BAA6C;AACxE,QAAA,EAAE,kBAAkB;AAE1B,MAAI,qBAAqB;AACvB,+BACG,MAAK,EAAA,KAAK,GACR,UAAU,UAAA,IAAI,CAAC,aACd,oBAAC,YAA4B,KAAK,GAChC,8BAAC,mBAAkB,EAAA,UAAoB,KAD1B,SAAS,GAExB,CACD,EACH,CAAA;AAAA,EAEJ;AAEA,MAAI,UAAU,SAAS,KAAK,CAAC,qBAAqB;AAE9C,WAAA,qBAAC,MAAK,EAAA,KAAK,GACR,UAAA;AAAA,MAAA,UAAU,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,aAC1B,oBAAC,UAA4B,EAAA,KAAK,GAChC,UAAC,oBAAA,mBAAA,EAAkB,UAAoB,EAD1B,GAAA,SAAS,GAExB,CACD;AAAA,MACD,oBAAC,UAAS,EAAA,KAAK,GACb,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,OAAO,cAAc;AAAA,YACnB,IAAI;AAAA,UAAA,CACL;AAAA,UAED,UAAA,oBAAC,WAAU,EAAA,IAAI,MAAM,IAAG,mBACtB,UAAA,oBAAC,QAAK,EAAA,eAAW,MAAC,UAAA,MAAG,CAAA,GACvB;AAAA,QAAA;AAAA,MAAA,GAEJ;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AAEA,SACG,oBAAA,qBAAA,EAAoB,gBAAe,UACjC,oBAAU,IAAI,CAAC,aACd,oBAAC,mBAAqC,EAAA,SAAA,GAAd,SAAS,GAAyB,CAC3D,EACH,CAAA;AAEJ;AAEA,MAAM,sBAAsB,OAAO,IAAI;AAAA;AAAA,gBAEvB,CAAC,EAAE,YAAY,MAAM,OAAO,CAAC,CAAC;AAAA;AAAA;AAAA,oBAG1B,CAAC,EAAE,YAAY,MAAM,OAAO,CAAC,CAAC;AAAA;AAAA;AAAA,mBAG/B,CAAC,EAAE,YAAY,MAAM,OAAO,CAAC,CAAC;AAAA;AAAA;AAYjD,MAAM,oBAAoB,CAAC,EAAE,eAAuC;AAClE,SACG,oBAAA,SAAA,EAAQ,OAAO,SAAS,aACvB,UAAC,oBAAA,WAAA,EAAU,MAAM,GAAG,OAAO,OAAO,UAAU,kBAAkB,SAAS,GAAG,IACvE,UAAA,SAAS,OACR,oBAAC,SAAI,KAAK,SAAS,MAAM,eAAW,MAAC,KAAI,IAAG,QAAO,OAAA,CAAO,IAEzD,oBAAA,YAAA,EAAY,UAAS,SAAA,YAAY,CAAA,GAEtC,EACF,CAAA;AAEJ;AAEA,MAAM,YAAY,OAAO;AAAA,WACd,MAAM,EAAE;AAAA;AAAA;AAAA;AAAA,YAIP,KAAK,EAAE;AAAA,sBACG,CAAC,EAAE,MAAA,MAAY,MAAM,OAAO,UAAU;AAAA,mBACzC,CAAC,EAAE,YAAY,MAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,WAKzC,CAAC,EAAE,MAAA,MAAY,MAAM,OAAO,UAAU;AAAA;"}
@@ -1,83 +1,11 @@
1
1
  "use strict";
2
- const React = require("react");
3
- const helperPlugin = require("@strapi/helper-plugin");
4
- const reactQuery = require("react-query");
5
2
  const jsxRuntime = require("react/jsx-runtime");
6
3
  const designSystem = require("@strapi/design-system");
7
- const PropTypes = require("prop-types");
8
4
  const reactIntl = require("react-intl");
9
5
  const reactRouterDom = require("react-router-dom");
10
6
  const styled = require("styled-components");
11
7
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
12
- function _interopNamespace(e) {
13
- if (e && e.__esModule)
14
- return e;
15
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
16
- if (e) {
17
- for (const k in e) {
18
- if (k !== "default") {
19
- const d = Object.getOwnPropertyDescriptor(e, k);
20
- Object.defineProperty(n, k, d.get ? d : {
21
- enumerable: true,
22
- get: () => e[k]
23
- });
24
- }
25
- }
26
- }
27
- n.default = e;
28
- return Object.freeze(n);
29
- }
30
- const React__namespace = /* @__PURE__ */ _interopNamespace(React);
31
- const PropTypes__default = /* @__PURE__ */ _interopDefault(PropTypes);
32
8
  const styled__default = /* @__PURE__ */ _interopDefault(styled);
33
- const useAuthProviders = (queryOptions = {}) => {
34
- const { get } = helperPlugin.useFetchClient();
35
- const { data, isLoading } = reactQuery.useQuery(
36
- ["ee", "providers"],
37
- async () => {
38
- const { data: data2 } = await get("/admin/providers");
39
- return data2;
40
- },
41
- queryOptions
42
- );
43
- const providers = React__namespace.useMemo(() => data ?? [], [data]);
44
- return { providers, isLoading };
45
- };
46
- const SSOButton = styled__default.default.a`
47
- width: ${136 / 16}rem;
48
- display: flex;
49
- justify-content: center;
50
- align-items: center;
51
- height: ${48 / 16}rem;
52
- border: 1px solid ${({ theme }) => theme.colors.neutral150};
53
- border-radius: ${({ theme }) => theme.borderRadius};
54
- text-decoration: inherit;
55
- &:link {
56
- text-decoration: none;
57
- }
58
- color: ${({ theme }) => theme.colors.neutral600};
59
- `;
60
- const SSOProvidersWrapper = styled__default.default(designSystem.Flex)`
61
- & a:not(:first-child):not(:last-child) {
62
- margin: 0 ${({ theme }) => theme.spaces[2]};
63
- }
64
- & a:first-child {
65
- margin-right: ${({ theme }) => theme.spaces[2]};
66
- }
67
- & a:last-child {
68
- margin-left: ${({ theme }) => theme.spaces[2]};
69
- }
70
- `;
71
- const SSOProviderButton = ({ provider }) => {
72
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tooltip, { label: provider.displayName, children: /* @__PURE__ */ jsxRuntime.jsx(SSOButton, { href: `${window.strapi.backendURL}/admin/connect/${provider.uid}`, children: provider.icon ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: provider.icon, "aria-hidden": true, alt: "", height: "32px" }) : /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: provider.displayName }) }) });
73
- };
74
- SSOProviderButton.propTypes = {
75
- provider: PropTypes__default.default.shape({
76
- icon: PropTypes__default.default.string,
77
- displayName: PropTypes__default.default.string.isRequired,
78
- uid: PropTypes__default.default.string.isRequired
79
- }).isRequired
80
- };
81
9
  const SSOProviders = ({ providers, displayAllProviders }) => {
82
10
  const { formatMessage } = reactIntl.useIntl();
83
11
  if (displayAllProviders) {
@@ -99,13 +27,33 @@ const SSOProviders = ({ providers, displayAllProviders }) => {
99
27
  }
100
28
  return /* @__PURE__ */ jsxRuntime.jsx(SSOProvidersWrapper, { justifyContent: "center", children: providers.map((provider) => /* @__PURE__ */ jsxRuntime.jsx(SSOProviderButton, { provider }, provider.uid)) });
101
29
  };
102
- SSOProviders.defaultProps = {
103
- displayAllProviders: true
104
- };
105
- SSOProviders.propTypes = {
106
- providers: PropTypes__default.default.arrayOf(PropTypes__default.default.object).isRequired,
107
- displayAllProviders: PropTypes__default.default.bool
30
+ const SSOProvidersWrapper = styled__default.default(designSystem.Flex)`
31
+ & a:not(:first-child):not(:last-child) {
32
+ margin: 0 ${({ theme }) => theme.spaces[2]};
33
+ }
34
+ & a:first-child {
35
+ margin-right: ${({ theme }) => theme.spaces[2]};
36
+ }
37
+ & a:last-child {
38
+ margin-left: ${({ theme }) => theme.spaces[2]};
39
+ }
40
+ `;
41
+ const SSOProviderButton = ({ provider }) => {
42
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tooltip, { label: provider.displayName, children: /* @__PURE__ */ jsxRuntime.jsx(SSOButton, { href: `${window.strapi.backendURL}/admin/connect/${provider.uid}`, children: provider.icon ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: provider.icon, "aria-hidden": true, alt: "", height: "32px" }) : /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: provider.displayName }) }) });
108
43
  };
44
+ const SSOButton = styled__default.default.a`
45
+ width: ${136 / 16}rem;
46
+ display: flex;
47
+ justify-content: center;
48
+ align-items: center;
49
+ height: ${48 / 16}rem;
50
+ border: 1px solid ${({ theme }) => theme.colors.neutral150};
51
+ border-radius: ${({ theme }) => theme.borderRadius};
52
+ text-decoration: inherit;
53
+ &:link {
54
+ text-decoration: none;
55
+ }
56
+ color: ${({ theme }) => theme.colors.neutral600};
57
+ `;
109
58
  exports.SSOProviders = SSOProviders;
110
- exports.useAuthProviders = useAuthProviders;
111
- //# sourceMappingURL=SSOProviders-1ef0a89e.js.map
59
+ //# sourceMappingURL=SSOProviders-b395a4e6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SSOProviders-b395a4e6.js","sources":["../../ee/admin/src/pages/AuthPage/components/SSOProviders.tsx"],"sourcesContent":["import { Flex, Grid, GridItem, Tooltip, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { Link } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { GetProviders } from '../../../../../../shared/contracts/providers';\n\n/* -------------------------------------------------------------------------------------------------\n * SSOProviders\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SSOProvidersProps {\n providers: GetProviders.Response;\n displayAllProviders?: boolean;\n}\n\nconst SSOProviders = ({ providers, displayAllProviders }: SSOProvidersProps) => {\n const { formatMessage } = useIntl();\n\n if (displayAllProviders) {\n return (\n <Grid gap={4}>\n {providers.map((provider) => (\n <GridItem key={provider.uid} col={4}>\n <SSOProviderButton provider={provider} />\n </GridItem>\n ))}\n </Grid>\n );\n }\n\n if (providers.length > 2 && !displayAllProviders) {\n return (\n <Grid gap={4}>\n {providers.slice(0, 2).map((provider) => (\n <GridItem key={provider.uid} col={4}>\n <SSOProviderButton provider={provider} />\n </GridItem>\n ))}\n <GridItem col={4}>\n <Tooltip\n label={formatMessage({\n id: 'global.see-more',\n })}\n >\n <SSOButton as={Link} to=\"/auth/providers\">\n <span aria-hidden>•••</span>\n </SSOButton>\n </Tooltip>\n </GridItem>\n </Grid>\n );\n }\n\n return (\n <SSOProvidersWrapper justifyContent=\"center\">\n {providers.map((provider) => (\n <SSOProviderButton key={provider.uid} provider={provider} />\n ))}\n </SSOProvidersWrapper>\n );\n};\n\nconst SSOProvidersWrapper = styled(Flex)`\n & a:not(:first-child):not(:last-child) {\n margin: 0 ${({ theme }) => theme.spaces[2]};\n }\n & a:first-child {\n margin-right: ${({ theme }) => theme.spaces[2]};\n }\n & a:last-child {\n margin-left: ${({ theme }) => theme.spaces[2]};\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * SSOProviderButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SSOProviderButtonProps {\n provider: GetProviders.Response[number];\n}\n\nconst SSOProviderButton = ({ provider }: SSOProviderButtonProps) => {\n return (\n <Tooltip label={provider.displayName}>\n <SSOButton href={`${window.strapi.backendURL}/admin/connect/${provider.uid}`}>\n {provider.icon ? (\n <img src={provider.icon} aria-hidden alt=\"\" height=\"32px\" />\n ) : (\n <Typography>{provider.displayName}</Typography>\n )}\n </SSOButton>\n </Tooltip>\n );\n};\n\nconst SSOButton = styled.a`\n width: ${136 / 16}rem;\n display: flex;\n justify-content: center;\n align-items: center;\n height: ${48 / 16}rem;\n border: 1px solid ${({ theme }) => theme.colors.neutral150};\n border-radius: ${({ theme }) => theme.borderRadius};\n text-decoration: inherit;\n &:link {\n text-decoration: none;\n }\n color: ${({ theme }) => theme.colors.neutral600};\n`;\n\nexport { SSOProviders };\nexport type { SSOProvidersProps };\n"],"names":["useIntl","Grid","jsx","GridItem","jsxs","Tooltip","Link","styled","Flex","Typography"],"mappings":";;;;;;;;AAgBA,MAAM,eAAe,CAAC,EAAE,WAAW,0BAA6C;AACxE,QAAA,EAAE,kBAAkBA,UAAAA;AAE1B,MAAI,qBAAqB;AACvB,0CACGC,aAAAA,MAAK,EAAA,KAAK,GACR,UAAU,UAAA,IAAI,CAAC,aACdC,2BAAA,IAACC,yBAA4B,KAAK,GAChC,yCAAC,mBAAkB,EAAA,UAAoB,KAD1B,SAAS,GAExB,CACD,EACH,CAAA;AAAA,EAEJ;AAEA,MAAI,UAAU,SAAS,KAAK,CAAC,qBAAqB;AAE9C,WAAAC,2BAAA,KAACH,aAAK,MAAA,EAAA,KAAK,GACR,UAAA;AAAA,MAAA,UAAU,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,aAC1BC,2BAAA,IAACC,uBAA4B,EAAA,KAAK,GAChC,UAACD,2BAAA,IAAA,mBAAA,EAAkB,UAAoB,EAD1B,GAAA,SAAS,GAExB,CACD;AAAA,MACDA,2BAAAA,IAACC,aAAAA,UAAS,EAAA,KAAK,GACb,UAAAD,2BAAA;AAAA,QAACG,aAAA;AAAA,QAAA;AAAA,UACC,OAAO,cAAc;AAAA,YACnB,IAAI;AAAA,UAAA,CACL;AAAA,UAED,UAAAH,2BAAA,IAAC,WAAU,EAAA,IAAII,eAAM,MAAA,IAAG,mBACtB,UAAAJ,2BAAAA,IAAC,QAAK,EAAA,eAAW,MAAC,UAAA,MAAG,CAAA,GACvB;AAAA,QAAA;AAAA,MAAA,GAEJ;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AAEA,SACGA,2BAAAA,IAAA,qBAAA,EAAoB,gBAAe,UACjC,oBAAU,IAAI,CAAC,aACdA,2BAAA,IAAC,mBAAqC,EAAA,SAAA,GAAd,SAAS,GAAyB,CAC3D,EACH,CAAA;AAEJ;AAEA,MAAM,sBAAsBK,gBAAAA,QAAOC,aAAAA,IAAI;AAAA;AAAA,gBAEvB,CAAC,EAAE,YAAY,MAAM,OAAO,CAAC,CAAC;AAAA;AAAA;AAAA,oBAG1B,CAAC,EAAE,YAAY,MAAM,OAAO,CAAC,CAAC;AAAA;AAAA;AAAA,mBAG/B,CAAC,EAAE,YAAY,MAAM,OAAO,CAAC,CAAC;AAAA;AAAA;AAYjD,MAAM,oBAAoB,CAAC,EAAE,eAAuC;AAClE,SACGN,2BAAA,IAAAG,sBAAA,EAAQ,OAAO,SAAS,aACvB,UAACH,+BAAA,WAAA,EAAU,MAAM,GAAG,OAAO,OAAO,UAAU,kBAAkB,SAAS,GAAG,IACvE,UAAA,SAAS,OACRA,2BAAAA,IAAC,SAAI,KAAK,SAAS,MAAM,eAAW,MAAC,KAAI,IAAG,QAAO,OAAA,CAAO,IAEzDA,2BAAAA,IAAAO,aAAA,YAAA,EAAY,UAAS,SAAA,YAAY,CAAA,GAEtC,EACF,CAAA;AAEJ;AAEA,MAAM,YAAYF,gBAAO,QAAA;AAAA,WACd,MAAM,EAAE;AAAA;AAAA;AAAA;AAAA,YAIP,KAAK,EAAE;AAAA,sBACG,CAAC,EAAE,MAAA,MAAY,MAAM,OAAO,UAAU;AAAA,mBACzC,CAAC,EAAE,YAAY,MAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,WAKzC,CAAC,EAAE,MAAA,MAAY,MAAM,OAAO,UAAU;AAAA;;"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./index-86dfbe3a.js");
3
+ const index = require("./index-cce8ecb6.js");
4
4
  require("@strapi/typescript-utils");
5
5
  require("node:os");
6
6
  require("node:fs/promises");
@@ -14,6 +14,7 @@ require("outdent");
14
14
  require("prettier");
15
15
  require("react");
16
16
  require("react-dom/server");
17
+ require("react/jsx-runtime");
17
18
  require("webpack");
18
19
  require("browserslist-to-esbuild");
19
20
  require("esbuild-loader");
@@ -38,6 +39,7 @@ require("@strapi/strapi/dist/utils/ee");
38
39
  require("perf_hooks");
39
40
  require("chokidar");
40
41
  require("node:cluster");
42
+ require("node:util");
41
43
  require("webpack-dev-middleware");
42
44
  require("webpack-hot-middleware");
43
45
  const build = async (options) => {
@@ -63,4 +65,4 @@ const build = async (options) => {
63
65
  }
64
66
  };
65
67
  exports.build = build;
66
- //# sourceMappingURL=build-f36bfc97.js.map
68
+ //# sourceMappingURL=build-55ba3e68.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-f36bfc97.js","sources":["../../_internal/cli/commands/build.ts"],"sourcesContent":["import { build as nodeBuild, BuildOptions } from '../../node/build';\nimport { handleUnexpectedError } from '../../node/core/errors';\n\ninterface BuildCLIOptions extends BuildOptions {\n /**\n * @deprecated use `minify` instead\n */\n optimization?: boolean;\n}\n\nconst build = async (options: BuildCLIOptions) => {\n try {\n if (typeof process.env.STRAPI_ENFORCE_SOURCEMAPS !== 'undefined') {\n options.logger.warn(\n \"[@strapi/strapi]: STRAPI_ENFORCE_SOURCEMAPS is now deprecated. You can enable sourcemaps by passing '--sourcemaps' to the build command.\"\n );\n }\n if (typeof options.optimization !== 'undefined' && options.optimization !== true) {\n options.logger.warn(\n \"[@strapi/strapi]: The optimization argument is now deprecated. Use '--minify' instead.\"\n );\n }\n\n const envSourceMaps = process.env.STRAPI_ENFORCE_SOURCEMAPS === 'true';\n\n await nodeBuild({\n ...options,\n minify: options.optimization ?? options.minify,\n sourcemaps: options.sourcemaps || envSourceMaps,\n });\n } catch (err) {\n handleUnexpectedError(err);\n }\n};\n\nexport { build };\nexport type { BuildCLIOptions };\n"],"names":["nodeBuild","handleUnexpectedError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUM,MAAA,QAAQ,OAAO,YAA6B;AAC5C,MAAA;AACF,QAAI,OAAO,QAAQ,IAAI,8BAA8B,aAAa;AAChE,cAAQ,OAAO;AAAA,QACb;AAAA,MAAA;AAAA,IAEJ;AACA,QAAI,OAAO,QAAQ,iBAAiB,eAAe,QAAQ,iBAAiB,MAAM;AAChF,cAAQ,OAAO;AAAA,QACb;AAAA,MAAA;AAAA,IAEJ;AAEM,UAAA,gBAAgB,QAAQ,IAAI,8BAA8B;AAEhE,UAAMA,YAAU;AAAA,MACd,GAAG;AAAA,MACH,QAAQ,QAAQ,gBAAgB,QAAQ;AAAA,MACxC,YAAY,QAAQ,cAAc;AAAA,IAAA,CACnC;AAAA,WACM,KAAK;AACZC,UAAA,sBAAsB,GAAG;AAAA,EAC3B;AACF;;"}
1
+ {"version":3,"file":"build-55ba3e68.js","sources":["../../_internal/cli/commands/build.ts"],"sourcesContent":["import { build as nodeBuild, BuildOptions } from '../../node/build';\nimport { handleUnexpectedError } from '../../node/core/errors';\n\ninterface BuildCLIOptions extends BuildOptions {\n /**\n * @deprecated use `minify` instead\n */\n optimization?: boolean;\n}\n\nconst build = async (options: BuildCLIOptions) => {\n try {\n if (typeof process.env.STRAPI_ENFORCE_SOURCEMAPS !== 'undefined') {\n options.logger.warn(\n \"[@strapi/strapi]: STRAPI_ENFORCE_SOURCEMAPS is now deprecated. You can enable sourcemaps by passing '--sourcemaps' to the build command.\"\n );\n }\n if (typeof options.optimization !== 'undefined' && options.optimization !== true) {\n options.logger.warn(\n \"[@strapi/strapi]: The optimization argument is now deprecated. Use '--minify' instead.\"\n );\n }\n\n const envSourceMaps = process.env.STRAPI_ENFORCE_SOURCEMAPS === 'true';\n\n await nodeBuild({\n ...options,\n minify: options.optimization ?? options.minify,\n sourcemaps: options.sourcemaps || envSourceMaps,\n });\n } catch (err) {\n handleUnexpectedError(err);\n }\n};\n\nexport { build };\nexport type { BuildCLIOptions };\n"],"names":["nodeBuild","handleUnexpectedError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUM,MAAA,QAAQ,OAAO,YAA6B;AAC5C,MAAA;AACF,QAAI,OAAO,QAAQ,IAAI,8BAA8B,aAAa;AAChE,cAAQ,OAAO;AAAA,QACb;AAAA,MAAA;AAAA,IAEJ;AACA,QAAI,OAAO,QAAQ,iBAAiB,eAAe,QAAQ,iBAAiB,MAAM;AAChF,cAAQ,OAAO;AAAA,QACb;AAAA,MAAA;AAAA,IAEJ;AAEM,UAAA,gBAAgB,QAAQ,IAAI,8BAA8B;AAEhE,UAAMA,YAAU;AAAA,MACd,GAAG;AAAA,MACH,QAAQ,QAAQ,gBAAgB,QAAQ;AAAA,MACxC,YAAY,QAAQ,cAAc;AAAA,IAAA,CACnC;AAAA,WACM,KAAK;AACZC,UAAA,sBAAsB,GAAG;AAAA,EAC3B;AACF;;"}
@@ -1,4 +1,4 @@
1
- import { b as build$1, h as handleUnexpectedError } from "./index-5752584c.mjs";
1
+ import { b as build$1, h as handleUnexpectedError } from "./index-44360544.mjs";
2
2
  import "@strapi/typescript-utils";
3
3
  import "node:os";
4
4
  import "node:fs/promises";
@@ -12,6 +12,7 @@ import "outdent";
12
12
  import "prettier";
13
13
  import "react";
14
14
  import "react-dom/server";
15
+ import "react/jsx-runtime";
15
16
  import "webpack";
16
17
  import "browserslist-to-esbuild";
17
18
  import "esbuild-loader";
@@ -36,6 +37,7 @@ import "@strapi/strapi/dist/utils/ee";
36
37
  import "perf_hooks";
37
38
  import "chokidar";
38
39
  import "node:cluster";
40
+ import "node:util";
39
41
  import "webpack-dev-middleware";
40
42
  import "webpack-hot-middleware";
41
43
  const build = async (options) => {
@@ -63,4 +65,4 @@ const build = async (options) => {
63
65
  export {
64
66
  build
65
67
  };
66
- //# sourceMappingURL=build-e1ca35da.mjs.map
68
+ //# sourceMappingURL=build-b67ecc59.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-e1ca35da.mjs","sources":["../../_internal/cli/commands/build.ts"],"sourcesContent":["import { build as nodeBuild, BuildOptions } from '../../node/build';\nimport { handleUnexpectedError } from '../../node/core/errors';\n\ninterface BuildCLIOptions extends BuildOptions {\n /**\n * @deprecated use `minify` instead\n */\n optimization?: boolean;\n}\n\nconst build = async (options: BuildCLIOptions) => {\n try {\n if (typeof process.env.STRAPI_ENFORCE_SOURCEMAPS !== 'undefined') {\n options.logger.warn(\n \"[@strapi/strapi]: STRAPI_ENFORCE_SOURCEMAPS is now deprecated. You can enable sourcemaps by passing '--sourcemaps' to the build command.\"\n );\n }\n if (typeof options.optimization !== 'undefined' && options.optimization !== true) {\n options.logger.warn(\n \"[@strapi/strapi]: The optimization argument is now deprecated. Use '--minify' instead.\"\n );\n }\n\n const envSourceMaps = process.env.STRAPI_ENFORCE_SOURCEMAPS === 'true';\n\n await nodeBuild({\n ...options,\n minify: options.optimization ?? options.minify,\n sourcemaps: options.sourcemaps || envSourceMaps,\n });\n } catch (err) {\n handleUnexpectedError(err);\n }\n};\n\nexport { build };\nexport type { BuildCLIOptions };\n"],"names":["nodeBuild"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUM,MAAA,QAAQ,OAAO,YAA6B;AAC5C,MAAA;AACF,QAAI,OAAO,QAAQ,IAAI,8BAA8B,aAAa;AAChE,cAAQ,OAAO;AAAA,QACb;AAAA,MAAA;AAAA,IAEJ;AACA,QAAI,OAAO,QAAQ,iBAAiB,eAAe,QAAQ,iBAAiB,MAAM;AAChF,cAAQ,OAAO;AAAA,QACb;AAAA,MAAA;AAAA,IAEJ;AAEM,UAAA,gBAAgB,QAAQ,IAAI,8BAA8B;AAEhE,UAAMA,QAAU;AAAA,MACd,GAAG;AAAA,MACH,QAAQ,QAAQ,gBAAgB,QAAQ;AAAA,MACxC,YAAY,QAAQ,cAAc;AAAA,IAAA,CACnC;AAAA,WACM,KAAK;AACZ,0BAAsB,GAAG;AAAA,EAC3B;AACF;"}
1
+ {"version":3,"file":"build-b67ecc59.mjs","sources":["../../_internal/cli/commands/build.ts"],"sourcesContent":["import { build as nodeBuild, BuildOptions } from '../../node/build';\nimport { handleUnexpectedError } from '../../node/core/errors';\n\ninterface BuildCLIOptions extends BuildOptions {\n /**\n * @deprecated use `minify` instead\n */\n optimization?: boolean;\n}\n\nconst build = async (options: BuildCLIOptions) => {\n try {\n if (typeof process.env.STRAPI_ENFORCE_SOURCEMAPS !== 'undefined') {\n options.logger.warn(\n \"[@strapi/strapi]: STRAPI_ENFORCE_SOURCEMAPS is now deprecated. You can enable sourcemaps by passing '--sourcemaps' to the build command.\"\n );\n }\n if (typeof options.optimization !== 'undefined' && options.optimization !== true) {\n options.logger.warn(\n \"[@strapi/strapi]: The optimization argument is now deprecated. Use '--minify' instead.\"\n );\n }\n\n const envSourceMaps = process.env.STRAPI_ENFORCE_SOURCEMAPS === 'true';\n\n await nodeBuild({\n ...options,\n minify: options.optimization ?? options.minify,\n sourcemaps: options.sourcemaps || envSourceMaps,\n });\n } catch (err) {\n handleUnexpectedError(err);\n }\n};\n\nexport { build };\nexport type { BuildCLIOptions };\n"],"names":["nodeBuild"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUM,MAAA,QAAQ,OAAO,YAA6B;AAC5C,MAAA;AACF,QAAI,OAAO,QAAQ,IAAI,8BAA8B,aAAa;AAChE,cAAQ,OAAO;AAAA,QACb;AAAA,MAAA;AAAA,IAEJ;AACA,QAAI,OAAO,QAAQ,iBAAiB,eAAe,QAAQ,iBAAiB,MAAM;AAChF,cAAQ,OAAO;AAAA,QACb;AAAA,MAAA;AAAA,IAEJ;AAEM,UAAA,gBAAgB,QAAQ,IAAI,8BAA8B;AAEhE,UAAMA,QAAU;AAAA,MACd,GAAG;AAAA,MACH,QAAQ,QAAQ,gBAAgB,QAAQ;AAAA,MACxC,YAAY,QAAQ,cAAc;AAAA,IAAA,CACnC;AAAA,WACM,KAAK;AACZ,0BAAsB,GAAG;AAAA,EAC3B;AACF;"}
@@ -4,7 +4,7 @@ require("lodash/cloneDeep");
4
4
  require("lodash/get");
5
5
  require("lodash/omit");
6
6
  require("lodash/isNaN");
7
- const schema = require("./schema-f49c76d7.js");
7
+ const schema = require("./schema-c6ce9e01.js");
8
8
  require("lodash/merge");
9
9
  require("lodash/set");
10
10
  require("@strapi/helper-plugin");
@@ -12,14 +12,14 @@ const jsxRuntime = require("react/jsx-runtime");
12
12
  const designSystem = require("@strapi/design-system");
13
13
  const PropTypes = require("prop-types");
14
14
  const reactIntl = require("react-intl");
15
- const index = require("./index-b2257157.js");
15
+ const index = require("./index-866d1aaf.js");
16
16
  const useAdminUsers = require("./useAdminUsers-05d6b26a.js");
17
17
  const useReviewWorkflows = require("./useReviewWorkflows-799e0305.js");
18
18
  const colors = require("./colors-c24a54f0.js");
19
19
  require("react");
20
20
  require("react-dnd");
21
21
  require("@reduxjs/toolkit");
22
- require("./index-edc9bb0b.js");
22
+ require("./index-0134922e.js");
23
23
  require("react-dom/client");
24
24
  require("invariant");
25
25
  require("lodash/isFunction");
@@ -28,27 +28,27 @@ require("react-helmet");
28
28
  require("react-router-dom");
29
29
  require("react-redux");
30
30
  require("@radix-ui/react-context");
31
- require("axios");
32
- require("lodash/camelCase");
33
- require("lodash/defaultsDeep");
34
- require("styled-components");
31
+ require("@strapi/design-system/v2");
35
32
  require("@strapi/icons");
36
33
  require("formik");
37
- require("yup");
34
+ require("lodash/camelCase");
38
35
  require("react-query");
39
- require("immer");
36
+ require("styled-components");
37
+ require("yup");
38
+ require("lodash/defaultsDeep");
40
39
  require("qs");
40
+ require("immer");
41
41
  require("lodash/isBoolean");
42
42
  require("lodash/isEmpty");
43
43
  require("lodash/toNumber");
44
44
  require("lodash/sortBy");
45
45
  require("./DragLayer-f07eee6c.js");
46
- require("./AuthenticatedApp-092ef2be.js");
46
+ require("./AuthenticatedApp-26a57d48.js");
47
47
  require("semver/functions/lt");
48
48
  require("semver/functions/valid");
49
49
  require("react-dnd-html5-backend");
50
- require("@strapi/design-system/v2");
51
50
  require("react-error-boundary");
51
+ require("axios");
52
52
  require("lodash/isObject");
53
53
  require("lodash/isEqual");
54
54
  require("lodash/upperFirst");
@@ -83,6 +83,7 @@ require("lodash/unset");
83
83
  require("lodash/isArray");
84
84
  require("lodash/flatMap");
85
85
  require("lodash/uniq");
86
+ require("./formatAPIErrors-b599cf27.js");
86
87
  require("date-fns/parseISO");
87
88
  require("lodash/isNumber");
88
89
  require("lodash/groupBy");
@@ -225,4 +226,4 @@ const REVIEW_WORKFLOW_FILTERS = [
225
226
  }
226
227
  ];
227
228
  exports.REVIEW_WORKFLOW_FILTERS = REVIEW_WORKFLOW_FILTERS;
228
- //# sourceMappingURL=constants-a773ff9b.js.map
229
+ //# sourceMappingURL=constants-2bd3e15b.js.map