@strapi/admin 4.15.1 → 4.15.2
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-d1e28164.js} +30 -30
- package/dist/_chunks/{AuthenticatedApp-092ef2be.js.map → AuthenticatedApp-d1e28164.js.map} +1 -1
- package/dist/_chunks/{AuthenticatedApp-b0ada7e9.mjs → AuthenticatedApp-fd7e406d.mjs} +30 -30
- package/dist/_chunks/{AuthenticatedApp-b0ada7e9.mjs.map → AuthenticatedApp-fd7e406d.mjs.map} +1 -1
- package/dist/_chunks/{HomePage-5798ba6f.mjs → HomePage-2a7f678a.mjs} +7 -8
- package/dist/_chunks/{HomePage-5798ba6f.mjs.map → HomePage-2a7f678a.mjs.map} +1 -1
- package/dist/_chunks/{HomePage-5ae473e6.js → HomePage-2ac5c213.js} +7 -8
- package/dist/_chunks/{HomePage-5ae473e6.js.map → HomePage-2ac5c213.js.map} +1 -1
- package/dist/_chunks/{HomePage-bdcb51be.js → HomePage-616a2985.js} +12 -13
- package/dist/_chunks/HomePage-616a2985.js.map +1 -0
- package/dist/_chunks/{HomePage-a3cc32d2.mjs → HomePage-ded37c60.mjs} +12 -13
- package/dist/_chunks/HomePage-ded37c60.mjs.map +1 -0
- package/dist/_chunks/{InstalledPluginsPage-cc2d6a36.js → InstalledPluginsPage-189010c1.js} +10 -12
- package/dist/_chunks/{InstalledPluginsPage-cc2d6a36.js.map → InstalledPluginsPage-189010c1.js.map} +1 -1
- package/dist/_chunks/{InstalledPluginsPage-6284aaff.mjs → InstalledPluginsPage-afa9edc3.mjs} +10 -12
- package/dist/_chunks/{InstalledPluginsPage-6284aaff.mjs.map → InstalledPluginsPage-afa9edc3.mjs.map} +1 -1
- package/dist/_chunks/{index-305a03f4.mjs → Login-02ddabf7.mjs} +25 -29
- package/dist/_chunks/Login-02ddabf7.mjs.map +1 -0
- package/dist/_chunks/{index-137490ba.js → Login-28127829.js} +25 -30
- package/dist/_chunks/Login-28127829.js.map +1 -0
- package/dist/_chunks/{MarketplacePage-7dee72f5.mjs → MarketplacePage-40f76f3d.mjs} +6 -8
- package/dist/_chunks/{MarketplacePage-7dee72f5.mjs.map → MarketplacePage-40f76f3d.mjs.map} +1 -1
- package/dist/_chunks/{MarketplacePage-209ec658.js → MarketplacePage-946134e6.js} +6 -8
- package/dist/_chunks/{MarketplacePage-209ec658.js.map → MarketplacePage-946134e6.js.map} +1 -1
- package/dist/_chunks/{ProfilePage-26c14ba4.mjs → ProfilePage-4c94e332.mjs} +7 -9
- package/dist/_chunks/{ProfilePage-26c14ba4.mjs.map → ProfilePage-4c94e332.mjs.map} +1 -1
- package/dist/_chunks/{ProfilePage-4f8c127b.js → ProfilePage-6506e401.js} +7 -9
- package/dist/_chunks/{ProfilePage-4f8c127b.js.map → ProfilePage-6506e401.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-70e05152.js → constants-42f4f7b3.js} +6 -6
- package/dist/_chunks/{constants-70e05152.js.map → constants-42f4f7b3.js.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-727a113c.js → constants-733b0568.js} +26 -26
- package/dist/_chunks/constants-733b0568.js.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-32975b2e.js → constants-82e97fee.js} +11 -12
- package/dist/_chunks/{constants-32975b2e.js.map → constants-82e97fee.js.map} +1 -1
- package/dist/_chunks/{constants-90c20a6f.mjs → constants-952c50be.mjs} +11 -12
- package/dist/_chunks/{constants-90c20a6f.mjs.map → constants-952c50be.mjs.map} +1 -1
- package/dist/_chunks/{constants-9de7641c.mjs → constants-c0280aed.mjs} +28 -28
- package/dist/_chunks/constants-c0280aed.mjs.map +1 -0
- package/dist/_chunks/{constants-a773ff9b.js → constants-c9fce26f.js} +13 -12
- package/dist/_chunks/{constants-a773ff9b.js.map → constants-c9fce26f.js.map} +1 -1
- package/dist/_chunks/{constants-6157f648.mjs → constants-cbadfd36.mjs} +6 -6
- package/dist/_chunks/{constants-6157f648.mjs.map → constants-cbadfd36.mjs.map} +1 -1
- package/dist/_chunks/{constants-27319180.mjs → constants-cd1acf1b.mjs} +13 -12
- package/dist/_chunks/{constants-27319180.mjs.map → constants-cd1acf1b.mjs.map} +1 -1
- 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-af69bc98.mjs → index-01dfec54.mjs} +11 -11
- package/dist/_chunks/{index-af69bc98.mjs.map → index-01dfec54.mjs.map} +1 -1
- package/dist/_chunks/{index-fcd5bc14.mjs → index-0ed0c104.mjs} +14 -13
- package/dist/_chunks/{index-fcd5bc14.mjs.map → index-0ed0c104.mjs.map} +1 -1
- package/dist/_chunks/{index-1f1e2465.js → index-13a78498.js} +9 -11
- package/dist/_chunks/{index-1f1e2465.js.map → index-13a78498.js.map} +1 -1
- package/dist/_chunks/{index-6b9e3d60.js → index-150ec200.js} +9 -10
- package/dist/_chunks/{index-6b9e3d60.js.map → index-150ec200.js.map} +1 -1
- package/dist/_chunks/{index-b2257157.js → index-17acbe23.js} +49 -12
- package/dist/_chunks/index-17acbe23.js.map +1 -0
- package/dist/_chunks/{index-f5342ea5.js → index-17fbff58.js} +14 -13
- package/dist/_chunks/{index-f5342ea5.js.map → index-17fbff58.js.map} +1 -1
- package/dist/_chunks/{index-bb8093ea.mjs → index-18155022.mjs} +12 -12
- package/dist/_chunks/{index-bb8093ea.mjs.map → index-18155022.mjs.map} +1 -1
- package/dist/_chunks/{index-e22d1a84.mjs → index-22993544.mjs} +14 -13
- package/dist/_chunks/{index-e22d1a84.mjs.map → index-22993544.mjs.map} +1 -1
- package/dist/_chunks/{index-16030b74.js → index-2f4b78ee.js} +3 -3
- package/dist/_chunks/index-2f4b78ee.js.map +1 -0
- package/dist/_chunks/{index-35e4bad6.mjs → index-30933e3e.mjs} +8 -9
- package/dist/_chunks/{index-35e4bad6.mjs.map → index-30933e3e.mjs.map} +1 -1
- package/dist/_chunks/{index-928b18d2.mjs → index-31227291.mjs} +3 -3
- package/dist/_chunks/{index-928b18d2.mjs.map → index-31227291.mjs.map} +1 -1
- package/dist/_chunks/{index-24189ec9.js → index-3b888524.js} +6 -6
- package/dist/_chunks/{index-24189ec9.js.map → index-3b888524.js.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-be2ca313.mjs → index-45ae7be1.mjs} +13 -13
- package/dist/_chunks/{index-be2ca313.mjs.map → index-45ae7be1.mjs.map} +1 -1
- package/dist/_chunks/{index-62b4b3fc.js → index-470a72bf.js} +11 -11
- package/dist/_chunks/{index-62b4b3fc.js.map → index-470a72bf.js.map} +1 -1
- package/dist/_chunks/{index-00202c8a.mjs → index-4a46c368.mjs} +13 -12
- package/dist/_chunks/{index-00202c8a.mjs.map → index-4a46c368.mjs.map} +1 -1
- package/dist/_chunks/{index-332f319e.mjs → index-52b70b56.mjs} +8 -10
- package/dist/_chunks/{index-332f319e.mjs.map → index-52b70b56.mjs.map} +1 -1
- package/dist/_chunks/{index-5ad8482b.mjs → index-55f9b6b3.mjs} +7 -7
- package/dist/_chunks/{index-5ad8482b.mjs.map → index-55f9b6b3.mjs.map} +1 -1
- package/dist/_chunks/{index-6cc54f3b.mjs → index-59e31a9f.mjs} +8 -9
- package/dist/_chunks/{index-6cc54f3b.mjs.map → index-59e31a9f.mjs.map} +1 -1
- package/dist/_chunks/{index-1e973c03.mjs → index-5df8a59e.mjs} +14 -13
- package/dist/_chunks/{index-1e973c03.mjs.map → index-5df8a59e.mjs.map} +1 -1
- package/dist/_chunks/{index-34de382e.mjs → index-60a57d31.mjs} +688 -824
- package/dist/_chunks/index-60a57d31.mjs.map +1 -0
- package/dist/_chunks/{index-77e0e5d7.js → index-62264743.js} +8 -7
- package/dist/_chunks/{index-77e0e5d7.js.map → index-62264743.js.map} +1 -1
- package/dist/_chunks/{index-4565fcbd.js → index-6931e33c.js} +3 -3
- package/dist/_chunks/{index-4565fcbd.js.map → index-6931e33c.js.map} +1 -1
- package/dist/_chunks/{index-3c58de6f.js → index-748f8264.js} +14 -13
- package/dist/_chunks/{index-3c58de6f.js.map → index-748f8264.js.map} +1 -1
- package/dist/_chunks/{index-bdfc1149.mjs → index-768b7de9.mjs} +49 -12
- package/dist/_chunks/index-768b7de9.mjs.map +1 -0
- package/dist/_chunks/{index-1763a04f.js → index-7739ddf5.js} +8 -9
- package/dist/_chunks/{index-1763a04f.js.map → index-7739ddf5.js.map} +1 -1
- package/dist/_chunks/{index-89d27faa.js → index-794eb0b6.js} +14 -13
- package/dist/_chunks/{index-89d27faa.js.map → index-794eb0b6.js.map} +1 -1
- package/dist/_chunks/{index-f448aed2.js → index-7e9cd960.js} +13 -12
- package/dist/_chunks/{index-f448aed2.js.map → index-7e9cd960.js.map} +1 -1
- package/dist/_chunks/{index-0af587c3.js → index-7f642760.js} +78 -147
- package/dist/_chunks/index-7f642760.js.map +1 -0
- package/dist/_chunks/{index-56ced4ab.mjs → index-853bd239.mjs} +8 -7
- package/dist/_chunks/{index-56ced4ab.mjs.map → index-853bd239.mjs.map} +1 -1
- package/dist/_chunks/{index-b98ea3ce.mjs → index-8a4d0275.mjs} +13 -14
- package/dist/_chunks/{index-b98ea3ce.mjs.map → index-8a4d0275.mjs.map} +1 -1
- package/dist/_chunks/{index-6dbc94a9.mjs → index-9c45bda7.mjs} +6 -6
- package/dist/_chunks/{index-6dbc94a9.mjs.map → index-9c45bda7.mjs.map} +1 -1
- package/dist/_chunks/{index-4c5acc70.js → index-9eb160a3.js} +9 -10
- package/dist/_chunks/{index-4c5acc70.js.map → index-9eb160a3.js.map} +1 -1
- package/dist/_chunks/{index-51a15b27.js → index-9f155b14.js} +4 -4
- package/dist/_chunks/{index-51a15b27.js.map → index-9f155b14.js.map} +1 -1
- package/dist/_chunks/{index-066ee02e.js → index-9f50c8b0.js} +8 -10
- package/dist/_chunks/{index-066ee02e.js.map → index-9f50c8b0.js.map} +1 -1
- package/dist/_chunks/{index-284c5926.js → index-9f900c47.js} +33 -47
- package/dist/_chunks/index-9f900c47.js.map +1 -0
- package/dist/_chunks/{index-5d8d89a7.js → index-a163001f.js} +13 -13
- package/dist/_chunks/{index-5d8d89a7.js.map → index-a163001f.js.map} +1 -1
- package/dist/_chunks/{index-34a2909e.mjs → index-a3176d19.mjs} +12 -12
- package/dist/_chunks/{index-34a2909e.mjs.map → index-a3176d19.mjs.map} +1 -1
- package/dist/_chunks/{index-ea23ee9f.mjs → index-a7d28c42.mjs} +9 -11
- package/dist/_chunks/{index-ea23ee9f.mjs.map → index-a7d28c42.mjs.map} +1 -1
- package/dist/_chunks/{index-a4348f3b.js → index-a8358156.js} +12 -12
- package/dist/_chunks/index-a8358156.js.map +1 -0
- package/dist/_chunks/{index-58db145d.mjs → index-a8d13f01.mjs} +3 -3
- package/dist/_chunks/{index-58db145d.mjs.map → index-a8d13f01.mjs.map} +1 -1
- package/dist/_chunks/{index-59d22949.mjs → index-b4cc14ad.mjs} +8 -9
- package/dist/_chunks/{index-59d22949.mjs.map → index-b4cc14ad.mjs.map} +1 -1
- package/dist/_chunks/{index-6a512cec.js → index-bad666f0.js} +8 -9
- package/dist/_chunks/{index-6a512cec.js.map → index-bad666f0.js.map} +1 -1
- package/dist/_chunks/{index-53ba81f9.mjs → index-bf788868.mjs} +9 -10
- package/dist/_chunks/{index-53ba81f9.mjs.map → index-bf788868.mjs.map} +1 -1
- package/dist/_chunks/{index-da04b144.js → index-bfb5b3ab.js} +14 -13
- package/dist/_chunks/{index-da04b144.js.map → index-bfb5b3ab.js.map} +1 -1
- package/dist/_chunks/{index-cadd3ee0.js → index-c0603138.js} +4 -4
- package/dist/_chunks/{index-cadd3ee0.js.map → index-c0603138.js.map} +1 -1
- package/dist/_chunks/{index-c604806d.js → index-c3761887.js} +12 -12
- package/dist/_chunks/{index-c604806d.js.map → index-c3761887.js.map} +1 -1
- package/dist/_chunks/{index-1da8c640.mjs → index-c4d3a07b.mjs} +9 -10
- package/dist/_chunks/{index-1da8c640.mjs.map → index-c4d3a07b.mjs.map} +1 -1
- package/dist/_chunks/{index-36e0d449.mjs → index-c7386be1.mjs} +32 -45
- package/dist/_chunks/index-c7386be1.mjs.map +1 -0
- package/dist/_chunks/{index-8d4d361d.mjs → index-cc7bedec.mjs} +13 -13
- package/dist/_chunks/{index-8d4d361d.mjs.map → index-cc7bedec.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-acd6d64f.js → index-cdadc366.js} +8 -7
- package/dist/_chunks/{index-acd6d64f.js.map → index-cdadc366.js.map} +1 -1
- package/dist/_chunks/{index-48322669.mjs → index-d81f74c4.mjs} +3 -3
- package/dist/_chunks/index-d81f74c4.mjs.map +1 -0
- package/dist/_chunks/{index-b81f7273.mjs → index-d93367d2.mjs} +78 -147
- package/dist/_chunks/index-d93367d2.mjs.map +1 -0
- package/dist/_chunks/{index-85069cac.mjs → index-dace55d9.mjs} +9 -10
- package/dist/_chunks/{index-85069cac.mjs.map → index-dace55d9.mjs.map} +1 -1
- package/dist/_chunks/{index-f179c7ea.js → index-db37fbe6.js} +13 -13
- package/dist/_chunks/{index-f179c7ea.js.map → index-db37fbe6.js.map} +1 -1
- package/dist/_chunks/{index-d1620260.js → index-dcb2c919.js} +13 -14
- package/dist/_chunks/{index-d1620260.js.map → index-dcb2c919.js.map} +1 -1
- package/dist/_chunks/{index-52b5db8a.js → index-dd3259f3.js} +8 -9
- package/dist/_chunks/{index-52b5db8a.js.map → index-dd3259f3.js.map} +1 -1
- package/dist/_chunks/{index-7d40adea.mjs → index-df42dfec.mjs} +8 -7
- package/dist/_chunks/{index-7d40adea.mjs.map → index-df42dfec.mjs.map} +1 -1
- package/dist/_chunks/{index-edc9bb0b.js → index-e2663a88.js} +673 -811
- package/dist/_chunks/index-e2663a88.js.map +1 -0
- package/dist/_chunks/{index-7aed99db.js → index-e2c5346d.js} +12 -12
- package/dist/_chunks/{index-7aed99db.js.map → index-e2c5346d.js.map} +1 -1
- package/dist/_chunks/{index-e414353b.js → index-e7381e58.js} +8 -8
- package/dist/_chunks/{index-e414353b.js.map → index-e7381e58.js.map} +1 -1
- package/dist/_chunks/{index-73ba6bdd.mjs → index-e8eff6c5.mjs} +3 -3
- package/dist/_chunks/{index-73ba6bdd.mjs.map → index-e8eff6c5.mjs.map} +1 -1
- package/dist/_chunks/{index-370a4ee8.mjs → index-f69d3930.mjs} +12 -12
- package/dist/_chunks/index-f69d3930.mjs.map +1 -0
- package/dist/_chunks/{index-8ea5a488.js → index-f9e95b10.js} +9 -10
- package/dist/_chunks/{index-8ea5a488.js.map → index-f9e95b10.js.map} +1 -1
- package/dist/_chunks/{index-1b7e986c.mjs → index-fe29b1fd.mjs} +14 -13
- package/dist/_chunks/{index-1b7e986c.mjs.map → index-fe29b1fd.mjs.map} +1 -1
- package/dist/_chunks/{schema-f49c76d7.js → schema-8eebfdf9.js} +2 -2
- package/dist/_chunks/{schema-f49c76d7.js.map → schema-8eebfdf9.js.map} +1 -1
- package/dist/_chunks/{schema-a95f2514.mjs → schema-ac25a47b.mjs} +2 -2
- package/dist/_chunks/{schema-a95f2514.mjs.map → schema-ac25a47b.mjs.map} +1 -1
- package/dist/_chunks/{validateWorkflow-d051b610.mjs → validateWorkflow-2511dc85.mjs} +3 -3
- package/dist/_chunks/{validateWorkflow-d051b610.mjs.map → validateWorkflow-2511dc85.mjs.map} +1 -1
- package/dist/_chunks/{validateWorkflow-e66d7d2e.js → validateWorkflow-c0f3148d.js} +3 -3
- package/dist/_chunks/{validateWorkflow-e66d7d2e.js.map → validateWorkflow-c0f3148d.js.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/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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
4
|
const helperPlugin = require("@strapi/helper-plugin");
|
|
5
|
-
const index = require("./index-
|
|
5
|
+
const index = require("./index-17acbe23.js");
|
|
6
6
|
const designSystem = require("@strapi/design-system");
|
|
7
7
|
const reactIntl = require("react-intl");
|
|
8
8
|
const reactQuery = require("react-query");
|
|
@@ -11,11 +11,11 @@ require("lodash/cloneDeep");
|
|
|
11
11
|
require("lodash/get");
|
|
12
12
|
require("lodash/omit");
|
|
13
13
|
require("lodash/isNaN");
|
|
14
|
-
require("./schema-
|
|
14
|
+
require("./schema-8eebfdf9.js");
|
|
15
15
|
require("lodash/merge");
|
|
16
16
|
require("lodash/set");
|
|
17
17
|
const useAdminUsers = require("./useAdminUsers-05d6b26a.js");
|
|
18
|
-
const AuthenticatedApp = require("./AuthenticatedApp-
|
|
18
|
+
const AuthenticatedApp = require("./AuthenticatedApp-d1e28164.js");
|
|
19
19
|
const constants = require("./constants-d5d67ca8.js");
|
|
20
20
|
const React = require("react");
|
|
21
21
|
const useLicenseLimits = require("./useLicenseLimits-81ef3cce.js");
|
|
@@ -39,16 +39,16 @@ require("lodash/upperFirst");
|
|
|
39
39
|
require("@strapi/design-system/v2");
|
|
40
40
|
require("react-dnd-html5-backend");
|
|
41
41
|
require("styled-components");
|
|
42
|
-
require("./index-
|
|
42
|
+
require("./index-e2663a88.js");
|
|
43
43
|
require("react-dom/client");
|
|
44
44
|
require("invariant");
|
|
45
45
|
require("lodash/isFunction");
|
|
46
46
|
require("lodash/pick");
|
|
47
47
|
require("@radix-ui/react-context");
|
|
48
|
-
require("lodash/camelCase");
|
|
49
|
-
require("lodash/defaultsDeep");
|
|
50
48
|
require("formik");
|
|
49
|
+
require("lodash/camelCase");
|
|
51
50
|
require("yup");
|
|
51
|
+
require("lodash/defaultsDeep");
|
|
52
52
|
require("@reduxjs/toolkit");
|
|
53
53
|
require("lodash/size");
|
|
54
54
|
require("lodash/take");
|
|
@@ -82,6 +82,7 @@ require("lodash/unset");
|
|
|
82
82
|
require("lodash/isArray");
|
|
83
83
|
require("lodash/flatMap");
|
|
84
84
|
require("lodash/uniq");
|
|
85
|
+
require("./formatAPIErrors-b599cf27.js");
|
|
85
86
|
require("date-fns/parseISO");
|
|
86
87
|
require("lodash/isNumber");
|
|
87
88
|
require("lodash/groupBy");
|
|
@@ -414,4 +415,4 @@ function InformationBoxEE() {
|
|
|
414
415
|
] });
|
|
415
416
|
}
|
|
416
417
|
exports.InformationBoxEE = InformationBoxEE;
|
|
417
|
-
//# sourceMappingURL=index-
|
|
418
|
+
//# sourceMappingURL=index-cdadc366.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-acd6d64f.js","sources":["../../ee/admin/src/content-manager/pages/EditView/InformationBox/components/AssigneeSelect/AssigneeSelect.js","../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflowsStages.js","../../ee/admin/src/content-manager/pages/EditView/InformationBox/components/StageSelect/StageSelect.js","../../ee/admin/src/content-manager/pages/EditView/InformationBox/InformationBoxEE.js"],"sourcesContent":["import * as React from 'react';\n\nimport { Combobox, ComboboxOption, Field, Flex } from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useFetchClient,\n useNotification,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\nimport { useMutation } from 'react-query';\nimport { useSelector } from 'react-redux';\n\nimport { getDisplayName } from '../../../../../../../../../admin/src/content-manager/utils';\nimport { useAdminUsers } from '../../../../../../../../../admin/src/hooks/useAdminUsers';\nimport { selectAdminPermissions } from '../../../../../../../../../admin/src/selectors';\nimport { ASSIGNEE_ATTRIBUTE_NAME } from '../../constants';\n\nexport function AssigneeSelect() {\n const {\n initialData,\n layout: { uid },\n isSingleType,\n onChange,\n } = useCMEditViewDataManager();\n const permissions = useSelector(selectAdminPermissions);\n const { formatMessage } = useIntl();\n const { formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const { put } = useFetchClient();\n const {\n allowedActions: { canReadUsers },\n isLoading: isLoadingPermissions,\n } = useRBAC({\n readUsers: permissions.settings.users.read,\n });\n const { users, isLoading, isError } = useAdminUsers(\n {},\n {\n enabled: !isLoadingPermissions && canReadUsers,\n }\n );\n\n const currentAssignee = initialData?.[ASSIGNEE_ATTRIBUTE_NAME] ?? null;\n\n const handleChange = async ({ value: assigneeId }) => {\n mutation.mutate({\n entityId: initialData.id,\n assigneeId: parseInt(assigneeId, 10),\n uid,\n });\n };\n\n const mutation = useMutation(\n async ({ entityId, assigneeId, uid }) => {\n const typeSlug = isSingleType ? 'single-types' : 'collection-types';\n\n const {\n data: { data: createdEntity },\n } = await put(`/admin/content-manager/${typeSlug}/${uid}/${entityId}/assignee`, {\n data: { id: assigneeId },\n });\n\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange(\n {\n target: { name: ASSIGNEE_ATTRIBUTE_NAME, value: createdEntity[ASSIGNEE_ATTRIBUTE_NAME] },\n },\n true\n );\n\n return createdEntity;\n },\n {\n onSuccess() {\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.assignee.notification.saved',\n defaultMessage: 'Assignee updated',\n },\n });\n },\n }\n );\n\n return (\n <Field name={ASSIGNEE_ATTRIBUTE_NAME} id={ASSIGNEE_ATTRIBUTE_NAME}>\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <Combobox\n clearLabel={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.clear',\n defaultMessage: 'Clear assignee',\n })}\n error={\n (isError &&\n canReadUsers &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.error',\n defaultMessage: 'An error occurred while fetching users',\n })) ||\n (mutation.error && formatAPIError(mutation.error))\n }\n disabled={!isLoadingPermissions && !isLoading && users.length === 0}\n name={ASSIGNEE_ATTRIBUTE_NAME}\n id={ASSIGNEE_ATTRIBUTE_NAME}\n value={currentAssignee ? currentAssignee.id : null}\n onChange={(value) => handleChange({ value })}\n onClear={() => handleChange({ value: null })}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select …',\n })}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.label',\n defaultMessage: 'Assignee',\n })}\n loading={isLoading || isLoadingPermissions || mutation.isLoading}\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id}\n textValue={getDisplayName(user, formatMessage)}\n >\n {getDisplayName(user, formatMessage)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n </Flex>\n </Field>\n );\n}\n","import * as React from 'react';\n\nimport { useFetchClient } from '@strapi/helper-plugin';\nimport { useQuery } from 'react-query';\n\nexport function useReviewWorkflowsStages({ id, layout } = {}, queryOptions = {}) {\n const { kind, uid } = layout;\n const slug = kind === 'collectionType' ? 'collection-types' : 'single-types';\n\n const { get } = useFetchClient();\n\n const { data, isLoading, refetch } = useQuery(\n ['content-manager', slug, layout.uid, id, 'stages'],\n async () => {\n const { data } = await get(`/admin/content-manager/${slug}/${uid}/${id}/stages`);\n\n return data;\n },\n queryOptions\n );\n\n // these return values need to be memoized, because the default value\n // would lead to infinite rendering loops when used in a dependency array\n // on an effect\n const meta = React.useMemo(() => data?.meta ?? {}, [data?.meta]);\n const stages = React.useMemo(() => data?.data ?? [], [data?.data]);\n\n return {\n // meta contains e.g. the total of all workflows. we can not use\n // the pagination object here, because the list is not paginated.\n meta,\n stages,\n isLoading,\n refetch,\n };\n}\n","import * as React from 'react';\n\nimport {\n SingleSelect,\n SingleSelectOption,\n Field,\n FieldError,\n FieldHint,\n Flex,\n Loader,\n Typography,\n} from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useFetchClient,\n useNotification,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\nimport { useMutation } from 'react-query';\n\nimport { useLicenseLimits } from '../../../../../../hooks/useLicenseLimits';\nimport * as LimitsModal from '../../../../../../pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal';\nimport {\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n} from '../../../../../../pages/SettingsPage/pages/ReviewWorkflows/constants';\nimport { useReviewWorkflowsStages } from '../../../../../../pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflowsStages';\nimport { getStageColorByHex } from '../../../../../../pages/SettingsPage/pages/ReviewWorkflows/utils/colors';\nimport { STAGE_ATTRIBUTE_NAME } from '../../constants';\n\nexport function StageSelect() {\n const { initialData, layout: contentType, isSingleType, onChange } = useCMEditViewDataManager();\n const { put } = useFetchClient();\n const { formatMessage } = useIntl();\n const { formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const { meta, stages, isLoading, refetch } = useReviewWorkflowsStages(\n { id: initialData.id, layout: contentType },\n {\n enabled: !!initialData?.id,\n }\n );\n const { getFeature } = useLicenseLimits();\n const [showLimitModal, setShowLimitModal] = React.useState(false);\n\n const limits = getFeature('review-workflows');\n // it is possible to rely on initialData here, because it always will\n // be updated at the same time when modifiedData is updated, otherwise\n // the entity is flagged as modified\n const activeWorkflowStage = initialData?.[STAGE_ATTRIBUTE_NAME] ?? null;\n\n const mutation = useMutation(\n async ({ entityId, stageId, uid }) => {\n const typeSlug = isSingleType ? 'single-types' : 'collection-types';\n\n const {\n data: { data: createdEntity },\n } = await put(`/admin/content-manager/${typeSlug}/${uid}/${entityId}/stage`, {\n data: { id: stageId },\n });\n\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange(\n { target: { name: STAGE_ATTRIBUTE_NAME, value: createdEntity[STAGE_ATTRIBUTE_NAME] } },\n true\n );\n\n await refetch();\n\n return createdEntity;\n },\n {\n onSuccess() {\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.stage.notification.saved',\n defaultMessage: 'Review stage updated',\n },\n });\n },\n }\n );\n\n const handleChange = async ({ value: stageId }) => {\n try {\n /**\n * If the current license has a limit:\n * check if the total count of workflows exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n\n if (\n limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10) < meta.workflowCount\n ) {\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit:\n * check if the total count of stages exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n } else if (\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10) < stages.length\n ) {\n setShowLimitModal('stage');\n } else {\n mutation.mutateAsync({\n entityId: initialData.id,\n stageId,\n uid: contentType.uid,\n });\n }\n } catch (error) {\n // react-query@v3: the error doesn't have to be handled here\n // see: https://github.com/TanStack/query/issues/121\n }\n };\n\n const { themeColorName } = activeWorkflowStage?.color\n ? getStageColorByHex(activeWorkflowStage?.color)\n : {};\n\n return (\n <>\n <Field\n hint={\n stages.length === 0 &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.stages.no-transition',\n defaultMessage: 'You don’t have the permission to update this stage.',\n })\n }\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n >\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <SingleSelect\n disabled={stages.length === 0}\n error={(mutation.error && formatAPIError(mutation.error)) || null}\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n value={activeWorkflowStage?.id}\n onChange={(value) => handleChange({ value })}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.stage.label',\n defaultMessage: 'Review stage',\n })}\n startIcon={\n activeWorkflowStage && (\n <Flex\n as=\"span\"\n height={2}\n background={activeWorkflowStage?.color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : 'transparent'}\n hasRadius\n shrink={0}\n width={2}\n marginRight=\"-3px\"\n />\n )\n }\n // eslint-disable-next-line react/no-unstable-nested-components\n customizeContent={() => (\n <Flex as=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis>\n {activeWorkflowStage?.name ?? ''}\n </Typography>\n {isLoading ? (\n <Loader small style={{ display: 'flex' }} data-testid=\"loader\" />\n ) : null}\n </Flex>\n )}\n >\n {stages.map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color);\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : 'transparent'}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={id}\n textValue={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <FieldHint />\n <FieldError />\n </Flex>\n </Field>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'workflow'}\n onClose={() => setShowLimitModal(false)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'stage'}\n onClose={() => setShowLimitModal(false)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </>\n );\n}\n","import React from 'react';\n\nimport { useCMEditViewDataManager } from '@strapi/helper-plugin';\n\nimport { Information } from '../../../../../../../admin/src/content-manager/pages/EditView/Information';\n\nimport { AssigneeSelect } from './components/AssigneeSelect';\nimport { StageSelect } from './components/StageSelect';\n\nexport function InformationBoxEE() {\n const {\n isCreatingEntry,\n layout: { options },\n } = useCMEditViewDataManager();\n\n const hasReviewWorkflowsEnabled = options?.reviewWorkflows ?? false;\n\n return (\n <Information.Root>\n <Information.Title />\n {hasReviewWorkflowsEnabled && !isCreatingEntry && (\n <>\n <StageSelect />\n <AssigneeSelect />\n </>\n )}\n <Information.Body />\n </Information.Root>\n );\n}\n"],"names":["useCMEditViewDataManager","useSelector","selectAdminPermissions","useIntl","useAPIErrorHandler","useNotification","useFetchClient","useRBAC","useAdminUsers","ASSIGNEE_ATTRIBUTE_NAME","useMutation","uid","jsx","Field","Flex","Combobox","ComboboxOption","getDisplayName","useQuery","data","React","useLicenseLimits","STAGE_ATTRIBUTE_NAME","CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME","CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME","getStageColorByHex","jsxs","Fragment","SingleSelect","Typography","Loader","themeColorName","SingleSelectOption","FieldHint","FieldError","LimitsModal.Root","LimitsModal.Title","LimitsModal.Body","Information"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-cdadc366.js","sources":["../../ee/admin/src/content-manager/pages/EditView/InformationBox/components/AssigneeSelect/AssigneeSelect.js","../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflowsStages.js","../../ee/admin/src/content-manager/pages/EditView/InformationBox/components/StageSelect/StageSelect.js","../../ee/admin/src/content-manager/pages/EditView/InformationBox/InformationBoxEE.js"],"sourcesContent":["import * as React from 'react';\n\nimport { Combobox, ComboboxOption, Field, Flex } from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useFetchClient,\n useNotification,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\nimport { useMutation } from 'react-query';\nimport { useSelector } from 'react-redux';\n\nimport { getDisplayName } from '../../../../../../../../../admin/src/content-manager/utils';\nimport { useAdminUsers } from '../../../../../../../../../admin/src/hooks/useAdminUsers';\nimport { selectAdminPermissions } from '../../../../../../../../../admin/src/selectors';\nimport { ASSIGNEE_ATTRIBUTE_NAME } from '../../constants';\n\nexport function AssigneeSelect() {\n const {\n initialData,\n layout: { uid },\n isSingleType,\n onChange,\n } = useCMEditViewDataManager();\n const permissions = useSelector(selectAdminPermissions);\n const { formatMessage } = useIntl();\n const { formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const { put } = useFetchClient();\n const {\n allowedActions: { canReadUsers },\n isLoading: isLoadingPermissions,\n } = useRBAC({\n readUsers: permissions.settings.users.read,\n });\n const { users, isLoading, isError } = useAdminUsers(\n {},\n {\n enabled: !isLoadingPermissions && canReadUsers,\n }\n );\n\n const currentAssignee = initialData?.[ASSIGNEE_ATTRIBUTE_NAME] ?? null;\n\n const handleChange = async ({ value: assigneeId }) => {\n mutation.mutate({\n entityId: initialData.id,\n assigneeId: parseInt(assigneeId, 10),\n uid,\n });\n };\n\n const mutation = useMutation(\n async ({ entityId, assigneeId, uid }) => {\n const typeSlug = isSingleType ? 'single-types' : 'collection-types';\n\n const {\n data: { data: createdEntity },\n } = await put(`/admin/content-manager/${typeSlug}/${uid}/${entityId}/assignee`, {\n data: { id: assigneeId },\n });\n\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange(\n {\n target: { name: ASSIGNEE_ATTRIBUTE_NAME, value: createdEntity[ASSIGNEE_ATTRIBUTE_NAME] },\n },\n true\n );\n\n return createdEntity;\n },\n {\n onSuccess() {\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.assignee.notification.saved',\n defaultMessage: 'Assignee updated',\n },\n });\n },\n }\n );\n\n return (\n <Field name={ASSIGNEE_ATTRIBUTE_NAME} id={ASSIGNEE_ATTRIBUTE_NAME}>\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <Combobox\n clearLabel={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.clear',\n defaultMessage: 'Clear assignee',\n })}\n error={\n (isError &&\n canReadUsers &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.error',\n defaultMessage: 'An error occurred while fetching users',\n })) ||\n (mutation.error && formatAPIError(mutation.error))\n }\n disabled={!isLoadingPermissions && !isLoading && users.length === 0}\n name={ASSIGNEE_ATTRIBUTE_NAME}\n id={ASSIGNEE_ATTRIBUTE_NAME}\n value={currentAssignee ? currentAssignee.id : null}\n onChange={(value) => handleChange({ value })}\n onClear={() => handleChange({ value: null })}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select …',\n })}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.label',\n defaultMessage: 'Assignee',\n })}\n loading={isLoading || isLoadingPermissions || mutation.isLoading}\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id}\n textValue={getDisplayName(user, formatMessage)}\n >\n {getDisplayName(user, formatMessage)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n </Flex>\n </Field>\n );\n}\n","import * as React from 'react';\n\nimport { useFetchClient } from '@strapi/helper-plugin';\nimport { useQuery } from 'react-query';\n\nexport function useReviewWorkflowsStages({ id, layout } = {}, queryOptions = {}) {\n const { kind, uid } = layout;\n const slug = kind === 'collectionType' ? 'collection-types' : 'single-types';\n\n const { get } = useFetchClient();\n\n const { data, isLoading, refetch } = useQuery(\n ['content-manager', slug, layout.uid, id, 'stages'],\n async () => {\n const { data } = await get(`/admin/content-manager/${slug}/${uid}/${id}/stages`);\n\n return data;\n },\n queryOptions\n );\n\n // these return values need to be memoized, because the default value\n // would lead to infinite rendering loops when used in a dependency array\n // on an effect\n const meta = React.useMemo(() => data?.meta ?? {}, [data?.meta]);\n const stages = React.useMemo(() => data?.data ?? [], [data?.data]);\n\n return {\n // meta contains e.g. the total of all workflows. we can not use\n // the pagination object here, because the list is not paginated.\n meta,\n stages,\n isLoading,\n refetch,\n };\n}\n","import * as React from 'react';\n\nimport {\n SingleSelect,\n SingleSelectOption,\n Field,\n FieldError,\n FieldHint,\n Flex,\n Loader,\n Typography,\n} from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useFetchClient,\n useNotification,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\nimport { useMutation } from 'react-query';\n\nimport { useLicenseLimits } from '../../../../../../hooks/useLicenseLimits';\nimport * as LimitsModal from '../../../../../../pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal';\nimport {\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n} from '../../../../../../pages/SettingsPage/pages/ReviewWorkflows/constants';\nimport { useReviewWorkflowsStages } from '../../../../../../pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflowsStages';\nimport { getStageColorByHex } from '../../../../../../pages/SettingsPage/pages/ReviewWorkflows/utils/colors';\nimport { STAGE_ATTRIBUTE_NAME } from '../../constants';\n\nexport function StageSelect() {\n const { initialData, layout: contentType, isSingleType, onChange } = useCMEditViewDataManager();\n const { put } = useFetchClient();\n const { formatMessage } = useIntl();\n const { formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const { meta, stages, isLoading, refetch } = useReviewWorkflowsStages(\n { id: initialData.id, layout: contentType },\n {\n enabled: !!initialData?.id,\n }\n );\n const { getFeature } = useLicenseLimits();\n const [showLimitModal, setShowLimitModal] = React.useState(false);\n\n const limits = getFeature('review-workflows');\n // it is possible to rely on initialData here, because it always will\n // be updated at the same time when modifiedData is updated, otherwise\n // the entity is flagged as modified\n const activeWorkflowStage = initialData?.[STAGE_ATTRIBUTE_NAME] ?? null;\n\n const mutation = useMutation(\n async ({ entityId, stageId, uid }) => {\n const typeSlug = isSingleType ? 'single-types' : 'collection-types';\n\n const {\n data: { data: createdEntity },\n } = await put(`/admin/content-manager/${typeSlug}/${uid}/${entityId}/stage`, {\n data: { id: stageId },\n });\n\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange(\n { target: { name: STAGE_ATTRIBUTE_NAME, value: createdEntity[STAGE_ATTRIBUTE_NAME] } },\n true\n );\n\n await refetch();\n\n return createdEntity;\n },\n {\n onSuccess() {\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.stage.notification.saved',\n defaultMessage: 'Review stage updated',\n },\n });\n },\n }\n );\n\n const handleChange = async ({ value: stageId }) => {\n try {\n /**\n * If the current license has a limit:\n * check if the total count of workflows exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n\n if (\n limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10) < meta.workflowCount\n ) {\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit:\n * check if the total count of stages exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n } else if (\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10) < stages.length\n ) {\n setShowLimitModal('stage');\n } else {\n mutation.mutateAsync({\n entityId: initialData.id,\n stageId,\n uid: contentType.uid,\n });\n }\n } catch (error) {\n // react-query@v3: the error doesn't have to be handled here\n // see: https://github.com/TanStack/query/issues/121\n }\n };\n\n const { themeColorName } = activeWorkflowStage?.color\n ? getStageColorByHex(activeWorkflowStage?.color)\n : {};\n\n return (\n <>\n <Field\n hint={\n stages.length === 0 &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.stages.no-transition',\n defaultMessage: 'You don’t have the permission to update this stage.',\n })\n }\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n >\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <SingleSelect\n disabled={stages.length === 0}\n error={(mutation.error && formatAPIError(mutation.error)) || null}\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n value={activeWorkflowStage?.id}\n onChange={(value) => handleChange({ value })}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.stage.label',\n defaultMessage: 'Review stage',\n })}\n startIcon={\n activeWorkflowStage && (\n <Flex\n as=\"span\"\n height={2}\n background={activeWorkflowStage?.color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : 'transparent'}\n hasRadius\n shrink={0}\n width={2}\n marginRight=\"-3px\"\n />\n )\n }\n // eslint-disable-next-line react/no-unstable-nested-components\n customizeContent={() => (\n <Flex as=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis>\n {activeWorkflowStage?.name ?? ''}\n </Typography>\n {isLoading ? (\n <Loader small style={{ display: 'flex' }} data-testid=\"loader\" />\n ) : null}\n </Flex>\n )}\n >\n {stages.map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color);\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : 'transparent'}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={id}\n textValue={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <FieldHint />\n <FieldError />\n </Flex>\n </Field>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'workflow'}\n onClose={() => setShowLimitModal(false)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'stage'}\n onClose={() => setShowLimitModal(false)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </>\n );\n}\n","import React from 'react';\n\nimport { useCMEditViewDataManager } from '@strapi/helper-plugin';\n\nimport { Information } from '../../../../../../../admin/src/content-manager/pages/EditView/Information';\n\nimport { AssigneeSelect } from './components/AssigneeSelect';\nimport { StageSelect } from './components/StageSelect';\n\nexport function InformationBoxEE() {\n const {\n isCreatingEntry,\n layout: { options },\n } = useCMEditViewDataManager();\n\n const hasReviewWorkflowsEnabled = options?.reviewWorkflows ?? false;\n\n return (\n <Information.Root>\n <Information.Title />\n {hasReviewWorkflowsEnabled && !isCreatingEntry && (\n <>\n <StageSelect />\n <AssigneeSelect />\n </>\n )}\n <Information.Body />\n </Information.Root>\n );\n}\n"],"names":["useCMEditViewDataManager","useSelector","selectAdminPermissions","useIntl","useAPIErrorHandler","useNotification","useFetchClient","useRBAC","useAdminUsers","ASSIGNEE_ATTRIBUTE_NAME","useMutation","uid","jsx","Field","Flex","Combobox","ComboboxOption","getDisplayName","useQuery","data","React","useLicenseLimits","STAGE_ATTRIBUTE_NAME","CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME","CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME","getStageColorByHex","jsxs","Fragment","SingleSelect","Typography","Loader","themeColorName","SingleSelectOption","FieldHint","FieldError","LimitsModal.Root","LimitsModal.Title","LimitsModal.Body","Information"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import PropTypes from "prop-types";
|
|
3
3
|
import { useIntl } from "react-intl";
|
|
4
|
-
import { T as getBasename } from "./index-
|
|
4
|
+
import { T as getBasename } from "./index-60a57d31.mjs";
|
|
5
5
|
import { IconButton, Select, Option } from "@strapi/design-system";
|
|
6
6
|
import { useNotification, useClipboard, ContentBox, getFetchClient } from "@strapi/helper-plugin";
|
|
7
7
|
import { Duplicate, Loader as Loader$1 } from "@strapi/icons";
|
|
@@ -39,7 +39,7 @@ MagicLinkWrapper.propTypes = {
|
|
|
39
39
|
};
|
|
40
40
|
const MagicLinkCE = ({ registrationToken }) => {
|
|
41
41
|
const { formatMessage } = useIntl();
|
|
42
|
-
const target = `${window.location.origin}${getBasename()}auth/register?registrationToken=${registrationToken}`;
|
|
42
|
+
const target = `${window.location.origin}${getBasename()}/auth/register?registrationToken=${registrationToken}`;
|
|
43
43
|
return /* @__PURE__ */ jsx(MagicLinkWrapper, { target, children: formatMessage({
|
|
44
44
|
id: "app.components.Users.MagicLink.connect",
|
|
45
45
|
defaultMessage: "Copy and share this link to give access to this user"
|
|
@@ -129,4 +129,4 @@ export {
|
|
|
129
129
|
SelectRoles as S,
|
|
130
130
|
MagicLinkWrapper as a
|
|
131
131
|
};
|
|
132
|
-
//# sourceMappingURL=index-
|
|
132
|
+
//# sourceMappingURL=index-d81f74c4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-d81f74c4.mjs","sources":["../../admin/src/pages/SettingsPage/pages/Users/components/MagicLink/MagicLinkWrapper.js","../../admin/src/pages/SettingsPage/pages/Users/components/MagicLink/index.js","../../admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js"],"sourcesContent":["import React from 'react';\n\nimport { IconButton } from '@strapi/design-system';\nimport { ContentBox, useClipboard, useNotification } from '@strapi/helper-plugin';\nimport { Duplicate } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nconst MagicLinkWrapper = ({ children, target }) => {\n const toggleNotification = useNotification();\n const { formatMessage } = useIntl();\n const { copy } = useClipboard();\n\n const copyLabel = formatMessage({\n id: 'app.component.CopyToClipboard.label',\n defaultMessage: 'Copy to clipboard',\n });\n\n const handleClick = async () => {\n const didCopy = await copy(target);\n\n if (didCopy) {\n toggleNotification({ type: 'info', message: { id: 'notification.link-copied' } });\n }\n };\n\n return (\n <ContentBox\n endAction={\n <IconButton label={copyLabel} noBorder icon={<Duplicate />} onClick={handleClick} />\n }\n title={target}\n titleEllipsis\n subtitle={children}\n icon={<span style={{ fontSize: 32 }}>✉️</span>}\n iconBackground=\"neutral100\"\n />\n );\n};\n\nMagicLinkWrapper.propTypes = {\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.string]).isRequired,\n target: PropTypes.string.isRequired,\n};\n\nexport default MagicLinkWrapper;\n","import React from 'react';\n\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getBasename } from '../../../../../../core/utils/basename';\n\nimport MagicLinkWrapper from './MagicLinkWrapper';\n\nexport const MagicLinkCE = ({ registrationToken }) => {\n const { formatMessage } = useIntl();\n const target = `${\n window.location.origin\n }${getBasename()}/auth/register?registrationToken=${registrationToken}`;\n\n return (\n <MagicLinkWrapper target={target}>\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect',\n defaultMessage: 'Copy and share this link to give access to this user',\n })}\n </MagicLinkWrapper>\n );\n};\n\nMagicLinkCE.defaultProps = {\n registrationToken: '',\n};\n\nMagicLinkCE.propTypes = {\n registrationToken: PropTypes.string,\n};\n","import React from 'react';\n\nimport { Option, Select } from '@strapi/design-system';\nimport { getFetchClient } from '@strapi/helper-plugin';\nimport { Loader as LoadingIcon } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { useQuery } from 'react-query';\nimport styled, { keyframes } from 'styled-components';\n\nconst rotation = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n`;\n\nconst LoadingWrapper = styled.div`\n animation: ${rotation} 2s infinite linear;\n`;\n\nconst Loader = () => (\n <LoadingWrapper>\n <LoadingIcon />\n </LoadingWrapper>\n);\n\nconst fetchData = async () => {\n const { get } = getFetchClient();\n const { data } = await get('/admin/roles');\n\n return data.data;\n};\n\nconst SelectRoles = ({ disabled, error, onChange, value }) => {\n const { status, data } = useQuery(['roles'], fetchData, {\n staleTime: 50000,\n });\n const { formatMessage } = useIntl();\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n const label = formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.roles',\n defaultMessage: \"User's roles\",\n });\n const hint = formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.roles.description',\n defaultMessage: 'A user can have one or several roles',\n });\n const placeholder = formatMessage({\n id: 'app.components.Select.placeholder',\n defaultMessage: 'Select',\n });\n const startIcon = status === 'loading' ? <Loader /> : undefined;\n\n return (\n <Select\n id=\"roles\"\n disabled={disabled}\n error={errorMessage}\n hint={hint}\n label={label}\n name=\"roles\"\n onChange={(v) => {\n onChange({ target: { name: 'roles', value: v } });\n }}\n placeholder={placeholder}\n multi\n startIcon={startIcon}\n value={value.map((v) => v.toString())}\n withTags\n required\n >\n {(data || []).map((role) => {\n return (\n <Option key={role.id} value={role.id.toString()}>\n {formatMessage({\n id: `global.${role.code}`,\n defaultMessage: role.name,\n })}\n </Option>\n );\n })}\n </Select>\n );\n};\n\nSelectRoles.defaultProps = {\n disabled: false,\n error: undefined,\n};\n\nSelectRoles.propTypes = {\n disabled: PropTypes.bool,\n error: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.array.isRequired,\n};\n\nexport default SelectRoles;\n"],"names":["LoadingIcon"],"mappings":"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"}
|
|
@@ -1,122 +1,50 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { useReducer, useState, useRef, forwardRef, useImperativeHandle } from "react";
|
|
4
4
|
import { Icon, ModalLayout, ModalHeader, Typography, FieldInput, Box, Field, Flex, Button, FieldError, ModalFooter, TextInput, TabGroup, Tabs, Tab, Divider, TabPanels, TabPanel, Card, CardHeader, CardAsset, CardBody, CardContent, CardTitle, CardSubtitle, CardBadge, CarouselInput, CarouselActions, IconButton, CarouselSlide, Grid, GridItem, Layout, Main, Loader, HeaderLayout, ContentLayout, Link } from "@strapi/design-system";
|
|
5
5
|
import { useRBACProvider, useAppInfo, useStrapiApp, hasPermissions, useTracking, getFetchClient, pxToRem, useNotification, useFetchClient, useAPIErrorHandler, useRBAC, useFocusWhenNavigate, prefixFileUrlWithBackendUrl, SettingsPageTitle, LoadingIndicatorPage } from "@strapi/helper-plugin";
|
|
6
6
|
import { Helmet } from "react-helmet";
|
|
7
7
|
import { useIntl } from "react-intl";
|
|
8
8
|
import { useLocation, NavLink, useParams, Redirect, Switch, Route } from "react-router-dom";
|
|
9
|
-
import "
|
|
10
|
-
import produce from "immer";
|
|
11
|
-
import "lodash/pick";
|
|
12
|
-
import "lodash/set";
|
|
13
|
-
import "lodash/unset";
|
|
14
|
-
import { useSelector } from "react-redux";
|
|
15
|
-
import { s as selectAdminPermissions } from "./AuthenticatedApp-b0ada7e9.mjs";
|
|
16
|
-
import { p as useEnterprise, u as useConfiguration, d as createRoute } from "./index-34de382e.mjs";
|
|
9
|
+
import { Q as SETTINGS_LINKS_CE, p as useEnterprise, u as useConfiguration, d as createRoute } from "./index-60a57d31.mjs";
|
|
17
10
|
import sortBy from "lodash/sortBy";
|
|
11
|
+
import { useSelector } from "react-redux";
|
|
12
|
+
import { s as selectAdminPermissions } from "./AuthenticatedApp-fd7e406d.mjs";
|
|
18
13
|
import { SubNav, SubNavHeader, SubNavSections, SubNavSection, SubNavLink } from "@strapi/design-system/v2";
|
|
19
14
|
import { Lock, PicturePlus, Plus, Refresh, Check, ExternalLink } from "@strapi/icons";
|
|
20
15
|
import PropTypes from "prop-types";
|
|
21
16
|
import styled from "styled-components";
|
|
22
17
|
import { useQuery, useMutation } from "react-query";
|
|
18
|
+
import produce from "immer";
|
|
23
19
|
import merge from "lodash/merge";
|
|
24
|
-
import "semver/functions/lt";
|
|
25
|
-
import "semver/functions/valid";
|
|
26
|
-
import "react-dnd";
|
|
27
|
-
import "react-dnd-html5-backend";
|
|
28
|
-
import "lodash/get";
|
|
29
|
-
import "lodash/cloneDeep";
|
|
30
20
|
import "react-dom/client";
|
|
31
21
|
import "invariant";
|
|
32
22
|
import "lodash/isFunction";
|
|
23
|
+
import "lodash/pick";
|
|
33
24
|
import "@radix-ui/react-context";
|
|
34
|
-
import "axios";
|
|
35
|
-
import "lodash/camelCase";
|
|
36
|
-
import "lodash/defaultsDeep";
|
|
37
25
|
import "formik";
|
|
26
|
+
import "lodash/camelCase";
|
|
38
27
|
import "yup";
|
|
28
|
+
import "lodash/defaultsDeep";
|
|
29
|
+
import "lodash/omit";
|
|
39
30
|
import "qs";
|
|
31
|
+
import "lodash/get";
|
|
32
|
+
import "lodash/set";
|
|
40
33
|
import "@reduxjs/toolkit";
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
intlLabel: { id: "Settings.apiTokens.title", defaultMessage: "API Tokens" },
|
|
56
|
-
to: "/settings/api-tokens?sort=name:ASC",
|
|
57
|
-
id: "api-tokens"
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
intlLabel: { id: "Settings.transferTokens.title", defaultMessage: "Transfer Tokens" },
|
|
61
|
-
to: "/settings/transfer-tokens?sort=name:ASC",
|
|
62
|
-
id: "transfer-tokens"
|
|
63
|
-
},
|
|
64
|
-
// If the Enterprise feature is not enabled and if the config doesn't disable it, we promote the Enterprise feature by displaying them in the settings menu.
|
|
65
|
-
// Disable this by adding "promoteEE: false" to your `./config/admin.js` file
|
|
66
|
-
...!window.strapi.features.isEnabled(window.strapi.features.SSO) && window.strapi?.flags?.promoteEE ? [
|
|
67
|
-
{
|
|
68
|
-
intlLabel: { id: "Settings.sso.title", defaultMessage: "Single Sign-On" },
|
|
69
|
-
to: "/settings/purchase-single-sign-on",
|
|
70
|
-
id: "sso",
|
|
71
|
-
lockIcon: true
|
|
72
|
-
}
|
|
73
|
-
] : [],
|
|
74
|
-
...!window.strapi.features.isEnabled(window.strapi.features.REVIEW_WORKFLOWS) && window.strapi?.flags?.promoteEE ? [
|
|
75
|
-
{
|
|
76
|
-
intlLabel: {
|
|
77
|
-
id: "Settings.review-workflows.page.title",
|
|
78
|
-
defaultMessage: "Review Workflows"
|
|
79
|
-
},
|
|
80
|
-
to: "/settings/purchase-review-workflows",
|
|
81
|
-
id: "review-workflows",
|
|
82
|
-
lockIcon: true
|
|
83
|
-
}
|
|
84
|
-
] : []
|
|
85
|
-
],
|
|
86
|
-
admin: [
|
|
87
|
-
{
|
|
88
|
-
intlLabel: { id: "global.roles", defaultMessage: "Roles" },
|
|
89
|
-
to: "/settings/roles",
|
|
90
|
-
id: "roles"
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
intlLabel: { id: "global.users" },
|
|
94
|
-
// Init the search params directly
|
|
95
|
-
to: "/settings/users?pageSize=10&page=1&sort=firstname",
|
|
96
|
-
id: "users"
|
|
97
|
-
},
|
|
98
|
-
...!window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS) && window.strapi?.flags?.promoteEE ? [
|
|
99
|
-
{
|
|
100
|
-
intlLabel: { id: "global.auditLogs", defaultMessage: "Audit Logs" },
|
|
101
|
-
to: "/settings/purchase-audit-logs",
|
|
102
|
-
id: "auditLogs",
|
|
103
|
-
lockIcon: true
|
|
104
|
-
}
|
|
105
|
-
] : []
|
|
106
|
-
]
|
|
107
|
-
};
|
|
108
|
-
const formatLinks = (menu) => {
|
|
109
|
-
return menu.map((menuSection) => {
|
|
110
|
-
const formattedLinks = menuSection.links.map((link) => ({
|
|
111
|
-
...link,
|
|
112
|
-
isDisplayed: false
|
|
113
|
-
}));
|
|
114
|
-
return { ...menuSection, links: formattedLinks };
|
|
115
|
-
});
|
|
116
|
-
};
|
|
117
|
-
const sortLinks = (links) => sortBy(links, (link) => link.id);
|
|
34
|
+
import "semver/functions/lt";
|
|
35
|
+
import "semver/functions/valid";
|
|
36
|
+
import "react-dnd";
|
|
37
|
+
import "react-dnd-html5-backend";
|
|
38
|
+
import "lodash/cloneDeep";
|
|
39
|
+
const formatLinks = (menu) => menu.map((menuSection) => {
|
|
40
|
+
const formattedLinks = menuSection.links.map((link) => ({
|
|
41
|
+
...link,
|
|
42
|
+
isDisplayed: false
|
|
43
|
+
}));
|
|
44
|
+
return { ...menuSection, links: formattedLinks };
|
|
45
|
+
});
|
|
118
46
|
const useSettingsMenu = () => {
|
|
119
|
-
const [{ isLoading, menu }, setData] = useState({
|
|
47
|
+
const [{ isLoading, menu }, setData] = React.useState({
|
|
120
48
|
isLoading: true,
|
|
121
49
|
menu: []
|
|
122
50
|
});
|
|
@@ -124,14 +52,15 @@ const useSettingsMenu = () => {
|
|
|
124
52
|
const { shouldUpdateStrapi } = useAppInfo();
|
|
125
53
|
const { settings } = useStrapiApp();
|
|
126
54
|
const permissions = useSelector(selectAdminPermissions);
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
|
|
55
|
+
const ceLinks = React.useMemo(() => SETTINGS_LINKS_CE(), []);
|
|
56
|
+
const { admin: adminLinks, global: globalLinks } = useEnterprise(
|
|
57
|
+
ceLinks,
|
|
58
|
+
async () => (await import("./constants-6ecddc43.mjs")).SETTINGS_LINKS_EE(),
|
|
130
59
|
{
|
|
131
|
-
combine(
|
|
60
|
+
combine(ceLinks2, eeLinks) {
|
|
132
61
|
return {
|
|
133
|
-
admin: [...eeLinks.admin, ...
|
|
134
|
-
global: [...
|
|
62
|
+
admin: [...eeLinks.admin, ...ceLinks2.admin],
|
|
63
|
+
global: [...ceLinks2.global, ...eeLinks.global]
|
|
135
64
|
};
|
|
136
65
|
},
|
|
137
66
|
defaultValue: {
|
|
@@ -140,53 +69,55 @@ const useSettingsMenu = () => {
|
|
|
140
69
|
}
|
|
141
70
|
}
|
|
142
71
|
);
|
|
143
|
-
const addPermissions = useCallback(
|
|
72
|
+
const addPermissions = React.useCallback(
|
|
144
73
|
(link) => {
|
|
145
74
|
if (!link.id) {
|
|
146
75
|
throw new Error("The settings menu item must have an id attribute.");
|
|
147
76
|
}
|
|
148
77
|
return {
|
|
149
78
|
...link,
|
|
150
|
-
permissions: permissions.settings?.[link.id]?.main
|
|
79
|
+
permissions: permissions.settings?.[link.id]?.main ?? []
|
|
151
80
|
};
|
|
152
81
|
},
|
|
153
82
|
[permissions.settings]
|
|
154
83
|
);
|
|
155
|
-
useEffect(() => {
|
|
84
|
+
React.useEffect(() => {
|
|
156
85
|
const getData = async () => {
|
|
157
86
|
const buildMenuPermissions = (sections2) => Promise.all(
|
|
158
87
|
sections2.reduce((acc, section, sectionIndex) => {
|
|
159
|
-
const
|
|
88
|
+
const linksWithPermissions = section.links.map(async (link, linkIndex) => ({
|
|
160
89
|
hasPermission: await hasPermissions(userPermissions, link.permissions),
|
|
161
90
|
sectionIndex,
|
|
162
91
|
linkIndex
|
|
163
92
|
}));
|
|
164
|
-
return [...acc, ...
|
|
93
|
+
return [...acc, ...linksWithPermissions];
|
|
165
94
|
}, [])
|
|
166
95
|
);
|
|
167
96
|
const menuPermissions = await buildMenuPermissions(sections);
|
|
168
|
-
setData((prev) =>
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
97
|
+
setData((prev) => {
|
|
98
|
+
return {
|
|
99
|
+
...prev,
|
|
100
|
+
isLoading: false,
|
|
101
|
+
menu: sections.map((section, sectionIndex) => ({
|
|
102
|
+
...section,
|
|
103
|
+
links: section.links.map((link, linkIndex) => {
|
|
104
|
+
const permission = menuPermissions.find(
|
|
105
|
+
(permission2) => permission2.sectionIndex === sectionIndex && permission2.linkIndex === linkIndex
|
|
106
|
+
);
|
|
107
|
+
return {
|
|
108
|
+
...link,
|
|
109
|
+
isDisplayed: Boolean(permission?.hasPermission)
|
|
110
|
+
};
|
|
111
|
+
})
|
|
112
|
+
}))
|
|
113
|
+
};
|
|
114
|
+
});
|
|
184
115
|
};
|
|
185
116
|
const { global, ...otherSections } = settings;
|
|
186
117
|
const sections = formatLinks([
|
|
187
118
|
{
|
|
188
|
-
...
|
|
189
|
-
links:
|
|
119
|
+
...global,
|
|
120
|
+
links: sortBy([...global.links, ...globalLinks.map(addPermissions)], (link) => link.id).map(
|
|
190
121
|
(link) => ({
|
|
191
122
|
...link,
|
|
192
123
|
hasNotification: link.id === "000-application-infos" && shouldUpdateStrapi
|
|
@@ -202,13 +133,13 @@ const useSettingsMenu = () => {
|
|
|
202
133
|
]);
|
|
203
134
|
getData();
|
|
204
135
|
}, [adminLinks, globalLinks, userPermissions, settings, shouldUpdateStrapi, addPermissions]);
|
|
205
|
-
|
|
206
|
-
|
|
136
|
+
return {
|
|
137
|
+
isLoading,
|
|
138
|
+
menu: menu.map((menuItem) => ({
|
|
207
139
|
...menuItem,
|
|
208
140
|
links: menuItem.links.filter((link) => link.isDisplayed)
|
|
209
|
-
}
|
|
141
|
+
}))
|
|
210
142
|
};
|
|
211
|
-
return { isLoading, menu: menu.map(filterMenu) };
|
|
212
143
|
};
|
|
213
144
|
const CustomIcon = styled(Icon)`
|
|
214
145
|
right: 15px;
|
|
@@ -267,7 +198,7 @@ SettingsNav.propTypes = {
|
|
|
267
198
|
const ROUTES_CE = [
|
|
268
199
|
{
|
|
269
200
|
async Component() {
|
|
270
|
-
const component = await import("./index-
|
|
201
|
+
const component = await import("./index-c4d3a07b.mjs");
|
|
271
202
|
return component;
|
|
272
203
|
},
|
|
273
204
|
to: "/settings/roles",
|
|
@@ -275,7 +206,7 @@ const ROUTES_CE = [
|
|
|
275
206
|
},
|
|
276
207
|
{
|
|
277
208
|
async Component() {
|
|
278
|
-
const component = await import("./index-
|
|
209
|
+
const component = await import("./index-59e31a9f.mjs");
|
|
279
210
|
return component;
|
|
280
211
|
},
|
|
281
212
|
to: "/settings/roles/duplicate/:id",
|
|
@@ -283,7 +214,7 @@ const ROUTES_CE = [
|
|
|
283
214
|
},
|
|
284
215
|
{
|
|
285
216
|
async Component() {
|
|
286
|
-
const component = await import("./index-
|
|
217
|
+
const component = await import("./index-59e31a9f.mjs");
|
|
287
218
|
return component;
|
|
288
219
|
},
|
|
289
220
|
to: "/settings/roles/new",
|
|
@@ -291,7 +222,7 @@ const ROUTES_CE = [
|
|
|
291
222
|
},
|
|
292
223
|
{
|
|
293
224
|
async Component() {
|
|
294
|
-
const component = await import("./index-
|
|
225
|
+
const component = await import("./index-30933e3e.mjs");
|
|
295
226
|
return component;
|
|
296
227
|
},
|
|
297
228
|
to: "/settings/roles/:id",
|
|
@@ -299,7 +230,7 @@ const ROUTES_CE = [
|
|
|
299
230
|
},
|
|
300
231
|
{
|
|
301
232
|
async Component() {
|
|
302
|
-
const component = await import("./index-
|
|
233
|
+
const component = await import("./index-9c45bda7.mjs").then((n) => n.i);
|
|
303
234
|
return component;
|
|
304
235
|
},
|
|
305
236
|
to: "/settings/users",
|
|
@@ -307,7 +238,7 @@ const ROUTES_CE = [
|
|
|
307
238
|
},
|
|
308
239
|
{
|
|
309
240
|
async Component() {
|
|
310
|
-
const component = await import("./index-
|
|
241
|
+
const component = await import("./index-55f9b6b3.mjs");
|
|
311
242
|
return component;
|
|
312
243
|
},
|
|
313
244
|
to: "/settings/users/:id",
|
|
@@ -315,7 +246,7 @@ const ROUTES_CE = [
|
|
|
315
246
|
},
|
|
316
247
|
{
|
|
317
248
|
async Component() {
|
|
318
|
-
const component = await import("./index-
|
|
249
|
+
const component = await import("./index-cc7bedec.mjs");
|
|
319
250
|
return component;
|
|
320
251
|
},
|
|
321
252
|
to: "/settings/webhooks/create",
|
|
@@ -323,7 +254,7 @@ const ROUTES_CE = [
|
|
|
323
254
|
},
|
|
324
255
|
{
|
|
325
256
|
async Component() {
|
|
326
|
-
const component = await import("./index-
|
|
257
|
+
const component = await import("./index-45ae7be1.mjs");
|
|
327
258
|
return component;
|
|
328
259
|
},
|
|
329
260
|
to: "/settings/webhooks/:id",
|
|
@@ -331,7 +262,7 @@ const ROUTES_CE = [
|
|
|
331
262
|
},
|
|
332
263
|
{
|
|
333
264
|
async Component() {
|
|
334
|
-
const component = await import("./index-
|
|
265
|
+
const component = await import("./index-a7d28c42.mjs");
|
|
335
266
|
return component;
|
|
336
267
|
},
|
|
337
268
|
to: "/settings/webhooks",
|
|
@@ -339,7 +270,7 @@ const ROUTES_CE = [
|
|
|
339
270
|
},
|
|
340
271
|
{
|
|
341
272
|
async Component() {
|
|
342
|
-
const component = await import("./index-
|
|
273
|
+
const component = await import("./index-dace55d9.mjs");
|
|
343
274
|
return component;
|
|
344
275
|
},
|
|
345
276
|
to: "/settings/api-tokens",
|
|
@@ -347,7 +278,7 @@ const ROUTES_CE = [
|
|
|
347
278
|
},
|
|
348
279
|
{
|
|
349
280
|
async Component() {
|
|
350
|
-
const component = await import("./index-
|
|
281
|
+
const component = await import("./index-fe29b1fd.mjs");
|
|
351
282
|
return component;
|
|
352
283
|
},
|
|
353
284
|
to: "/settings/api-tokens/create",
|
|
@@ -355,7 +286,7 @@ const ROUTES_CE = [
|
|
|
355
286
|
},
|
|
356
287
|
{
|
|
357
288
|
async Component() {
|
|
358
|
-
const component = await import("./index-
|
|
289
|
+
const component = await import("./index-5df8a59e.mjs");
|
|
359
290
|
return component;
|
|
360
291
|
},
|
|
361
292
|
to: "/settings/api-tokens/:id",
|
|
@@ -363,7 +294,7 @@ const ROUTES_CE = [
|
|
|
363
294
|
},
|
|
364
295
|
{
|
|
365
296
|
async Component() {
|
|
366
|
-
const component = await import("./index-
|
|
297
|
+
const component = await import("./index-22993544.mjs");
|
|
367
298
|
return component;
|
|
368
299
|
},
|
|
369
300
|
to: "/settings/transfer-tokens/create",
|
|
@@ -371,7 +302,7 @@ const ROUTES_CE = [
|
|
|
371
302
|
},
|
|
372
303
|
{
|
|
373
304
|
async Component() {
|
|
374
|
-
const component = await import("./index-
|
|
305
|
+
const component = await import("./index-bf788868.mjs");
|
|
375
306
|
return component;
|
|
376
307
|
},
|
|
377
308
|
to: "/settings/transfer-tokens",
|
|
@@ -379,7 +310,7 @@ const ROUTES_CE = [
|
|
|
379
310
|
},
|
|
380
311
|
{
|
|
381
312
|
async Component() {
|
|
382
|
-
const component = await import("./index-
|
|
313
|
+
const component = await import("./index-0ed0c104.mjs");
|
|
383
314
|
return component;
|
|
384
315
|
},
|
|
385
316
|
to: "/settings/transfer-tokens/:id",
|
|
@@ -1258,7 +1189,7 @@ const ApplicationInfosPage = () => {
|
|
|
1258
1189
|
} = useAppInfo();
|
|
1259
1190
|
const AdminSeatInfo = useEnterprise(
|
|
1260
1191
|
AdminSeatInfoCE,
|
|
1261
|
-
async () => (await import("./index-
|
|
1192
|
+
async () => (await import("./index-52b70b56.mjs")).AdminSeatInfoEE
|
|
1262
1193
|
);
|
|
1263
1194
|
const {
|
|
1264
1195
|
allowedActions: { canRead, canUpdate }
|
|
@@ -1455,7 +1386,7 @@ function SettingsPage() {
|
|
|
1455
1386
|
const { isLoading, menu } = useSettingsMenu();
|
|
1456
1387
|
const routes = useEnterprise(
|
|
1457
1388
|
ROUTES_CE,
|
|
1458
|
-
async () => (await import("./constants-
|
|
1389
|
+
async () => (await import("./constants-cbadfd36.mjs")).ROUTES_EE,
|
|
1459
1390
|
{
|
|
1460
1391
|
combine(ceRoutes, eeRoutes) {
|
|
1461
1392
|
return [...ceRoutes, ...eeRoutes];
|
|
@@ -1498,4 +1429,4 @@ function SettingsPage() {
|
|
|
1498
1429
|
export {
|
|
1499
1430
|
SettingsPage
|
|
1500
1431
|
};
|
|
1501
|
-
//# sourceMappingURL=index-
|
|
1432
|
+
//# sourceMappingURL=index-d93367d2.mjs.map
|