@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
package/dist/cli.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { b, i, d } from "./_chunks/index-5752584c.mjs";
1
+ import { b, i, d } from "./_chunks/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
  export {
package/dist/cli.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"cli.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,3 +1,4 @@
1
+ import type { SettingsMenu } from '../../../admin/src/constants';
1
2
  export declare const ADMIN_PERMISSIONS_EE: {
2
3
  settings: {
3
4
  auditLogs: {
@@ -46,8 +47,9 @@ export declare const ADMIN_PERMISSIONS_EE: {
46
47
  };
47
48
  export declare const ROUTES_EE: {
48
49
  Component: () => {
49
- default: any;
50
+ default: () => import("react/jsx-runtime").JSX.Element;
50
51
  };
51
52
  to: string;
52
53
  exact: boolean;
53
54
  }[];
55
+ export declare const SETTINGS_LINKS_EE: () => SettingsMenu;
@@ -0,0 +1,3 @@
1
+ import { LoginProps } from '../../../../../../admin/src/pages/Auth/components/Login';
2
+ declare const LoginEE: (loginProps: LoginProps) => import("react/jsx-runtime").JSX.Element;
3
+ export { LoginEE };
@@ -0,0 +1,2 @@
1
+ declare const Providers: () => import("react/jsx-runtime").JSX.Element;
2
+ export { Providers };
@@ -0,0 +1,8 @@
1
+ import { GetProviders } from '../../../../../../shared/contracts/providers';
2
+ interface SSOProvidersProps {
3
+ providers: GetProviders.Response;
4
+ displayAllProviders?: boolean;
5
+ }
6
+ declare const SSOProviders: ({ providers, displayAllProviders }: SSOProvidersProps) => import("react/jsx-runtime").JSX.Element;
7
+ export { SSOProviders };
8
+ export type { SSOProvidersProps };
@@ -0,0 +1,3 @@
1
+ export declare const FORMS: {
2
+ providers: () => import("react/jsx-runtime").JSX.Element;
3
+ };
@@ -0,0 +1,2 @@
1
+ declare const AuthResponse: () => import("react/jsx-runtime").JSX.Element;
2
+ export { AuthResponse };
@@ -1 +1 @@
1
- export declare function HomePageEE(): import("react/jsx-runtime").JSX.Element;
1
+ export declare const HomePageEE: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,126 @@
1
+ import type { AdminUser, SanitizedAdminUser } from './shared';
2
+ import type { errors } from '@strapi/utils';
3
+ /**
4
+ * /login - Log in as an admin user
5
+ */
6
+ export declare namespace Login {
7
+ interface Request {
8
+ body: Pick<AdminUser, 'email' | 'password'>;
9
+ }
10
+ interface Response {
11
+ data: {
12
+ token: string;
13
+ user: Omit<SanitizedAdminUser, 'permissions'>;
14
+ };
15
+ errors?: errors.ApplicationError | errors.NotImplementedError;
16
+ }
17
+ }
18
+ /**
19
+ * /renew-token - Renew an admin user's token
20
+ */
21
+ export declare namespace RenewToken {
22
+ interface Request {
23
+ body: {
24
+ token: string;
25
+ };
26
+ }
27
+ interface Response {
28
+ data: {
29
+ token: string;
30
+ };
31
+ errors?: errors.ApplicationError | errors.ValidationError;
32
+ }
33
+ }
34
+ /**
35
+ * /registration-info - Get the info via a registration token
36
+ */
37
+ export declare namespace RegistrationInfo {
38
+ interface Request {
39
+ query: {
40
+ registrationToken: string;
41
+ };
42
+ }
43
+ interface Response {
44
+ data: {
45
+ email?: string;
46
+ firstname?: string;
47
+ lastname?: string;
48
+ };
49
+ errors?: errors.ApplicationError | errors.ValidationError;
50
+ }
51
+ }
52
+ /**
53
+ * /register - Register an admin user
54
+ */
55
+ export declare namespace Register {
56
+ interface Request {
57
+ body: {
58
+ registrationToken: string;
59
+ userInfo: Pick<AdminUser, 'firstname' | 'lastname' | 'email' | 'password'>;
60
+ };
61
+ }
62
+ interface Response {
63
+ data: {
64
+ token: string;
65
+ user: Omit<SanitizedAdminUser, 'permissions'>;
66
+ };
67
+ errors?: errors.ApplicationError | errors.YupValidationError;
68
+ }
69
+ }
70
+ /**
71
+ * /register-admin - Register an admin user
72
+ */
73
+ export declare namespace RegisterAdmin {
74
+ interface Request {
75
+ body: Pick<AdminUser, 'email' | 'firstname' | 'lastname' | 'password'>;
76
+ }
77
+ interface Response {
78
+ data: {
79
+ token: string;
80
+ user: Omit<SanitizedAdminUser, 'permissions'>;
81
+ };
82
+ errors?: errors.ApplicationError | errors.YupValidationError;
83
+ }
84
+ }
85
+ /**
86
+ * /forgot-password - Send a password reset email
87
+ */
88
+ export declare namespace ForgotPassword {
89
+ interface Request {
90
+ body: {
91
+ email: string;
92
+ };
93
+ }
94
+ interface Response {
95
+ }
96
+ }
97
+ /**
98
+ * /reset-password - Reset a password
99
+ */
100
+ export declare namespace ResetPassword {
101
+ interface Request {
102
+ body: {
103
+ resetPasswordToken: string;
104
+ password: string;
105
+ };
106
+ }
107
+ interface Response {
108
+ data: {
109
+ token: string;
110
+ user: Omit<SanitizedAdminUser, 'permissions'>;
111
+ };
112
+ }
113
+ }
114
+ /**
115
+ * /logout - Log out an admin user
116
+ */
117
+ export declare namespace Logout {
118
+ interface Request {
119
+ query: {
120
+ token: string;
121
+ };
122
+ }
123
+ interface Response {
124
+ data: {};
125
+ }
126
+ }
@@ -14,3 +14,21 @@ export declare namespace IsSSOLocked {
14
14
  error?: errors.ApplicationError;
15
15
  }
16
16
  }
17
+ export interface Provider {
18
+ displayName: string;
19
+ icon?: string | null;
20
+ uid: string;
21
+ }
22
+ /**
23
+ * /providers
24
+ */
25
+ export declare namespace GetProviders {
26
+ interface Request {
27
+ body: {};
28
+ query: {};
29
+ }
30
+ /**
31
+ * TODO: this should follow the expected pattern of returning `data` as an object.
32
+ */
33
+ type Response = Provider[];
34
+ }
package/ee/LICENSE ADDED
@@ -0,0 +1 @@
1
+ If you or the company you represent has entered into a written agreement referencing the Enterprise Edition of the Strapi source code available at https://github.com/strapi/strapi, then such agreement applies to your use of the Enterprise Edition of the Strapi Software. If you or the company you represent is using the Enterprise Edition of the Strapi Software in connection with a subscription to our cloud offering, then the agreement you have agreed to with respect to our cloud offering and the licenses included in such agreement apply to your use of the Enterprise Edition of the Strapi Software. Otherwise, the Strapi Enterprise Software License Agreement (found here https://strapi.io/enterprise-terms) applies to your use of the Enterprise Edition of the Strapi Software. BY ACCESSING OR USING THE ENTERPRISE EDITION OF THE STRAPI SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE RELEVANT REFERENCED AGREEMENT. IF YOU ARE NOT AUTHORIZED TO ACCEPT THESE TERMS ON BEHALF OF THE COMPANY YOU REPRESENT OR IF YOU DO NOT AGREE TO ALL OF THE RELEVANT TERMS AND CONDITIONS REFERENCED AND YOU HAVE NOT OTHERWISE EXECUTED A WRITTEN AGREEMENT WITH STRAPI, YOU ARE NOT AUTHORIZED TO ACCESS OR USE OR ALLOW ANY USER TO ACCESS OR USE ANY PART OF THE ENTERPRISE EDITION OF THE STRAPI SOFTWARE. YOUR ACCESS RIGHTS ARE CONDITIONAL ON YOUR CONSENT TO THE RELEVANT REFERENCED TERMS TO THE EXCLUSION OF ALL OTHER TERMS; IF THE RELEVANT REFERENCED TERMS ARE CONSIDERED AN OFFER BY YOU, ACCEPTANCE IS EXPRESSLY LIMITED TO THE RELEVANT REFERENCED TERMS.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/admin",
3
- "version": "4.15.1",
3
+ "version": "4.15.3-alpha.0",
4
4
  "description": "Strapi Admin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -75,15 +75,15 @@
75
75
  "@radix-ui/react-context": "1.0.1",
76
76
  "@radix-ui/react-toolbar": "1.0.4",
77
77
  "@reduxjs/toolkit": "1.9.7",
78
- "@strapi/data-transfer": "4.15.1",
78
+ "@strapi/data-transfer": "4.15.3-alpha.0",
79
79
  "@strapi/design-system": "1.13.0",
80
- "@strapi/helper-plugin": "4.15.1",
80
+ "@strapi/helper-plugin": "4.15.3-alpha.0",
81
81
  "@strapi/icons": "1.13.0",
82
- "@strapi/permissions": "4.15.1",
83
- "@strapi/provider-audit-logs-local": "4.15.1",
84
- "@strapi/types": "4.15.1",
85
- "@strapi/typescript-utils": "4.15.1",
86
- "@strapi/utils": "4.15.1",
82
+ "@strapi/permissions": "4.15.3-alpha.0",
83
+ "@strapi/provider-audit-logs-local": "4.15.3-alpha.0",
84
+ "@strapi/types": "4.15.3-alpha.0",
85
+ "@strapi/typescript-utils": "4.15.3-alpha.0",
86
+ "@strapi/utils": "4.15.3-alpha.0",
87
87
  "axios": "1.5.0",
88
88
  "bcryptjs": "2.4.3",
89
89
  "boxen": "5.1.2",
@@ -96,6 +96,7 @@
96
96
  "css-loader": "^6.8.1",
97
97
  "date-fns": "2.30.0",
98
98
  "dotenv": "14.2.0",
99
+ "esbuild": "0.19.2",
99
100
  "esbuild-loader": "^2.21.0",
100
101
  "esbuild-register": "3.5.0",
101
102
  "execa": "5.1.1",
@@ -171,13 +172,15 @@
171
172
  "yup": "0.32.9"
172
173
  },
173
174
  "devDependencies": {
174
- "@strapi/admin-test-utils": "4.15.1",
175
- "@strapi/pack-up": "4.15.1",
175
+ "@strapi/admin-test-utils": "4.15.3-alpha.0",
176
+ "@strapi/pack-up": "4.15.3-alpha.0",
177
+ "@strapi/strapi": "4.15.3-alpha.0",
176
178
  "@testing-library/dom": "9.2.0",
177
179
  "@testing-library/react": "14.0.0",
178
180
  "@testing-library/user-event": "14.4.3",
179
181
  "@types/find-root": "1.1.3",
180
182
  "@types/invariant": "2.2.36",
183
+ "@types/js-cookie": "3.0.5",
181
184
  "@types/pluralize": "0.0.32",
182
185
  "@types/webpack-bundle-analyzer": "4.6.2",
183
186
  "@types/webpack-hot-middleware": "2.25.8",
@@ -185,7 +188,12 @@
185
188
  "vite": "4.4.9"
186
189
  },
187
190
  "peerDependencies": {
188
- "@strapi/strapi": "^4.3.4"
191
+ "@strapi/data-transfer": "4.15.1",
192
+ "@strapi/strapi": "^4.3.4",
193
+ "react": "^17.0.0 || ^18.0.0",
194
+ "react-dom": "^17.0.0 || ^18.0.0",
195
+ "react-router-dom": "^5.2.0",
196
+ "styled-components": "^5.2.1"
189
197
  },
190
198
  "engines": {
191
199
  "node": ">=18.0.0 <=20.x.x",
@@ -198,15 +206,7 @@
198
206
  "{projectRoot}/build"
199
207
  ]
200
208
  }
201
- },
202
- "implicitDependencies": [
203
- "@strapi/plugin-email",
204
- "@strapi/plugin-content-manager",
205
- "@strapi/plugin-content-type-builder",
206
- "@strapi/plugin-upload",
207
- "!@strapi/data-transfer",
208
- "!@strapi/strapi"
209
- ]
209
+ }
210
210
  },
211
- "gitHead": "b6c085052f108fcfe47d22972a664dfa85aa0358"
211
+ "gitHead": "81425b4b9803fd4df570e050c40dd984ebd28ac6"
212
212
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"HomePage-a3cc32d2.mjs","sources":["../../ee/admin/src/pages/HomePage.tsx"],"sourcesContent":["import { HomePageCE } from '../../../../admin/src/pages/HomePage';\nimport { useLicenseLimitNotification } from '../hooks/useLicenseLimitNotification';\n\nexport function HomePageEE() {\n useLicenseLimitNotification();\n\n return <HomePageCE />;\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,SAAS,aAAa;AACC;AAE5B,6BAAQ,YAAW,CAAA,CAAA;AACrB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HomePage-bdcb51be.js","sources":["../../ee/admin/src/pages/HomePage.tsx"],"sourcesContent":["import { HomePageCE } from '../../../../admin/src/pages/HomePage';\nimport { useLicenseLimitNotification } from '../hooks/useLicenseLimitNotification';\n\nexport function HomePageEE() {\n useLicenseLimitNotification();\n\n return <HomePageCE />;\n}\n"],"names":["useLicenseLimitNotification","HomePageCE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,SAAS,aAAa;AACCA,8BAAAA;AAE5B,wCAAQC,qBAAW,CAAA,CAAA;AACrB;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SSOProviders-1d062c95.mjs","sources":["../../ee/admin/src/hooks/useAuthProviders.js","../../ee/admin/src/pages/AuthPage/components/Providers/SSOProviders.js"],"sourcesContent":["import * as React from 'react';\n\nimport { useFetchClient } from '@strapi/helper-plugin';\nimport { useQuery } from 'react-query';\n\nexport const useAuthProviders = (queryOptions = {}) => {\n const { get } = useFetchClient();\n\n const { data, isLoading } = useQuery(\n ['ee', 'providers'],\n async () => {\n const { data } = await get('/admin/providers');\n\n return data;\n },\n queryOptions\n );\n\n // the return value needs to be memoized, because a fresh\n // instantiated array would cause an infinite rendering loop\n // when used as an effect dependency\n const providers = React.useMemo(() => data ?? [], [data]);\n\n return { providers, isLoading };\n};\n","import React from 'react';\n\nimport { Flex, Grid, GridItem, Tooltip, Typography } from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { Link } from 'react-router-dom';\nimport styled from 'styled-components';\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\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\nconst SSOProviderButton = ({ provider }) => {\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\nSSOProviderButton.propTypes = {\n provider: PropTypes.shape({\n icon: PropTypes.string,\n displayName: PropTypes.string.isRequired,\n uid: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nconst SSOProviders = ({ providers, displayAllProviders }) => {\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\nSSOProviders.defaultProps = {\n displayAllProviders: true,\n};\n\nSSOProviders.propTypes = {\n providers: PropTypes.arrayOf(PropTypes.object).isRequired,\n displayAllProviders: PropTypes.bool,\n};\n\nexport default SSOProviders;\n"],"names":["data"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SSOProviders-1ef0a89e.js","sources":["../../ee/admin/src/hooks/useAuthProviders.js","../../ee/admin/src/pages/AuthPage/components/Providers/SSOProviders.js"],"sourcesContent":["import * as React from 'react';\n\nimport { useFetchClient } from '@strapi/helper-plugin';\nimport { useQuery } from 'react-query';\n\nexport const useAuthProviders = (queryOptions = {}) => {\n const { get } = useFetchClient();\n\n const { data, isLoading } = useQuery(\n ['ee', 'providers'],\n async () => {\n const { data } = await get('/admin/providers');\n\n return data;\n },\n queryOptions\n );\n\n // the return value needs to be memoized, because a fresh\n // instantiated array would cause an infinite rendering loop\n // when used as an effect dependency\n const providers = React.useMemo(() => data ?? [], [data]);\n\n return { providers, isLoading };\n};\n","import React from 'react';\n\nimport { Flex, Grid, GridItem, Tooltip, Typography } from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { Link } from 'react-router-dom';\nimport styled from 'styled-components';\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\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\nconst SSOProviderButton = ({ provider }) => {\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\nSSOProviderButton.propTypes = {\n provider: PropTypes.shape({\n icon: PropTypes.string,\n displayName: PropTypes.string.isRequired,\n uid: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nconst SSOProviders = ({ providers, displayAllProviders }) => {\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\nSSOProviders.defaultProps = {\n displayAllProviders: true,\n};\n\nSSOProviders.propTypes = {\n providers: PropTypes.arrayOf(PropTypes.object).isRequired,\n displayAllProviders: PropTypes.bool,\n};\n\nexport default SSOProviders;\n"],"names":["useFetchClient","useQuery","data","React","styled","Flex","jsx","Tooltip","Typography","PropTypes","useIntl","Grid","GridItem","jsxs","Link"],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- const LINKS_EE = {
2
- global: [
3
- ...window.strapi.features.isEnabled(window.strapi.features.SSO) ? [
4
- {
5
- intlLabel: { id: "Settings.sso.title", defaultMessage: "Single Sign-On" },
6
- to: "/settings/single-sign-on",
7
- id: "sso"
8
- }
9
- ] : [],
10
- ...window.strapi.features.isEnabled(window.strapi.features.REVIEW_WORKFLOWS) ? [
11
- {
12
- intlLabel: {
13
- id: "Settings.review-workflows.page.title",
14
- defaultMessage: "Review Workflows"
15
- },
16
- to: "/settings/review-workflows",
17
- id: "review-workflows"
18
- }
19
- ] : []
20
- ],
21
- admin: [
22
- ...window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS) ? [
23
- {
24
- intlLabel: { id: "global.auditLogs", defaultMessage: "Audit Logs" },
25
- to: "/settings/audit-logs?pageSize=50&page=1&sort=date:DESC",
26
- id: "auditLogs"
27
- }
28
- ] : []
29
- ]
30
- };
31
- export {
32
- LINKS_EE
33
- };
34
- //# sourceMappingURL=constants-12dfb222.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants-12dfb222.mjs","sources":["../../ee/admin/src/hooks/useSettingsMenu/constants.js"],"sourcesContent":["export const LINKS_EE = {\n global: [\n ...(window.strapi.features.isEnabled(window.strapi.features.SSO)\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/single-sign-on',\n id: 'sso',\n },\n ]\n : []),\n\n ...(window.strapi.features.isEnabled(window.strapi.features.REVIEW_WORKFLOWS)\n ? [\n {\n intlLabel: {\n id: 'Settings.review-workflows.page.title',\n defaultMessage: 'Review Workflows',\n },\n to: '/settings/review-workflows',\n id: 'review-workflows',\n },\n ]\n : []),\n ],\n\n admin: [\n ...(window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to: '/settings/audit-logs?pageSize=50&page=1&sort=date:DESC',\n id: 'auditLogs',\n },\n ]\n : []),\n ],\n};\n"],"names":[],"mappings":"AAAO,MAAM,WAAW;AAAA,EACtB,QAAQ;AAAA,IACN,GAAI,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,GAAG,IAC3D;AAAA,MACE;AAAA,QACE,WAAW,EAAE,IAAI,sBAAsB,gBAAgB,iBAAiB;AAAA,QACxE,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,IAAA,IAEF,CAAC;AAAA,IAEL,GAAI,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,gBAAgB,IACxE;AAAA,MACE;AAAA,QACE,WAAW;AAAA,UACT,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAClB;AAAA,QACA,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,IAAA,IAEF,CAAC;AAAA,EACP;AAAA,EAEA,OAAO;AAAA,IACL,GAAI,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,UAAU,IAClE;AAAA,MACE;AAAA,QACE,WAAW,EAAE,IAAI,oBAAoB,gBAAgB,aAAa;AAAA,QAClE,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,IAAA,IAEF,CAAC;AAAA,EACP;AACF;"}
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const LINKS_EE = {
4
- global: [
5
- ...window.strapi.features.isEnabled(window.strapi.features.SSO) ? [
6
- {
7
- intlLabel: { id: "Settings.sso.title", defaultMessage: "Single Sign-On" },
8
- to: "/settings/single-sign-on",
9
- id: "sso"
10
- }
11
- ] : [],
12
- ...window.strapi.features.isEnabled(window.strapi.features.REVIEW_WORKFLOWS) ? [
13
- {
14
- intlLabel: {
15
- id: "Settings.review-workflows.page.title",
16
- defaultMessage: "Review Workflows"
17
- },
18
- to: "/settings/review-workflows",
19
- id: "review-workflows"
20
- }
21
- ] : []
22
- ],
23
- admin: [
24
- ...window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS) ? [
25
- {
26
- intlLabel: { id: "global.auditLogs", defaultMessage: "Audit Logs" },
27
- to: "/settings/audit-logs?pageSize=50&page=1&sort=date:DESC",
28
- id: "auditLogs"
29
- }
30
- ] : []
31
- ]
32
- };
33
- exports.LINKS_EE = LINKS_EE;
34
- //# sourceMappingURL=constants-1aea1185.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants-1aea1185.js","sources":["../../ee/admin/src/hooks/useSettingsMenu/constants.js"],"sourcesContent":["export const LINKS_EE = {\n global: [\n ...(window.strapi.features.isEnabled(window.strapi.features.SSO)\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/single-sign-on',\n id: 'sso',\n },\n ]\n : []),\n\n ...(window.strapi.features.isEnabled(window.strapi.features.REVIEW_WORKFLOWS)\n ? [\n {\n intlLabel: {\n id: 'Settings.review-workflows.page.title',\n defaultMessage: 'Review Workflows',\n },\n to: '/settings/review-workflows',\n id: 'review-workflows',\n },\n ]\n : []),\n ],\n\n admin: [\n ...(window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to: '/settings/audit-logs?pageSize=50&page=1&sort=date:DESC',\n id: 'auditLogs',\n },\n ]\n : []),\n ],\n};\n"],"names":[],"mappings":";;AAAO,MAAM,WAAW;AAAA,EACtB,QAAQ;AAAA,IACN,GAAI,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,GAAG,IAC3D;AAAA,MACE;AAAA,QACE,WAAW,EAAE,IAAI,sBAAsB,gBAAgB,iBAAiB;AAAA,QACxE,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,IAAA,IAEF,CAAC;AAAA,IAEL,GAAI,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,gBAAgB,IACxE;AAAA,MACE;AAAA,QACE,WAAW;AAAA,UACT,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAClB;AAAA,QACA,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,IAAA,IAEF,CAAC;AAAA,EACP;AAAA,EAEA,OAAO;AAAA,IACL,GAAI,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,UAAU,IAClE;AAAA,MACE;AAAA,QACE,WAAW,EAAE,IAAI,oBAAoB,gBAAgB,aAAa;AAAA,QAClE,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,IAAA,IAEF,CAAC;AAAA,EACP;AACF;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants-727a113c.js","sources":["../../ee/admin/src/pages/AuthPage/components/Providers/index.js","../../ee/admin/src/pages/AuthPage/constants.js"],"sourcesContent":["import React from 'react';\n\nimport { Box, Button, Divider, Flex, Loader, Main, Typography } from '@strapi/design-system';\nimport { Link } from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\nimport { Redirect, useHistory } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { Logo } from '../../../../../../../admin/src/components/UnauthenticatedLogo';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../../../../../admin/src/layouts/UnauthenticatedLayout';\nimport { useAuthProviders } from '../../../../hooks/useAuthProviders';\n\nimport SSOProviders from './SSOProviders';\n\nconst DividerFull = styled(Divider)`\n flex: 1;\n`;\n\nconst Providers = () => {\n const { push } = useHistory();\n const { formatMessage } = useIntl();\n const { isLoading, providers } = useAuthProviders({\n enabled: window.strapi.features.isEnabled(window.strapi.features.SSO),\n });\n\n const handleClick = () => {\n push('/auth/login');\n };\n\n if (\n !window.strapi.features.isEnabled(window.strapi.features.SSO) ||\n (!isLoading && providers.length === 0)\n ) {\n return <Redirect to=\"/auth/login\" />;\n }\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={1}>\n <Typography as=\"h1\" variant=\"alpha\">\n {formatMessage({ id: 'Auth.form.welcome.title' })}\n </Typography>\n </Box>\n <Box paddingBottom={7}>\n <Typography variant=\"epsilon\" textColor=\"neutral600\">\n {formatMessage({ id: 'Auth.login.sso.subtitle' })}\n </Typography>\n </Box>\n </Column>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n {isLoading ? (\n <Flex justifyContent=\"center\">\n <Loader>{formatMessage({ id: 'Auth.login.sso.loading' })}</Loader>\n </Flex>\n ) : (\n <SSOProviders providers={providers} />\n )}\n <Flex>\n <DividerFull />\n <Box paddingLeft={3} paddingRight={3}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'or' })}\n </Typography>\n </Box>\n <DividerFull />\n </Flex>\n <Button fullWidth size=\"L\" onClick={handleClick}>\n {formatMessage({ id: 'Auth.form.button.login.strapi' })}\n </Button>\n </Flex>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link to=\"/auth/forgot-password\">\n <Typography variant=\"pi\">\n {formatMessage({ id: 'Auth.link.forgot-password' })}\n </Typography>\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nexport default Providers;\n","import Providers from './components/Providers';\n\nexport const FORMS = {\n providers: {\n Component: Providers,\n endPoint: null,\n fieldsToDisable: [],\n fieldsToOmit: [],\n schema: null,\n inputsPrefix: '',\n },\n};\n"],"names":["styled","Divider","useHistory","useIntl","useAuthProviders","jsx","Redirect","UnauthenticatedLayout","jsxs","Main","LayoutContent","Column","Logo","Box","Typography","Flex","Loader","SSOProviders","Button","Link"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,MAAM,cAAcA,gBAAAA,QAAOC,aAAAA,OAAO;AAAA;AAAA;AAIlC,MAAM,YAAY,MAAM;AAChB,QAAA,EAAE,SAASC,eAAAA;AACX,QAAA,EAAE,kBAAkBC,UAAAA;AAC1B,QAAM,EAAE,WAAW,UAAU,IAAIC,8BAAiB;AAAA,IAChD,SAAS,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,GAAG;AAAA,EAAA,CACrE;AAED,QAAM,cAAc,MAAM;AACxB,SAAK,aAAa;AAAA,EAAA;AAGpB,MACE,CAAC,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,GAAG,KAC3D,CAAC,aAAa,UAAU,WAAW,GACpC;AACO,WAAAC,2BAAA,IAACC,eAAS,UAAA,EAAA,IAAG,cAAc,CAAA;AAAA,EACpC;AAGE,SAAAD,2BAAAA,IAACE,MAAAA,uBACC,EAAA,UAAAC,2BAAAA,KAACC,aAAAA,MACC,EAAA,UAAA;AAAA,IAAAD,gCAACE,MAAAA,eACC,EAAA,UAAA;AAAA,MAAAF,gCAACG,MAAAA,QACC,EAAA,UAAA;AAAA,QAAAN,2BAAA,IAACO,MAAK,MAAA,EAAA;AAAA,uCACLC,aAAAA,KAAI,EAAA,YAAY,GAAG,eAAe,GACjC,yCAACC,yBAAW,EAAA,IAAG,MAAK,SAAQ,SACzB,UAAc,cAAA,EAAE,IAAI,0BAA0B,CAAC,EAClD,CAAA,GACF;AAAA,uCACCD,aAAAA,KAAI,EAAA,eAAe,GAClB,UAAAR,2BAAA,IAACS,2BAAW,SAAQ,WAAU,WAAU,cACrC,wBAAc,EAAE,IAAI,0BAA0B,CAAC,EAClD,CAAA,GACF;AAAA,MAAA,GACF;AAAA,sCACCC,aAAAA,MAAK,EAAA,WAAU,UAAS,YAAW,WAAU,KAAK,GAChD,UAAA;AAAA,QAAA,2CACEA,aAAK,MAAA,EAAA,gBAAe,UACnB,UAAAV,2BAAAA,IAACW,uBAAQ,UAAc,cAAA,EAAE,IAAI,yBAA0B,CAAA,GAAE,EAAA,CAC3D,IAEAX,+BAACY,aAAAA,gBAAa,WAAsB;AAAA,wCAErCF,aAAAA,MACC,EAAA,UAAA;AAAA,UAAAV,2BAAA,IAAC,aAAY,EAAA;AAAA,yCACZQ,aAAAA,KAAI,EAAA,aAAa,GAAG,cAAc,GACjC,yCAACC,yBAAW,EAAA,SAAQ,SAAQ,WAAU,cACnC,UAAc,cAAA,EAAE,IAAI,KAAK,CAAC,EAC7B,CAAA,GACF;AAAA,yCACC,aAAY,EAAA;AAAA,QAAA,GACf;AAAA,QACCT,2BAAA,IAAAa,aAAA,QAAA,EAAO,WAAS,MAAC,MAAK,KAAI,SAAS,aACjC,UAAc,cAAA,EAAE,IAAI,gCAAA,CAAiC,EACxD,CAAA;AAAA,MAAA,GACF;AAAA,IAAA,GACF;AAAA,IACAb,2BAAAA,IAACU,aAAAA,MAAK,EAAA,gBAAe,UACnB,UAAAV,2BAAA,IAACQ,oBAAI,YAAY,GACf,UAACR,2BAAAA,IAAAc,aAAAA,MAAA,EAAK,IAAG,yBACP,yCAACL,aAAW,YAAA,EAAA,SAAQ,MACjB,UAAA,cAAc,EAAE,IAAI,6BAA6B,EAAA,CACpD,EACF,CAAA,EAAA,CACF,EACF,CAAA;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ;ACzFO,MAAM,QAAQ;AAAA,EACnB,WAAW;AAAA,IACT,WAAW;AAAA,IACX,UAAU;AAAA,IACV,iBAAiB,CAAC;AAAA,IAClB,cAAc,CAAC;AAAA,IACf,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AACF;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants-86aa3e70.js","sources":["../../ee/admin/src/pages/AuthResponse/index.js","../../ee/admin/src/constants.ts"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { auth, LoadingIndicatorPage, useFetchClient } from '@strapi/helper-plugin';\nimport Cookies from 'js-cookie';\nimport { useIntl } from 'react-intl';\nimport { useHistory, useRouteMatch } from 'react-router-dom';\n\nexport const AuthResponse = () => {\n const {\n params: { authResponse },\n } = useRouteMatch('/auth/login/:authResponse');\n const { formatMessage } = useIntl();\n const { push } = useHistory();\n const formatMessageRef = useRef(formatMessage);\n\n let redirectToOops = useCallback(() => {\n push(\n `/auth/oops?info=${encodeURIComponent(\n formatMessageRef.current({\n id: 'Auth.form.button.login.providers.error',\n defaultMessage: 'We cannot connect you through the selected provider.',\n })\n )}`\n );\n }, [push]);\n\n const { get } = useFetchClient();\n\n const fetchUserInfo = useCallback(async () => {\n try {\n const jwtToken = Cookies.get('jwtToken');\n\n auth.clearAppStorage();\n\n if (jwtToken) {\n auth.setToken(jwtToken, true);\n const requestUrl = '/admin/users/me';\n const {\n data: { data },\n } = await get(requestUrl);\n\n auth.setUserInfo(data, true);\n\n Cookies.remove('jwtToken');\n\n push('/auth/login');\n }\n } catch (e) {\n redirectToOops();\n }\n }, [get, push, redirectToOops]);\n\n useEffect(() => {\n if (authResponse === 'error') {\n redirectToOops();\n }\n\n if (authResponse === 'success') {\n fetchUserInfo();\n }\n }, [authResponse, fetchUserInfo, redirectToOops]);\n\n return <LoadingIndicatorPage />;\n};\n\nexport default AuthResponse;\n","// @ts-expect-error not converted yet\nimport { AuthResponse } from './pages/AuthResponse';\n\nexport const ADMIN_PERMISSIONS_EE = {\n settings: {\n auditLogs: {\n main: [{ action: 'admin::audit-logs.read', subject: null }],\n read: [{ action: 'admin::audit-logs.read', subject: null }],\n },\n 'review-workflows': {\n main: [{ action: 'admin::review-workflows.read', subject: null }],\n create: [{ action: 'admin::review-workflows.create', subject: null }],\n delete: [{ action: 'admin::review-workflows.delete', subject: null }],\n update: [{ action: 'admin::review-workflows.update', subject: null }],\n },\n sso: {\n main: [{ action: 'admin::provider-login.read', subject: null }],\n read: [{ action: 'admin::provider-login.read', subject: null }],\n update: [{ action: 'admin::provider-login.update', subject: null }],\n },\n },\n};\n\nexport const ROUTES_EE = [\n {\n Component: () => ({ default: AuthResponse }),\n to: '/auth/login/:authResponse',\n exact: true,\n },\n];\n"],"names":["useRouteMatch","useIntl","useHistory","useRef","useCallback","useFetchClient","Cookies","auth","useEffect","LoadingIndicatorPage"],"mappings":";;;;;;;;;;AAOO,MAAM,eAAe,MAAM;AAC1B,QAAA;AAAA,IACJ,QAAQ,EAAE,aAAa;AAAA,EAAA,IACrBA,eAAAA,cAAc,2BAA2B;AACvC,QAAA,EAAE,kBAAkBC,UAAAA;AACpB,QAAA,EAAE,SAASC,eAAAA;AACX,QAAA,mBAAmBC,aAAO,aAAa;AAEzC,MAAA,iBAAiBC,MAAAA,YAAY,MAAM;AACrC;AAAA,MACE,mBAAmB;AAAA,QACjB,iBAAiB,QAAQ;AAAA,UACvB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA,CACF;AAAA,IAAA;AAAA,EACH,GACC,CAAC,IAAI,CAAC;AAEH,QAAA,EAAE,QAAQC,aAAAA;AAEV,QAAA,gBAAgBD,MAAAA,YAAY,YAAY;AACxC,QAAA;AACI,YAAA,WAAWE,iBAAAA,QAAQ,IAAI,UAAU;AAEvCC,mBAAA,KAAK,gBAAgB;AAErB,UAAI,UAAU;AACPA,qBAAAA,KAAA,SAAS,UAAU,IAAI;AAC5B,cAAM,aAAa;AACb,cAAA;AAAA,UACJ,MAAM,EAAE,KAAK;AAAA,QAAA,IACX,MAAM,IAAI,UAAU;AAEnBA,qBAAAA,KAAA,YAAY,MAAM,IAAI;AAE3BD,iCAAQ,OAAO,UAAU;AAEzB,aAAK,aAAa;AAAA,MACpB;AAAA,aACO,GAAG;AACK;IACjB;AAAA,EACC,GAAA,CAAC,KAAK,MAAM,cAAc,CAAC;AAE9BE,QAAAA,UAAU,MAAM;AACd,QAAI,iBAAiB,SAAS;AACb;IACjB;AAEA,QAAI,iBAAiB,WAAW;AAChB;IAChB;AAAA,EACC,GAAA,CAAC,cAAc,eAAe,cAAc,CAAC;AAEhD,wCAAQC,mCAAqB,CAAA,CAAA;AAC/B;AC5DO,MAAM,uBAAuB;AAAA,EAClC,UAAU;AAAA,IACR,WAAW;AAAA,MACT,MAAM,CAAC,EAAE,QAAQ,0BAA0B,SAAS,MAAM;AAAA,MAC1D,MAAM,CAAC,EAAE,QAAQ,0BAA0B,SAAS,MAAM;AAAA,IAC5D;AAAA,IACA,oBAAoB;AAAA,MAClB,MAAM,CAAC,EAAE,QAAQ,gCAAgC,SAAS,MAAM;AAAA,MAChE,QAAQ,CAAC,EAAE,QAAQ,kCAAkC,SAAS,MAAM;AAAA,MACpE,QAAQ,CAAC,EAAE,QAAQ,kCAAkC,SAAS,MAAM;AAAA,MACpE,QAAQ,CAAC,EAAE,QAAQ,kCAAkC,SAAS,MAAM;AAAA,IACtE;AAAA,IACA,KAAK;AAAA,MACH,MAAM,CAAC,EAAE,QAAQ,8BAA8B,SAAS,MAAM;AAAA,MAC9D,MAAM,CAAC,EAAE,QAAQ,8BAA8B,SAAS,MAAM;AAAA,MAC9D,QAAQ,CAAC,EAAE,QAAQ,gCAAgC,SAAS,MAAM;AAAA,IACpE;AAAA,EACF;AACF;AAEO,MAAM,YAAY;AAAA,EACvB;AAAA,IACE,WAAW,OAAO,EAAE,SAAS;IAC7B,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AACF;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants-921eda17.mjs","sources":["../../ee/admin/src/pages/AuthResponse/index.js","../../ee/admin/src/constants.ts"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { auth, LoadingIndicatorPage, useFetchClient } from '@strapi/helper-plugin';\nimport Cookies from 'js-cookie';\nimport { useIntl } from 'react-intl';\nimport { useHistory, useRouteMatch } from 'react-router-dom';\n\nexport const AuthResponse = () => {\n const {\n params: { authResponse },\n } = useRouteMatch('/auth/login/:authResponse');\n const { formatMessage } = useIntl();\n const { push } = useHistory();\n const formatMessageRef = useRef(formatMessage);\n\n let redirectToOops = useCallback(() => {\n push(\n `/auth/oops?info=${encodeURIComponent(\n formatMessageRef.current({\n id: 'Auth.form.button.login.providers.error',\n defaultMessage: 'We cannot connect you through the selected provider.',\n })\n )}`\n );\n }, [push]);\n\n const { get } = useFetchClient();\n\n const fetchUserInfo = useCallback(async () => {\n try {\n const jwtToken = Cookies.get('jwtToken');\n\n auth.clearAppStorage();\n\n if (jwtToken) {\n auth.setToken(jwtToken, true);\n const requestUrl = '/admin/users/me';\n const {\n data: { data },\n } = await get(requestUrl);\n\n auth.setUserInfo(data, true);\n\n Cookies.remove('jwtToken');\n\n push('/auth/login');\n }\n } catch (e) {\n redirectToOops();\n }\n }, [get, push, redirectToOops]);\n\n useEffect(() => {\n if (authResponse === 'error') {\n redirectToOops();\n }\n\n if (authResponse === 'success') {\n fetchUserInfo();\n }\n }, [authResponse, fetchUserInfo, redirectToOops]);\n\n return <LoadingIndicatorPage />;\n};\n\nexport default AuthResponse;\n","// @ts-expect-error not converted yet\nimport { AuthResponse } from './pages/AuthResponse';\n\nexport const ADMIN_PERMISSIONS_EE = {\n settings: {\n auditLogs: {\n main: [{ action: 'admin::audit-logs.read', subject: null }],\n read: [{ action: 'admin::audit-logs.read', subject: null }],\n },\n 'review-workflows': {\n main: [{ action: 'admin::review-workflows.read', subject: null }],\n create: [{ action: 'admin::review-workflows.create', subject: null }],\n delete: [{ action: 'admin::review-workflows.delete', subject: null }],\n update: [{ action: 'admin::review-workflows.update', subject: null }],\n },\n sso: {\n main: [{ action: 'admin::provider-login.read', subject: null }],\n read: [{ action: 'admin::provider-login.read', subject: null }],\n update: [{ action: 'admin::provider-login.update', subject: null }],\n },\n },\n};\n\nexport const ROUTES_EE = [\n {\n Component: () => ({ default: AuthResponse }),\n to: '/auth/login/:authResponse',\n exact: true,\n },\n];\n"],"names":[],"mappings":";;;;;;AAOO,MAAM,eAAe,MAAM;AAC1B,QAAA;AAAA,IACJ,QAAQ,EAAE,aAAa;AAAA,EAAA,IACrB,cAAc,2BAA2B;AACvC,QAAA,EAAE,kBAAkB;AACpB,QAAA,EAAE,SAAS;AACX,QAAA,mBAAmB,OAAO,aAAa;AAEzC,MAAA,iBAAiB,YAAY,MAAM;AACrC;AAAA,MACE,mBAAmB;AAAA,QACjB,iBAAiB,QAAQ;AAAA,UACvB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA,CACF;AAAA,IAAA;AAAA,EACH,GACC,CAAC,IAAI,CAAC;AAEH,QAAA,EAAE,QAAQ;AAEV,QAAA,gBAAgB,YAAY,YAAY;AACxC,QAAA;AACI,YAAA,WAAW,QAAQ,IAAI,UAAU;AAEvC,WAAK,gBAAgB;AAErB,UAAI,UAAU;AACP,aAAA,SAAS,UAAU,IAAI;AAC5B,cAAM,aAAa;AACb,cAAA;AAAA,UACJ,MAAM,EAAE,KAAK;AAAA,QAAA,IACX,MAAM,IAAI,UAAU;AAEnB,aAAA,YAAY,MAAM,IAAI;AAE3B,gBAAQ,OAAO,UAAU;AAEzB,aAAK,aAAa;AAAA,MACpB;AAAA,aACO,GAAG;AACK;IACjB;AAAA,EACC,GAAA,CAAC,KAAK,MAAM,cAAc,CAAC;AAE9B,YAAU,MAAM;AACd,QAAI,iBAAiB,SAAS;AACb;IACjB;AAEA,QAAI,iBAAiB,WAAW;AAChB;IAChB;AAAA,EACC,GAAA,CAAC,cAAc,eAAe,cAAc,CAAC;AAEhD,6BAAQ,sBAAqB,CAAA,CAAA;AAC/B;AC5DO,MAAM,uBAAuB;AAAA,EAClC,UAAU;AAAA,IACR,WAAW;AAAA,MACT,MAAM,CAAC,EAAE,QAAQ,0BAA0B,SAAS,MAAM;AAAA,MAC1D,MAAM,CAAC,EAAE,QAAQ,0BAA0B,SAAS,MAAM;AAAA,IAC5D;AAAA,IACA,oBAAoB;AAAA,MAClB,MAAM,CAAC,EAAE,QAAQ,gCAAgC,SAAS,MAAM;AAAA,MAChE,QAAQ,CAAC,EAAE,QAAQ,kCAAkC,SAAS,MAAM;AAAA,MACpE,QAAQ,CAAC,EAAE,QAAQ,kCAAkC,SAAS,MAAM;AAAA,MACpE,QAAQ,CAAC,EAAE,QAAQ,kCAAkC,SAAS,MAAM;AAAA,IACtE;AAAA,IACA,KAAK;AAAA,MACH,MAAM,CAAC,EAAE,QAAQ,8BAA8B,SAAS,MAAM;AAAA,MAC9D,MAAM,CAAC,EAAE,QAAQ,8BAA8B,SAAS,MAAM;AAAA,MAC9D,QAAQ,CAAC,EAAE,QAAQ,gCAAgC,SAAS,MAAM;AAAA,IACpE;AAAA,EACF;AACF;AAEO,MAAM,YAAY;AAAA,EACvB;AAAA,IACE,WAAW,OAAO,EAAE,SAAS;IAC7B,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AACF;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants-9de7641c.mjs","sources":["../../ee/admin/src/pages/AuthPage/components/Providers/index.js","../../ee/admin/src/pages/AuthPage/constants.js"],"sourcesContent":["import React from 'react';\n\nimport { Box, Button, Divider, Flex, Loader, Main, Typography } from '@strapi/design-system';\nimport { Link } from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\nimport { Redirect, useHistory } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { Logo } from '../../../../../../../admin/src/components/UnauthenticatedLogo';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../../../../../admin/src/layouts/UnauthenticatedLayout';\nimport { useAuthProviders } from '../../../../hooks/useAuthProviders';\n\nimport SSOProviders from './SSOProviders';\n\nconst DividerFull = styled(Divider)`\n flex: 1;\n`;\n\nconst Providers = () => {\n const { push } = useHistory();\n const { formatMessage } = useIntl();\n const { isLoading, providers } = useAuthProviders({\n enabled: window.strapi.features.isEnabled(window.strapi.features.SSO),\n });\n\n const handleClick = () => {\n push('/auth/login');\n };\n\n if (\n !window.strapi.features.isEnabled(window.strapi.features.SSO) ||\n (!isLoading && providers.length === 0)\n ) {\n return <Redirect to=\"/auth/login\" />;\n }\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={1}>\n <Typography as=\"h1\" variant=\"alpha\">\n {formatMessage({ id: 'Auth.form.welcome.title' })}\n </Typography>\n </Box>\n <Box paddingBottom={7}>\n <Typography variant=\"epsilon\" textColor=\"neutral600\">\n {formatMessage({ id: 'Auth.login.sso.subtitle' })}\n </Typography>\n </Box>\n </Column>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n {isLoading ? (\n <Flex justifyContent=\"center\">\n <Loader>{formatMessage({ id: 'Auth.login.sso.loading' })}</Loader>\n </Flex>\n ) : (\n <SSOProviders providers={providers} />\n )}\n <Flex>\n <DividerFull />\n <Box paddingLeft={3} paddingRight={3}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'or' })}\n </Typography>\n </Box>\n <DividerFull />\n </Flex>\n <Button fullWidth size=\"L\" onClick={handleClick}>\n {formatMessage({ id: 'Auth.form.button.login.strapi' })}\n </Button>\n </Flex>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link to=\"/auth/forgot-password\">\n <Typography variant=\"pi\">\n {formatMessage({ id: 'Auth.link.forgot-password' })}\n </Typography>\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nexport default Providers;\n","import Providers from './components/Providers';\n\nexport const FORMS = {\n providers: {\n Component: Providers,\n endPoint: null,\n fieldsToDisable: [],\n fieldsToOmit: [],\n schema: null,\n inputsPrefix: '',\n },\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,MAAM,cAAc,OAAO,OAAO;AAAA;AAAA;AAIlC,MAAM,YAAY,MAAM;AAChB,QAAA,EAAE,SAAS;AACX,QAAA,EAAE,kBAAkB;AAC1B,QAAM,EAAE,WAAW,UAAU,IAAI,iBAAiB;AAAA,IAChD,SAAS,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,GAAG;AAAA,EAAA,CACrE;AAED,QAAM,cAAc,MAAM;AACxB,SAAK,aAAa;AAAA,EAAA;AAGpB,MACE,CAAC,OAAO,OAAO,SAAS,UAAU,OAAO,OAAO,SAAS,GAAG,KAC3D,CAAC,aAAa,UAAU,WAAW,GACpC;AACO,WAAA,oBAAC,UAAS,EAAA,IAAG,cAAc,CAAA;AAAA,EACpC;AAGE,SAAA,oBAAC,uBACC,EAAA,UAAA,qBAAC,MACC,EAAA,UAAA;AAAA,IAAA,qBAAC,eACC,EAAA,UAAA;AAAA,MAAA,qBAAC,QACC,EAAA,UAAA;AAAA,QAAA,oBAAC,MAAK,EAAA;AAAA,4BACL,KAAI,EAAA,YAAY,GAAG,eAAe,GACjC,8BAAC,YAAW,EAAA,IAAG,MAAK,SAAQ,SACzB,UAAc,cAAA,EAAE,IAAI,0BAA0B,CAAC,EAClD,CAAA,GACF;AAAA,4BACC,KAAI,EAAA,eAAe,GAClB,UAAA,oBAAC,cAAW,SAAQ,WAAU,WAAU,cACrC,wBAAc,EAAE,IAAI,0BAA0B,CAAC,EAClD,CAAA,GACF;AAAA,MAAA,GACF;AAAA,2BACC,MAAK,EAAA,WAAU,UAAS,YAAW,WAAU,KAAK,GAChD,UAAA;AAAA,QAAA,gCACE,MAAK,EAAA,gBAAe,UACnB,UAAA,oBAAC,UAAQ,UAAc,cAAA,EAAE,IAAI,yBAA0B,CAAA,GAAE,EAAA,CAC3D,IAEA,oBAAC,gBAAa,WAAsB;AAAA,6BAErC,MACC,EAAA,UAAA;AAAA,UAAA,oBAAC,aAAY,EAAA;AAAA,8BACZ,KAAI,EAAA,aAAa,GAAG,cAAc,GACjC,8BAAC,YAAW,EAAA,SAAQ,SAAQ,WAAU,cACnC,UAAc,cAAA,EAAE,IAAI,KAAK,CAAC,EAC7B,CAAA,GACF;AAAA,8BACC,aAAY,EAAA;AAAA,QAAA,GACf;AAAA,QACC,oBAAA,QAAA,EAAO,WAAS,MAAC,MAAK,KAAI,SAAS,aACjC,UAAc,cAAA,EAAE,IAAI,gCAAA,CAAiC,EACxD,CAAA;AAAA,MAAA,GACF;AAAA,IAAA,GACF;AAAA,IACA,oBAAC,MAAK,EAAA,gBAAe,UACnB,UAAA,oBAAC,OAAI,YAAY,GACf,UAAC,oBAAA,MAAA,EAAK,IAAG,yBACP,8BAAC,YAAW,EAAA,SAAQ,MACjB,UAAA,cAAc,EAAE,IAAI,6BAA6B,EAAA,CACpD,EACF,CAAA,EAAA,CACF,EACF,CAAA;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ;ACzFO,MAAM,QAAQ;AAAA,EACnB,WAAW;AAAA,IACT,WAAW;AAAA,IACX,UAAU;AAAA,IACV,iBAAiB,CAAC;AAAA,IAClB,cAAc,CAAC;AAAA,IACf,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AACF;"}