@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-f49c76d7.js","sources":["../../admin/src/content-manager/utils/getTrad.js","../../admin/src/content-manager/contexts/Wysiwyg.js","../../admin/src/content-manager/hooks/useKeyboardDragAndDrop.js","../../admin/src/content-manager/hooks/useDragAndDrop.js","../../admin/src/content-manager/pages/App/selectors.js","../../admin/src/content-manager/utils/composeRefs.js","../../admin/src/content-manager/utils/isFieldTypeNumber.js","../../admin/src/content-manager/utils/schema.js"],"sourcesContent":["const getTrad = (id) => `content-manager.${id}`;\n\nexport default getTrad;\n","import { createContext } from 'react';\n\nconst WysiwygContext = createContext();\n\nexport default WysiwygContext;\n","import { useState } from 'react';\n\n/**\n * @typedef UseKeyboardDragAndDropCallbacks\n *\n * @type {{\n * onCancel?: (index: number) => void,\n * onDropItem?: (index: number) => void,\n * onGrabItem?: (index: number) => void,\n * onMoveItem: (newIndex: number, currentIndex: number) => void,\n * }}\n */\n\n/**\n * Utility hook designed to implement keyboard accessibile drag and drop by\n * returning an onKeyDown handler to be passed to the drag icon button.\n *\n * @internal - You should use `useDragAndDrop` instead.\n *\n * @type {(active: boolean, index: number, callbacks: UseKeyboardDragAndDropCallbacks) => (event: React.KeyboardEvent<HTMLButtonElement>) => void}\n */\nexport const useKeyboardDragAndDrop = (\n active,\n index,\n { onCancel, onDropItem, onGrabItem, onMoveItem }\n) => {\n const [isSelected, setIsSelected] = useState(false);\n /**\n * @type {(movement: 'UP' | 'DOWN') => void})}\n */\n const handleMove = (movement) => {\n if (!isSelected) {\n return;\n }\n\n if (movement === 'UP') {\n onMoveItem(index - 1, index);\n } else if (movement === 'DOWN') {\n onMoveItem(index + 1, index);\n }\n };\n\n const handleDragClick = () => {\n if (isSelected) {\n if (onDropItem) {\n onDropItem(index);\n }\n setIsSelected(false);\n } else {\n if (onGrabItem) {\n onGrabItem(index);\n }\n setIsSelected(true);\n }\n };\n\n const handleCancel = () => {\n if (isSelected) {\n setIsSelected(false);\n\n if (onCancel) {\n onCancel(index);\n }\n }\n };\n\n /**\n * @type {React.KeyboardEventHandler<HTMLButtonElement>}\n */\n const handleKeyDown = (e) => {\n if (!active) {\n return;\n }\n\n if (e.key === 'Tab' && !isSelected) {\n return;\n }\n\n e.preventDefault();\n\n switch (e.key) {\n case ' ':\n case 'Enter':\n handleDragClick();\n break;\n\n case 'Escape':\n handleCancel();\n break;\n\n case 'ArrowDown':\n case 'ArrowRight':\n handleMove('DOWN');\n break;\n\n case 'ArrowUp':\n case 'ArrowLeft':\n handleMove('UP');\n break;\n\n default:\n }\n };\n\n return handleKeyDown;\n};\n","import { useRef } from 'react';\n\nimport { useDrag, useDrop } from 'react-dnd';\n\nimport { useKeyboardDragAndDrop } from './useKeyboardDragAndDrop';\n\n/**\n * @typedef UseDragAndDropOptions\n *\n * @type {{\n * type?: string,\n * index: number,\n * item?: object,\n * onStart?: () => void,\n * onEnd?: () => void,\n * dropSensitivity?: 'regular' | 'immediate'\n * } & import('./useKeyboardDragAndDrop').UseKeyboardDragAndDropCallbacks}\n */\n\n/**\n * @typedef UseDragAndDropReturn\n *\n * @type {[props: {handlerId: import('dnd-core').Identifier, isDragging: boolean, handleKeyDown: (event: import('react').KeyboardEvent<HTMLButtonElement>) => void}, objectRef: React.RefObject<HTMLElement>, dropRef: import('react-dnd').ConnectDropTarget, dragRef: import('react-dnd').ConnectDragSource, dragPreviewRef: import('react-dnd').ConnectDragPreview]}\n */\n\n/**\n * A utility hook abstracting the general drag and drop hooks from react-dnd.\n * Centralising the same behaviours and by default offering keyboard support.\n *\n * @type {(active: boolean, options: UseDragAndDropOptions) => UseDragAndDropReturn}\n */\nexport const useDragAndDrop = (\n active,\n {\n type = 'STRAPI_DND',\n index,\n item = {},\n onStart,\n onEnd,\n onGrabItem,\n onDropItem,\n onCancel,\n onMoveItem,\n dropSensitivity = 'regular',\n }\n) => {\n const objectRef = useRef(null);\n\n const [{ handlerId }, dropRef] = useDrop({\n accept: type,\n collect(monitor) {\n return {\n handlerId: monitor.getHandlerId(),\n };\n },\n hover(item, monitor) {\n if (!objectRef.current) {\n return;\n }\n const dragIndex = item.index;\n const newInd = index;\n\n // Don't replace items with themselves\n if (dragIndex === newInd) {\n return;\n }\n\n if (dropSensitivity === 'regular') {\n const hoverBoundingRect = objectRef.current.getBoundingClientRect();\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\n const clientOffset = monitor.getClientOffset();\n const hoverClientY = clientOffset.y - hoverBoundingRect.top;\n\n // Dragging downwards\n if (dragIndex < newInd && hoverClientY < hoverMiddleY) {\n return;\n }\n\n // Dragging upwards\n if (dragIndex > newInd && hoverClientY > hoverMiddleY) {\n return;\n }\n }\n\n // Time to actually perform the action\n onMoveItem(newInd, dragIndex);\n item.index = newInd;\n },\n });\n\n const [{ isDragging }, dragRef, dragPreviewRef] = useDrag({\n type,\n item() {\n if (onStart) {\n onStart();\n }\n\n /**\n * This will be attached and it helps define the preview sizes\n * when a component is flexy e.g. Relations\n */\n const { width } = objectRef.current?.getBoundingClientRect() ?? {};\n\n return { index, width, ...item };\n },\n end() {\n if (onEnd) {\n onEnd();\n }\n },\n canDrag: active,\n /**\n * This is for useful when the item is in a virtualized list.\n * However, if we don't have an ID then we want the libraries\n * defaults to take care of this.\n */\n isDragging: item.id\n ? (monitor) => {\n return item.id === monitor.getItem().id;\n }\n : undefined,\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n });\n\n const handleKeyDown = useKeyboardDragAndDrop(active, index, {\n onGrabItem,\n onDropItem,\n onCancel,\n onMoveItem,\n });\n\n return [{ handlerId, isDragging, handleKeyDown }, objectRef, dropRef, dragRef, dragPreviewRef];\n};\n","import { createSelector } from '@reduxjs/toolkit';\n\nimport { initialState } from './reducer';\n\nconst selectAppDomain = () => (state) => {\n return state['content-manager_app'] || initialState;\n};\n\nconst makeSelectApp = () =>\n createSelector(selectAppDomain(), (substate) => {\n return substate;\n });\n\nconst makeSelectModels = () => createSelector(selectAppDomain(), (state) => state.models);\n\nconst makeSelectModelLinks = () =>\n createSelector(selectAppDomain(), (state) => ({\n collectionTypeLinks: state.collectionTypeLinks,\n singleTypeLinks: state.singleTypeLinks,\n }));\n\nconst makeSelectModelAndComponentSchemas = () =>\n createSelector(selectAppDomain(), ({ components, models }) => ({\n schemas: [...components, ...models],\n }));\n\nconst selectFieldSizes = createSelector(selectAppDomain(), (state) => state.fieldSizes);\n\nexport default makeSelectApp;\nexport {\n makeSelectModelAndComponentSchemas,\n makeSelectModelLinks,\n makeSelectModels,\n selectAppDomain,\n selectFieldSizes,\n};\n","/**\n * @typedef PossibleRef<T>\n * @type {React.Ref<T> | undefined;}\n *\n * @typedef setRef\n * @type {<T>(ref: PossibleRef<T>, value: T) => React.RefCallback<T>}\n */\n\n/**\n * @type {setRef}\n */\nconst setRef = (ref, value) => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n};\n\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n *\n * @type {<T>(...refs: PossibleRef<T>[]) => (node: T) => void}\n */\nexport const composeRefs = (...refs) => {\n return (node) => refs.forEach((ref) => setRef(ref, node));\n};\n","export default function isFieldTypeNumber(type) {\n return ['integer', 'biginteger', 'decimal', 'float', 'number'].includes(type);\n}\n","import { translatedErrors as errorsTrads } from '@strapi/helper-plugin';\nimport get from 'lodash/get';\nimport isBoolean from 'lodash/isBoolean';\nimport isEmpty from 'lodash/isEmpty';\nimport isNaN from 'lodash/isNaN';\nimport toNumber from 'lodash/toNumber';\nimport * as yup from 'yup';\n\nimport isFieldTypeNumber from './isFieldTypeNumber';\n\nyup.addMethod(yup.mixed, 'defined', function () {\n return this.test('defined', errorsTrads.required, (value) => value !== undefined);\n});\n\nyup.addMethod(yup.array, 'notEmptyMin', function (min) {\n return this.test('notEmptyMin', errorsTrads.min, (value) => {\n if (isEmpty(value)) {\n return true;\n }\n\n return value.length >= min;\n });\n});\n\nyup.addMethod(yup.string, 'isInferior', function (message, max) {\n return this.test('isInferior', message, function (value) {\n if (!value) {\n return true;\n }\n\n if (Number.isNaN(toNumber(value))) {\n return true;\n }\n\n return toNumber(max) >= toNumber(value);\n });\n});\n\nyup.addMethod(yup.string, 'isSuperior', function (message, min) {\n return this.test('isSuperior', message, function (value) {\n if (!value) {\n return true;\n }\n\n if (Number.isNaN(toNumber(value))) {\n return true;\n }\n\n return toNumber(value) >= toNumber(min);\n });\n});\n\nconst getAttributes = (data) => get(data, ['attributes'], {});\n\nconst createYupSchema = (\n model,\n { components },\n options = {\n isCreatingEntry: true,\n isDraft: true,\n isFromComponent: false,\n isJSONTestDisabled: false,\n }\n) => {\n const attributes = getAttributes(model);\n\n return yup.object().shape(\n Object.keys(attributes).reduce((acc, current) => {\n const attribute = attributes[current];\n\n if (\n attribute.type !== 'relation' &&\n attribute.type !== 'component' &&\n attribute.type !== 'dynamiczone'\n ) {\n const formatted = createYupSchemaAttribute(attribute.type, attribute, options);\n acc[current] = formatted;\n }\n\n if (attribute.type === 'relation') {\n acc[current] = [\n 'oneWay',\n 'oneToOne',\n 'manyToOne',\n 'oneToManyMorph',\n 'oneToOneMorph',\n ].includes(attribute.relationType)\n ? yup.object().nullable()\n : yup.array().nullable();\n }\n\n if (attribute.type === 'component') {\n const componentFieldSchema = createYupSchema(\n components[attribute.component],\n {\n components,\n },\n { ...options, isFromComponent: true }\n );\n\n if (attribute.repeatable === true) {\n const { min, max, required } = attribute;\n\n let componentSchema = yup.lazy((value) => {\n let baseSchema = yup.array().of(componentFieldSchema);\n\n if (min) {\n if (required) {\n baseSchema = baseSchema.min(min, errorsTrads.min);\n } else if (required !== true && isEmpty(value)) {\n baseSchema = baseSchema.nullable();\n } else {\n baseSchema = baseSchema.min(min, errorsTrads.min);\n }\n } else if (required && !options.isDraft) {\n baseSchema = baseSchema.min(1, errorsTrads.required);\n }\n\n if (max) {\n baseSchema = baseSchema.max(max, errorsTrads.max);\n }\n\n return baseSchema;\n });\n\n acc[current] = componentSchema;\n\n return acc;\n }\n const componentSchema = yup.lazy((obj) => {\n if (obj !== undefined) {\n return attribute.required === true && !options.isDraft\n ? componentFieldSchema.defined()\n : componentFieldSchema.nullable();\n }\n\n return attribute.required === true ? yup.object().defined() : yup.object().nullable();\n });\n\n acc[current] = componentSchema;\n\n return acc;\n }\n\n if (attribute.type === 'dynamiczone') {\n let dynamicZoneSchema = yup.array().of(\n yup.lazy(({ __component }) => {\n return createYupSchema(\n components[__component],\n { components },\n { ...options, isFromComponent: true }\n );\n })\n );\n\n const { max, min } = attribute;\n\n if (min) {\n if (attribute.required) {\n dynamicZoneSchema = dynamicZoneSchema\n .test('min', errorsTrads.min, (value) => {\n if (options.isCreatingEntry) {\n return value && value.length >= min;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null && value.length >= min;\n })\n .test('required', errorsTrads.required, (value) => {\n if (options.isCreatingEntry) {\n return value !== null || value !== undefined;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null;\n });\n } else {\n dynamicZoneSchema = dynamicZoneSchema.notEmptyMin(min);\n }\n } else if (attribute.required && !options.isDraft) {\n dynamicZoneSchema = dynamicZoneSchema.test('required', errorsTrads.required, (value) => {\n if (options.isCreatingEntry) {\n return value !== null || value !== undefined;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null;\n });\n }\n\n if (max) {\n dynamicZoneSchema = dynamicZoneSchema.max(max, errorsTrads.max);\n }\n\n acc[current] = dynamicZoneSchema;\n }\n\n return acc;\n }, {})\n );\n};\n\nconst createYupSchemaAttribute = (type, validations, options) => {\n let schema = yup.mixed();\n\n if (['string', 'uid', 'text', 'richtext', 'email', 'password', 'enumeration'].includes(type)) {\n schema = yup.string();\n }\n\n if (type === 'blocks') {\n schema = yup.mixed().test('isJSON', errorsTrads.json, (value) => {\n // Disable the test for bulk publish, it's valid when it comes from the db\n if (options.isJSONTestDisabled) {\n return true;\n }\n\n // Don't run validations on drafts\n if (options.isDraft) {\n return true;\n }\n\n // The backend validates the actual schema, check if a value different than null is not an array\n if (value && !Array.isArray(value)) {\n return false;\n }\n\n return true;\n });\n }\n\n if (type === 'json') {\n schema = yup\n .mixed(errorsTrads.json)\n .test('isJSON', errorsTrads.json, (value) => {\n // Disable the test for bulk publish, it's valid when it comes from the db\n if (options.isJSONTestDisabled) {\n return true;\n }\n\n if (!value || !value.length) {\n return true;\n }\n\n try {\n JSON.parse(value);\n\n return true;\n } catch (err) {\n return false;\n }\n })\n .nullable()\n .test('required', errorsTrads.required, (value) => {\n if (validations.required && (!value || !value.length)) {\n return false;\n }\n\n return true;\n });\n }\n\n if (type === 'email') {\n schema = schema.email(errorsTrads.email);\n }\n\n if (['number', 'integer', 'float', 'decimal'].includes(type)) {\n schema = yup\n .number()\n .transform((cv) => (isNaN(cv) ? undefined : cv))\n .typeError();\n }\n\n if (type === 'biginteger') {\n schema = yup.string().matches(/^-?\\d*$/);\n }\n\n if (['date', 'datetime'].includes(type)) {\n schema = yup.date();\n }\n\n Object.keys(validations).forEach((validation) => {\n const validationValue = validations[validation];\n\n if (\n !!validationValue ||\n (!isBoolean(validationValue) && Number.isInteger(Math.floor(validationValue))) ||\n validationValue === 0\n ) {\n switch (validation) {\n case 'required': {\n if (!options.isDraft) {\n if (type === 'password' && options.isCreatingEntry) {\n schema = schema.required(errorsTrads.required);\n }\n\n if (type !== 'password') {\n if (options.isCreatingEntry) {\n schema = schema.required(errorsTrads.required);\n } else {\n schema = schema.test('required', errorsTrads.required, (value) => {\n // Field is not touched and the user is editing the entry\n if (value === undefined && !options.isFromComponent) {\n return true;\n }\n\n if (isFieldTypeNumber(type)) {\n if (value === 0) {\n return true;\n }\n\n return !!value;\n }\n\n if (type === 'boolean') {\n // Boolean value can be undefined/unset in modifiedData when generated in a new component\n return value !== null && value !== undefined;\n }\n\n if (type === 'date' || type === 'datetime') {\n if (typeof value === 'string') {\n return !isEmpty(value);\n }\n\n return !isEmpty(value?.toString());\n }\n\n return !isEmpty(value);\n });\n }\n }\n }\n\n break;\n }\n\n case 'max': {\n if (type === 'biginteger') {\n schema = schema.isInferior(errorsTrads.max, validationValue);\n } else {\n schema = schema.max(validationValue, errorsTrads.max);\n }\n break;\n }\n case 'maxLength':\n schema = schema.max(validationValue, errorsTrads.maxLength);\n break;\n case 'min': {\n if (type === 'biginteger') {\n schema = schema.isSuperior(errorsTrads.min, validationValue);\n } else {\n schema = schema.min(validationValue, errorsTrads.min);\n }\n break;\n }\n case 'minLength': {\n if (!options.isDraft) {\n schema = schema.min(validationValue, errorsTrads.minLength);\n }\n break;\n }\n case 'regex':\n schema = schema.matches(new RegExp(validationValue), {\n message: errorsTrads.regex,\n excludeEmptyString: !validations.required,\n });\n break;\n case 'lowercase':\n if (['text', 'textarea', 'email', 'string'].includes(type)) {\n schema = schema.strict().lowercase();\n }\n break;\n case 'uppercase':\n if (['text', 'textarea', 'email', 'string'].includes(type)) {\n schema = schema.strict().uppercase();\n }\n break;\n case 'positive':\n if (isFieldTypeNumber(type)) {\n schema = schema.positive();\n }\n break;\n case 'negative':\n if (isFieldTypeNumber(type)) {\n schema = schema.negative();\n }\n break;\n default:\n schema = schema.nullable();\n }\n }\n });\n\n return schema;\n};\n\nexport default createYupSchema;\n"],"names":["createContext","index","useState","useRef","useDrop","item","useDrag","initialState","createSelector","yup","errorsTrads","isEmpty","toNumber","get","componentSchema","isNaN","isBoolean"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema-8eebfdf9.js","sources":["../../admin/src/content-manager/utils/getTrad.js","../../admin/src/content-manager/contexts/Wysiwyg.js","../../admin/src/content-manager/hooks/useKeyboardDragAndDrop.js","../../admin/src/content-manager/hooks/useDragAndDrop.js","../../admin/src/content-manager/pages/App/selectors.js","../../admin/src/content-manager/utils/composeRefs.js","../../admin/src/content-manager/utils/isFieldTypeNumber.js","../../admin/src/content-manager/utils/schema.js"],"sourcesContent":["const getTrad = (id) => `content-manager.${id}`;\n\nexport default getTrad;\n","import { createContext } from 'react';\n\nconst WysiwygContext = createContext();\n\nexport default WysiwygContext;\n","import { useState } from 'react';\n\n/**\n * @typedef UseKeyboardDragAndDropCallbacks\n *\n * @type {{\n * onCancel?: (index: number) => void,\n * onDropItem?: (index: number) => void,\n * onGrabItem?: (index: number) => void,\n * onMoveItem: (newIndex: number, currentIndex: number) => void,\n * }}\n */\n\n/**\n * Utility hook designed to implement keyboard accessibile drag and drop by\n * returning an onKeyDown handler to be passed to the drag icon button.\n *\n * @internal - You should use `useDragAndDrop` instead.\n *\n * @type {(active: boolean, index: number, callbacks: UseKeyboardDragAndDropCallbacks) => (event: React.KeyboardEvent<HTMLButtonElement>) => void}\n */\nexport const useKeyboardDragAndDrop = (\n active,\n index,\n { onCancel, onDropItem, onGrabItem, onMoveItem }\n) => {\n const [isSelected, setIsSelected] = useState(false);\n /**\n * @type {(movement: 'UP' | 'DOWN') => void})}\n */\n const handleMove = (movement) => {\n if (!isSelected) {\n return;\n }\n\n if (movement === 'UP') {\n onMoveItem(index - 1, index);\n } else if (movement === 'DOWN') {\n onMoveItem(index + 1, index);\n }\n };\n\n const handleDragClick = () => {\n if (isSelected) {\n if (onDropItem) {\n onDropItem(index);\n }\n setIsSelected(false);\n } else {\n if (onGrabItem) {\n onGrabItem(index);\n }\n setIsSelected(true);\n }\n };\n\n const handleCancel = () => {\n if (isSelected) {\n setIsSelected(false);\n\n if (onCancel) {\n onCancel(index);\n }\n }\n };\n\n /**\n * @type {React.KeyboardEventHandler<HTMLButtonElement>}\n */\n const handleKeyDown = (e) => {\n if (!active) {\n return;\n }\n\n if (e.key === 'Tab' && !isSelected) {\n return;\n }\n\n e.preventDefault();\n\n switch (e.key) {\n case ' ':\n case 'Enter':\n handleDragClick();\n break;\n\n case 'Escape':\n handleCancel();\n break;\n\n case 'ArrowDown':\n case 'ArrowRight':\n handleMove('DOWN');\n break;\n\n case 'ArrowUp':\n case 'ArrowLeft':\n handleMove('UP');\n break;\n\n default:\n }\n };\n\n return handleKeyDown;\n};\n","import { useRef } from 'react';\n\nimport { useDrag, useDrop } from 'react-dnd';\n\nimport { useKeyboardDragAndDrop } from './useKeyboardDragAndDrop';\n\n/**\n * @typedef UseDragAndDropOptions\n *\n * @type {{\n * type?: string,\n * index: number,\n * item?: object,\n * onStart?: () => void,\n * onEnd?: () => void,\n * dropSensitivity?: 'regular' | 'immediate'\n * } & import('./useKeyboardDragAndDrop').UseKeyboardDragAndDropCallbacks}\n */\n\n/**\n * @typedef UseDragAndDropReturn\n *\n * @type {[props: {handlerId: import('dnd-core').Identifier, isDragging: boolean, handleKeyDown: (event: import('react').KeyboardEvent<HTMLButtonElement>) => void}, objectRef: React.RefObject<HTMLElement>, dropRef: import('react-dnd').ConnectDropTarget, dragRef: import('react-dnd').ConnectDragSource, dragPreviewRef: import('react-dnd').ConnectDragPreview]}\n */\n\n/**\n * A utility hook abstracting the general drag and drop hooks from react-dnd.\n * Centralising the same behaviours and by default offering keyboard support.\n *\n * @type {(active: boolean, options: UseDragAndDropOptions) => UseDragAndDropReturn}\n */\nexport const useDragAndDrop = (\n active,\n {\n type = 'STRAPI_DND',\n index,\n item = {},\n onStart,\n onEnd,\n onGrabItem,\n onDropItem,\n onCancel,\n onMoveItem,\n dropSensitivity = 'regular',\n }\n) => {\n const objectRef = useRef(null);\n\n const [{ handlerId }, dropRef] = useDrop({\n accept: type,\n collect(monitor) {\n return {\n handlerId: monitor.getHandlerId(),\n };\n },\n hover(item, monitor) {\n if (!objectRef.current) {\n return;\n }\n const dragIndex = item.index;\n const newInd = index;\n\n // Don't replace items with themselves\n if (dragIndex === newInd) {\n return;\n }\n\n if (dropSensitivity === 'regular') {\n const hoverBoundingRect = objectRef.current.getBoundingClientRect();\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\n const clientOffset = monitor.getClientOffset();\n const hoverClientY = clientOffset.y - hoverBoundingRect.top;\n\n // Dragging downwards\n if (dragIndex < newInd && hoverClientY < hoverMiddleY) {\n return;\n }\n\n // Dragging upwards\n if (dragIndex > newInd && hoverClientY > hoverMiddleY) {\n return;\n }\n }\n\n // Time to actually perform the action\n onMoveItem(newInd, dragIndex);\n item.index = newInd;\n },\n });\n\n const [{ isDragging }, dragRef, dragPreviewRef] = useDrag({\n type,\n item() {\n if (onStart) {\n onStart();\n }\n\n /**\n * This will be attached and it helps define the preview sizes\n * when a component is flexy e.g. Relations\n */\n const { width } = objectRef.current?.getBoundingClientRect() ?? {};\n\n return { index, width, ...item };\n },\n end() {\n if (onEnd) {\n onEnd();\n }\n },\n canDrag: active,\n /**\n * This is for useful when the item is in a virtualized list.\n * However, if we don't have an ID then we want the libraries\n * defaults to take care of this.\n */\n isDragging: item.id\n ? (monitor) => {\n return item.id === monitor.getItem().id;\n }\n : undefined,\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n });\n\n const handleKeyDown = useKeyboardDragAndDrop(active, index, {\n onGrabItem,\n onDropItem,\n onCancel,\n onMoveItem,\n });\n\n return [{ handlerId, isDragging, handleKeyDown }, objectRef, dropRef, dragRef, dragPreviewRef];\n};\n","import { createSelector } from '@reduxjs/toolkit';\n\nimport { initialState } from './reducer';\n\nconst selectAppDomain = () => (state) => {\n return state['content-manager_app'] || initialState;\n};\n\nconst makeSelectApp = () =>\n createSelector(selectAppDomain(), (substate) => {\n return substate;\n });\n\nconst makeSelectModels = () => createSelector(selectAppDomain(), (state) => state.models);\n\nconst makeSelectModelLinks = () =>\n createSelector(selectAppDomain(), (state) => ({\n collectionTypeLinks: state.collectionTypeLinks,\n singleTypeLinks: state.singleTypeLinks,\n }));\n\nconst makeSelectModelAndComponentSchemas = () =>\n createSelector(selectAppDomain(), ({ components, models }) => ({\n schemas: [...components, ...models],\n }));\n\nconst selectFieldSizes = createSelector(selectAppDomain(), (state) => state.fieldSizes);\n\nexport default makeSelectApp;\nexport {\n makeSelectModelAndComponentSchemas,\n makeSelectModelLinks,\n makeSelectModels,\n selectAppDomain,\n selectFieldSizes,\n};\n","/**\n * @typedef PossibleRef<T>\n * @type {React.Ref<T> | undefined;}\n *\n * @typedef setRef\n * @type {<T>(ref: PossibleRef<T>, value: T) => React.RefCallback<T>}\n */\n\n/**\n * @type {setRef}\n */\nconst setRef = (ref, value) => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n};\n\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n *\n * @type {<T>(...refs: PossibleRef<T>[]) => (node: T) => void}\n */\nexport const composeRefs = (...refs) => {\n return (node) => refs.forEach((ref) => setRef(ref, node));\n};\n","export default function isFieldTypeNumber(type) {\n return ['integer', 'biginteger', 'decimal', 'float', 'number'].includes(type);\n}\n","import { translatedErrors as errorsTrads } from '@strapi/helper-plugin';\nimport get from 'lodash/get';\nimport isBoolean from 'lodash/isBoolean';\nimport isEmpty from 'lodash/isEmpty';\nimport isNaN from 'lodash/isNaN';\nimport toNumber from 'lodash/toNumber';\nimport * as yup from 'yup';\n\nimport isFieldTypeNumber from './isFieldTypeNumber';\n\nyup.addMethod(yup.mixed, 'defined', function () {\n return this.test('defined', errorsTrads.required, (value) => value !== undefined);\n});\n\nyup.addMethod(yup.array, 'notEmptyMin', function (min) {\n return this.test('notEmptyMin', errorsTrads.min, (value) => {\n if (isEmpty(value)) {\n return true;\n }\n\n return value.length >= min;\n });\n});\n\nyup.addMethod(yup.string, 'isInferior', function (message, max) {\n return this.test('isInferior', message, function (value) {\n if (!value) {\n return true;\n }\n\n if (Number.isNaN(toNumber(value))) {\n return true;\n }\n\n return toNumber(max) >= toNumber(value);\n });\n});\n\nyup.addMethod(yup.string, 'isSuperior', function (message, min) {\n return this.test('isSuperior', message, function (value) {\n if (!value) {\n return true;\n }\n\n if (Number.isNaN(toNumber(value))) {\n return true;\n }\n\n return toNumber(value) >= toNumber(min);\n });\n});\n\nconst getAttributes = (data) => get(data, ['attributes'], {});\n\nconst createYupSchema = (\n model,\n { components },\n options = {\n isCreatingEntry: true,\n isDraft: true,\n isFromComponent: false,\n isJSONTestDisabled: false,\n }\n) => {\n const attributes = getAttributes(model);\n\n return yup.object().shape(\n Object.keys(attributes).reduce((acc, current) => {\n const attribute = attributes[current];\n\n if (\n attribute.type !== 'relation' &&\n attribute.type !== 'component' &&\n attribute.type !== 'dynamiczone'\n ) {\n const formatted = createYupSchemaAttribute(attribute.type, attribute, options);\n acc[current] = formatted;\n }\n\n if (attribute.type === 'relation') {\n acc[current] = [\n 'oneWay',\n 'oneToOne',\n 'manyToOne',\n 'oneToManyMorph',\n 'oneToOneMorph',\n ].includes(attribute.relationType)\n ? yup.object().nullable()\n : yup.array().nullable();\n }\n\n if (attribute.type === 'component') {\n const componentFieldSchema = createYupSchema(\n components[attribute.component],\n {\n components,\n },\n { ...options, isFromComponent: true }\n );\n\n if (attribute.repeatable === true) {\n const { min, max, required } = attribute;\n\n let componentSchema = yup.lazy((value) => {\n let baseSchema = yup.array().of(componentFieldSchema);\n\n if (min) {\n if (required) {\n baseSchema = baseSchema.min(min, errorsTrads.min);\n } else if (required !== true && isEmpty(value)) {\n baseSchema = baseSchema.nullable();\n } else {\n baseSchema = baseSchema.min(min, errorsTrads.min);\n }\n } else if (required && !options.isDraft) {\n baseSchema = baseSchema.min(1, errorsTrads.required);\n }\n\n if (max) {\n baseSchema = baseSchema.max(max, errorsTrads.max);\n }\n\n return baseSchema;\n });\n\n acc[current] = componentSchema;\n\n return acc;\n }\n const componentSchema = yup.lazy((obj) => {\n if (obj !== undefined) {\n return attribute.required === true && !options.isDraft\n ? componentFieldSchema.defined()\n : componentFieldSchema.nullable();\n }\n\n return attribute.required === true ? yup.object().defined() : yup.object().nullable();\n });\n\n acc[current] = componentSchema;\n\n return acc;\n }\n\n if (attribute.type === 'dynamiczone') {\n let dynamicZoneSchema = yup.array().of(\n yup.lazy(({ __component }) => {\n return createYupSchema(\n components[__component],\n { components },\n { ...options, isFromComponent: true }\n );\n })\n );\n\n const { max, min } = attribute;\n\n if (min) {\n if (attribute.required) {\n dynamicZoneSchema = dynamicZoneSchema\n .test('min', errorsTrads.min, (value) => {\n if (options.isCreatingEntry) {\n return value && value.length >= min;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null && value.length >= min;\n })\n .test('required', errorsTrads.required, (value) => {\n if (options.isCreatingEntry) {\n return value !== null || value !== undefined;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null;\n });\n } else {\n dynamicZoneSchema = dynamicZoneSchema.notEmptyMin(min);\n }\n } else if (attribute.required && !options.isDraft) {\n dynamicZoneSchema = dynamicZoneSchema.test('required', errorsTrads.required, (value) => {\n if (options.isCreatingEntry) {\n return value !== null || value !== undefined;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null;\n });\n }\n\n if (max) {\n dynamicZoneSchema = dynamicZoneSchema.max(max, errorsTrads.max);\n }\n\n acc[current] = dynamicZoneSchema;\n }\n\n return acc;\n }, {})\n );\n};\n\nconst createYupSchemaAttribute = (type, validations, options) => {\n let schema = yup.mixed();\n\n if (['string', 'uid', 'text', 'richtext', 'email', 'password', 'enumeration'].includes(type)) {\n schema = yup.string();\n }\n\n if (type === 'blocks') {\n schema = yup.mixed().test('isJSON', errorsTrads.json, (value) => {\n // Disable the test for bulk publish, it's valid when it comes from the db\n if (options.isJSONTestDisabled) {\n return true;\n }\n\n // Don't run validations on drafts\n if (options.isDraft) {\n return true;\n }\n\n // The backend validates the actual schema, check if a value different than null is not an array\n if (value && !Array.isArray(value)) {\n return false;\n }\n\n return true;\n });\n }\n\n if (type === 'json') {\n schema = yup\n .mixed(errorsTrads.json)\n .test('isJSON', errorsTrads.json, (value) => {\n // Disable the test for bulk publish, it's valid when it comes from the db\n if (options.isJSONTestDisabled) {\n return true;\n }\n\n if (!value || !value.length) {\n return true;\n }\n\n try {\n JSON.parse(value);\n\n return true;\n } catch (err) {\n return false;\n }\n })\n .nullable()\n .test('required', errorsTrads.required, (value) => {\n if (validations.required && (!value || !value.length)) {\n return false;\n }\n\n return true;\n });\n }\n\n if (type === 'email') {\n schema = schema.email(errorsTrads.email);\n }\n\n if (['number', 'integer', 'float', 'decimal'].includes(type)) {\n schema = yup\n .number()\n .transform((cv) => (isNaN(cv) ? undefined : cv))\n .typeError();\n }\n\n if (type === 'biginteger') {\n schema = yup.string().matches(/^-?\\d*$/);\n }\n\n if (['date', 'datetime'].includes(type)) {\n schema = yup.date();\n }\n\n Object.keys(validations).forEach((validation) => {\n const validationValue = validations[validation];\n\n if (\n !!validationValue ||\n (!isBoolean(validationValue) && Number.isInteger(Math.floor(validationValue))) ||\n validationValue === 0\n ) {\n switch (validation) {\n case 'required': {\n if (!options.isDraft) {\n if (type === 'password' && options.isCreatingEntry) {\n schema = schema.required(errorsTrads.required);\n }\n\n if (type !== 'password') {\n if (options.isCreatingEntry) {\n schema = schema.required(errorsTrads.required);\n } else {\n schema = schema.test('required', errorsTrads.required, (value) => {\n // Field is not touched and the user is editing the entry\n if (value === undefined && !options.isFromComponent) {\n return true;\n }\n\n if (isFieldTypeNumber(type)) {\n if (value === 0) {\n return true;\n }\n\n return !!value;\n }\n\n if (type === 'boolean') {\n // Boolean value can be undefined/unset in modifiedData when generated in a new component\n return value !== null && value !== undefined;\n }\n\n if (type === 'date' || type === 'datetime') {\n if (typeof value === 'string') {\n return !isEmpty(value);\n }\n\n return !isEmpty(value?.toString());\n }\n\n return !isEmpty(value);\n });\n }\n }\n }\n\n break;\n }\n\n case 'max': {\n if (type === 'biginteger') {\n schema = schema.isInferior(errorsTrads.max, validationValue);\n } else {\n schema = schema.max(validationValue, errorsTrads.max);\n }\n break;\n }\n case 'maxLength':\n schema = schema.max(validationValue, errorsTrads.maxLength);\n break;\n case 'min': {\n if (type === 'biginteger') {\n schema = schema.isSuperior(errorsTrads.min, validationValue);\n } else {\n schema = schema.min(validationValue, errorsTrads.min);\n }\n break;\n }\n case 'minLength': {\n if (!options.isDraft) {\n schema = schema.min(validationValue, errorsTrads.minLength);\n }\n break;\n }\n case 'regex':\n schema = schema.matches(new RegExp(validationValue), {\n message: errorsTrads.regex,\n excludeEmptyString: !validations.required,\n });\n break;\n case 'lowercase':\n if (['text', 'textarea', 'email', 'string'].includes(type)) {\n schema = schema.strict().lowercase();\n }\n break;\n case 'uppercase':\n if (['text', 'textarea', 'email', 'string'].includes(type)) {\n schema = schema.strict().uppercase();\n }\n break;\n case 'positive':\n if (isFieldTypeNumber(type)) {\n schema = schema.positive();\n }\n break;\n case 'negative':\n if (isFieldTypeNumber(type)) {\n schema = schema.negative();\n }\n break;\n default:\n schema = schema.nullable();\n }\n }\n });\n\n return schema;\n};\n\nexport default createYupSchema;\n"],"names":["createContext","index","useState","useRef","useDrop","item","useDrag","initialState","createSelector","yup","errorsTrads","isEmpty","toNumber","get","componentSchema","isNaN","isBoolean"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createContext, useState, useRef } from "react";
|
|
2
2
|
import { useDrop, useDrag } from "react-dnd";
|
|
3
3
|
import { createSelector } from "@reduxjs/toolkit";
|
|
4
|
-
import {
|
|
4
|
+
import { J as initialState } from "./index-60a57d31.mjs";
|
|
5
5
|
import { translatedErrors } from "@strapi/helper-plugin";
|
|
6
6
|
import get from "lodash/get";
|
|
7
7
|
import isBoolean from "lodash/isBoolean";
|
|
@@ -487,4 +487,4 @@ export {
|
|
|
487
487
|
selectFieldSizes as s,
|
|
488
488
|
useDragAndDrop as u
|
|
489
489
|
};
|
|
490
|
-
//# sourceMappingURL=schema-
|
|
490
|
+
//# sourceMappingURL=schema-ac25a47b.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-a95f2514.mjs","sources":["../../admin/src/content-manager/utils/getTrad.js","../../admin/src/content-manager/contexts/Wysiwyg.js","../../admin/src/content-manager/hooks/useKeyboardDragAndDrop.js","../../admin/src/content-manager/hooks/useDragAndDrop.js","../../admin/src/content-manager/pages/App/selectors.js","../../admin/src/content-manager/utils/composeRefs.js","../../admin/src/content-manager/utils/isFieldTypeNumber.js","../../admin/src/content-manager/utils/schema.js"],"sourcesContent":["const getTrad = (id) => `content-manager.${id}`;\n\nexport default getTrad;\n","import { createContext } from 'react';\n\nconst WysiwygContext = createContext();\n\nexport default WysiwygContext;\n","import { useState } from 'react';\n\n/**\n * @typedef UseKeyboardDragAndDropCallbacks\n *\n * @type {{\n * onCancel?: (index: number) => void,\n * onDropItem?: (index: number) => void,\n * onGrabItem?: (index: number) => void,\n * onMoveItem: (newIndex: number, currentIndex: number) => void,\n * }}\n */\n\n/**\n * Utility hook designed to implement keyboard accessibile drag and drop by\n * returning an onKeyDown handler to be passed to the drag icon button.\n *\n * @internal - You should use `useDragAndDrop` instead.\n *\n * @type {(active: boolean, index: number, callbacks: UseKeyboardDragAndDropCallbacks) => (event: React.KeyboardEvent<HTMLButtonElement>) => void}\n */\nexport const useKeyboardDragAndDrop = (\n active,\n index,\n { onCancel, onDropItem, onGrabItem, onMoveItem }\n) => {\n const [isSelected, setIsSelected] = useState(false);\n /**\n * @type {(movement: 'UP' | 'DOWN') => void})}\n */\n const handleMove = (movement) => {\n if (!isSelected) {\n return;\n }\n\n if (movement === 'UP') {\n onMoveItem(index - 1, index);\n } else if (movement === 'DOWN') {\n onMoveItem(index + 1, index);\n }\n };\n\n const handleDragClick = () => {\n if (isSelected) {\n if (onDropItem) {\n onDropItem(index);\n }\n setIsSelected(false);\n } else {\n if (onGrabItem) {\n onGrabItem(index);\n }\n setIsSelected(true);\n }\n };\n\n const handleCancel = () => {\n if (isSelected) {\n setIsSelected(false);\n\n if (onCancel) {\n onCancel(index);\n }\n }\n };\n\n /**\n * @type {React.KeyboardEventHandler<HTMLButtonElement>}\n */\n const handleKeyDown = (e) => {\n if (!active) {\n return;\n }\n\n if (e.key === 'Tab' && !isSelected) {\n return;\n }\n\n e.preventDefault();\n\n switch (e.key) {\n case ' ':\n case 'Enter':\n handleDragClick();\n break;\n\n case 'Escape':\n handleCancel();\n break;\n\n case 'ArrowDown':\n case 'ArrowRight':\n handleMove('DOWN');\n break;\n\n case 'ArrowUp':\n case 'ArrowLeft':\n handleMove('UP');\n break;\n\n default:\n }\n };\n\n return handleKeyDown;\n};\n","import { useRef } from 'react';\n\nimport { useDrag, useDrop } from 'react-dnd';\n\nimport { useKeyboardDragAndDrop } from './useKeyboardDragAndDrop';\n\n/**\n * @typedef UseDragAndDropOptions\n *\n * @type {{\n * type?: string,\n * index: number,\n * item?: object,\n * onStart?: () => void,\n * onEnd?: () => void,\n * dropSensitivity?: 'regular' | 'immediate'\n * } & import('./useKeyboardDragAndDrop').UseKeyboardDragAndDropCallbacks}\n */\n\n/**\n * @typedef UseDragAndDropReturn\n *\n * @type {[props: {handlerId: import('dnd-core').Identifier, isDragging: boolean, handleKeyDown: (event: import('react').KeyboardEvent<HTMLButtonElement>) => void}, objectRef: React.RefObject<HTMLElement>, dropRef: import('react-dnd').ConnectDropTarget, dragRef: import('react-dnd').ConnectDragSource, dragPreviewRef: import('react-dnd').ConnectDragPreview]}\n */\n\n/**\n * A utility hook abstracting the general drag and drop hooks from react-dnd.\n * Centralising the same behaviours and by default offering keyboard support.\n *\n * @type {(active: boolean, options: UseDragAndDropOptions) => UseDragAndDropReturn}\n */\nexport const useDragAndDrop = (\n active,\n {\n type = 'STRAPI_DND',\n index,\n item = {},\n onStart,\n onEnd,\n onGrabItem,\n onDropItem,\n onCancel,\n onMoveItem,\n dropSensitivity = 'regular',\n }\n) => {\n const objectRef = useRef(null);\n\n const [{ handlerId }, dropRef] = useDrop({\n accept: type,\n collect(monitor) {\n return {\n handlerId: monitor.getHandlerId(),\n };\n },\n hover(item, monitor) {\n if (!objectRef.current) {\n return;\n }\n const dragIndex = item.index;\n const newInd = index;\n\n // Don't replace items with themselves\n if (dragIndex === newInd) {\n return;\n }\n\n if (dropSensitivity === 'regular') {\n const hoverBoundingRect = objectRef.current.getBoundingClientRect();\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\n const clientOffset = monitor.getClientOffset();\n const hoverClientY = clientOffset.y - hoverBoundingRect.top;\n\n // Dragging downwards\n if (dragIndex < newInd && hoverClientY < hoverMiddleY) {\n return;\n }\n\n // Dragging upwards\n if (dragIndex > newInd && hoverClientY > hoverMiddleY) {\n return;\n }\n }\n\n // Time to actually perform the action\n onMoveItem(newInd, dragIndex);\n item.index = newInd;\n },\n });\n\n const [{ isDragging }, dragRef, dragPreviewRef] = useDrag({\n type,\n item() {\n if (onStart) {\n onStart();\n }\n\n /**\n * This will be attached and it helps define the preview sizes\n * when a component is flexy e.g. Relations\n */\n const { width } = objectRef.current?.getBoundingClientRect() ?? {};\n\n return { index, width, ...item };\n },\n end() {\n if (onEnd) {\n onEnd();\n }\n },\n canDrag: active,\n /**\n * This is for useful when the item is in a virtualized list.\n * However, if we don't have an ID then we want the libraries\n * defaults to take care of this.\n */\n isDragging: item.id\n ? (monitor) => {\n return item.id === monitor.getItem().id;\n }\n : undefined,\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n });\n\n const handleKeyDown = useKeyboardDragAndDrop(active, index, {\n onGrabItem,\n onDropItem,\n onCancel,\n onMoveItem,\n });\n\n return [{ handlerId, isDragging, handleKeyDown }, objectRef, dropRef, dragRef, dragPreviewRef];\n};\n","import { createSelector } from '@reduxjs/toolkit';\n\nimport { initialState } from './reducer';\n\nconst selectAppDomain = () => (state) => {\n return state['content-manager_app'] || initialState;\n};\n\nconst makeSelectApp = () =>\n createSelector(selectAppDomain(), (substate) => {\n return substate;\n });\n\nconst makeSelectModels = () => createSelector(selectAppDomain(), (state) => state.models);\n\nconst makeSelectModelLinks = () =>\n createSelector(selectAppDomain(), (state) => ({\n collectionTypeLinks: state.collectionTypeLinks,\n singleTypeLinks: state.singleTypeLinks,\n }));\n\nconst makeSelectModelAndComponentSchemas = () =>\n createSelector(selectAppDomain(), ({ components, models }) => ({\n schemas: [...components, ...models],\n }));\n\nconst selectFieldSizes = createSelector(selectAppDomain(), (state) => state.fieldSizes);\n\nexport default makeSelectApp;\nexport {\n makeSelectModelAndComponentSchemas,\n makeSelectModelLinks,\n makeSelectModels,\n selectAppDomain,\n selectFieldSizes,\n};\n","/**\n * @typedef PossibleRef<T>\n * @type {React.Ref<T> | undefined;}\n *\n * @typedef setRef\n * @type {<T>(ref: PossibleRef<T>, value: T) => React.RefCallback<T>}\n */\n\n/**\n * @type {setRef}\n */\nconst setRef = (ref, value) => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n};\n\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n *\n * @type {<T>(...refs: PossibleRef<T>[]) => (node: T) => void}\n */\nexport const composeRefs = (...refs) => {\n return (node) => refs.forEach((ref) => setRef(ref, node));\n};\n","export default function isFieldTypeNumber(type) {\n return ['integer', 'biginteger', 'decimal', 'float', 'number'].includes(type);\n}\n","import { translatedErrors as errorsTrads } from '@strapi/helper-plugin';\nimport get from 'lodash/get';\nimport isBoolean from 'lodash/isBoolean';\nimport isEmpty from 'lodash/isEmpty';\nimport isNaN from 'lodash/isNaN';\nimport toNumber from 'lodash/toNumber';\nimport * as yup from 'yup';\n\nimport isFieldTypeNumber from './isFieldTypeNumber';\n\nyup.addMethod(yup.mixed, 'defined', function () {\n return this.test('defined', errorsTrads.required, (value) => value !== undefined);\n});\n\nyup.addMethod(yup.array, 'notEmptyMin', function (min) {\n return this.test('notEmptyMin', errorsTrads.min, (value) => {\n if (isEmpty(value)) {\n return true;\n }\n\n return value.length >= min;\n });\n});\n\nyup.addMethod(yup.string, 'isInferior', function (message, max) {\n return this.test('isInferior', message, function (value) {\n if (!value) {\n return true;\n }\n\n if (Number.isNaN(toNumber(value))) {\n return true;\n }\n\n return toNumber(max) >= toNumber(value);\n });\n});\n\nyup.addMethod(yup.string, 'isSuperior', function (message, min) {\n return this.test('isSuperior', message, function (value) {\n if (!value) {\n return true;\n }\n\n if (Number.isNaN(toNumber(value))) {\n return true;\n }\n\n return toNumber(value) >= toNumber(min);\n });\n});\n\nconst getAttributes = (data) => get(data, ['attributes'], {});\n\nconst createYupSchema = (\n model,\n { components },\n options = {\n isCreatingEntry: true,\n isDraft: true,\n isFromComponent: false,\n isJSONTestDisabled: false,\n }\n) => {\n const attributes = getAttributes(model);\n\n return yup.object().shape(\n Object.keys(attributes).reduce((acc, current) => {\n const attribute = attributes[current];\n\n if (\n attribute.type !== 'relation' &&\n attribute.type !== 'component' &&\n attribute.type !== 'dynamiczone'\n ) {\n const formatted = createYupSchemaAttribute(attribute.type, attribute, options);\n acc[current] = formatted;\n }\n\n if (attribute.type === 'relation') {\n acc[current] = [\n 'oneWay',\n 'oneToOne',\n 'manyToOne',\n 'oneToManyMorph',\n 'oneToOneMorph',\n ].includes(attribute.relationType)\n ? yup.object().nullable()\n : yup.array().nullable();\n }\n\n if (attribute.type === 'component') {\n const componentFieldSchema = createYupSchema(\n components[attribute.component],\n {\n components,\n },\n { ...options, isFromComponent: true }\n );\n\n if (attribute.repeatable === true) {\n const { min, max, required } = attribute;\n\n let componentSchema = yup.lazy((value) => {\n let baseSchema = yup.array().of(componentFieldSchema);\n\n if (min) {\n if (required) {\n baseSchema = baseSchema.min(min, errorsTrads.min);\n } else if (required !== true && isEmpty(value)) {\n baseSchema = baseSchema.nullable();\n } else {\n baseSchema = baseSchema.min(min, errorsTrads.min);\n }\n } else if (required && !options.isDraft) {\n baseSchema = baseSchema.min(1, errorsTrads.required);\n }\n\n if (max) {\n baseSchema = baseSchema.max(max, errorsTrads.max);\n }\n\n return baseSchema;\n });\n\n acc[current] = componentSchema;\n\n return acc;\n }\n const componentSchema = yup.lazy((obj) => {\n if (obj !== undefined) {\n return attribute.required === true && !options.isDraft\n ? componentFieldSchema.defined()\n : componentFieldSchema.nullable();\n }\n\n return attribute.required === true ? yup.object().defined() : yup.object().nullable();\n });\n\n acc[current] = componentSchema;\n\n return acc;\n }\n\n if (attribute.type === 'dynamiczone') {\n let dynamicZoneSchema = yup.array().of(\n yup.lazy(({ __component }) => {\n return createYupSchema(\n components[__component],\n { components },\n { ...options, isFromComponent: true }\n );\n })\n );\n\n const { max, min } = attribute;\n\n if (min) {\n if (attribute.required) {\n dynamicZoneSchema = dynamicZoneSchema\n .test('min', errorsTrads.min, (value) => {\n if (options.isCreatingEntry) {\n return value && value.length >= min;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null && value.length >= min;\n })\n .test('required', errorsTrads.required, (value) => {\n if (options.isCreatingEntry) {\n return value !== null || value !== undefined;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null;\n });\n } else {\n dynamicZoneSchema = dynamicZoneSchema.notEmptyMin(min);\n }\n } else if (attribute.required && !options.isDraft) {\n dynamicZoneSchema = dynamicZoneSchema.test('required', errorsTrads.required, (value) => {\n if (options.isCreatingEntry) {\n return value !== null || value !== undefined;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null;\n });\n }\n\n if (max) {\n dynamicZoneSchema = dynamicZoneSchema.max(max, errorsTrads.max);\n }\n\n acc[current] = dynamicZoneSchema;\n }\n\n return acc;\n }, {})\n );\n};\n\nconst createYupSchemaAttribute = (type, validations, options) => {\n let schema = yup.mixed();\n\n if (['string', 'uid', 'text', 'richtext', 'email', 'password', 'enumeration'].includes(type)) {\n schema = yup.string();\n }\n\n if (type === 'blocks') {\n schema = yup.mixed().test('isJSON', errorsTrads.json, (value) => {\n // Disable the test for bulk publish, it's valid when it comes from the db\n if (options.isJSONTestDisabled) {\n return true;\n }\n\n // Don't run validations on drafts\n if (options.isDraft) {\n return true;\n }\n\n // The backend validates the actual schema, check if a value different than null is not an array\n if (value && !Array.isArray(value)) {\n return false;\n }\n\n return true;\n });\n }\n\n if (type === 'json') {\n schema = yup\n .mixed(errorsTrads.json)\n .test('isJSON', errorsTrads.json, (value) => {\n // Disable the test for bulk publish, it's valid when it comes from the db\n if (options.isJSONTestDisabled) {\n return true;\n }\n\n if (!value || !value.length) {\n return true;\n }\n\n try {\n JSON.parse(value);\n\n return true;\n } catch (err) {\n return false;\n }\n })\n .nullable()\n .test('required', errorsTrads.required, (value) => {\n if (validations.required && (!value || !value.length)) {\n return false;\n }\n\n return true;\n });\n }\n\n if (type === 'email') {\n schema = schema.email(errorsTrads.email);\n }\n\n if (['number', 'integer', 'float', 'decimal'].includes(type)) {\n schema = yup\n .number()\n .transform((cv) => (isNaN(cv) ? undefined : cv))\n .typeError();\n }\n\n if (type === 'biginteger') {\n schema = yup.string().matches(/^-?\\d*$/);\n }\n\n if (['date', 'datetime'].includes(type)) {\n schema = yup.date();\n }\n\n Object.keys(validations).forEach((validation) => {\n const validationValue = validations[validation];\n\n if (\n !!validationValue ||\n (!isBoolean(validationValue) && Number.isInteger(Math.floor(validationValue))) ||\n validationValue === 0\n ) {\n switch (validation) {\n case 'required': {\n if (!options.isDraft) {\n if (type === 'password' && options.isCreatingEntry) {\n schema = schema.required(errorsTrads.required);\n }\n\n if (type !== 'password') {\n if (options.isCreatingEntry) {\n schema = schema.required(errorsTrads.required);\n } else {\n schema = schema.test('required', errorsTrads.required, (value) => {\n // Field is not touched and the user is editing the entry\n if (value === undefined && !options.isFromComponent) {\n return true;\n }\n\n if (isFieldTypeNumber(type)) {\n if (value === 0) {\n return true;\n }\n\n return !!value;\n }\n\n if (type === 'boolean') {\n // Boolean value can be undefined/unset in modifiedData when generated in a new component\n return value !== null && value !== undefined;\n }\n\n if (type === 'date' || type === 'datetime') {\n if (typeof value === 'string') {\n return !isEmpty(value);\n }\n\n return !isEmpty(value?.toString());\n }\n\n return !isEmpty(value);\n });\n }\n }\n }\n\n break;\n }\n\n case 'max': {\n if (type === 'biginteger') {\n schema = schema.isInferior(errorsTrads.max, validationValue);\n } else {\n schema = schema.max(validationValue, errorsTrads.max);\n }\n break;\n }\n case 'maxLength':\n schema = schema.max(validationValue, errorsTrads.maxLength);\n break;\n case 'min': {\n if (type === 'biginteger') {\n schema = schema.isSuperior(errorsTrads.min, validationValue);\n } else {\n schema = schema.min(validationValue, errorsTrads.min);\n }\n break;\n }\n case 'minLength': {\n if (!options.isDraft) {\n schema = schema.min(validationValue, errorsTrads.minLength);\n }\n break;\n }\n case 'regex':\n schema = schema.matches(new RegExp(validationValue), {\n message: errorsTrads.regex,\n excludeEmptyString: !validations.required,\n });\n break;\n case 'lowercase':\n if (['text', 'textarea', 'email', 'string'].includes(type)) {\n schema = schema.strict().lowercase();\n }\n break;\n case 'uppercase':\n if (['text', 'textarea', 'email', 'string'].includes(type)) {\n schema = schema.strict().uppercase();\n }\n break;\n case 'positive':\n if (isFieldTypeNumber(type)) {\n schema = schema.positive();\n }\n break;\n case 'negative':\n if (isFieldTypeNumber(type)) {\n schema = schema.negative();\n }\n break;\n default:\n schema = schema.nullable();\n }\n }\n });\n\n return schema;\n};\n\nexport default createYupSchema;\n"],"names":["item","errorsTrads","componentSchema"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema-ac25a47b.mjs","sources":["../../admin/src/content-manager/utils/getTrad.js","../../admin/src/content-manager/contexts/Wysiwyg.js","../../admin/src/content-manager/hooks/useKeyboardDragAndDrop.js","../../admin/src/content-manager/hooks/useDragAndDrop.js","../../admin/src/content-manager/pages/App/selectors.js","../../admin/src/content-manager/utils/composeRefs.js","../../admin/src/content-manager/utils/isFieldTypeNumber.js","../../admin/src/content-manager/utils/schema.js"],"sourcesContent":["const getTrad = (id) => `content-manager.${id}`;\n\nexport default getTrad;\n","import { createContext } from 'react';\n\nconst WysiwygContext = createContext();\n\nexport default WysiwygContext;\n","import { useState } from 'react';\n\n/**\n * @typedef UseKeyboardDragAndDropCallbacks\n *\n * @type {{\n * onCancel?: (index: number) => void,\n * onDropItem?: (index: number) => void,\n * onGrabItem?: (index: number) => void,\n * onMoveItem: (newIndex: number, currentIndex: number) => void,\n * }}\n */\n\n/**\n * Utility hook designed to implement keyboard accessibile drag and drop by\n * returning an onKeyDown handler to be passed to the drag icon button.\n *\n * @internal - You should use `useDragAndDrop` instead.\n *\n * @type {(active: boolean, index: number, callbacks: UseKeyboardDragAndDropCallbacks) => (event: React.KeyboardEvent<HTMLButtonElement>) => void}\n */\nexport const useKeyboardDragAndDrop = (\n active,\n index,\n { onCancel, onDropItem, onGrabItem, onMoveItem }\n) => {\n const [isSelected, setIsSelected] = useState(false);\n /**\n * @type {(movement: 'UP' | 'DOWN') => void})}\n */\n const handleMove = (movement) => {\n if (!isSelected) {\n return;\n }\n\n if (movement === 'UP') {\n onMoveItem(index - 1, index);\n } else if (movement === 'DOWN') {\n onMoveItem(index + 1, index);\n }\n };\n\n const handleDragClick = () => {\n if (isSelected) {\n if (onDropItem) {\n onDropItem(index);\n }\n setIsSelected(false);\n } else {\n if (onGrabItem) {\n onGrabItem(index);\n }\n setIsSelected(true);\n }\n };\n\n const handleCancel = () => {\n if (isSelected) {\n setIsSelected(false);\n\n if (onCancel) {\n onCancel(index);\n }\n }\n };\n\n /**\n * @type {React.KeyboardEventHandler<HTMLButtonElement>}\n */\n const handleKeyDown = (e) => {\n if (!active) {\n return;\n }\n\n if (e.key === 'Tab' && !isSelected) {\n return;\n }\n\n e.preventDefault();\n\n switch (e.key) {\n case ' ':\n case 'Enter':\n handleDragClick();\n break;\n\n case 'Escape':\n handleCancel();\n break;\n\n case 'ArrowDown':\n case 'ArrowRight':\n handleMove('DOWN');\n break;\n\n case 'ArrowUp':\n case 'ArrowLeft':\n handleMove('UP');\n break;\n\n default:\n }\n };\n\n return handleKeyDown;\n};\n","import { useRef } from 'react';\n\nimport { useDrag, useDrop } from 'react-dnd';\n\nimport { useKeyboardDragAndDrop } from './useKeyboardDragAndDrop';\n\n/**\n * @typedef UseDragAndDropOptions\n *\n * @type {{\n * type?: string,\n * index: number,\n * item?: object,\n * onStart?: () => void,\n * onEnd?: () => void,\n * dropSensitivity?: 'regular' | 'immediate'\n * } & import('./useKeyboardDragAndDrop').UseKeyboardDragAndDropCallbacks}\n */\n\n/**\n * @typedef UseDragAndDropReturn\n *\n * @type {[props: {handlerId: import('dnd-core').Identifier, isDragging: boolean, handleKeyDown: (event: import('react').KeyboardEvent<HTMLButtonElement>) => void}, objectRef: React.RefObject<HTMLElement>, dropRef: import('react-dnd').ConnectDropTarget, dragRef: import('react-dnd').ConnectDragSource, dragPreviewRef: import('react-dnd').ConnectDragPreview]}\n */\n\n/**\n * A utility hook abstracting the general drag and drop hooks from react-dnd.\n * Centralising the same behaviours and by default offering keyboard support.\n *\n * @type {(active: boolean, options: UseDragAndDropOptions) => UseDragAndDropReturn}\n */\nexport const useDragAndDrop = (\n active,\n {\n type = 'STRAPI_DND',\n index,\n item = {},\n onStart,\n onEnd,\n onGrabItem,\n onDropItem,\n onCancel,\n onMoveItem,\n dropSensitivity = 'regular',\n }\n) => {\n const objectRef = useRef(null);\n\n const [{ handlerId }, dropRef] = useDrop({\n accept: type,\n collect(monitor) {\n return {\n handlerId: monitor.getHandlerId(),\n };\n },\n hover(item, monitor) {\n if (!objectRef.current) {\n return;\n }\n const dragIndex = item.index;\n const newInd = index;\n\n // Don't replace items with themselves\n if (dragIndex === newInd) {\n return;\n }\n\n if (dropSensitivity === 'regular') {\n const hoverBoundingRect = objectRef.current.getBoundingClientRect();\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\n const clientOffset = monitor.getClientOffset();\n const hoverClientY = clientOffset.y - hoverBoundingRect.top;\n\n // Dragging downwards\n if (dragIndex < newInd && hoverClientY < hoverMiddleY) {\n return;\n }\n\n // Dragging upwards\n if (dragIndex > newInd && hoverClientY > hoverMiddleY) {\n return;\n }\n }\n\n // Time to actually perform the action\n onMoveItem(newInd, dragIndex);\n item.index = newInd;\n },\n });\n\n const [{ isDragging }, dragRef, dragPreviewRef] = useDrag({\n type,\n item() {\n if (onStart) {\n onStart();\n }\n\n /**\n * This will be attached and it helps define the preview sizes\n * when a component is flexy e.g. Relations\n */\n const { width } = objectRef.current?.getBoundingClientRect() ?? {};\n\n return { index, width, ...item };\n },\n end() {\n if (onEnd) {\n onEnd();\n }\n },\n canDrag: active,\n /**\n * This is for useful when the item is in a virtualized list.\n * However, if we don't have an ID then we want the libraries\n * defaults to take care of this.\n */\n isDragging: item.id\n ? (monitor) => {\n return item.id === monitor.getItem().id;\n }\n : undefined,\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n });\n\n const handleKeyDown = useKeyboardDragAndDrop(active, index, {\n onGrabItem,\n onDropItem,\n onCancel,\n onMoveItem,\n });\n\n return [{ handlerId, isDragging, handleKeyDown }, objectRef, dropRef, dragRef, dragPreviewRef];\n};\n","import { createSelector } from '@reduxjs/toolkit';\n\nimport { initialState } from './reducer';\n\nconst selectAppDomain = () => (state) => {\n return state['content-manager_app'] || initialState;\n};\n\nconst makeSelectApp = () =>\n createSelector(selectAppDomain(), (substate) => {\n return substate;\n });\n\nconst makeSelectModels = () => createSelector(selectAppDomain(), (state) => state.models);\n\nconst makeSelectModelLinks = () =>\n createSelector(selectAppDomain(), (state) => ({\n collectionTypeLinks: state.collectionTypeLinks,\n singleTypeLinks: state.singleTypeLinks,\n }));\n\nconst makeSelectModelAndComponentSchemas = () =>\n createSelector(selectAppDomain(), ({ components, models }) => ({\n schemas: [...components, ...models],\n }));\n\nconst selectFieldSizes = createSelector(selectAppDomain(), (state) => state.fieldSizes);\n\nexport default makeSelectApp;\nexport {\n makeSelectModelAndComponentSchemas,\n makeSelectModelLinks,\n makeSelectModels,\n selectAppDomain,\n selectFieldSizes,\n};\n","/**\n * @typedef PossibleRef<T>\n * @type {React.Ref<T> | undefined;}\n *\n * @typedef setRef\n * @type {<T>(ref: PossibleRef<T>, value: T) => React.RefCallback<T>}\n */\n\n/**\n * @type {setRef}\n */\nconst setRef = (ref, value) => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n};\n\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n *\n * @type {<T>(...refs: PossibleRef<T>[]) => (node: T) => void}\n */\nexport const composeRefs = (...refs) => {\n return (node) => refs.forEach((ref) => setRef(ref, node));\n};\n","export default function isFieldTypeNumber(type) {\n return ['integer', 'biginteger', 'decimal', 'float', 'number'].includes(type);\n}\n","import { translatedErrors as errorsTrads } from '@strapi/helper-plugin';\nimport get from 'lodash/get';\nimport isBoolean from 'lodash/isBoolean';\nimport isEmpty from 'lodash/isEmpty';\nimport isNaN from 'lodash/isNaN';\nimport toNumber from 'lodash/toNumber';\nimport * as yup from 'yup';\n\nimport isFieldTypeNumber from './isFieldTypeNumber';\n\nyup.addMethod(yup.mixed, 'defined', function () {\n return this.test('defined', errorsTrads.required, (value) => value !== undefined);\n});\n\nyup.addMethod(yup.array, 'notEmptyMin', function (min) {\n return this.test('notEmptyMin', errorsTrads.min, (value) => {\n if (isEmpty(value)) {\n return true;\n }\n\n return value.length >= min;\n });\n});\n\nyup.addMethod(yup.string, 'isInferior', function (message, max) {\n return this.test('isInferior', message, function (value) {\n if (!value) {\n return true;\n }\n\n if (Number.isNaN(toNumber(value))) {\n return true;\n }\n\n return toNumber(max) >= toNumber(value);\n });\n});\n\nyup.addMethod(yup.string, 'isSuperior', function (message, min) {\n return this.test('isSuperior', message, function (value) {\n if (!value) {\n return true;\n }\n\n if (Number.isNaN(toNumber(value))) {\n return true;\n }\n\n return toNumber(value) >= toNumber(min);\n });\n});\n\nconst getAttributes = (data) => get(data, ['attributes'], {});\n\nconst createYupSchema = (\n model,\n { components },\n options = {\n isCreatingEntry: true,\n isDraft: true,\n isFromComponent: false,\n isJSONTestDisabled: false,\n }\n) => {\n const attributes = getAttributes(model);\n\n return yup.object().shape(\n Object.keys(attributes).reduce((acc, current) => {\n const attribute = attributes[current];\n\n if (\n attribute.type !== 'relation' &&\n attribute.type !== 'component' &&\n attribute.type !== 'dynamiczone'\n ) {\n const formatted = createYupSchemaAttribute(attribute.type, attribute, options);\n acc[current] = formatted;\n }\n\n if (attribute.type === 'relation') {\n acc[current] = [\n 'oneWay',\n 'oneToOne',\n 'manyToOne',\n 'oneToManyMorph',\n 'oneToOneMorph',\n ].includes(attribute.relationType)\n ? yup.object().nullable()\n : yup.array().nullable();\n }\n\n if (attribute.type === 'component') {\n const componentFieldSchema = createYupSchema(\n components[attribute.component],\n {\n components,\n },\n { ...options, isFromComponent: true }\n );\n\n if (attribute.repeatable === true) {\n const { min, max, required } = attribute;\n\n let componentSchema = yup.lazy((value) => {\n let baseSchema = yup.array().of(componentFieldSchema);\n\n if (min) {\n if (required) {\n baseSchema = baseSchema.min(min, errorsTrads.min);\n } else if (required !== true && isEmpty(value)) {\n baseSchema = baseSchema.nullable();\n } else {\n baseSchema = baseSchema.min(min, errorsTrads.min);\n }\n } else if (required && !options.isDraft) {\n baseSchema = baseSchema.min(1, errorsTrads.required);\n }\n\n if (max) {\n baseSchema = baseSchema.max(max, errorsTrads.max);\n }\n\n return baseSchema;\n });\n\n acc[current] = componentSchema;\n\n return acc;\n }\n const componentSchema = yup.lazy((obj) => {\n if (obj !== undefined) {\n return attribute.required === true && !options.isDraft\n ? componentFieldSchema.defined()\n : componentFieldSchema.nullable();\n }\n\n return attribute.required === true ? yup.object().defined() : yup.object().nullable();\n });\n\n acc[current] = componentSchema;\n\n return acc;\n }\n\n if (attribute.type === 'dynamiczone') {\n let dynamicZoneSchema = yup.array().of(\n yup.lazy(({ __component }) => {\n return createYupSchema(\n components[__component],\n { components },\n { ...options, isFromComponent: true }\n );\n })\n );\n\n const { max, min } = attribute;\n\n if (min) {\n if (attribute.required) {\n dynamicZoneSchema = dynamicZoneSchema\n .test('min', errorsTrads.min, (value) => {\n if (options.isCreatingEntry) {\n return value && value.length >= min;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null && value.length >= min;\n })\n .test('required', errorsTrads.required, (value) => {\n if (options.isCreatingEntry) {\n return value !== null || value !== undefined;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null;\n });\n } else {\n dynamicZoneSchema = dynamicZoneSchema.notEmptyMin(min);\n }\n } else if (attribute.required && !options.isDraft) {\n dynamicZoneSchema = dynamicZoneSchema.test('required', errorsTrads.required, (value) => {\n if (options.isCreatingEntry) {\n return value !== null || value !== undefined;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null;\n });\n }\n\n if (max) {\n dynamicZoneSchema = dynamicZoneSchema.max(max, errorsTrads.max);\n }\n\n acc[current] = dynamicZoneSchema;\n }\n\n return acc;\n }, {})\n );\n};\n\nconst createYupSchemaAttribute = (type, validations, options) => {\n let schema = yup.mixed();\n\n if (['string', 'uid', 'text', 'richtext', 'email', 'password', 'enumeration'].includes(type)) {\n schema = yup.string();\n }\n\n if (type === 'blocks') {\n schema = yup.mixed().test('isJSON', errorsTrads.json, (value) => {\n // Disable the test for bulk publish, it's valid when it comes from the db\n if (options.isJSONTestDisabled) {\n return true;\n }\n\n // Don't run validations on drafts\n if (options.isDraft) {\n return true;\n }\n\n // The backend validates the actual schema, check if a value different than null is not an array\n if (value && !Array.isArray(value)) {\n return false;\n }\n\n return true;\n });\n }\n\n if (type === 'json') {\n schema = yup\n .mixed(errorsTrads.json)\n .test('isJSON', errorsTrads.json, (value) => {\n // Disable the test for bulk publish, it's valid when it comes from the db\n if (options.isJSONTestDisabled) {\n return true;\n }\n\n if (!value || !value.length) {\n return true;\n }\n\n try {\n JSON.parse(value);\n\n return true;\n } catch (err) {\n return false;\n }\n })\n .nullable()\n .test('required', errorsTrads.required, (value) => {\n if (validations.required && (!value || !value.length)) {\n return false;\n }\n\n return true;\n });\n }\n\n if (type === 'email') {\n schema = schema.email(errorsTrads.email);\n }\n\n if (['number', 'integer', 'float', 'decimal'].includes(type)) {\n schema = yup\n .number()\n .transform((cv) => (isNaN(cv) ? undefined : cv))\n .typeError();\n }\n\n if (type === 'biginteger') {\n schema = yup.string().matches(/^-?\\d*$/);\n }\n\n if (['date', 'datetime'].includes(type)) {\n schema = yup.date();\n }\n\n Object.keys(validations).forEach((validation) => {\n const validationValue = validations[validation];\n\n if (\n !!validationValue ||\n (!isBoolean(validationValue) && Number.isInteger(Math.floor(validationValue))) ||\n validationValue === 0\n ) {\n switch (validation) {\n case 'required': {\n if (!options.isDraft) {\n if (type === 'password' && options.isCreatingEntry) {\n schema = schema.required(errorsTrads.required);\n }\n\n if (type !== 'password') {\n if (options.isCreatingEntry) {\n schema = schema.required(errorsTrads.required);\n } else {\n schema = schema.test('required', errorsTrads.required, (value) => {\n // Field is not touched and the user is editing the entry\n if (value === undefined && !options.isFromComponent) {\n return true;\n }\n\n if (isFieldTypeNumber(type)) {\n if (value === 0) {\n return true;\n }\n\n return !!value;\n }\n\n if (type === 'boolean') {\n // Boolean value can be undefined/unset in modifiedData when generated in a new component\n return value !== null && value !== undefined;\n }\n\n if (type === 'date' || type === 'datetime') {\n if (typeof value === 'string') {\n return !isEmpty(value);\n }\n\n return !isEmpty(value?.toString());\n }\n\n return !isEmpty(value);\n });\n }\n }\n }\n\n break;\n }\n\n case 'max': {\n if (type === 'biginteger') {\n schema = schema.isInferior(errorsTrads.max, validationValue);\n } else {\n schema = schema.max(validationValue, errorsTrads.max);\n }\n break;\n }\n case 'maxLength':\n schema = schema.max(validationValue, errorsTrads.maxLength);\n break;\n case 'min': {\n if (type === 'biginteger') {\n schema = schema.isSuperior(errorsTrads.min, validationValue);\n } else {\n schema = schema.min(validationValue, errorsTrads.min);\n }\n break;\n }\n case 'minLength': {\n if (!options.isDraft) {\n schema = schema.min(validationValue, errorsTrads.minLength);\n }\n break;\n }\n case 'regex':\n schema = schema.matches(new RegExp(validationValue), {\n message: errorsTrads.regex,\n excludeEmptyString: !validations.required,\n });\n break;\n case 'lowercase':\n if (['text', 'textarea', 'email', 'string'].includes(type)) {\n schema = schema.strict().lowercase();\n }\n break;\n case 'uppercase':\n if (['text', 'textarea', 'email', 'string'].includes(type)) {\n schema = schema.strict().uppercase();\n }\n break;\n case 'positive':\n if (isFieldTypeNumber(type)) {\n schema = schema.positive();\n }\n break;\n case 'negative':\n if (isFieldTypeNumber(type)) {\n schema = schema.negative();\n }\n break;\n default:\n schema = schema.nullable();\n }\n }\n });\n\n return schema;\n};\n\nexport default createYupSchema;\n"],"names":["item","errorsTrads","componentSchema"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { useEffect } from "react";
|
|
3
|
-
import { V as useTypedStore } from "./index-
|
|
3
|
+
import { V as useTypedStore } from "./index-60a57d31.mjs";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
import { Box, Typography, Flex, MultiSelectOption, IconButton, VisuallyHidden, Accordion, AccordionToggle, AccordionContent, Grid, GridItem, TextInput, SingleSelect, SingleSelectOption, MultiSelect, MultiSelectGroup } from "@strapi/design-system";
|
|
6
6
|
import { useTracking, useNotification, NotAllowedInput, ConfirmDialog, useCollator } from "@strapi/helper-plugin";
|
|
@@ -12,7 +12,7 @@ import { PlusCircle, More, Drag, Duplicate } from "@strapi/icons";
|
|
|
12
12
|
import { MenuItem, Menu } from "@strapi/design-system/v2";
|
|
13
13
|
import { useField } from "formik";
|
|
14
14
|
import { getEmptyImage } from "react-dnd-html5-backend";
|
|
15
|
-
import { u as useDragAndDrop, c as composeRefs } from "./schema-
|
|
15
|
+
import { u as useDragAndDrop, c as composeRefs } from "./schema-ac25a47b.mjs";
|
|
16
16
|
import "axios";
|
|
17
17
|
import { produce } from "immer";
|
|
18
18
|
import "lodash/cloneDeep";
|
|
@@ -1098,4 +1098,4 @@ export {
|
|
|
1098
1098
|
useInjectReducer as u,
|
|
1099
1099
|
validateWorkflow as v
|
|
1100
1100
|
};
|
|
1101
|
-
//# sourceMappingURL=validateWorkflow-
|
|
1101
|
+
//# sourceMappingURL=validateWorkflow-2511dc85.mjs.map
|