@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.
- package/dist/_chunks/{AuthenticatedApp-092ef2be.js → AuthenticatedApp-26a57d48.js} +30 -30
- package/dist/_chunks/{AuthenticatedApp-092ef2be.js.map → AuthenticatedApp-26a57d48.js.map} +1 -1
- package/dist/_chunks/{AuthenticatedApp-b0ada7e9.mjs → AuthenticatedApp-332b40a8.mjs} +30 -30
- package/dist/_chunks/{AuthenticatedApp-b0ada7e9.mjs.map → AuthenticatedApp-332b40a8.mjs.map} +1 -1
- package/dist/_chunks/{HomePage-5798ba6f.mjs → HomePage-332764b2.mjs} +7 -8
- package/dist/_chunks/{HomePage-5798ba6f.mjs.map → HomePage-332764b2.mjs.map} +1 -1
- package/dist/_chunks/{HomePage-bdcb51be.js → HomePage-74c5c19b.js} +12 -13
- package/dist/_chunks/HomePage-74c5c19b.js.map +1 -0
- package/dist/_chunks/{HomePage-5ae473e6.js → HomePage-8022e4f9.js} +7 -8
- package/dist/_chunks/{HomePage-5ae473e6.js.map → HomePage-8022e4f9.js.map} +1 -1
- package/dist/_chunks/{HomePage-a3cc32d2.mjs → HomePage-ebb9bd4d.mjs} +12 -13
- package/dist/_chunks/HomePage-ebb9bd4d.mjs.map +1 -0
- package/dist/_chunks/{InstalledPluginsPage-cc2d6a36.js → InstalledPluginsPage-08915bd0.js} +10 -12
- package/dist/_chunks/{InstalledPluginsPage-cc2d6a36.js.map → InstalledPluginsPage-08915bd0.js.map} +1 -1
- package/dist/_chunks/{InstalledPluginsPage-6284aaff.mjs → InstalledPluginsPage-33ed21ac.mjs} +10 -12
- package/dist/_chunks/{InstalledPluginsPage-6284aaff.mjs.map → InstalledPluginsPage-33ed21ac.mjs.map} +1 -1
- package/dist/_chunks/{index-305a03f4.mjs → Login-4e7ab11a.mjs} +25 -29
- package/dist/_chunks/Login-4e7ab11a.mjs.map +1 -0
- package/dist/_chunks/{index-137490ba.js → Login-7c938e98.js} +25 -30
- package/dist/_chunks/Login-7c938e98.js.map +1 -0
- package/dist/_chunks/{MarketplacePage-209ec658.js → MarketplacePage-3c080568.js} +6 -8
- package/dist/_chunks/{MarketplacePage-209ec658.js.map → MarketplacePage-3c080568.js.map} +1 -1
- package/dist/_chunks/{MarketplacePage-7dee72f5.mjs → MarketplacePage-b82389f1.mjs} +6 -8
- package/dist/_chunks/{MarketplacePage-7dee72f5.mjs.map → MarketplacePage-b82389f1.mjs.map} +1 -1
- package/dist/_chunks/{ProfilePage-26c14ba4.mjs → ProfilePage-2f0d41e0.mjs} +7 -9
- package/dist/_chunks/{ProfilePage-26c14ba4.mjs.map → ProfilePage-2f0d41e0.mjs.map} +1 -1
- package/dist/_chunks/{ProfilePage-4f8c127b.js → ProfilePage-9911a1aa.js} +7 -9
- package/dist/_chunks/{ProfilePage-4f8c127b.js.map → ProfilePage-9911a1aa.js.map} +1 -1
- package/dist/_chunks/{SSOProviders-1d062c95.mjs → SSOProviders-62bfad92.mjs} +29 -61
- package/dist/_chunks/SSOProviders-62bfad92.mjs.map +1 -0
- package/dist/_chunks/{SSOProviders-1ef0a89e.js → SSOProviders-b395a4e6.js} +28 -80
- package/dist/_chunks/SSOProviders-b395a4e6.js.map +1 -0
- package/dist/_chunks/{build-f36bfc97.js → build-55ba3e68.js} +4 -2
- package/dist/_chunks/{build-f36bfc97.js.map → build-55ba3e68.js.map} +1 -1
- package/dist/_chunks/{build-e1ca35da.mjs → build-b67ecc59.mjs} +4 -2
- package/dist/_chunks/{build-e1ca35da.mjs.map → build-b67ecc59.mjs.map} +1 -1
- package/dist/_chunks/{constants-a773ff9b.js → constants-2bd3e15b.js} +13 -12
- package/dist/_chunks/{constants-a773ff9b.js.map → constants-2bd3e15b.js.map} +1 -1
- package/dist/_chunks/{constants-90c20a6f.mjs → constants-6082c0ef.mjs} +11 -12
- package/dist/_chunks/{constants-90c20a6f.mjs.map → constants-6082c0ef.mjs.map} +1 -1
- package/dist/_chunks/{constants-921eda17.mjs → constants-6ecddc43.mjs} +43 -15
- package/dist/_chunks/constants-6ecddc43.mjs.map +1 -0
- package/dist/_chunks/{constants-86aa3e70.js → constants-7596f6f3.js} +60 -13
- package/dist/_chunks/constants-7596f6f3.js.map +1 -0
- package/dist/_chunks/{constants-9de7641c.mjs → constants-889d52fe.mjs} +28 -28
- package/dist/_chunks/constants-889d52fe.mjs.map +1 -0
- package/dist/_chunks/{constants-70e05152.js → constants-9d60a039.js} +6 -6
- package/dist/_chunks/{constants-70e05152.js.map → constants-9d60a039.js.map} +1 -1
- package/dist/_chunks/{constants-6157f648.mjs → constants-b9efe215.mjs} +6 -6
- package/dist/_chunks/{constants-6157f648.mjs.map → constants-b9efe215.mjs.map} +1 -1
- package/dist/_chunks/{constants-27319180.mjs → constants-c5bbe308.mjs} +13 -12
- package/dist/_chunks/{constants-27319180.mjs.map → constants-c5bbe308.mjs.map} +1 -1
- package/dist/_chunks/{constants-32975b2e.js → constants-df81febb.js} +11 -12
- package/dist/_chunks/{constants-32975b2e.js.map → constants-df81febb.js.map} +1 -1
- package/dist/_chunks/{constants-727a113c.js → constants-efc88bf2.js} +26 -26
- package/dist/_chunks/constants-efc88bf2.js.map +1 -0
- package/dist/_chunks/{develop-513c9644.js → develop-69e28e61.js} +4 -2
- package/dist/_chunks/{develop-513c9644.js.map → develop-69e28e61.js.map} +1 -1
- package/dist/_chunks/{develop-e45b460e.mjs → develop-d97e7494.mjs} +4 -2
- package/dist/_chunks/{develop-e45b460e.mjs.map → develop-d97e7494.mjs.map} +1 -1
- package/dist/_chunks/formatAPIErrors-b599cf27.js +20 -0
- package/dist/_chunks/formatAPIErrors-b599cf27.js.map +1 -0
- package/dist/_chunks/formatAPIErrors-db6ed675.mjs +21 -0
- package/dist/_chunks/formatAPIErrors-db6ed675.mjs.map +1 -0
- package/dist/_chunks/{index-edc9bb0b.js → index-0134922e.js} +673 -811
- package/dist/_chunks/index-0134922e.js.map +1 -0
- package/dist/_chunks/{index-6a512cec.js → index-01a3932c.js} +8 -9
- package/dist/_chunks/{index-6a512cec.js.map → index-01a3932c.js.map} +1 -1
- package/dist/_chunks/{index-284c5926.js → index-13a08117.js} +33 -47
- package/dist/_chunks/index-13a08117.js.map +1 -0
- package/dist/_chunks/{index-1b7e986c.mjs → index-14462502.mjs} +14 -13
- package/dist/_chunks/{index-1b7e986c.mjs.map → index-14462502.mjs.map} +1 -1
- package/dist/_chunks/{index-85069cac.mjs → index-22fbd8cc.mjs} +9 -10
- package/dist/_chunks/{index-85069cac.mjs.map → index-22fbd8cc.mjs.map} +1 -1
- package/dist/_chunks/{index-73ba6bdd.mjs → index-259a5ab3.mjs} +3 -3
- package/dist/_chunks/{index-73ba6bdd.mjs.map → index-259a5ab3.mjs.map} +1 -1
- package/dist/_chunks/{index-7d40adea.mjs → index-287b49b0.mjs} +8 -7
- package/dist/_chunks/{index-7d40adea.mjs.map → index-287b49b0.mjs.map} +1 -1
- package/dist/_chunks/{index-77e0e5d7.js → index-293f112c.js} +8 -7
- package/dist/_chunks/{index-77e0e5d7.js.map → index-293f112c.js.map} +1 -1
- package/dist/_chunks/{index-0af587c3.js → index-2ca9ffb3.js} +78 -147
- package/dist/_chunks/index-2ca9ffb3.js.map +1 -0
- package/dist/_chunks/{index-4c5acc70.js → index-2e47d9aa.js} +9 -10
- package/dist/_chunks/{index-4c5acc70.js.map → index-2e47d9aa.js.map} +1 -1
- package/dist/_chunks/{index-59d22949.mjs → index-3d323e1b.mjs} +8 -9
- package/dist/_chunks/{index-59d22949.mjs.map → index-3d323e1b.mjs.map} +1 -1
- package/dist/_chunks/{index-5752584c.mjs → index-44360544.mjs} +182 -76
- package/dist/_chunks/index-44360544.mjs.map +1 -0
- package/dist/_chunks/{index-34a2909e.mjs → index-46245c2d.mjs} +12 -12
- package/dist/_chunks/{index-34a2909e.mjs.map → index-46245c2d.mjs.map} +1 -1
- package/dist/_chunks/{index-5ad8482b.mjs → index-486f5166.mjs} +7 -7
- package/dist/_chunks/{index-5ad8482b.mjs.map → index-486f5166.mjs.map} +1 -1
- package/dist/_chunks/{index-58db145d.mjs → index-49b41e57.mjs} +3 -3
- package/dist/_chunks/{index-58db145d.mjs.map → index-49b41e57.mjs.map} +1 -1
- package/dist/_chunks/{index-da04b144.js → index-4bdd41f2.js} +14 -13
- package/dist/_chunks/{index-da04b144.js.map → index-4bdd41f2.js.map} +1 -1
- package/dist/_chunks/{index-7aed99db.js → index-4ff5f2a8.js} +12 -12
- package/dist/_chunks/{index-7aed99db.js.map → index-4ff5f2a8.js.map} +1 -1
- package/dist/_chunks/{index-56ced4ab.mjs → index-5221021e.mjs} +8 -7
- package/dist/_chunks/{index-56ced4ab.mjs.map → index-5221021e.mjs.map} +1 -1
- package/dist/_chunks/{index-a4348f3b.js → index-54a7f1f4.js} +12 -12
- package/dist/_chunks/index-54a7f1f4.js.map +1 -0
- package/dist/_chunks/{index-1da8c640.mjs → index-5502f0f9.mjs} +9 -10
- package/dist/_chunks/{index-1da8c640.mjs.map → index-5502f0f9.mjs.map} +1 -1
- package/dist/_chunks/{index-36e0d449.mjs → index-5af78a9d.mjs} +32 -45
- package/dist/_chunks/index-5af78a9d.mjs.map +1 -0
- package/dist/_chunks/{index-1f1e2465.js → index-5be49e36.js} +9 -11
- package/dist/_chunks/{index-1f1e2465.js.map → index-5be49e36.js.map} +1 -1
- package/dist/_chunks/{index-4565fcbd.js → index-5bf8300a.js} +3 -3
- package/dist/_chunks/{index-4565fcbd.js.map → index-5bf8300a.js.map} +1 -1
- package/dist/_chunks/{index-48322669.mjs → index-663f37fb.mjs} +3 -3
- package/dist/_chunks/index-663f37fb.mjs.map +1 -0
- package/dist/_chunks/{index-35e4bad6.mjs → index-6999385d.mjs} +8 -9
- package/dist/_chunks/{index-35e4bad6.mjs.map → index-6999385d.mjs.map} +1 -1
- package/dist/_chunks/{index-928b18d2.mjs → index-70ad05e1.mjs} +3 -3
- package/dist/_chunks/{index-928b18d2.mjs.map → index-70ad05e1.mjs.map} +1 -1
- package/dist/_chunks/{index-e22d1a84.mjs → index-72195b26.mjs} +14 -13
- package/dist/_chunks/{index-e22d1a84.mjs.map → index-72195b26.mjs.map} +1 -1
- package/dist/_chunks/{index-c604806d.js → index-73b1ca6d.js} +12 -12
- package/dist/_chunks/{index-c604806d.js.map → index-73b1ca6d.js.map} +1 -1
- package/dist/_chunks/{index-62b4b3fc.js → index-76459a60.js} +11 -11
- package/dist/_chunks/{index-62b4b3fc.js.map → index-76459a60.js.map} +1 -1
- package/dist/_chunks/{index-6b9e3d60.js → index-77b91009.js} +9 -10
- package/dist/_chunks/{index-6b9e3d60.js.map → index-77b91009.js.map} +1 -1
- package/dist/_chunks/{index-24189ec9.js → index-84321b2e.js} +6 -6
- package/dist/_chunks/{index-24189ec9.js.map → index-84321b2e.js.map} +1 -1
- package/dist/_chunks/{index-b2257157.js → index-866d1aaf.js} +49 -12
- package/dist/_chunks/index-866d1aaf.js.map +1 -0
- package/dist/_chunks/{index-066ee02e.js → index-891738bc.js} +8 -10
- package/dist/_chunks/{index-066ee02e.js.map → index-891738bc.js.map} +1 -1
- package/dist/_chunks/{index-cadd3ee0.js → index-89cb437c.js} +4 -4
- package/dist/_chunks/{index-cadd3ee0.js.map → index-89cb437c.js.map} +1 -1
- package/dist/_chunks/{index-8ea5a488.js → index-901d8afc.js} +9 -10
- package/dist/_chunks/{index-8ea5a488.js.map → index-901d8afc.js.map} +1 -1
- package/dist/_chunks/{index-d1620260.js → index-9c56225f.js} +13 -14
- package/dist/_chunks/{index-d1620260.js.map → index-9c56225f.js.map} +1 -1
- package/dist/_chunks/{index-6dbc94a9.mjs → index-9e3fc4fe.mjs} +6 -6
- package/dist/_chunks/{index-6dbc94a9.mjs.map → index-9e3fc4fe.mjs.map} +1 -1
- package/dist/_chunks/{index-bdfc1149.mjs → index-a16075f2.mjs} +49 -12
- package/dist/_chunks/index-a16075f2.mjs.map +1 -0
- package/dist/_chunks/{index-6cc54f3b.mjs → index-a1c1b833.mjs} +8 -9
- package/dist/_chunks/{index-6cc54f3b.mjs.map → index-a1c1b833.mjs.map} +1 -1
- package/dist/_chunks/{index-acd6d64f.js → index-aaffa28c.js} +8 -7
- package/dist/_chunks/{index-acd6d64f.js.map → index-aaffa28c.js.map} +1 -1
- package/dist/_chunks/{index-be2ca313.mjs → index-abcea3d3.mjs} +13 -13
- package/dist/_chunks/{index-be2ca313.mjs.map → index-abcea3d3.mjs.map} +1 -1
- package/dist/_chunks/{index-af69bc98.mjs → index-acdd9b71.mjs} +11 -11
- package/dist/_chunks/{index-af69bc98.mjs.map → index-acdd9b71.mjs.map} +1 -1
- package/dist/_chunks/{index-89d27faa.js → index-adc85ed8.js} +14 -13
- package/dist/_chunks/{index-89d27faa.js.map → index-adc85ed8.js.map} +1 -1
- package/dist/_chunks/{index-f448aed2.js → index-af5e137f.js} +13 -12
- package/dist/_chunks/{index-f448aed2.js.map → index-af5e137f.js.map} +1 -1
- package/dist/_chunks/{index-16030b74.js → index-b11e88f3.js} +3 -3
- package/dist/_chunks/index-b11e88f3.js.map +1 -0
- package/dist/_chunks/{index-e414353b.js → index-b47862fc.js} +8 -8
- package/dist/_chunks/{index-e414353b.js.map → index-b47862fc.js.map} +1 -1
- package/dist/_chunks/{index-51a15b27.js → index-bea39602.js} +4 -4
- package/dist/_chunks/{index-51a15b27.js.map → index-bea39602.js.map} +1 -1
- package/dist/_chunks/{index-53ba81f9.mjs → index-c202e78f.mjs} +9 -10
- package/dist/_chunks/{index-53ba81f9.mjs.map → index-c202e78f.mjs.map} +1 -1
- package/dist/_chunks/{index-8d4d361d.mjs → index-c9f9b444.mjs} +13 -13
- package/dist/_chunks/{index-8d4d361d.mjs.map → index-c9f9b444.mjs.map} +1 -1
- package/dist/_chunks/{index-ea23ee9f.mjs → index-caecca36.mjs} +9 -11
- package/dist/_chunks/{index-ea23ee9f.mjs.map → index-caecca36.mjs.map} +1 -1
- package/dist/_chunks/{index-86dfbe3a.js → index-cce8ecb6.js} +178 -72
- package/dist/_chunks/index-cce8ecb6.js.map +1 -0
- package/dist/_chunks/{index-34de382e.mjs → index-cd461a87.mjs} +688 -824
- package/dist/_chunks/index-cd461a87.mjs.map +1 -0
- package/dist/_chunks/{index-5d8d89a7.js → index-cdfb1568.js} +13 -13
- package/dist/_chunks/{index-5d8d89a7.js.map → index-cdfb1568.js.map} +1 -1
- package/dist/_chunks/{index-1763a04f.js → index-cf87a6f0.js} +8 -9
- package/dist/_chunks/{index-1763a04f.js.map → index-cf87a6f0.js.map} +1 -1
- package/dist/_chunks/{index-b81f7273.mjs → index-d33930a8.mjs} +78 -147
- package/dist/_chunks/index-d33930a8.mjs.map +1 -0
- package/dist/_chunks/{index-fcd5bc14.mjs → index-d4473456.mjs} +14 -13
- package/dist/_chunks/{index-fcd5bc14.mjs.map → index-d4473456.mjs.map} +1 -1
- package/dist/_chunks/{index-3c58de6f.js → index-d74efba3.js} +14 -13
- package/dist/_chunks/{index-3c58de6f.js.map → index-d74efba3.js.map} +1 -1
- package/dist/_chunks/{index-1e973c03.mjs → index-d7bc095b.mjs} +14 -13
- package/dist/_chunks/{index-1e973c03.mjs.map → index-d7bc095b.mjs.map} +1 -1
- package/dist/_chunks/{index-00202c8a.mjs → index-dbbda762.mjs} +13 -12
- package/dist/_chunks/{index-00202c8a.mjs.map → index-dbbda762.mjs.map} +1 -1
- package/dist/_chunks/{index-f5342ea5.js → index-dfb03b19.js} +14 -13
- package/dist/_chunks/{index-f5342ea5.js.map → index-dfb03b19.js.map} +1 -1
- package/dist/_chunks/{index-bb8093ea.mjs → index-e10dd15d.mjs} +12 -12
- package/dist/_chunks/{index-bb8093ea.mjs.map → index-e10dd15d.mjs.map} +1 -1
- package/dist/_chunks/{index-370a4ee8.mjs → index-e4f7fa95.mjs} +12 -12
- package/dist/_chunks/index-e4f7fa95.mjs.map +1 -0
- package/dist/_chunks/{index-b98ea3ce.mjs → index-e749e6ef.mjs} +13 -14
- package/dist/_chunks/{index-b98ea3ce.mjs.map → index-e749e6ef.mjs.map} +1 -1
- package/dist/_chunks/{index-332f319e.mjs → index-ef5a0b8f.mjs} +8 -10
- package/dist/_chunks/{index-332f319e.mjs.map → index-ef5a0b8f.mjs.map} +1 -1
- package/dist/_chunks/{index-f179c7ea.js → index-f03c4e70.js} +13 -13
- package/dist/_chunks/{index-f179c7ea.js.map → index-f03c4e70.js.map} +1 -1
- package/dist/_chunks/{index-52b5db8a.js → index-fc0191f3.js} +8 -9
- package/dist/_chunks/{index-52b5db8a.js.map → index-fc0191f3.js.map} +1 -1
- package/dist/_chunks/{schema-a95f2514.mjs → schema-4d12cff6.mjs} +2 -2
- package/dist/_chunks/{schema-a95f2514.mjs.map → schema-4d12cff6.mjs.map} +1 -1
- package/dist/_chunks/{schema-f49c76d7.js → schema-c6ce9e01.js} +2 -2
- package/dist/_chunks/{schema-f49c76d7.js.map → schema-c6ce9e01.js.map} +1 -1
- package/dist/_chunks/{validateWorkflow-e66d7d2e.js → validateWorkflow-155f5778.js} +3 -3
- package/dist/_chunks/{validateWorkflow-e66d7d2e.js.map → validateWorkflow-155f5778.js.map} +1 -1
- package/dist/_chunks/{validateWorkflow-d051b610.mjs → validateWorkflow-e0166061.mjs} +3 -3
- package/dist/_chunks/{validateWorkflow-d051b610.mjs.map → validateWorkflow-e0166061.mjs.map} +1 -1
- package/dist/admin/index.js +9 -10
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +9 -10
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/src/constants.d.ts +10 -0
- package/dist/admin/src/contexts/admin.d.ts +2 -2
- package/dist/admin/src/hooks/__mocks__/useSettingsMenu.d.ts +2 -0
- package/dist/admin/src/hooks/useEnterprise.d.ts +6 -4
- package/dist/admin/src/hooks/useSettingsMenu.d.ts +24 -0
- package/dist/admin/src/pages/Auth/AuthPage.d.ts +6 -0
- package/dist/admin/src/pages/Auth/components/FieldActionWrapper.d.ts +3 -0
- package/dist/admin/src/pages/Auth/components/ForgotPassword.d.ts +3 -0
- package/dist/admin/src/pages/Auth/components/ForgotPasswordSuccess.d.ts +2 -0
- package/dist/admin/src/pages/Auth/components/Login.d.ts +8 -0
- package/dist/admin/src/pages/Auth/components/Oops.d.ts +2 -0
- package/dist/admin/src/pages/Auth/components/Register.d.ts +7 -0
- package/dist/admin/src/pages/Auth/components/ResetPassword.d.ts +3 -0
- package/dist/admin/src/pages/Auth/constants.d.ts +14 -0
- package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +2 -2
- package/dist/admin/src/types/permissions.d.ts +10 -0
- package/dist/cli.js +3 -1
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +3 -1
- package/dist/cli.mjs.map +1 -1
- package/dist/ee/admin/src/constants.d.ts +3 -1
- package/dist/ee/admin/src/pages/AuthPage/components/Login.d.ts +3 -0
- package/dist/ee/admin/src/pages/AuthPage/components/Providers.d.ts +2 -0
- package/dist/ee/admin/src/pages/AuthPage/components/SSOProviders.d.ts +8 -0
- package/dist/ee/admin/src/pages/AuthPage/constants.d.ts +3 -0
- package/dist/ee/admin/src/pages/AuthResponse.d.ts +2 -0
- package/dist/ee/admin/src/pages/HomePage.d.ts +1 -1
- package/dist/shared/contracts/authentication.d.ts +126 -0
- package/dist/shared/contracts/providers.d.ts +18 -0
- package/ee/LICENSE +1 -0
- package/package.json +21 -21
- package/dist/_chunks/HomePage-a3cc32d2.mjs.map +0 -1
- package/dist/_chunks/HomePage-bdcb51be.js.map +0 -1
- package/dist/_chunks/SSOProviders-1d062c95.mjs.map +0 -1
- package/dist/_chunks/SSOProviders-1ef0a89e.js.map +0 -1
- package/dist/_chunks/constants-12dfb222.mjs +0 -34
- package/dist/_chunks/constants-12dfb222.mjs.map +0 -1
- package/dist/_chunks/constants-1aea1185.js +0 -34
- package/dist/_chunks/constants-1aea1185.js.map +0 -1
- package/dist/_chunks/constants-727a113c.js.map +0 -1
- package/dist/_chunks/constants-86aa3e70.js.map +0 -1
- package/dist/_chunks/constants-921eda17.mjs.map +0 -1
- package/dist/_chunks/constants-9de7641c.mjs.map +0 -1
- package/dist/_chunks/index-0af587c3.js.map +0 -1
- package/dist/_chunks/index-137490ba.js.map +0 -1
- package/dist/_chunks/index-16030b74.js.map +0 -1
- package/dist/_chunks/index-284c5926.js.map +0 -1
- package/dist/_chunks/index-305a03f4.mjs.map +0 -1
- package/dist/_chunks/index-34de382e.mjs.map +0 -1
- package/dist/_chunks/index-36e0d449.mjs.map +0 -1
- package/dist/_chunks/index-370a4ee8.mjs.map +0 -1
- package/dist/_chunks/index-48322669.mjs.map +0 -1
- package/dist/_chunks/index-5752584c.mjs.map +0 -1
- package/dist/_chunks/index-86dfbe3a.js.map +0 -1
- package/dist/_chunks/index-a4348f3b.js.map +0 -1
- package/dist/_chunks/index-b2257157.js.map +0 -1
- package/dist/_chunks/index-b81f7273.mjs.map +0 -1
- package/dist/_chunks/index-bdfc1149.mjs.map +0 -1
- 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
|
-
|
|
80
|
-
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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-
|
|
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
|
-
|
|
103
|
-
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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
|
-
|
|
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-
|
|
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-
|
|
68
|
+
//# sourceMappingURL=build-55ba3e68.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-
|
|
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-
|
|
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-
|
|
68
|
+
//# sourceMappingURL=build-b67ecc59.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-
|
|
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-
|
|
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-
|
|
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-
|
|
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("
|
|
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("
|
|
34
|
+
require("lodash/camelCase");
|
|
38
35
|
require("react-query");
|
|
39
|
-
require("
|
|
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-
|
|
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-
|
|
229
|
+
//# sourceMappingURL=constants-2bd3e15b.js.map
|