@strapi/admin 4.15.0 → 4.15.1
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 +1476 -0
- package/dist/_chunks/AuthenticatedApp-092ef2be.js.map +1 -0
- package/dist/_chunks/AuthenticatedApp-b0ada7e9.mjs +1450 -0
- package/dist/_chunks/AuthenticatedApp-b0ada7e9.mjs.map +1 -0
- package/dist/_chunks/DragLayer-bff96835.mjs +44 -0
- package/dist/_chunks/DragLayer-bff96835.mjs.map +1 -0
- package/dist/_chunks/DragLayer-f07eee6c.js +43 -0
- package/dist/_chunks/DragLayer-f07eee6c.js.map +1 -0
- package/dist/_chunks/HomePage-5798ba6f.mjs +543 -0
- package/dist/_chunks/HomePage-5798ba6f.mjs.map +1 -0
- package/dist/_chunks/HomePage-5ae473e6.js +564 -0
- package/dist/_chunks/HomePage-5ae473e6.js.map +1 -0
- package/dist/_chunks/HomePage-a3cc32d2.mjs +50 -0
- package/dist/_chunks/HomePage-a3cc32d2.mjs.map +1 -0
- package/dist/_chunks/HomePage-bdcb51be.js +50 -0
- package/dist/_chunks/HomePage-bdcb51be.js.map +1 -0
- package/dist/_chunks/InstalledPluginsPage-6284aaff.mjs +136 -0
- package/dist/_chunks/InstalledPluginsPage-6284aaff.mjs.map +1 -0
- package/dist/_chunks/InstalledPluginsPage-cc2d6a36.js +155 -0
- package/dist/_chunks/InstalledPluginsPage-cc2d6a36.js.map +1 -0
- package/dist/_chunks/InternalErrorPage-040dc993.mjs +41 -0
- package/dist/_chunks/InternalErrorPage-040dc993.mjs.map +1 -0
- package/dist/_chunks/InternalErrorPage-d0e51ac2.js +41 -0
- package/dist/_chunks/InternalErrorPage-d0e51ac2.js.map +1 -0
- package/dist/_chunks/Layout-4b3e434a.js +92 -0
- package/dist/_chunks/Layout-4b3e434a.js.map +1 -0
- package/dist/_chunks/Layout-72fa2ace.mjs +90 -0
- package/dist/_chunks/Layout-72fa2ace.mjs.map +1 -0
- package/dist/_chunks/LimitsModal-203482b8.js +84 -0
- package/dist/_chunks/LimitsModal-203482b8.js.map +1 -0
- package/dist/_chunks/LimitsModal-da04700e.mjs +82 -0
- package/dist/_chunks/LimitsModal-da04700e.mjs.map +1 -0
- package/dist/_chunks/MarketplacePage-209ec658.js +1037 -0
- package/dist/_chunks/MarketplacePage-209ec658.js.map +1 -0
- package/dist/_chunks/MarketplacePage-7dee72f5.mjs +1013 -0
- package/dist/_chunks/MarketplacePage-7dee72f5.mjs.map +1 -0
- package/dist/_chunks/ProfilePage-26c14ba4.mjs +596 -0
- package/dist/_chunks/ProfilePage-26c14ba4.mjs.map +1 -0
- package/dist/_chunks/ProfilePage-4f8c127b.js +619 -0
- package/dist/_chunks/ProfilePage-4f8c127b.js.map +1 -0
- package/dist/_chunks/SSOProviders-1d062c95.mjs +90 -0
- package/dist/_chunks/SSOProviders-1d062c95.mjs.map +1 -0
- package/dist/_chunks/SSOProviders-1ef0a89e.js +111 -0
- package/dist/_chunks/SSOProviders-1ef0a89e.js.map +1 -0
- package/dist/_chunks/SalesPage-56bf9463.mjs +48 -0
- package/dist/_chunks/SalesPage-56bf9463.mjs.map +1 -0
- package/dist/_chunks/SalesPage-66f9ea32.js +51 -0
- package/dist/_chunks/SalesPage-66f9ea32.js.map +1 -0
- package/dist/_chunks/SalesPage-c5cbb366.js +51 -0
- package/dist/_chunks/SalesPage-c5cbb366.js.map +1 -0
- package/dist/_chunks/SalesPage-c7c94c3f.mjs +51 -0
- package/dist/_chunks/SalesPage-c7c94c3f.mjs.map +1 -0
- package/dist/_chunks/SalesPage-d0cdc1a7.js +48 -0
- package/dist/_chunks/SalesPage-d0cdc1a7.js.map +1 -0
- package/dist/_chunks/SalesPage-f9597ae7.mjs +51 -0
- package/dist/_chunks/SalesPage-f9597ae7.mjs.map +1 -0
- package/dist/_chunks/ar-21279f4c.js +936 -0
- package/dist/_chunks/ar-21279f4c.js.map +1 -0
- package/dist/_chunks/ar-62e5e2b3.mjs +936 -0
- package/dist/_chunks/ar-62e5e2b3.mjs.map +1 -0
- package/dist/_chunks/build-e1ca35da.mjs +66 -0
- package/dist/_chunks/build-e1ca35da.mjs.map +1 -0
- package/dist/_chunks/build-f36bfc97.js +66 -0
- package/dist/_chunks/build-f36bfc97.js.map +1 -0
- package/dist/_chunks/ca-d05fb350.js +724 -0
- package/dist/_chunks/ca-d05fb350.js.map +1 -0
- package/dist/_chunks/ca-e99de225.mjs +724 -0
- package/dist/_chunks/ca-e99de225.mjs.map +1 -0
- package/dist/_chunks/colors-c24a54f0.js +33 -0
- package/dist/_chunks/colors-c24a54f0.js.map +1 -0
- package/dist/_chunks/colors-e7489dd4.mjs +34 -0
- package/dist/_chunks/colors-e7489dd4.mjs.map +1 -0
- package/dist/_chunks/constants-12dfb222.mjs +34 -0
- package/dist/_chunks/constants-12dfb222.mjs.map +1 -0
- package/dist/_chunks/constants-1aea1185.js +34 -0
- package/dist/_chunks/constants-1aea1185.js.map +1 -0
- package/dist/_chunks/constants-27319180.mjs +226 -0
- package/dist/_chunks/constants-27319180.mjs.map +1 -0
- package/dist/_chunks/constants-2a8f4e41.mjs +11 -0
- package/dist/_chunks/constants-2a8f4e41.mjs.map +1 -0
- package/dist/_chunks/constants-32975b2e.js +86 -0
- package/dist/_chunks/constants-32975b2e.js.map +1 -0
- package/dist/_chunks/constants-40ffa931.js +11 -0
- package/dist/_chunks/constants-40ffa931.js.map +1 -0
- package/dist/_chunks/constants-6157f648.mjs +52 -0
- package/dist/_chunks/constants-6157f648.mjs.map +1 -0
- package/dist/_chunks/constants-64899732.js +30 -0
- package/dist/_chunks/constants-64899732.js.map +1 -0
- package/dist/_chunks/constants-70e05152.js +52 -0
- package/dist/_chunks/constants-70e05152.js.map +1 -0
- package/dist/_chunks/constants-727a113c.js +82 -0
- package/dist/_chunks/constants-727a113c.js.map +1 -0
- package/dist/_chunks/constants-8092eeb5.mjs +59 -0
- package/dist/_chunks/constants-8092eeb5.mjs.map +1 -0
- package/dist/_chunks/constants-85da8cc4.js +58 -0
- package/dist/_chunks/constants-85da8cc4.js.map +1 -0
- package/dist/_chunks/constants-86aa3e70.js +85 -0
- package/dist/_chunks/constants-86aa3e70.js.map +1 -0
- package/dist/_chunks/constants-90c20a6f.mjs +86 -0
- package/dist/_chunks/constants-90c20a6f.mjs.map +1 -0
- package/dist/_chunks/constants-921eda17.mjs +83 -0
- package/dist/_chunks/constants-921eda17.mjs.map +1 -0
- package/dist/_chunks/constants-9de7641c.mjs +80 -0
- package/dist/_chunks/constants-9de7641c.mjs.map +1 -0
- package/dist/_chunks/constants-a773ff9b.js +228 -0
- package/dist/_chunks/constants-a773ff9b.js.map +1 -0
- package/dist/_chunks/constants-a92ce583.mjs +7 -0
- package/dist/_chunks/constants-a92ce583.mjs.map +1 -0
- package/dist/_chunks/constants-d3dd8ed6.mjs +7 -0
- package/dist/_chunks/constants-d3dd8ed6.mjs.map +1 -0
- package/dist/_chunks/constants-d5d67ca8.js +6 -0
- package/dist/_chunks/constants-d5d67ca8.js.map +1 -0
- package/dist/_chunks/constants-da2542a3.js +6 -0
- package/dist/_chunks/constants-da2542a3.js.map +1 -0
- package/dist/_chunks/constants-def33545.mjs +30 -0
- package/dist/_chunks/constants-def33545.mjs.map +1 -0
- package/dist/_chunks/cs-2fa881a2.mjs +291 -0
- package/dist/_chunks/cs-2fa881a2.mjs.map +1 -0
- package/dist/_chunks/cs-eee75b10.js +291 -0
- package/dist/_chunks/cs-eee75b10.js.map +1 -0
- package/dist/_chunks/de-28f8bc28.mjs +716 -0
- package/dist/_chunks/de-28f8bc28.mjs.map +1 -0
- package/dist/_chunks/de-976cc986.js +716 -0
- package/dist/_chunks/de-976cc986.js.map +1 -0
- package/dist/_chunks/develop-513c9644.js +59 -0
- package/dist/_chunks/develop-513c9644.js.map +1 -0
- package/dist/_chunks/develop-e45b460e.mjs +59 -0
- package/dist/_chunks/develop-e45b460e.mjs.map +1 -0
- package/dist/_chunks/dk-0b759a56.mjs +634 -0
- package/dist/_chunks/dk-0b759a56.mjs.map +1 -0
- package/dist/_chunks/dk-6189917e.js +634 -0
- package/dist/_chunks/dk-6189917e.js.map +1 -0
- package/dist/_chunks/edit-29bdf5d6.js +50 -0
- package/dist/_chunks/edit-29bdf5d6.js.map +1 -0
- package/dist/_chunks/edit-923cefa0.mjs +32 -0
- package/dist/_chunks/edit-923cefa0.mjs.map +1 -0
- package/dist/_chunks/en-0e9e9327.js +1022 -0
- package/dist/_chunks/en-0e9e9327.js.map +1 -0
- package/dist/_chunks/en-e728accb.mjs +1022 -0
- package/dist/_chunks/en-e728accb.mjs.map +1 -0
- package/dist/_chunks/es-18b29db2.mjs +796 -0
- package/dist/_chunks/es-18b29db2.mjs.map +1 -0
- package/dist/_chunks/es-3ee0992a.js +796 -0
- package/dist/_chunks/es-3ee0992a.js.map +1 -0
- package/dist/_chunks/eu-8fd773c2.mjs +832 -0
- package/dist/_chunks/eu-8fd773c2.mjs.map +1 -0
- package/dist/_chunks/eu-be749f31.js +832 -0
- package/dist/_chunks/eu-be749f31.js.map +1 -0
- package/dist/_chunks/fr-29c84e1f.js +762 -0
- package/dist/_chunks/fr-29c84e1f.js.map +1 -0
- package/dist/_chunks/fr-f37df086.mjs +762 -0
- package/dist/_chunks/fr-f37df086.mjs.map +1 -0
- package/dist/_chunks/gu-377a4b46.js +623 -0
- package/dist/_chunks/gu-377a4b46.js.map +1 -0
- package/dist/_chunks/gu-69f0e13a.mjs +623 -0
- package/dist/_chunks/gu-69f0e13a.mjs.map +1 -0
- package/dist/_chunks/he-aec27352.js +326 -0
- package/dist/_chunks/he-aec27352.js.map +1 -0
- package/dist/_chunks/he-bd769d7e.mjs +326 -0
- package/dist/_chunks/he-bd769d7e.mjs.map +1 -0
- package/dist/_chunks/hi-1bdc7a46.js +722 -0
- package/dist/_chunks/hi-1bdc7a46.js.map +1 -0
- package/dist/_chunks/hi-d397a24b.mjs +722 -0
- package/dist/_chunks/hi-d397a24b.mjs.map +1 -0
- package/dist/_chunks/hu-e2c05f40.js +832 -0
- package/dist/_chunks/hu-e2c05f40.js.map +1 -0
- package/dist/_chunks/hu-eb88bd0c.mjs +832 -0
- package/dist/_chunks/hu-eb88bd0c.mjs.map +1 -0
- package/dist/_chunks/id-586df3a2.js +448 -0
- package/dist/_chunks/id-586df3a2.js.map +1 -0
- package/dist/_chunks/id-f47699e6.mjs +448 -0
- package/dist/_chunks/id-f47699e6.mjs.map +1 -0
- package/dist/_chunks/index-00202c8a.mjs +126 -0
- package/dist/_chunks/index-00202c8a.mjs.map +1 -0
- package/dist/_chunks/index-066ee02e.js +127 -0
- package/dist/_chunks/index-066ee02e.js.map +1 -0
- package/dist/_chunks/index-0af587c3.js +1525 -0
- package/dist/_chunks/index-0af587c3.js.map +1 -0
- package/dist/_chunks/index-137490ba.js +69 -0
- package/dist/_chunks/index-137490ba.js.map +1 -0
- package/dist/_chunks/index-16030b74.js +134 -0
- package/dist/_chunks/index-16030b74.js.map +1 -0
- package/dist/_chunks/index-1763a04f.js +586 -0
- package/dist/_chunks/index-1763a04f.js.map +1 -0
- package/dist/_chunks/index-176cc121.mjs +469 -0
- package/dist/_chunks/index-176cc121.mjs.map +1 -0
- package/dist/_chunks/index-1b7e986c.mjs +54 -0
- package/dist/_chunks/index-1b7e986c.mjs.map +1 -0
- package/dist/_chunks/index-1da8c640.mjs +363 -0
- package/dist/_chunks/index-1da8c640.mjs.map +1 -0
- package/dist/_chunks/index-1e973c03.mjs +54 -0
- package/dist/_chunks/index-1e973c03.mjs.map +1 -0
- package/dist/_chunks/index-1f1e2465.js +340 -0
- package/dist/_chunks/index-1f1e2465.js.map +1 -0
- package/dist/_chunks/index-24189ec9.js +697 -0
- package/dist/_chunks/index-24189ec9.js.map +1 -0
- package/dist/_chunks/index-284c5926.js +432 -0
- package/dist/_chunks/index-284c5926.js.map +1 -0
- package/dist/_chunks/index-305a03f4.mjs +66 -0
- package/dist/_chunks/index-305a03f4.mjs.map +1 -0
- package/dist/_chunks/index-332f319e.mjs +127 -0
- package/dist/_chunks/index-332f319e.mjs.map +1 -0
- package/dist/_chunks/index-34a2909e.mjs +359 -0
- package/dist/_chunks/index-34a2909e.mjs.map +1 -0
- package/dist/_chunks/index-34de382e.mjs +3504 -0
- package/dist/_chunks/index-34de382e.mjs.map +1 -0
- package/dist/_chunks/index-35e4bad6.mjs +274 -0
- package/dist/_chunks/index-35e4bad6.mjs.map +1 -0
- package/dist/_chunks/index-36e0d449.mjs +406 -0
- package/dist/_chunks/index-36e0d449.mjs.map +1 -0
- package/dist/_chunks/index-370a4ee8.mjs +60 -0
- package/dist/_chunks/index-370a4ee8.mjs.map +1 -0
- package/dist/_chunks/index-38115cde.js +66 -0
- package/dist/_chunks/index-38115cde.js.map +1 -0
- package/dist/_chunks/index-3c58de6f.js +50 -0
- package/dist/_chunks/index-3c58de6f.js.map +1 -0
- package/dist/_chunks/index-4565fcbd.js +847 -0
- package/dist/_chunks/index-4565fcbd.js.map +1 -0
- package/dist/_chunks/index-48322669.mjs +132 -0
- package/dist/_chunks/index-48322669.mjs.map +1 -0
- package/dist/_chunks/index-4c5acc70.js +254 -0
- package/dist/_chunks/index-4c5acc70.js.map +1 -0
- package/dist/_chunks/index-51a15b27.js +403 -0
- package/dist/_chunks/index-51a15b27.js.map +1 -0
- package/dist/_chunks/index-52b5db8a.js +267 -0
- package/dist/_chunks/index-52b5db8a.js.map +1 -0
- package/dist/_chunks/index-53ba81f9.mjs +271 -0
- package/dist/_chunks/index-53ba81f9.mjs.map +1 -0
- package/dist/_chunks/index-56ced4ab.mjs +50 -0
- package/dist/_chunks/index-56ced4ab.mjs.map +1 -0
- package/dist/_chunks/index-5752584c.mjs +1063 -0
- package/dist/_chunks/index-5752584c.mjs.map +1 -0
- package/dist/_chunks/index-58db145d.mjs +866 -0
- package/dist/_chunks/index-58db145d.mjs.map +1 -0
- package/dist/_chunks/index-59d22949.mjs +583 -0
- package/dist/_chunks/index-59d22949.mjs.map +1 -0
- package/dist/_chunks/index-5ad8482b.mjs +412 -0
- package/dist/_chunks/index-5ad8482b.mjs.map +1 -0
- package/dist/_chunks/index-5d8d89a7.js +47 -0
- package/dist/_chunks/index-5d8d89a7.js.map +1 -0
- package/dist/_chunks/index-62b4b3fc.js +311 -0
- package/dist/_chunks/index-62b4b3fc.js.map +1 -0
- package/dist/_chunks/index-6a512cec.js +295 -0
- package/dist/_chunks/index-6a512cec.js.map +1 -0
- package/dist/_chunks/index-6b9e3d60.js +273 -0
- package/dist/_chunks/index-6b9e3d60.js.map +1 -0
- package/dist/_chunks/index-6cc54f3b.mjs +245 -0
- package/dist/_chunks/index-6cc54f3b.mjs.map +1 -0
- package/dist/_chunks/index-6dbc94a9.mjs +676 -0
- package/dist/_chunks/index-6dbc94a9.mjs.map +1 -0
- package/dist/_chunks/index-73ba6bdd.mjs +826 -0
- package/dist/_chunks/index-73ba6bdd.mjs.map +1 -0
- package/dist/_chunks/index-74812118.mjs +53 -0
- package/dist/_chunks/index-74812118.mjs.map +1 -0
- package/dist/_chunks/index-77e0e5d7.js +50 -0
- package/dist/_chunks/index-77e0e5d7.js.map +1 -0
- package/dist/_chunks/index-7aed99db.js +380 -0
- package/dist/_chunks/index-7aed99db.js.map +1 -0
- package/dist/_chunks/index-7d40adea.mjs +398 -0
- package/dist/_chunks/index-7d40adea.mjs.map +1 -0
- package/dist/_chunks/index-85069cac.mjs +233 -0
- package/dist/_chunks/index-85069cac.mjs.map +1 -0
- package/dist/_chunks/index-86dfbe3a.js +1134 -0
- package/dist/_chunks/index-86dfbe3a.js.map +1 -0
- package/dist/_chunks/index-88298941.js +54 -0
- package/dist/_chunks/index-88298941.js.map +1 -0
- package/dist/_chunks/index-89d27faa.js +54 -0
- package/dist/_chunks/index-89d27faa.js.map +1 -0
- package/dist/_chunks/index-8d4d361d.mjs +47 -0
- package/dist/_chunks/index-8d4d361d.mjs.map +1 -0
- package/dist/_chunks/index-8ea5a488.js +366 -0
- package/dist/_chunks/index-8ea5a488.js.map +1 -0
- package/dist/_chunks/index-928b18d2.mjs +383 -0
- package/dist/_chunks/index-928b18d2.mjs.map +1 -0
- package/dist/_chunks/index-973c363e.mjs +63 -0
- package/dist/_chunks/index-973c363e.mjs.map +1 -0
- package/dist/_chunks/index-a4348f3b.js +62 -0
- package/dist/_chunks/index-a4348f3b.js.map +1 -0
- package/dist/_chunks/index-acd6d64f.js +417 -0
- package/dist/_chunks/index-acd6d64f.js.map +1 -0
- package/dist/_chunks/index-af69bc98.mjs +308 -0
- package/dist/_chunks/index-af69bc98.mjs.map +1 -0
- package/dist/_chunks/index-b2257157.js +15328 -0
- package/dist/_chunks/index-b2257157.js.map +1 -0
- package/dist/_chunks/index-b81f7273.mjs +1501 -0
- package/dist/_chunks/index-b81f7273.mjs.map +1 -0
- package/dist/_chunks/index-b98ea3ce.mjs +52 -0
- package/dist/_chunks/index-b98ea3ce.mjs.map +1 -0
- package/dist/_chunks/index-bb8093ea.mjs +314 -0
- package/dist/_chunks/index-bb8093ea.mjs.map +1 -0
- package/dist/_chunks/index-bdfc1149.mjs +15247 -0
- package/dist/_chunks/index-bdfc1149.mjs.map +1 -0
- package/dist/_chunks/index-be2ca313.mjs +47 -0
- package/dist/_chunks/index-be2ca313.mjs.map +1 -0
- package/dist/_chunks/index-c604806d.js +335 -0
- package/dist/_chunks/index-c604806d.js.map +1 -0
- package/dist/_chunks/index-cadd3ee0.js +873 -0
- package/dist/_chunks/index-cadd3ee0.js.map +1 -0
- package/dist/_chunks/index-d1620260.js +52 -0
- package/dist/_chunks/index-d1620260.js.map +1 -0
- package/dist/_chunks/index-d3e1fd86.js +490 -0
- package/dist/_chunks/index-d3e1fd86.js.map +1 -0
- package/dist/_chunks/index-da04b144.js +50 -0
- package/dist/_chunks/index-da04b144.js.map +1 -0
- package/dist/_chunks/index-e22d1a84.mjs +50 -0
- package/dist/_chunks/index-e22d1a84.mjs.map +1 -0
- package/dist/_chunks/index-e414353b.js +418 -0
- package/dist/_chunks/index-e414353b.js.map +1 -0
- package/dist/_chunks/index-ea23ee9f.mjs +340 -0
- package/dist/_chunks/index-ea23ee9f.mjs.map +1 -0
- package/dist/_chunks/index-eb67694f.mjs +261 -0
- package/dist/_chunks/index-eb67694f.mjs.map +1 -0
- package/dist/_chunks/index-edc9bb0b.js +3536 -0
- package/dist/_chunks/index-edc9bb0b.js.map +1 -0
- package/dist/_chunks/index-f179c7ea.js +47 -0
- package/dist/_chunks/index-f179c7ea.js.map +1 -0
- package/dist/_chunks/index-f448aed2.js +128 -0
- package/dist/_chunks/index-f448aed2.js.map +1 -0
- package/dist/_chunks/index-f5342ea5.js +54 -0
- package/dist/_chunks/index-f5342ea5.js.map +1 -0
- package/dist/_chunks/index-fc700e52.js +263 -0
- package/dist/_chunks/index-fc700e52.js.map +1 -0
- package/dist/_chunks/index-fcd5bc14.mjs +50 -0
- package/dist/_chunks/index-fcd5bc14.mjs.map +1 -0
- package/dist/_chunks/it-4006227c.mjs +459 -0
- package/dist/_chunks/it-4006227c.mjs.map +1 -0
- package/dist/_chunks/it-9c4295f1.js +459 -0
- package/dist/_chunks/it-9c4295f1.js.map +1 -0
- package/dist/_chunks/ja-db43ca3d.mjs +633 -0
- package/dist/_chunks/ja-db43ca3d.mjs.map +1 -0
- package/dist/_chunks/ja-eb74520f.js +633 -0
- package/dist/_chunks/ja-eb74520f.js.map +1 -0
- package/dist/_chunks/ko-18e71df4.js +631 -0
- package/dist/_chunks/ko-18e71df4.js.map +1 -0
- package/dist/_chunks/ko-a7826e25.mjs +631 -0
- package/dist/_chunks/ko-a7826e25.mjs.map +1 -0
- package/dist/_chunks/ml-90131768.mjs +722 -0
- package/dist/_chunks/ml-90131768.mjs.map +1 -0
- package/dist/_chunks/ml-c5199364.js +722 -0
- package/dist/_chunks/ml-c5199364.js.map +1 -0
- package/dist/_chunks/ms-bc514df6.js +342 -0
- package/dist/_chunks/ms-bc514df6.js.map +1 -0
- package/dist/_chunks/ms-f4f16a83.mjs +342 -0
- package/dist/_chunks/ms-f4f16a83.mjs.map +1 -0
- package/dist/_chunks/nl-887ce2c3.mjs +828 -0
- package/dist/_chunks/nl-887ce2c3.mjs.map +1 -0
- package/dist/_chunks/nl-f1aedbe2.js +828 -0
- package/dist/_chunks/nl-f1aedbe2.js.map +1 -0
- package/dist/_chunks/no-ec6c2927.js +310 -0
- package/dist/_chunks/no-ec6c2927.js.map +1 -0
- package/dist/_chunks/no-f0b02541.mjs +310 -0
- package/dist/_chunks/no-f0b02541.mjs.map +1 -0
- package/dist/_chunks/pl-9be86414.js +721 -0
- package/dist/_chunks/pl-9be86414.js.map +1 -0
- package/dist/_chunks/pl-9ccd35d9.mjs +721 -0
- package/dist/_chunks/pl-9ccd35d9.mjs.map +1 -0
- package/dist/_chunks/pt-4fcc08f1.js +296 -0
- package/dist/_chunks/pt-4fcc08f1.js.map +1 -0
- package/dist/_chunks/pt-8acb6ac1.mjs +296 -0
- package/dist/_chunks/pt-8acb6ac1.mjs.map +1 -0
- package/dist/_chunks/pt-BR-d43239e3.js +794 -0
- package/dist/_chunks/pt-BR-d43239e3.js.map +1 -0
- package/dist/_chunks/pt-BR-fd73cb13.mjs +794 -0
- package/dist/_chunks/pt-BR-fd73cb13.mjs.map +1 -0
- package/dist/_chunks/ru-07958f09.js +944 -0
- package/dist/_chunks/ru-07958f09.js.map +1 -0
- package/dist/_chunks/ru-d43423ea.mjs +944 -0
- package/dist/_chunks/ru-d43423ea.mjs.map +1 -0
- package/dist/_chunks/sa-6bf4c20e.mjs +722 -0
- package/dist/_chunks/sa-6bf4c20e.mjs.map +1 -0
- package/dist/_chunks/sa-8ffb7ca7.js +722 -0
- package/dist/_chunks/sa-8ffb7ca7.js.map +1 -0
- package/dist/_chunks/schema-a95f2514.mjs +490 -0
- package/dist/_chunks/schema-a95f2514.mjs.map +1 -0
- package/dist/_chunks/schema-f49c76d7.js +514 -0
- package/dist/_chunks/schema-f49c76d7.js.map +1 -0
- package/dist/_chunks/sk-58d31b17.mjs +690 -0
- package/dist/_chunks/sk-58d31b17.mjs.map +1 -0
- package/dist/_chunks/sk-a9308737.js +690 -0
- package/dist/_chunks/sk-a9308737.js.map +1 -0
- package/dist/_chunks/sv-0f5ffd1e.js +827 -0
- package/dist/_chunks/sv-0f5ffd1e.js.map +1 -0
- package/dist/_chunks/sv-d80ad633.mjs +827 -0
- package/dist/_chunks/sv-d80ad633.mjs.map +1 -0
- package/dist/_chunks/th-a53bbf7a.js +430 -0
- package/dist/_chunks/th-a53bbf7a.js.map +1 -0
- package/dist/_chunks/th-e72c6a22.mjs +430 -0
- package/dist/_chunks/th-e72c6a22.mjs.map +1 -0
- package/dist/_chunks/tr-b84a68b0.js +785 -0
- package/dist/_chunks/tr-b84a68b0.js.map +1 -0
- package/dist/_chunks/tr-e35ecfe8.mjs +785 -0
- package/dist/_chunks/tr-e35ecfe8.mjs.map +1 -0
- package/dist/_chunks/uk-de367ec1.mjs +343 -0
- package/dist/_chunks/uk-de367ec1.mjs.map +1 -0
- package/dist/_chunks/uk-e5226227.js +343 -0
- package/dist/_chunks/uk-e5226227.js.map +1 -0
- package/dist/_chunks/useAdminRolePermissions-603a2709.mjs +2322 -0
- package/dist/_chunks/useAdminRolePermissions-603a2709.mjs.map +1 -0
- package/dist/_chunks/useAdminRolePermissions-cb1a3ee2.js +2337 -0
- package/dist/_chunks/useAdminRolePermissions-cb1a3ee2.js.map +1 -0
- package/dist/_chunks/useAdminRoles-68d5d608.js +62 -0
- package/dist/_chunks/useAdminRoles-68d5d608.js.map +1 -0
- package/dist/_chunks/useAdminRoles-7ab5d521.mjs +44 -0
- package/dist/_chunks/useAdminRoles-7ab5d521.mjs.map +1 -0
- package/dist/_chunks/useAdminUsers-05d6b26a.js +61 -0
- package/dist/_chunks/useAdminUsers-05d6b26a.js.map +1 -0
- package/dist/_chunks/useAdminUsers-09f86a58.mjs +43 -0
- package/dist/_chunks/useAdminUsers-09f86a58.mjs.map +1 -0
- package/dist/_chunks/useContentTypes-53b449bb.mjs +67 -0
- package/dist/_chunks/useContentTypes-53b449bb.mjs.map +1 -0
- package/dist/_chunks/useContentTypes-7da293cc.js +85 -0
- package/dist/_chunks/useContentTypes-7da293cc.js.map +1 -0
- package/dist/_chunks/useDebounce-4712871e.js +35 -0
- package/dist/_chunks/useDebounce-4712871e.js.map +1 -0
- package/dist/_chunks/useDebounce-9364f340.mjs +17 -0
- package/dist/_chunks/useDebounce-9364f340.mjs.map +1 -0
- package/dist/_chunks/useLicenseLimitNotification-1fd756fa.mjs +80 -0
- package/dist/_chunks/useLicenseLimitNotification-1fd756fa.mjs.map +1 -0
- package/dist/_chunks/useLicenseLimitNotification-8a4d7fc1.js +100 -0
- package/dist/_chunks/useLicenseLimitNotification-8a4d7fc1.js.map +1 -0
- package/dist/_chunks/useLicenseLimits-13a102d3.mjs +31 -0
- package/dist/_chunks/useLicenseLimits-13a102d3.mjs.map +1 -0
- package/dist/_chunks/useLicenseLimits-81ef3cce.js +49 -0
- package/dist/_chunks/useLicenseLimits-81ef3cce.js.map +1 -0
- package/dist/_chunks/useReviewWorkflows-799e0305.js +59 -0
- package/dist/_chunks/useReviewWorkflows-799e0305.js.map +1 -0
- package/dist/_chunks/useReviewWorkflows-9e6b8986.mjs +41 -0
- package/dist/_chunks/useReviewWorkflows-9e6b8986.mjs.map +1 -0
- package/dist/_chunks/validateWorkflow-d051b610.mjs +1101 -0
- package/dist/_chunks/validateWorkflow-d051b610.mjs.map +1 -0
- package/dist/_chunks/validateWorkflow-e66d7d2e.js +1124 -0
- package/dist/_chunks/validateWorkflow-e66d7d2e.js.map +1 -0
- package/dist/_chunks/vi-096bccbb.mjs +298 -0
- package/dist/_chunks/vi-096bccbb.mjs.map +1 -0
- package/dist/_chunks/vi-c5fabb75.js +298 -0
- package/dist/_chunks/vi-c5fabb75.js.map +1 -0
- package/dist/_chunks/zh-24f618cb.js +836 -0
- package/dist/_chunks/zh-24f618cb.js.map +1 -0
- package/dist/_chunks/zh-Hans-35d2c374.js +957 -0
- package/dist/_chunks/zh-Hans-35d2c374.js.map +1 -0
- package/dist/_chunks/zh-Hans-ccf4be4b.mjs +957 -0
- package/dist/_chunks/zh-Hans-ccf4be4b.mjs.map +1 -0
- package/dist/_chunks/zh-ba29b2e1.mjs +836 -0
- package/dist/_chunks/zh-ba29b2e1.mjs.map +1 -0
- package/dist/admin/index.js +35 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/index.mjs +35 -0
- package/dist/admin/index.mjs.map +1 -0
- package/dist/admin/src/App.d.ts +6 -0
- package/dist/admin/src/StrapiApp.d.ts +140 -0
- package/dist/admin/src/components/AuthenticatedApp.d.ts +2 -0
- package/dist/admin/src/components/ConfigurationProvider.d.ts +11 -0
- package/dist/admin/src/components/DefaultDocument.d.ts +5 -0
- package/dist/admin/src/components/DragLayer.d.ts +10 -0
- package/dist/admin/src/components/GuidedTour/Homepage.d.ts +2 -0
- package/dist/admin/src/components/GuidedTour/Modal.d.ts +2 -0
- package/dist/admin/src/components/GuidedTour/Ornaments.d.ts +13 -0
- package/dist/admin/src/components/GuidedTour/Provider.d.ts +6 -0
- package/dist/admin/src/components/GuidedTour/constants.d.ts +165 -0
- package/dist/admin/src/components/LanguageProvider.d.ts +19 -0
- package/dist/admin/src/components/LeftMenu.d.ts +5 -0
- package/dist/admin/src/components/NoJavascript.d.ts +7 -0
- package/dist/admin/src/components/NpsSurvey.d.ts +17 -0
- package/dist/admin/src/components/Onboarding.d.ts +2 -0
- package/dist/admin/src/components/PluginsInitializer.d.ts +5 -0
- package/dist/admin/src/components/PrivateRoute.d.ts +8 -0
- package/dist/admin/src/components/Providers.d.ts +13 -0
- package/dist/admin/src/components/RBACProvider.d.ts +27 -0
- package/dist/admin/src/components/Theme.d.ts +6 -0
- package/dist/admin/src/components/ThemeToggleProvider.d.ts +12 -0
- package/dist/admin/src/components/UnauthenticatedLogo.d.ts +2 -0
- package/dist/admin/src/constants.d.ts +185 -0
- package/dist/admin/src/contexts/admin.d.ts +14 -0
- package/dist/admin/src/contexts/apiTokenPermissions.d.ts +36 -0
- package/dist/admin/src/contexts/configuration.d.ts +27 -0
- package/dist/admin/src/contexts/themeToggle.d.ts +22 -0
- package/dist/admin/src/core/apis/Components.d.ts +10 -0
- package/dist/admin/src/core/apis/CustomFields.d.ts +8 -0
- package/dist/admin/src/core/apis/Fields.d.ts +10 -0
- package/dist/admin/src/core/apis/Middlewares.d.ts +9 -0
- package/dist/admin/src/core/apis/Plugin.d.ts +19 -0
- package/dist/admin/src/core/apis/Reducers.d.ts +10 -0
- package/dist/admin/src/core/store/configure.d.ts +29 -0
- package/dist/admin/src/core/store/hooks.d.ts +37 -0
- package/dist/admin/src/core/utils/basename.d.ts +1 -0
- package/dist/admin/src/core/utils/createHook.d.ts +10 -0
- package/dist/admin/src/hooks/__mocks__/useAdminUsers.d.ts +2 -0
- package/dist/admin/src/hooks/__mocks__/useContentTypes.d.ts +2 -0
- package/dist/admin/src/hooks/useAdminRoles.d.ts +13 -0
- package/dist/admin/src/hooks/useAdminUsers.d.ts +19 -0
- package/dist/admin/src/hooks/useContentTypes.d.ts +7 -0
- package/dist/admin/src/hooks/useDebounce.d.ts +1 -0
- package/dist/admin/src/hooks/useEnterprise.d.ts +6 -0
- package/dist/admin/src/hooks/useInjectReducer.d.ts +10 -0
- package/dist/admin/src/hooks/useLicenseLimitNotification.d.ts +1 -0
- package/dist/admin/src/hooks/useMenu.d.ts +9 -0
- package/dist/admin/src/index.d.ts +2 -0
- package/dist/admin/src/layouts/AppLayout.d.ts +7 -0
- package/dist/admin/src/layouts/UnauthenticatedLayout.d.ts +11 -0
- package/dist/admin/src/pages/Admin.d.ts +7 -0
- package/dist/admin/src/pages/HomePage.d.ts +3 -0
- package/dist/admin/src/pages/InstalledPluginsPage.d.ts +3 -0
- package/dist/admin/src/pages/InternalErrorPage.d.ts +7 -0
- package/dist/admin/src/pages/Marketplace/MarketplacePage.d.ts +19 -0
- package/dist/admin/src/pages/Marketplace/components/NpmPackageCard.d.ts +13 -0
- package/dist/admin/src/pages/Marketplace/components/NpmPackagesFilters.d.ts +13 -0
- package/dist/admin/src/pages/Marketplace/components/NpmPackagesGrid.d.ts +13 -0
- package/dist/admin/src/pages/Marketplace/components/OfflineLayout.d.ts +2 -0
- package/dist/admin/src/pages/Marketplace/components/PageHeader.d.ts +8 -0
- package/dist/admin/src/pages/Marketplace/components/SortSelect.d.ts +51 -0
- package/dist/admin/src/pages/Marketplace/hooks/__mocks__/useNavigatorOnline.d.ts +1 -0
- package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +92 -0
- package/dist/admin/src/pages/Marketplace/hooks/useNavigatorOnline.d.ts +5 -0
- package/dist/admin/src/pages/NotFoundPage.d.ts +1 -0
- package/dist/admin/src/pages/ProfilePage.d.ts +2 -0
- package/dist/admin/src/pages/SettingsPage/hooks/useRegenerate.d.ts +4 -0
- package/dist/admin/src/pages/SettingsPage/pages/Roles/EditPage/hooks/usePermissionsDataManager.d.ts +24 -0
- package/dist/admin/src/pages/SettingsPage/pages/Roles/hooks/__mocks__/useAdminRolePermissions.d.ts +2 -0
- package/dist/admin/src/pages/SettingsPage/pages/Roles/hooks/useAdminRolePermissions.d.ts +11 -0
- package/dist/admin/src/pages/SettingsPage/utils/makeUniqueRoutes.d.ts +6 -0
- package/dist/admin/src/pages/UseCasePage.d.ts +8 -0
- package/dist/admin/src/reducer.d.ts +21 -0
- package/dist/admin/src/render.d.ts +7 -0
- package/dist/admin/src/selectors.d.ts +21 -0
- package/dist/admin/src/shared/components/InjectionZone.d.ts +53 -0
- package/dist/admin/src/shared/hooks/__mocks__/useInjectionZone.d.ts +1 -0
- package/dist/admin/src/shared/hooks/useInjectionZone.d.ts +2 -0
- package/dist/admin/src/translations/languageNativeNames.d.ts +36 -0
- package/dist/admin/src/types/permissions.d.ts +7 -0
- package/dist/admin/src/utils/createRoute.d.ts +6 -0
- package/dist/admin/src/utils/formatAPIErrors.d.ts +6 -0
- package/dist/admin/src/utils/getFullName.d.ts +1 -0
- package/dist/admin/src/utils/hashAdminUserEmail.d.ts +6 -0
- package/dist/cli.js +46 -0
- package/dist/cli.js.map +1 -0
- package/dist/cli.mjs +46 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/ee/admin/src/constants.d.ts +53 -0
- package/dist/ee/admin/src/hooks/useLicenseLimitNotification.d.ts +1 -0
- package/dist/ee/admin/src/pages/HomePage.d.ts +1 -0
- package/dist/shared/contracts/admin.d.ts +23 -0
- package/dist/shared/contracts/providers.d.ts +16 -0
- package/dist/shared/contracts/roles.d.ts +52 -0
- package/dist/shared/contracts/shared.d.ts +39 -0
- package/dist/shared/contracts/user.d.ts +40 -0
- package/dist/shared/contracts/users.d.ts +49 -0
- package/dist/shared/schema.d.ts +7 -0
- package/ee/server/controllers/__tests__/stages.test.js +174 -0
- package/ee/server/middlewares/__tests__/review-workflows.test.js +40 -0
- package/ee/server/services/__tests__/assignees.test.js +76 -0
- package/ee/server/services/__tests__/audit-logs.test.js +300 -0
- package/ee/server/services/__tests__/passport.test.js +95 -0
- package/ee/server/services/__tests__/review-workflows-validation.test.js +100 -0
- package/ee/server/services/__tests__/review-workflows.test.js +163 -0
- package/ee/server/services/__tests__/sso.test.js +117 -0
- package/ee/server/services/__tests__/stages.test.js +275 -0
- package/ee/server/services/__tests__/workflows.test.js +203 -0
- package/ee/server/services/review-workflows/__tests__/entity-service-decorator.test.js +211 -0
- package/ee/server/services/review-workflows/metrics/__tests__/weekly-metrics.test.js +65 -0
- package/ee/server/services/review-workflows/workflows/__tests__/content-types.test.js +146 -0
- package/ee/server/utils/__tests__/persisted-tables.test.js +38 -0
- package/ee/server/utils/__tests__/sso-lock.test.js +84 -0
- package/index.d.ts +22 -0
- package/index.js +214 -123
- package/package.json +72 -32
- package/server/controllers/__tests__/admin.test.js +106 -0
- package/server/controllers/__tests__/api-token.test.js +496 -0
- package/server/controllers/__tests__/content-api.test.js +173 -0
- package/server/controllers/__tests__/permission.test.js +200 -0
- package/server/controllers/__tests__/role.test.js +201 -0
- package/server/controllers/__tests__/transfer/token.test.js +520 -0
- package/server/controllers/__tests__/user.test.js +326 -0
- package/server/domain/action/__tests__/action-domain.test.js +230 -0
- package/server/domain/action/__tests__/action-provider.test.js +376 -0
- package/server/domain/condition/__tests__/condition-domain.test.js +122 -0
- package/server/domain/condition/__tests__/condition-provider.test.js +156 -0
- package/server/domain/permission/__tests__/permission-domain.test.js +285 -0
- package/server/services/__tests__/action.test.js +98 -0
- package/server/services/__tests__/api-token.test.js +980 -0
- package/server/services/__tests__/auth.test.js +319 -0
- package/server/services/__tests__/content-type.test.js +405 -0
- package/server/services/__tests__/metrics.test.js +65 -0
- package/server/services/__tests__/passport.test.js +90 -0
- package/server/services/__tests__/permission.test.js +177 -0
- package/server/services/__tests__/permissions-manager-sanitize.test.js +117 -0
- package/server/services/__tests__/permissions-manager-validate.test.js +119 -0
- package/server/services/__tests__/permissions-manager.test.js +318 -0
- package/server/services/__tests__/permissions.section-builder.section.test.js +136 -0
- package/server/services/__tests__/project-settings.test.js +397 -0
- package/server/services/__tests__/role.test.js +970 -0
- package/server/services/__tests__/token.test.js +217 -0
- package/server/services/__tests__/transfer/token.test.js +878 -0
- package/server/services/__tests__/user.test.js +771 -0
- package/server/strategies/__tests__/admin.test.js +118 -0
- package/server/strategies/__tests__/api-token.test.js +364 -0
- package/server/validation/__tests__/common-functions.test.js +54 -0
- package/.browserslistrc +0 -4
- package/.eslintignore +0 -4
- package/.eslintrc.js +0 -17
- package/admin/.eslintrc.js +0 -28
- package/admin/custom.d.ts +0 -28
- package/admin/src/StrapiApp.js +0 -477
- package/admin/src/app.js +0 -9
- package/admin/src/assets/images/icon_offline-cloud.svg +0 -5
- package/admin/src/assets/images/logo-strapi-2022.svg +0 -7
- package/admin/src/assets/images/onboarding-preview.png +0 -0
- package/admin/src/components/AuthenticatedApp.tsx +0 -187
- package/admin/src/components/ConfigurationProvider.tsx +0 -68
- package/admin/src/components/DragLayer.tsx +0 -62
- package/admin/src/components/GuidedTour/Homepage.tsx +0 -111
- package/admin/src/components/GuidedTour/Modal.tsx +0 -303
- package/admin/src/components/GuidedTour/Ornaments.tsx +0 -74
- package/admin/src/components/GuidedTour/Provider.tsx +0 -253
- package/admin/src/components/GuidedTour/constants.ts +0 -172
- package/admin/src/components/LanguageProvider.tsx +0 -130
- package/admin/src/components/LeftMenu.tsx +0 -257
- package/admin/src/components/NpsSurvey.tsx +0 -415
- package/admin/src/components/PluginsInitializer.tsx +0 -124
- package/admin/src/components/PrivateRoute.tsx +0 -42
- package/admin/src/components/Providers.tsx +0 -125
- package/admin/src/components/RBACProvider.tsx +0 -124
- package/admin/src/components/Theme.tsx +0 -41
- package/admin/src/components/ThemeToggleProvider.tsx +0 -64
- package/admin/src/components/UnauthenticatedLogo.tsx +0 -17
- package/admin/src/components/__mocks__/LanguageProvider.ts +0 -9
- package/admin/src/constants.ts +0 -138
- package/admin/src/content-manager/assets/images/background_input.svg +0 -1
- package/admin/src/content-manager/assets/images/icon_remove.svg +0 -19
- package/admin/src/content-manager/assets/images/logo.svg +0 -1
- package/admin/src/content-manager/components/BlocksEditor/BlocksInput/index.js +0 -146
- package/admin/src/content-manager/components/BlocksEditor/Toolbar/index.js +0 -694
- package/admin/src/content-manager/components/BlocksEditor/hooks/useBlocksStore.js +0 -779
- package/admin/src/content-manager/components/BlocksEditor/hooks/useModifiersStore.js +0 -119
- package/admin/src/content-manager/components/BlocksEditor/index.js +0 -203
- package/admin/src/content-manager/components/BlocksEditor/plugins/index.js +0 -4
- package/admin/src/content-manager/components/BlocksEditor/plugins/withLinks.js +0 -61
- package/admin/src/content-manager/components/BlocksEditor/plugins/withStrapiSchema.js +0 -33
- package/admin/src/content-manager/components/BlocksEditor/utils/links.js +0 -90
- package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +0 -432
- package/admin/src/content-manager/components/ComponentIcon/ComponentIcon.js +0 -40
- package/admin/src/content-manager/components/ComponentIcon/constants.js +0 -133
- package/admin/src/content-manager/components/ComponentIcon/index.js +0 -1
- package/admin/src/content-manager/components/ComponentInitializer/index.js +0 -81
- package/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumns.js +0 -2
- package/admin/src/content-manager/components/DynamicZone/components/AddComponentButton.js +0 -102
- package/admin/src/content-manager/components/DynamicZone/components/ComponentCard.js +0 -72
- package/admin/src/content-manager/components/DynamicZone/components/ComponentCategory.js +0 -108
- package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker.js +0 -94
- package/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +0 -313
- package/admin/src/content-manager/components/DynamicZone/components/DynamicZoneLabel.js +0 -79
- package/admin/src/content-manager/components/DynamicZone/index.js +0 -316
- package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +0 -709
- package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +0 -428
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +0 -191
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findAllAndReplace.js +0 -92
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/getAPIInnerError.js +0 -18
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/handleAPIError.js +0 -15
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/index.js +0 -3
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/moveFields.js +0 -10
- package/admin/src/content-manager/components/FieldComponent/Label.js +0 -68
- package/admin/src/content-manager/components/FieldComponent/index.js +0 -168
- package/admin/src/content-manager/components/FieldComponent/utils/connect.js +0 -12
- package/admin/src/content-manager/components/FieldComponent/utils/select.js +0 -129
- package/admin/src/content-manager/components/FieldTypeIcon/index.js +0 -82
- package/admin/src/content-manager/components/Filter/CustomInputs/AdminUsersFilter.js +0 -42
- package/admin/src/content-manager/components/Filter/Filter.js +0 -54
- package/admin/src/content-manager/components/Filter/index.js +0 -1
- package/admin/src/content-manager/components/Hint/index.js +0 -31
- package/admin/src/content-manager/components/InjectionZoneList/index.js +0 -39
- package/admin/src/content-manager/components/InputUID/endActionStyle.js +0 -43
- package/admin/src/content-manager/components/InputUID/index.js +0 -286
- package/admin/src/content-manager/components/InputUID/regex.js +0 -3
- package/admin/src/content-manager/components/Inputs/index.js +0 -288
- package/admin/src/content-manager/components/Inputs/utils/VALIDATIONS_TO_OMIT.js +0 -13
- package/admin/src/content-manager/components/Inputs/utils/connect.js +0 -12
- package/admin/src/content-manager/components/Inputs/utils/generateOptions.js +0 -32
- package/admin/src/content-manager/components/Inputs/utils/getInputType.js +0 -46
- package/admin/src/content-manager/components/Inputs/utils/index.js +0 -5
- package/admin/src/content-manager/components/Inputs/utils/select.js +0 -39
- package/admin/src/content-manager/components/ListViewTable/CellContent/PublicationState/PublicationState.js +0 -27
- package/admin/src/content-manager/components/ListViewTable/CellContent/PublicationState/index.js +0 -1
- package/admin/src/content-manager/components/NonRepeatableComponent/index.js +0 -98
- package/admin/src/content-manager/components/PreviewWysiwyg/Wrapper.js +0 -147
- package/admin/src/content-manager/components/PreviewWysiwyg/index.js +0 -34
- package/admin/src/content-manager/components/PreviewWysiwyg/utils/mdRenderer.js +0 -77
- package/admin/src/content-manager/components/PreviewWysiwyg/utils/satinizeHtml.js +0 -16
- package/admin/src/content-manager/components/RelationInput/RelationInput.js +0 -507
- package/admin/src/content-manager/components/RelationInput/components/Option.js +0 -63
- package/admin/src/content-manager/components/RelationInput/components/RelationItem.js +0 -170
- package/admin/src/content-manager/components/RelationInput/components/RelationList.js +0 -56
- package/admin/src/content-manager/components/RelationInput/constants.js +0 -2
- package/admin/src/content-manager/components/RelationInput/index.js +0 -2
- package/admin/src/content-manager/components/RelationInputDataManager/RelationInputDataManager.js +0 -436
- package/admin/src/content-manager/components/RelationInputDataManager/constants.js +0 -8
- package/admin/src/content-manager/components/RelationInputDataManager/index.js +0 -1
- package/admin/src/content-manager/components/RelationInputDataManager/utils/connect.js +0 -11
- package/admin/src/content-manager/components/RelationInputDataManager/utils/diffRelations.js +0 -24
- package/admin/src/content-manager/components/RelationInputDataManager/utils/getRelationLink.js +0 -3
- package/admin/src/content-manager/components/RelationInputDataManager/utils/index.js +0 -5
- package/admin/src/content-manager/components/RelationInputDataManager/utils/normalizeRelations.js +0 -44
- package/admin/src/content-manager/components/RelationInputDataManager/utils/normalizeSearchResults.js +0 -16
- package/admin/src/content-manager/components/RelationInputDataManager/utils/select.js +0 -113
- package/admin/src/content-manager/components/RepeatableComponent/components/Accordion.js +0 -78
- package/admin/src/content-manager/components/RepeatableComponent/components/Component.js +0 -272
- package/admin/src/content-manager/components/RepeatableComponent/components/Preview.js +0 -17
- package/admin/src/content-manager/components/RepeatableComponent/index.js +0 -283
- package/admin/src/content-manager/components/RepeatableComponent/utils/getComponentErrorKeys.js +0 -10
- package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +0 -387
- package/admin/src/content-manager/components/Wysiwyg/Editor.js +0 -468
- package/admin/src/content-manager/components/Wysiwyg/EditorLayout.js +0 -127
- package/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.js +0 -38
- package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +0 -232
- package/admin/src/content-manager/components/Wysiwyg/WysiwygStyles.js +0 -57
- package/admin/src/content-manager/components/Wysiwyg/index.js +0 -214
- package/admin/src/content-manager/components/Wysiwyg/utils/continueList.js +0 -111
- package/admin/src/content-manager/components/Wysiwyg/utils/utils.js +0 -313
- package/admin/src/content-manager/constants/attributes.js +0 -3
- package/admin/src/content-manager/contexts/ContentTypeLayout.js +0 -5
- package/admin/src/content-manager/contexts/ModelsContext.js +0 -5
- package/admin/src/content-manager/contexts/Wysiwyg.js +0 -5
- package/admin/src/content-manager/contexts/index.js +0 -2
- package/admin/src/content-manager/hooks/index.js +0 -9
- package/admin/src/content-manager/hooks/useAllowedAttributes.js +0 -51
- package/admin/src/content-manager/hooks/useContentTypeLayout/index.js +0 -20
- package/admin/src/content-manager/hooks/useDragAndDrop.js +0 -135
- package/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js +0 -90
- package/admin/src/content-manager/hooks/useFetchContentTypeLayout/reducer.js +0 -56
- package/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js +0 -167
- package/admin/src/content-manager/hooks/useFindRedirectionLink/index.js +0 -15
- package/admin/src/content-manager/hooks/useFindRedirectionLink/selectors.js +0 -7
- package/admin/src/content-manager/hooks/useFindRedirectionLink/utils/getRedirectionLink.js +0 -45
- package/admin/src/content-manager/hooks/useKeyboardDragAndDrop.js +0 -106
- package/admin/src/content-manager/hooks/useLazyComponents/index.js +0 -70
- package/admin/src/content-manager/hooks/usePluginsQueryParams/index.js +0 -11
- package/admin/src/content-manager/hooks/usePrev.js +0 -14
- package/admin/src/content-manager/hooks/useRelation/index.js +0 -1
- package/admin/src/content-manager/hooks/useRelation/useRelation.js +0 -174
- package/admin/src/content-manager/hooks/useSyncRbac/actions.js +0 -14
- package/admin/src/content-manager/hooks/useSyncRbac/constants.js +0 -2
- package/admin/src/content-manager/hooks/useSyncRbac/index.js +0 -38
- package/admin/src/content-manager/hooks/useSyncRbac/reducer.js +0 -33
- package/admin/src/content-manager/hooks/useSyncRbac/selectors.js +0 -4
- package/admin/src/content-manager/hooks/useWysiwyg.js +0 -7
- package/admin/src/content-manager/pages/App/LeftMenu/index.js +0 -142
- package/admin/src/content-manager/pages/App/actions.js +0 -24
- package/admin/src/content-manager/pages/App/components/CardDragPreview.js +0 -95
- package/admin/src/content-manager/pages/App/components/ComponentDragPreview.js +0 -76
- package/admin/src/content-manager/pages/App/components/RelationDragPreview.js +0 -81
- package/admin/src/content-manager/pages/App/constants.js +0 -3
- package/admin/src/content-manager/pages/App/index.js +0 -166
- package/admin/src/content-manager/pages/App/reducer.js +0 -50
- package/admin/src/content-manager/pages/App/selectors.js +0 -36
- package/admin/src/content-manager/pages/App/useContentManagerInitData.js +0 -104
- package/admin/src/content-manager/pages/App/utils/checkPermissions.js +0 -13
- package/admin/src/content-manager/pages/App/utils/generateModelsLinks.js +0 -65
- package/admin/src/content-manager/pages/App/utils/getContentTypeLinks.js +0 -50
- package/admin/src/content-manager/pages/CollectionTypeRecursivePath/components/ErrorFallback.js +0 -14
- package/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js +0 -134
- package/admin/src/content-manager/pages/ComponentSetttingsView/index.js +0 -62
- package/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js +0 -62
- package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFieldButton.js +0 -394
- package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +0 -79
- package/admin/src/content-manager/pages/EditSettingsView/components/DynamicZoneList.js +0 -76
- package/admin/src/content-manager/pages/EditSettingsView/components/FieldButtonContent.js +0 -81
- package/admin/src/content-manager/pages/EditSettingsView/components/FormModal.js +0 -100
- package/admin/src/content-manager/pages/EditSettingsView/components/GenericInput.js +0 -67
- package/admin/src/content-manager/pages/EditSettingsView/components/LayoutDndProvider/index.js +0 -75
- package/admin/src/content-manager/pages/EditSettingsView/components/LinkToCTB.js +0 -59
- package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +0 -141
- package/admin/src/content-manager/pages/EditSettingsView/components/RowItemsLayout.js +0 -42
- package/admin/src/content-manager/pages/EditSettingsView/components/RowsLayout.js +0 -34
- package/admin/src/content-manager/pages/EditSettingsView/hooks/useLayoutDnd.js +0 -7
- package/admin/src/content-manager/pages/EditSettingsView/index.js +0 -405
- package/admin/src/content-manager/pages/EditSettingsView/init.js +0 -19
- package/admin/src/content-manager/pages/EditSettingsView/reducer.js +0 -196
- package/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js +0 -25
- package/admin/src/content-manager/pages/EditSettingsView/utils/getInputProps.js +0 -30
- package/admin/src/content-manager/pages/EditSettingsView/utils/index.js +0 -2
- package/admin/src/content-manager/pages/EditSettingsView/utils/layout.js +0 -106
- package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +0 -69
- package/admin/src/content-manager/pages/EditView/DeleteLink/utils/connect.js +0 -12
- package/admin/src/content-manager/pages/EditView/DeleteLink/utils/index.js +0 -2
- package/admin/src/content-manager/pages/EditView/DeleteLink/utils/select.js +0 -21
- package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/index.js +0 -93
- package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/utils/connect.js +0 -12
- package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/utils/index.js +0 -2
- package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/utils/select.js +0 -14
- package/admin/src/content-manager/pages/EditView/GridRow/index.js +0 -64
- package/admin/src/content-manager/pages/EditView/Header/index.js +0 -303
- package/admin/src/content-manager/pages/EditView/Header/utils/connect.js +0 -12
- package/admin/src/content-manager/pages/EditView/Header/utils/index.js +0 -2
- package/admin/src/content-manager/pages/EditView/Header/utils/select.js +0 -33
- package/admin/src/content-manager/pages/EditView/Information/index.js +0 -132
- package/admin/src/content-manager/pages/EditView/Information/utils/getUnits.js +0 -27
- package/admin/src/content-manager/pages/EditView/InformationBox/InformationBoxCE.js +0 -12
- package/admin/src/content-manager/pages/EditView/InformationBox/index.js +0 -1
- package/admin/src/content-manager/pages/EditView/hooks/useOnce.js +0 -14
- package/admin/src/content-manager/pages/EditView/index.js +0 -297
- package/admin/src/content-manager/pages/EditView/selectors.js +0 -15
- package/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js +0 -41
- package/admin/src/content-manager/pages/EditView/utils/getCustomFieldUidsFromLayout.js +0 -18
- package/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js +0 -24
- package/admin/src/content-manager/pages/EditView/utils/index.js +0 -4
- package/admin/src/content-manager/pages/EditViewLayoutManager/Permissions.js +0 -32
- package/admin/src/content-manager/pages/EditViewLayoutManager/actions.js +0 -9
- package/admin/src/content-manager/pages/EditViewLayoutManager/constants.js +0 -2
- package/admin/src/content-manager/pages/EditViewLayoutManager/index.js +0 -54
- package/admin/src/content-manager/pages/EditViewLayoutManager/reducer.js +0 -31
- package/admin/src/content-manager/pages/EditViewLayoutManager/selectors.js +0 -3
- package/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +0 -260
- package/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js +0 -144
- package/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +0 -203
- package/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js +0 -115
- package/admin/src/content-manager/pages/ListSettingsView/constants.js +0 -9
- package/admin/src/content-manager/pages/ListSettingsView/index.js +0 -288
- package/admin/src/content-manager/pages/ListSettingsView/reducer.js +0 -83
- package/admin/src/content-manager/pages/ListView/actions.js +0 -35
- package/admin/src/content-manager/pages/ListView/components/Body/index.js +0 -188
- package/admin/src/content-manager/pages/ListView/components/BulkActionButtons/ConfirmBulkActionDialog/index.js +0 -169
- package/admin/src/content-manager/pages/ListView/components/BulkActionButtons/SelectedEntriesModal/index.js +0 -527
- package/admin/src/content-manager/pages/ListView/components/BulkActionButtons/index.js +0 -233
- package/admin/src/content-manager/pages/ListView/components/CellContent/CellValue.js +0 -51
- package/admin/src/content-manager/pages/ListView/components/CellContent/Media/FileWrapper.js +0 -36
- package/admin/src/content-manager/pages/ListView/components/CellContent/Media/index.js +0 -43
- package/admin/src/content-manager/pages/ListView/components/CellContent/MultipleMedias.js +0 -48
- package/admin/src/content-manager/pages/ListView/components/CellContent/RelationMultiple/index.js +0 -144
- package/admin/src/content-manager/pages/ListView/components/CellContent/RelationSingle/index.js +0 -34
- package/admin/src/content-manager/pages/ListView/components/CellContent/RepeatableComponent/index.js +0 -67
- package/admin/src/content-manager/pages/ListView/components/CellContent/SingleComponent/index.js +0 -37
- package/admin/src/content-manager/pages/ListView/components/CellContent/index.js +0 -99
- package/admin/src/content-manager/pages/ListView/components/CellContent/utils/hasContent.js +0 -65
- package/admin/src/content-manager/pages/ListView/components/CellContent/utils/isSingleRelation.js +0 -3
- package/admin/src/content-manager/pages/ListView/components/ConfirmDialogDelete/index.js +0 -77
- package/admin/src/content-manager/pages/ListView/components/ConfirmDialogDeleteAll/index.js +0 -78
- package/admin/src/content-manager/pages/ListView/components/FieldPicker/index.js +0 -106
- package/admin/src/content-manager/pages/ListView/components/TableRows/index.js +0 -304
- package/admin/src/content-manager/pages/ListView/components/ViewSettingsMenu/index.js +0 -80
- package/admin/src/content-manager/pages/ListView/constants.js +0 -6
- package/admin/src/content-manager/pages/ListView/index.js +0 -889
- package/admin/src/content-manager/pages/ListView/reducer.js +0 -137
- package/admin/src/content-manager/pages/ListView/selectors.js +0 -30
- package/admin/src/content-manager/pages/ListView/utils/buildValidGetParams.js +0 -30
- package/admin/src/content-manager/pages/ListView/utils/index.js +0 -1
- package/admin/src/content-manager/pages/ListViewLayoutManager/Permissions.js +0 -43
- package/admin/src/content-manager/pages/ListViewLayoutManager/index.js +0 -60
- package/admin/src/content-manager/pages/NoContentType/index.js +0 -50
- package/admin/src/content-manager/pages/NoPermissions/index.js +0 -28
- package/admin/src/content-manager/pages/SingleTypeRecursivePath/index.js +0 -88
- package/admin/src/content-manager/sharedReducers/crudReducer/actions.js +0 -49
- package/admin/src/content-manager/sharedReducers/crudReducer/constants.js +0 -9
- package/admin/src/content-manager/sharedReducers/crudReducer/reducer.js +0 -81
- package/admin/src/content-manager/sharedReducers/crudReducer/selectors.js +0 -3
- package/admin/src/content-manager/testUtils/data.js +0 -305
- package/admin/src/content-manager/testUtils/index.js +0 -3
- package/admin/src/content-manager/utils/ItemTypes.js +0 -7
- package/admin/src/content-manager/utils/arrayMoveItem.js +0 -22
- package/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js +0 -11
- package/admin/src/content-manager/utils/composeRefs.js +0 -28
- package/admin/src/content-manager/utils/createDefaultForm.js +0 -42
- package/admin/src/content-manager/utils/formatLayoutToApi.js +0 -43
- package/admin/src/content-manager/utils/generatePermissionsObject.js +0 -21
- package/admin/src/content-manager/utils/getDisplayName.js +0 -33
- package/admin/src/content-manager/utils/getFieldName.js +0 -6
- package/admin/src/content-manager/utils/getMaxTempKey.js +0 -14
- package/admin/src/content-manager/utils/getTrad.js +0 -3
- package/admin/src/content-manager/utils/index.js +0 -15
- package/admin/src/content-manager/utils/isFieldTypeNumber.js +0 -3
- package/admin/src/content-manager/utils/mergeMetasWithSchema.js +0 -24
- package/admin/src/content-manager/utils/paths.js +0 -37
- package/admin/src/content-manager/utils/removeKeyInObject.js +0 -41
- package/admin/src/content-manager/utils/removePasswordFieldsFromData.js +0 -54
- package/admin/src/content-manager/utils/schema.js +0 -405
- package/admin/src/contexts/admin.ts +0 -19
- package/admin/src/contexts/apiTokenPermissions.tsx +0 -64
- package/admin/src/contexts/configuration.ts +0 -25
- package/admin/src/contexts/themeToggle.ts +0 -18
- package/admin/src/core/apis/Components.js +0 -19
- package/admin/src/core/apis/CustomFields.js +0 -124
- package/admin/src/core/apis/Fields.js +0 -18
- package/admin/src/core/apis/Middlewares.js +0 -11
- package/admin/src/core/apis/Plugin.js +0 -30
- package/admin/src/core/apis/Reducers.js +0 -11
- package/admin/src/core/apis/index.js +0 -6
- package/admin/src/core/store/configure.ts +0 -91
- package/admin/src/core/store/hooks.ts +0 -15
- package/admin/src/core/utils/basename.js +0 -3
- package/admin/src/core/utils/createHook.js +0 -49
- package/admin/src/core/utils/index.js +0 -2
- package/admin/src/favicon.png +0 -0
- package/admin/src/hooks/__mocks__/useAdminUsers.ts +0 -5
- package/admin/src/hooks/__mocks__/useConfigurations.ts +0 -9
- package/admin/src/hooks/__mocks__/useContentTypes.ts +0 -6
- package/admin/src/hooks/index.js +0 -2
- package/admin/src/hooks/useAdminRoles.ts +0 -66
- package/admin/src/hooks/useAdminUsers.ts +0 -64
- package/admin/src/hooks/useConfiguration.ts +0 -5
- package/admin/src/hooks/useContentTypes.ts +0 -79
- package/admin/src/hooks/useDebounce.ts +0 -17
- package/admin/src/hooks/useEnterprise.ts +0 -46
- package/admin/src/hooks/useInjectReducer/index.js +0 -1
- package/admin/src/hooks/useInjectReducer/useInjectReducer.js +0 -20
- package/admin/src/hooks/useLicenseLimitNotification.ts +0 -3
- package/admin/src/hooks/useMenu.ts +0 -153
- package/admin/src/hooks/useSettingsForm/index.js +0 -163
- package/admin/src/hooks/useSettingsForm/init.js +0 -5
- package/admin/src/hooks/useSettingsForm/reducer.js +0 -62
- package/admin/src/hooks/useSettingsMenu/constants.js +0 -78
- package/admin/src/hooks/useSettingsMenu/index.js +0 -125
- package/admin/src/hooks/useSettingsMenu/utils/formatLinks.js +0 -12
- package/admin/src/hooks/useSettingsMenu/utils/sortLinks.js +0 -5
- package/admin/src/hooks/useThemeToggle.ts +0 -9
- package/admin/src/index.html +0 -15
- package/admin/src/index.js +0 -83
- package/admin/src/layouts/AppLayout.tsx +0 -30
- package/admin/src/layouts/UnauthenticatedLayout.tsx +0 -77
- package/admin/src/pages/Admin/Onboarding/constants.js +0 -46
- package/admin/src/pages/Admin/Onboarding/index.js +0 -226
- package/admin/src/pages/Admin/index.js +0 -133
- package/admin/src/pages/App/constants.js +0 -4
- package/admin/src/pages/App/index.js +0 -208
- package/admin/src/pages/App/reducer.js +0 -30
- package/admin/src/pages/App/selectors.js +0 -12
- package/admin/src/pages/AuthPage/components/FieldActionWrapper/index.js +0 -14
- package/admin/src/pages/AuthPage/components/ForgotPassword/index.js +0 -113
- package/admin/src/pages/AuthPage/components/ForgotPasswordSuccess/index.js +0 -60
- package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +0 -180
- package/admin/src/pages/AuthPage/components/Login/index.js +0 -23
- package/admin/src/pages/AuthPage/components/Oops/index.js +0 -59
- package/admin/src/pages/AuthPage/components/Register/index.js +0 -373
- package/admin/src/pages/AuthPage/components/ResetPassword/index.js +0 -191
- package/admin/src/pages/AuthPage/constants.js +0 -122
- package/admin/src/pages/AuthPage/index.js +0 -318
- package/admin/src/pages/AuthPage/init.js +0 -5
- package/admin/src/pages/AuthPage/reducer.js +0 -41
- package/admin/src/pages/HomePage/CloudBox.js +0 -85
- package/admin/src/pages/HomePage/ContentBlocks.js +0 -106
- package/admin/src/pages/HomePage/HomeHeader.js +0 -76
- package/admin/src/pages/HomePage/SocialLinks.js +0 -203
- package/admin/src/pages/HomePage/assets/corner-ornament.svg +0 -48
- package/admin/src/pages/HomePage/assets/strapi-cloud-background.png +0 -0
- package/admin/src/pages/HomePage/assets/strapi-cloud-flags.svg +0 -1
- package/admin/src/pages/HomePage/assets/strapi-cloud-icon.svg +0 -1
- package/admin/src/pages/HomePage/index.js +0 -110
- package/admin/src/pages/InstalledPluginsPage/Plugins.js +0 -121
- package/admin/src/pages/InstalledPluginsPage/hooks/usePlugins/index.js +0 -29
- package/admin/src/pages/InstalledPluginsPage/index.js +0 -29
- package/admin/src/pages/InternalErrorPage.tsx +0 -54
- package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/EmptyNpmPackageGrid.js +0 -27
- package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/index.js +0 -31
- package/admin/src/pages/MarketplacePage/components/MissingPluginBanner/index.js +0 -40
- package/admin/src/pages/MarketplacePage/components/NpmPackageCard/CardButton.js +0 -109
- package/admin/src/pages/MarketplacePage/components/NpmPackageCard/InstallPluginButton.js +0 -81
- package/admin/src/pages/MarketplacePage/components/NpmPackageCard/PackageStats.js +0 -75
- package/admin/src/pages/MarketplacePage/components/NpmPackageCard/index.js +0 -187
- package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FilterSelect.js +0 -43
- package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FiltersPopover.js +0 -104
- package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/index.js +0 -105
- package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +0 -87
- package/admin/src/pages/MarketplacePage/components/NpmPackagesPagination/index.js +0 -27
- package/admin/src/pages/MarketplacePage/components/OfflineLayout/index.js +0 -47
- package/admin/src/pages/MarketplacePage/components/PageHeader/index.js +0 -55
- package/admin/src/pages/MarketplacePage/components/SortSelect/index.js +0 -106
- package/admin/src/pages/MarketplacePage/constants.js +0 -1
- package/admin/src/pages/MarketplacePage/hooks/__mocks__/useNavigatorOnline.ts +0 -1
- package/admin/src/pages/MarketplacePage/hooks/useFetchMarketplacePlugins/index.js +0 -44
- package/admin/src/pages/MarketplacePage/hooks/useFetchMarketplaceProviders/index.js +0 -44
- package/admin/src/pages/MarketplacePage/hooks/useNavigatorOnline.ts +0 -29
- package/admin/src/pages/MarketplacePage/index.js +0 -263
- package/admin/src/pages/MarketplacePage/utils/useMarketplaceData.js +0 -87
- package/admin/src/pages/NotFoundPage.tsx +0 -52
- package/admin/src/pages/ProfilePage/components/Password/index.js +0 -216
- package/admin/src/pages/ProfilePage/components/Preferences/index.js +0 -175
- package/admin/src/pages/ProfilePage/components/UserInfo/index.js +0 -113
- package/admin/src/pages/ProfilePage/index.js +0 -235
- package/admin/src/pages/ProfilePage/utils/schema.js +0 -7
- package/admin/src/pages/SettingsPage/components/Filters/index.js +0 -54
- package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +0 -97
- package/admin/src/pages/SettingsPage/components/Tokens/FormHead/index.js +0 -110
- package/admin/src/pages/SettingsPage/components/Tokens/LifeSpanInput/index.js +0 -99
- package/admin/src/pages/SettingsPage/components/Tokens/Regenerate/index.js +0 -77
- package/admin/src/pages/SettingsPage/components/Tokens/Table/DefaultButton/index.js +0 -64
- package/admin/src/pages/SettingsPage/components/Tokens/Table/DeleteButton/index.js +0 -53
- package/admin/src/pages/SettingsPage/components/Tokens/Table/ReadButton/index.js +0 -21
- package/admin/src/pages/SettingsPage/components/Tokens/Table/UpdateButton/index.js +0 -21
- package/admin/src/pages/SettingsPage/components/Tokens/Table/index.js +0 -193
- package/admin/src/pages/SettingsPage/components/Tokens/TokenBox/index.js +0 -81
- package/admin/src/pages/SettingsPage/components/Tokens/TokenDescription/index.js +0 -52
- package/admin/src/pages/SettingsPage/components/Tokens/TokenName/index.js +0 -47
- package/admin/src/pages/SettingsPage/components/Tokens/TokenTypeSelect/index.js +0 -71
- package/admin/src/pages/SettingsPage/components/Tokens/constants.js +0 -2
- package/admin/src/pages/SettingsPage/constants.js +0 -200
- package/admin/src/pages/SettingsPage/hooks/useRegenerate.ts +0 -46
- package/admin/src/pages/SettingsPage/index.js +0 -73
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ActionBoundRoutes/index.js +0 -56
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/getMethodColor.js +0 -41
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/index.js +0 -72
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/CheckBoxWrapper.js +0 -30
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +0 -160
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ContenTypesSection/index.js +0 -39
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormApiTokenContainer/index.js +0 -164
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/LoadingView/index.js +0 -49
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Permissions/index.js +0 -40
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Regenerate/index.js +0 -74
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +0 -342
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/init.js +0 -13
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/reducer.js +0 -73
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/getDateOfExpiration.js +0 -16
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/index.js +0 -5
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/schema.js +0 -14
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/transformPermissionsData.js +0 -34
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +0 -187
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/utils/tableHeaders.js +0 -48
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ProtectedCreateView/index.js +0 -19
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ProtectedEditView/index.js +0 -19
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ProtectedListView/index.js +0 -19
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/index.js +0 -143
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/init.js +0 -16
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/reducer.js +0 -63
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +0 -128
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/reducer.js +0 -28
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/stepper.js +0 -25
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/AddLogoDialog.js +0 -67
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js +0 -181
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromUrlForm.js +0 -85
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/ImageCardAsset.js +0 -52
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/PendingLogoDialog.js +0 -93
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/index.js +0 -86
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/reducer.js +0 -28
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +0 -293
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/constants.js +0 -3
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/getFormData.js +0 -17
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/parseFileMetadatas.js +0 -76
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/urlToFile.js +0 -22
- package/admin/src/pages/SettingsPage/pages/AuditLogs/SalesPage.js +0 -50
- package/admin/src/pages/SettingsPage/pages/ReviewWorkflows/SalesPage.js +0 -53
- package/admin/src/pages/SettingsPage/pages/Roles/CreatePage/index.js +0 -284
- package/admin/src/pages/SettingsPage/pages/Roles/CreatePage/utils/schema.js +0 -9
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/CollapseLabel/index.js +0 -11
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsButton/index.js +0 -58
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/index.js +0 -72
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/utils/options.js +0 -31
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/index.js +0 -161
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/utils/createDefaultConditionsForm.js +0 -47
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/index.js +0 -262
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/generateCheckboxesActions.js +0 -57
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/index.js +0 -228
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/getRowLabelCheckboxeState.js +0 -60
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/CarretIcon/index.js +0 -11
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/Header/index.js +0 -67
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/index.js +0 -243
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/index.js +0 -62
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/utils/generateHeadersFromActions.js +0 -12
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/index.js +0 -77
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/activeStyle.js +0 -18
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/getAvailableActions.js +0 -10
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/index.js +0 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapses/index.js +0 -52
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypes/index.js +0 -46
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Curve/index.js +0 -56
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/index.js +0 -94
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/findDisplayedActions.js +0 -4
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/getRowLabelCheckboxesState.js +0 -39
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/index.js +0 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/HiddenAction/index.js +0 -9
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/README.md +0 -372
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/index.js +0 -185
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/init.js +0 -41
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/reducer.js +0 -182
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/constants.js +0 -3
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultCTFormFromLayout.js +0 -182
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultPluginsFormFromLayout.js +0 -48
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/findMatchingPermissions.js +0 -4
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatContentTypesPermissionToAPI.js +0 -124
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatLayoutForSettingsAndPlugins.js +0 -19
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatPermissionsToAPI.js +0 -21
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatSettingsPermissionsToAPI.js +0 -59
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/tabLabels.js +0 -24
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateConditionsToFalse.js +0 -42
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateValues.js +0 -31
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PermissionsDataManagerProvider/index.js +0 -28
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/Row/index.js +0 -77
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/index.js +0 -153
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/formatActions.js +0 -33
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/getConditionsButtonState.js +0 -17
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/index.js +0 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/index.js +0 -52
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RequiredSign/index.js +0 -12
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js +0 -107
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RowLabelWithCheckbox/index.js +0 -98
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/index.js +0 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/createArrayOfValues.js +0 -20
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/getCheckboxState.js +0 -19
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/index.js +0 -3
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/removeConditionKeyFromData.js +0 -15
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/hooks/usePermissionsDataManager.ts +0 -28
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +0 -185
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/utils/schema.js +0 -8
- package/admin/src/pages/SettingsPage/pages/Roles/ListPage/components/EmptyRole/index.js +0 -1
- package/admin/src/pages/SettingsPage/pages/Roles/ListPage/components/RoleRow/index.js +0 -72
- package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +0 -347
- package/admin/src/pages/SettingsPage/pages/Roles/ListPage/reducer.js +0 -38
- package/admin/src/pages/SettingsPage/pages/Roles/ProtectedEditPage/index.js +0 -32
- package/admin/src/pages/SettingsPage/pages/Roles/ProtectedListPage/index.js +0 -19
- package/admin/src/pages/SettingsPage/pages/Roles/hooks/__mocks__/useAdminRolePermissions.ts +0 -5
- package/admin/src/pages/SettingsPage/pages/Roles/hooks/useAdminRolePermissionLayout/index.js +0 -23
- package/admin/src/pages/SettingsPage/pages/Roles/hooks/useAdminRolePermissions.ts +0 -41
- package/admin/src/pages/SettingsPage/pages/SingleSignOn/SalesPage.js +0 -53
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/FormTransferTokenContainer/index.js +0 -144
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/LoadingView/index.js +0 -49
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +0 -268
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/getDateOfExpiration.js +0 -16
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/index.js +0 -4
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/schema.js +0 -11
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/index.js +0 -222
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/utils/tableHeaders.js +0 -48
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedCreateView/index.js +0 -19
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedEditView/index.js +0 -19
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedListView/index.js +0 -19
- package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +0 -314
- package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/api.js +0 -11
- package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/layout.js +0 -116
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +0 -23
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js +0 -136
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/constants.js +0 -91
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +0 -271
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/PaginationFooter/index.js +0 -35
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +0 -201
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/displayedFilters.js +0 -29
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/tableHeaders.js +0 -101
- package/admin/src/pages/SettingsPage/pages/Users/ProtectedEditPage/index.js +0 -54
- package/admin/src/pages/SettingsPage/pages/Users/ProtectedListPage/index.js +0 -19
- package/admin/src/pages/SettingsPage/pages/Users/components/MagicLink/MagicLinkWrapper.js +0 -46
- package/admin/src/pages/SettingsPage/pages/Users/components/MagicLink/index.js +0 -30
- package/admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js +0 -101
- package/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/edit.js +0 -12
- package/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/index.js +0 -3
- package/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/profile.js +0 -36
- package/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/roles.js +0 -8
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventTable/EventTableCE.js +0 -13
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventTable/index.js +0 -1
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/Events/index.js +0 -333
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/Combobox.js +0 -97
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/index.js +0 -109
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/TriggerContainer/index.js +0 -168
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js +0 -196
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/utils/makeWebhookValidationSchema.js +0 -68
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +0 -152
- package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +0 -400
- package/admin/src/pages/SettingsPage/pages/Webhooks/ProtectedCreateView/index.js +0 -19
- package/admin/src/pages/SettingsPage/pages/Webhooks/ProtectedEditView/index.js +0 -19
- package/admin/src/pages/SettingsPage/pages/Webhooks/ProtectedListView/index.js +0 -19
- package/admin/src/pages/UseCasePage.tsx +0 -173
- package/admin/src/plugins.js +0 -17
- package/admin/src/shared/components/InjectionZone/index.js +0 -17
- package/admin/src/shared/components/index.js +0 -2
- package/admin/src/shared/hooks/index.js +0 -1
- package/admin/src/shared/hooks/useInjectionZone/index.js +0 -11
- package/admin/src/translations/ar.json +0 -898
- package/admin/src/translations/ca.json +0 -692
- package/admin/src/translations/cs.json +0 -269
- package/admin/src/translations/de.json +0 -684
- package/admin/src/translations/dk.json +0 -602
- package/admin/src/translations/en.json +0 -984
- package/admin/src/translations/es.json +0 -760
- package/admin/src/translations/eu.json +0 -796
- package/admin/src/translations/fr.json +0 -724
- package/admin/src/translations/gu.json +0 -609
- package/admin/src/translations/he.json +0 -302
- package/admin/src/translations/hi.json +0 -690
- package/admin/src/translations/hu.json +0 -796
- package/admin/src/translations/id.json +0 -426
- package/admin/src/translations/it.json +0 -437
- package/admin/src/translations/ja.json +0 -601
- package/admin/src/translations/ko.json +0 -599
- package/admin/src/translations/languageNativeNames.js +0 -38
- package/admin/src/translations/ml.json +0 -690
- package/admin/src/translations/ms.json +0 -320
- package/admin/src/translations/nl.json +0 -792
- package/admin/src/translations/no.json +0 -288
- package/admin/src/translations/pl.json +0 -689
- package/admin/src/translations/pt-BR.json +0 -758
- package/admin/src/translations/pt.json +0 -276
- package/admin/src/translations/ru.json +0 -906
- package/admin/src/translations/sa.json +0 -690
- package/admin/src/translations/sk.json +0 -654
- package/admin/src/translations/sv.json +0 -791
- package/admin/src/translations/th.json +0 -408
- package/admin/src/translations/tr.json +0 -749
- package/admin/src/translations/uk.json +0 -321
- package/admin/src/translations/vi.json +0 -276
- package/admin/src/translations/zh-Hans.json +0 -919
- package/admin/src/translations/zh.json +0 -800
- package/admin/src/types/adminAPI.ts +0 -29
- package/admin/src/utils/createRoute.tsx +0 -54
- package/admin/src/utils/formatAPIErrors.ts +0 -18
- package/admin/src/utils/getFullName.ts +0 -3
- package/admin/src/utils/hashAdminUserEmail.ts +0 -25
- package/admin/src/utils/makeUniqueRoutes.ts +0 -11
- package/admin/tsconfig.build.json +0 -4
- package/admin/tsconfig.json +0 -11
- package/build/0cd5f8915b265d5b1856.png +0 -0
- package/build/1049.ecc10c97.chunk.js +0 -1
- package/build/1217.96155682.chunk.js +0 -35
- package/build/1227.947ceaf9.chunk.js +0 -1
- package/build/1306.2699df52.chunk.js +0 -79
- package/build/135.ad267b59.chunk.js +0 -1
- package/build/1386.eabd8a1e.chunk.js +0 -7
- package/build/1727.b49f0713.chunk.js +0 -1
- package/build/1835.eaa696ba.chunk.js +0 -1
- package/build/19eb2dfcf2603eb55733.png +0 -0
- package/build/2325.d705b39a.chunk.js +0 -1
- package/build/2379.7ce8e110.chunk.js +0 -1
- package/build/2395.acb961a8.chunk.js +0 -26
- package/build/2421.79e5b3d0.chunk.js +0 -1
- package/build/267.073a3bcb.chunk.js +0 -1
- package/build/27d16aefee06412db90a.png +0 -0
- package/build/2801.4711ea5a.chunk.js +0 -1
- package/build/2878.145ebf7c.chunk.js +0 -1
- package/build/2950.216f2e89.chunk.js +0 -1
- package/build/2953.284a63c0.chunk.js +0 -1
- package/build/3019.fde2e1be.chunk.js +0 -181
- package/build/3100.2ba4df95.chunk.js +0 -1
- package/build/311.cb0884bb.chunk.js +0 -1
- package/build/3460.8644e608.chunk.js +0 -146
- package/build/3483.db8c1520.chunk.js +0 -1
- package/build/3911.488fbde3.chunk.js +0 -95
- package/build/4174.49cedb6a.chunk.js +0 -1
- package/build/4429.7f044dc7.chunk.js +0 -1
- package/build/4555.c883d697.chunk.js +0 -1
- package/build/4663.b906cc10.chunk.js +0 -1
- package/build/4732.149f5f8f.chunk.js +0 -1
- package/build/4916.480053a6.chunk.js +0 -1
- package/build/4996.d285c30b.chunk.js +0 -1
- package/build/502.f536f78b.chunk.js +0 -1
- package/build/570.2f3b4c56.chunk.js +0 -1
- package/build/5858.493b31ec.chunk.js +0 -1
- package/build/6158.c3c13c20.chunk.js +0 -1
- package/build/6345.334e7678.chunk.js +0 -1
- package/build/6453.4160b5b7.chunk.js +0 -1
- package/build/7030.b98dcedf.chunk.js +0 -1
- package/build/70674f63fc3904c20de0.svg +0 -7
- package/build/7448.6fd14dd3.chunk.js +0 -1
- package/build/7464.579564ac.chunk.js +0 -1
- package/build/7735.9e7c9fdd.chunk.js +0 -10
- package/build/78.dcc6df5c.chunk.js +0 -1
- package/build/7811.fdbe09af.chunk.js +0 -103
- package/build/782.7243b183.chunk.js +0 -1
- package/build/7849.2a500ed8.chunk.js +0 -1
- package/build/7897.63ba0a00.chunk.js +0 -6
- package/build/7e9af4fb7e723fcebf1f.svg +0 -48
- package/build/8162.7d1100a0.chunk.js +0 -1
- package/build/8276.9abe4679.chunk.js +0 -26
- package/build/8773.ee67141c.chunk.js +0 -48
- package/build/8980.f0045cc1.chunk.js +0 -1
- package/build/9077.2cc01ac8.chunk.js +0 -105
- package/build/9153.42c1428a.chunk.js +0 -1
- package/build/918.54414509.chunk.js +0 -1
- package/build/9218.b2d367f8.chunk.js +0 -1
- package/build/9285.5f174057.chunk.js +0 -1
- package/build/9547.62987774.chunk.js +0 -1
- package/build/9754.b4e73779.chunk.js +0 -1
- package/build/9d5d788027e86620c234.svg +0 -5
- package/build/Admin-authenticatedApp.059dc48f.chunk.js +0 -79
- package/build/Admin_InternalErrorPage.06eeef20.chunk.js +0 -1
- package/build/Admin_homePage.56b9eb3f.chunk.js +0 -81
- package/build/Admin_marketplace.d693a435.chunk.js +0 -44
- package/build/Admin_pluginsPage.ae2c872a.chunk.js +0 -6
- package/build/Admin_profilePage.89099d5b.chunk.js +0 -13
- package/build/Admin_settingsPage.88c45586.chunk.js +0 -12
- package/build/Upload_ConfigureTheView.44f28145.chunk.js +0 -1
- package/build/admin-app.990e112f.chunk.js +0 -69
- package/build/admin-edit-roles-page.4e1eb4a9.chunk.js +0 -267
- package/build/admin-edit-users.5b91404e.chunk.js +0 -10
- package/build/admin-roles-list.89dd94fe.chunk.js +0 -22
- package/build/admin-users.7be4fc5f.chunk.js +0 -11
- package/build/api-tokens-create-page.571920e5.chunk.js +0 -1
- package/build/api-tokens-edit-page.cbdc81b1.chunk.js +0 -1
- package/build/api-tokens-list-page.de0c49e8.chunk.js +0 -16
- package/build/ar-json.74e40bc7.chunk.js +0 -1
- package/build/audit-logs-sales-page.2955db88.chunk.js +0 -1
- package/build/audit-logs-settings-page.b0cb5164.chunk.js +0 -1
- package/build/bb3108f7fd1e6179bde1.svg +0 -1
- package/build/bb4d0d527bdfb161bc5a.svg +0 -1
- package/build/ca-json.fc6001d3.chunk.js +0 -1
- package/build/content-manager.de7ae330.chunk.js +0 -1241
- package/build/content-type-builder-list-view.6c8d3213.chunk.js +0 -211
- package/build/content-type-builder-translation-ar-json.3e808e2f.chunk.js +0 -1
- package/build/content-type-builder-translation-cs-json.1ef9e106.chunk.js +0 -1
- package/build/content-type-builder-translation-de-json.63fcff7b.chunk.js +0 -1
- package/build/content-type-builder-translation-dk-json.fd626b67.chunk.js +0 -1
- package/build/content-type-builder-translation-en-json.74d80f18.chunk.js +0 -1
- package/build/content-type-builder-translation-es-json.a4a361a9.chunk.js +0 -1
- package/build/content-type-builder-translation-fr-json.499c3a46.chunk.js +0 -1
- package/build/content-type-builder-translation-id-json.65255f93.chunk.js +0 -1
- package/build/content-type-builder-translation-it-json.e268ab74.chunk.js +0 -1
- package/build/content-type-builder-translation-ja-json.9be0d5b2.chunk.js +0 -1
- package/build/content-type-builder-translation-ko-json.04cb309d.chunk.js +0 -1
- package/build/content-type-builder-translation-ms-json.f6b743b9.chunk.js +0 -1
- package/build/content-type-builder-translation-nl-json.997fe8cc.chunk.js +0 -1
- package/build/content-type-builder-translation-pl-json.634f638b.chunk.js +0 -1
- package/build/content-type-builder-translation-pt-BR-json.6a95dc71.chunk.js +0 -1
- package/build/content-type-builder-translation-pt-json.ddb44f8c.chunk.js +0 -1
- package/build/content-type-builder-translation-ru-json.3af65503.chunk.js +0 -1
- package/build/content-type-builder-translation-sk-json.c6078082.chunk.js +0 -1
- package/build/content-type-builder-translation-sv-json.a6df2462.chunk.js +0 -1
- package/build/content-type-builder-translation-th-json.122277cc.chunk.js +0 -1
- package/build/content-type-builder-translation-tr-json.41f44f77.chunk.js +0 -1
- package/build/content-type-builder-translation-uk-json.e1315acd.chunk.js +0 -1
- package/build/content-type-builder-translation-zh-Hans-json.6ff57db6.chunk.js +0 -1
- package/build/content-type-builder-translation-zh-json.3532b962.chunk.js +0 -1
- package/build/content-type-builder.0bc97051.chunk.js +0 -136
- package/build/cs-json.4b44411c.chunk.js +0 -1
- package/build/de-json.e72545cf.chunk.js +0 -1
- package/build/dk-json.e77140ef.chunk.js +0 -1
- package/build/email-settings-page.07712efc.chunk.js +0 -11
- package/build/en-json.5b907f67.chunk.js +0 -1
- package/build/es-json.b1f2284b.chunk.js +0 -1
- package/build/eu-json.63d0a898.chunk.js +0 -1
- package/build/fr-json.33c6428b.chunk.js +0 -1
- package/build/gu-json.7efe8cc2.chunk.js +0 -1
- package/build/he-json.3cf0b48a.chunk.js +0 -1
- package/build/hi-json.0d633692.chunk.js +0 -1
- package/build/highlight.js.28a1547e.chunk.js +0 -85
- package/build/hu-json.c74b6a1e.chunk.js +0 -1
- package/build/i18n-settings-page.5c34f012.chunk.js +0 -9
- package/build/i18n-translation-de-json.362384a6.chunk.js +0 -1
- package/build/i18n-translation-dk-json.89401417.chunk.js +0 -1
- package/build/i18n-translation-en-json.1ec7becf.chunk.js +0 -1
- package/build/i18n-translation-es-json.87b494d1.chunk.js +0 -1
- package/build/i18n-translation-fr-json.57ddc77e.chunk.js +0 -1
- package/build/i18n-translation-ko-json.ef4f9471.chunk.js +0 -1
- package/build/i18n-translation-pl-json.dfac513d.chunk.js +0 -1
- package/build/i18n-translation-ru-json.a3dbc125.chunk.js +0 -1
- package/build/i18n-translation-tr-json.3bfc812f.chunk.js +0 -1
- package/build/i18n-translation-zh-Hans-json.757ce62d.chunk.js +0 -1
- package/build/i18n-translation-zh-json.bef2dc07.chunk.js +0 -1
- package/build/id-json.41e07c46.chunk.js +0 -1
- package/build/index.html +0 -1
- package/build/it-json.bfe27ed8.chunk.js +0 -1
- package/build/ja-json.e1959a1c.chunk.js +0 -1
- package/build/ko-json.ce5d6d94.chunk.js +0 -1
- package/build/main.f84563f1.js +0 -2665
- package/build/ml-json.940d7ace.chunk.js +0 -1
- package/build/ms-json.0eddffd9.chunk.js +0 -1
- package/build/nl-json.fe38f0fb.chunk.js +0 -1
- package/build/no-json.19a2dbfa.chunk.js +0 -1
- package/build/pl-json.d55e8e78.chunk.js +0 -1
- package/build/pt-BR-json.ae0a0d2e.chunk.js +0 -1
- package/build/pt-json.ee554a41.chunk.js +0 -1
- package/build/review-workflows-sales-page.f46a8f00.chunk.js +0 -1
- package/build/review-workflows-settings-create-view.d0544fb0.chunk.js +0 -1
- package/build/review-workflows-settings-edit-view.aabf49ef.chunk.js +0 -1
- package/build/review-workflows-settings-list-view.8b0525ab.chunk.js +0 -56
- package/build/ru-json.1c976644.chunk.js +0 -1
- package/build/runtime~main.270fd45f.js +0 -2
- package/build/sa-json.2c03ef4e.chunk.js +0 -1
- package/build/sk-json.b41847e8.chunk.js +0 -1
- package/build/sso-sales-page.ef22e469.chunk.js +0 -1
- package/build/sso-settings-page.21e16ae4.chunk.js +0 -1
- package/build/sv-json.568cb7ae.chunk.js +0 -1
- package/build/th-json.5f659396.chunk.js +0 -1
- package/build/tr-json.c9f22432.chunk.js +0 -1
- package/build/transfer-tokens-create-page.3366204d.chunk.js +0 -1
- package/build/transfer-tokens-edit-page.15cf0f73.chunk.js +0 -1
- package/build/transfer-tokens-list-page.0bc0e682.chunk.js +0 -16
- package/build/uk-json.b7e38370.chunk.js +0 -1
- package/build/upload-settings.1319dca0.chunk.js +0 -14
- package/build/upload-translation-ca-json.57954414.chunk.js +0 -1
- package/build/upload-translation-de-json.420c943b.chunk.js +0 -1
- package/build/upload-translation-dk-json.bbb2fa05.chunk.js +0 -1
- package/build/upload-translation-en-json.8b7573ce.chunk.js +0 -1
- package/build/upload-translation-es-json.ba2eb03a.chunk.js +0 -1
- package/build/upload-translation-fr-json.baab9911.chunk.js +0 -1
- package/build/upload-translation-he-json.0a830937.chunk.js +0 -1
- package/build/upload-translation-it-json.e87d7966.chunk.js +0 -1
- package/build/upload-translation-ja-json.44b88e7a.chunk.js +0 -1
- package/build/upload-translation-ko-json.a52eab64.chunk.js +0 -1
- package/build/upload-translation-ms-json.74f6d746.chunk.js +0 -1
- package/build/upload-translation-pl-json.426f31c9.chunk.js +0 -1
- package/build/upload-translation-pt-BR-json.d1704f0b.chunk.js +0 -1
- package/build/upload-translation-pt-json.6b937fdf.chunk.js +0 -1
- package/build/upload-translation-ru-json.675f6b93.chunk.js +0 -1
- package/build/upload-translation-sk-json.483a18f6.chunk.js +0 -1
- package/build/upload-translation-th-json.98d35574.chunk.js +0 -1
- package/build/upload-translation-tr-json.74117e5c.chunk.js +0 -1
- package/build/upload-translation-uk-json.9950466a.chunk.js +0 -1
- package/build/upload-translation-zh-Hans-json.db163b6b.chunk.js +0 -1
- package/build/upload-translation-zh-json.e1dd6eb2.chunk.js +0 -1
- package/build/upload.1ced11be.chunk.js +0 -58
- package/build/users-advanced-settings-page.8e657084.chunk.js +0 -9
- package/build/users-email-settings-page.e57745e5.chunk.js +0 -9
- package/build/users-permissions-translation-ar-json.7d87d54d.chunk.js +0 -1
- package/build/users-permissions-translation-cs-json.7e23424a.chunk.js +0 -1
- package/build/users-permissions-translation-de-json.a6fb670f.chunk.js +0 -1
- package/build/users-permissions-translation-dk-json.60e50f48.chunk.js +0 -1
- package/build/users-permissions-translation-en-json.4b302272.chunk.js +0 -1
- package/build/users-permissions-translation-es-json.35007573.chunk.js +0 -1
- package/build/users-permissions-translation-fr-json.7e55bbbb.chunk.js +0 -1
- package/build/users-permissions-translation-id-json.a5a0fb59.chunk.js +0 -1
- package/build/users-permissions-translation-it-json.0705465d.chunk.js +0 -1
- package/build/users-permissions-translation-ja-json.891fe76e.chunk.js +0 -1
- package/build/users-permissions-translation-ko-json.357d7a33.chunk.js +0 -1
- package/build/users-permissions-translation-ms-json.c83f87c4.chunk.js +0 -1
- package/build/users-permissions-translation-nl-json.c9f92a3c.chunk.js +0 -1
- package/build/users-permissions-translation-pl-json.0a7287d1.chunk.js +0 -1
- package/build/users-permissions-translation-pt-BR-json.1b6d2920.chunk.js +0 -1
- package/build/users-permissions-translation-pt-json.a7eda429.chunk.js +0 -1
- package/build/users-permissions-translation-ru-json.8e883c67.chunk.js +0 -1
- package/build/users-permissions-translation-sk-json.7f37180f.chunk.js +0 -1
- package/build/users-permissions-translation-sv-json.17187818.chunk.js +0 -1
- package/build/users-permissions-translation-th-json.1e9c0247.chunk.js +0 -1
- package/build/users-permissions-translation-tr-json.2bd7ff98.chunk.js +0 -1
- package/build/users-permissions-translation-uk-json.6a0a1572.chunk.js +0 -1
- package/build/users-permissions-translation-vi-json.6722a8a2.chunk.js +0 -1
- package/build/users-permissions-translation-zh-Hans-json.8d82c809.chunk.js +0 -1
- package/build/users-permissions-translation-zh-json.7978eaa6.chunk.js +0 -1
- package/build/users-providers-settings-page.55796d13.chunk.js +0 -14
- package/build/users-roles-settings-page.57079245.chunk.js +0 -55
- package/build/vi-json.ee4c5537.chunk.js +0 -1
- package/build/webhook-edit-page.3a28b2e7.chunk.js +0 -33
- package/build/webhook-list-page.ee80767b.chunk.js +0 -63
- package/build/zh-Hans-json.97efd015.chunk.js +0 -1
- package/build/zh-json.bfc2e036.chunk.js +0 -1
- package/doc/change-the-login-page-logo.md +0 -28
- package/doc/customize-menu.md +0 -17
- package/doc/disable-tracking.md +0 -16
- package/ee/LICENSE +0 -1
- package/ee/admin/constants.js +0 -19
- package/ee/admin/content-manager/components/Filter/CustomInputs/ReviewWorkflows/AssigneeFilter.js +0 -42
- package/ee/admin/content-manager/components/Filter/CustomInputs/ReviewWorkflows/StageFilter.js +0 -70
- package/ee/admin/content-manager/components/Filter/CustomInputs/ReviewWorkflows/constants.js +0 -71
- package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +0 -30
- package/ee/admin/content-manager/pages/EditView/InformationBox/components/AssigneeSelect/AssigneeSelect.js +0 -137
- package/ee/admin/content-manager/pages/EditView/InformationBox/components/AssigneeSelect/index.js +0 -1
- package/ee/admin/content-manager/pages/EditView/InformationBox/components/StageSelect/StageSelect.js +0 -255
- package/ee/admin/content-manager/pages/EditView/InformationBox/components/StageSelect/index.js +0 -1
- package/ee/admin/content-manager/pages/EditView/InformationBox/constants.js +0 -2
- package/ee/admin/content-manager/pages/EditView/InformationBox/index.js +0 -1
- package/ee/admin/content-manager/pages/ListSettingsView/constants.js +0 -7
- package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/ReviewWorkflowsAssigneeEE.js +0 -21
- package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/ReviewWorkflowsStageEE.js +0 -38
- package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/constants.js +0 -51
- package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/index.js +0 -2
- package/ee/admin/hooks/__mocks__/useLicenseLimits.js +0 -8
- package/ee/admin/hooks/useAuthProviders.js +0 -25
- package/ee/admin/hooks/useLicenseLimitNotification.ts +0 -99
- package/ee/admin/hooks/useLicenseLimits.js +0 -37
- package/ee/admin/hooks/useSettingsMenu/constants.js +0 -38
- package/ee/admin/pages/App/constants.js +0 -9
- package/ee/admin/pages/AuthPage/components/Login/index.js +0 -67
- package/ee/admin/pages/AuthPage/components/Providers/SSOProviders.js +0 -114
- package/ee/admin/pages/AuthPage/components/Providers/index.js +0 -94
- package/ee/admin/pages/AuthPage/constants.js +0 -12
- package/ee/admin/pages/AuthResponse/index.js +0 -66
- package/ee/admin/pages/HomePage/index.js +0 -11
- package/ee/admin/pages/SettingsPage/constants.js +0 -73
- package/ee/admin/pages/SettingsPage/pages/ApplicationInfosPage/components/AdminSeatInfo/index.js +0 -105
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/ComboboxFilter/index.js +0 -42
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionBody.js +0 -107
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionItem.js +0 -22
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/index.js +0 -62
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/PaginationFooter/index.js +0 -35
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/TableRows/index.js +0 -87
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useAuditLogsData.js +0 -60
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useFormatTimeStamp.js +0 -24
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/index.js +0 -110
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getActionTypesDefaultMessages.js +0 -34
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js +0 -107
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/tableHeaders.js +0 -38
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ProtectedListPage/index.js +0 -19
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/actions/index.js +0 -113
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/AddStage.js +0 -87
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/index.js +0 -1
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Layout/Layout.js +0 -65
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Layout/index.js +0 -1
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal/LimitsModal.js +0 -111
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal/assets/balloon.png +0 -0
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal/index.js +0 -3
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/StageDragPreview/StageDragPreview.js +0 -46
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/StageDragPreview/index.js +0 -1
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +0 -569
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/index.js +0 -1
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stages.js +0 -99
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/index.js +0 -1
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/WorkflowAttributes/WorkflowAttributes.js +0 -186
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/WorkflowAttributes/index.js +0 -1
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/constants.js +0 -43
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +0 -50
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflowsStages.js +0 -36
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/CreateView/CreateView.js +0 -394
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/CreateView/index.js +0 -18
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/EditView/EditView.js +0 -467
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/EditView/index.js +0 -18
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/ListView/ListView.js +0 -399
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/ListView/index.js +0 -18
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +0 -221
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/selectors.js +0 -45
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/colors.js +0 -39
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/validateWorkflow.js +0 -100
- package/ee/admin/pages/SettingsPage/pages/SingleSignOn/index.js +0 -244
- package/ee/admin/pages/SettingsPage/pages/SingleSignOn/utils/schema.js +0 -19
- package/ee/admin/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +0 -59
- package/ee/admin/pages/SettingsPage/pages/Users/ListPage/ModalForm/constants.js +0 -30
- package/ee/admin/pages/SettingsPage/pages/Users/ListPage/index.js +0 -11
- package/ee/admin/pages/SettingsPage/pages/Users/components/MagicLink/index.js +0 -43
- package/ee/admin/pages/SettingsPage/pages/Webhooks/EditView/components/EventTable/EventTableEE.js +0 -22
- package/ee/admin/pages/SettingsPage/pages/Webhooks/EditView/components/EventTable/index.js +0 -1
- package/ee/admin/permissions/customPermissions.js +0 -18
- package/env.js +0 -42
- package/index.html +0 -16
- package/jest.config.front.js +0 -11
- package/scripts/build.js +0 -122
- package/scripts/create-dev-plugins-file.js +0 -33
- package/shared/entities.ts +0 -33
- package/shared/permissions.ts +0 -52
- package/shared/schema.ts +0 -9
- package/utils/create-cache-dir.js +0 -80
- package/utils/get-custom-app-config-file.js +0 -33
- package/utils/get-custom-webpack-config.js +0 -38
- package/utils/index.js +0 -13
- package/utils/plugins.js +0 -223
- package/utils/should-build-admin.js +0 -52
- package/utils/watch-admin-files.js +0 -59
- package/webpack.alias.js +0 -40
- package/webpack.config.js +0 -174
|
@@ -0,0 +1,2322 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo, useState, memo, useCallback, forwardRef, useReducer, useImperativeHandle } from "react";
|
|
3
|
+
import { Button, Flex, Typography, Box, MultiSelectNested, ModalLayout, ModalHeader, ModalBody, ModalFooter, BaseCheckbox, Checkbox, Grid, GridItem, Accordion, AccordionToggle, AccordionContent, TabGroup, Tabs, Tab, TabPanels, TabPanel } from "@strapi/design-system";
|
|
4
|
+
import { difference, useFetchClient } from "@strapi/helper-plugin";
|
|
5
|
+
import has from "lodash/has";
|
|
6
|
+
import isEmpty from "lodash/isEmpty";
|
|
7
|
+
import PropTypes from "prop-types";
|
|
8
|
+
import { useIntl } from "react-intl";
|
|
9
|
+
import { createContext } from "@radix-ui/react-context";
|
|
10
|
+
import sortBy from "lodash/sortBy";
|
|
11
|
+
import styled from "styled-components";
|
|
12
|
+
import { Cog, CarretDown, ChevronUp, ChevronDown } from "@strapi/icons";
|
|
13
|
+
import get from "lodash/get";
|
|
14
|
+
import omit from "lodash/omit";
|
|
15
|
+
import { Breadcrumbs, Crumb } from "@strapi/design-system/v2";
|
|
16
|
+
import produce from "immer";
|
|
17
|
+
import groupBy from "lodash/groupBy";
|
|
18
|
+
import upperFirst from "lodash/upperFirst";
|
|
19
|
+
import flattenDeep from "lodash/flattenDeep";
|
|
20
|
+
import isObject from "lodash/isObject";
|
|
21
|
+
import merge from "lodash/merge";
|
|
22
|
+
import set from "lodash/set";
|
|
23
|
+
import cloneDeep from "lodash/cloneDeep";
|
|
24
|
+
import { useQuery } from "react-query";
|
|
25
|
+
const [PermissionsDataManagerProvider, usePermissionsDataManagerContext] = createContext("PermissionsDataManager");
|
|
26
|
+
const usePermissionsDataManager = () => usePermissionsDataManagerContext("usePermissionsDataManager");
|
|
27
|
+
const Wrapper$5 = styled.div`
|
|
28
|
+
position: relative;
|
|
29
|
+
|
|
30
|
+
${({ hasConditions, disabled, theme }) => hasConditions && `
|
|
31
|
+
&:before {
|
|
32
|
+
content: '';
|
|
33
|
+
position: absolute;
|
|
34
|
+
top: -3px;
|
|
35
|
+
left: -10px;
|
|
36
|
+
width: 6px;
|
|
37
|
+
height: 6px;
|
|
38
|
+
border-radius: ${20 / 16}rem;;
|
|
39
|
+
background: ${disabled ? theme.colors.neutral100 : theme.colors.primary600};
|
|
40
|
+
}
|
|
41
|
+
`}
|
|
42
|
+
`;
|
|
43
|
+
const ConditionsButton = ({ onClick, className, hasConditions, variant }) => {
|
|
44
|
+
const { formatMessage } = useIntl();
|
|
45
|
+
return /* @__PURE__ */ jsx(Wrapper$5, { hasConditions, className, children: /* @__PURE__ */ jsx(Button, { variant, startIcon: /* @__PURE__ */ jsx(Cog, {}), onClick, children: formatMessage({
|
|
46
|
+
id: "global.settings",
|
|
47
|
+
defaultMessage: "Settings"
|
|
48
|
+
}) }) });
|
|
49
|
+
};
|
|
50
|
+
ConditionsButton.defaultProps = {
|
|
51
|
+
className: null,
|
|
52
|
+
hasConditions: false,
|
|
53
|
+
variant: "tertiary"
|
|
54
|
+
};
|
|
55
|
+
ConditionsButton.propTypes = {
|
|
56
|
+
onClick: PropTypes.func.isRequired,
|
|
57
|
+
className: PropTypes.string,
|
|
58
|
+
hasConditions: PropTypes.bool,
|
|
59
|
+
variant: PropTypes.string
|
|
60
|
+
};
|
|
61
|
+
const ConditionsButton$1 = styled(ConditionsButton)``;
|
|
62
|
+
const getSelectedValues = (rawValue) => Object.values(rawValue).map(
|
|
63
|
+
(x) => Object.entries(x).filter(([, value]) => value).map(([key]) => key)
|
|
64
|
+
).flat();
|
|
65
|
+
const getNestedOptions = (options) => options.reduce((acc, [label, children]) => {
|
|
66
|
+
acc.push({
|
|
67
|
+
label: upperFirst(label),
|
|
68
|
+
children: children.map((child) => ({
|
|
69
|
+
label: child.displayName,
|
|
70
|
+
value: child.id
|
|
71
|
+
}))
|
|
72
|
+
});
|
|
73
|
+
return acc;
|
|
74
|
+
}, []);
|
|
75
|
+
const getNewStateFromChangedValues = (options, changedValues) => options.map(([, values]) => values).flat().reduce((acc, curr) => ({ [curr.id]: changedValues.includes(curr.id), ...acc }), {});
|
|
76
|
+
const ActionRow$2 = ({
|
|
77
|
+
arrayOfOptionsGroupedByCategory,
|
|
78
|
+
isFormDisabled,
|
|
79
|
+
isGrey,
|
|
80
|
+
label,
|
|
81
|
+
name,
|
|
82
|
+
onChange,
|
|
83
|
+
value
|
|
84
|
+
}) => {
|
|
85
|
+
const { formatMessage } = useIntl();
|
|
86
|
+
const handleChange = (val) => {
|
|
87
|
+
onChange(name, getNewStateFromChangedValues(arrayOfOptionsGroupedByCategory, val));
|
|
88
|
+
};
|
|
89
|
+
return /* @__PURE__ */ jsxs(Flex, { as: "li", background: isGrey ? "neutral100" : "neutral0", paddingBottom: 3, paddingTop: 3, children: [
|
|
90
|
+
/* @__PURE__ */ jsxs(Flex, { paddingLeft: 6, style: { width: 180 }, children: [
|
|
91
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "sigma", textColor: "neutral600", children: [
|
|
92
|
+
formatMessage({
|
|
93
|
+
id: "Settings.permissions.conditions.can",
|
|
94
|
+
defaultMessage: "Can"
|
|
95
|
+
}),
|
|
96
|
+
" "
|
|
97
|
+
] }),
|
|
98
|
+
/* @__PURE__ */ jsx(Typography, { variant: "sigma", title: label, textColor: "primary600", ellipsis: true, children: formatMessage({
|
|
99
|
+
id: `Settings.roles.form.permissions.${label.toLowerCase()}`,
|
|
100
|
+
defaultMessage: label
|
|
101
|
+
}) }),
|
|
102
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "sigma", textColor: "neutral600", children: [
|
|
103
|
+
" ",
|
|
104
|
+
formatMessage({
|
|
105
|
+
id: "Settings.permissions.conditions.when",
|
|
106
|
+
defaultMessage: "When"
|
|
107
|
+
})
|
|
108
|
+
] })
|
|
109
|
+
] }),
|
|
110
|
+
/* @__PURE__ */ jsx(Box, { style: { maxWidth: 430, width: "100%" }, children: /* @__PURE__ */ jsx(
|
|
111
|
+
MultiSelectNested,
|
|
112
|
+
{
|
|
113
|
+
id: name,
|
|
114
|
+
customizeContent: (values) => `${values.length} currently selected`,
|
|
115
|
+
onChange: handleChange,
|
|
116
|
+
value: getSelectedValues(value),
|
|
117
|
+
options: getNestedOptions(arrayOfOptionsGroupedByCategory),
|
|
118
|
+
disabled: isFormDisabled
|
|
119
|
+
}
|
|
120
|
+
) })
|
|
121
|
+
] });
|
|
122
|
+
};
|
|
123
|
+
ActionRow$2.propTypes = {
|
|
124
|
+
arrayOfOptionsGroupedByCategory: PropTypes.array.isRequired,
|
|
125
|
+
isFormDisabled: PropTypes.bool.isRequired,
|
|
126
|
+
isGrey: PropTypes.bool.isRequired,
|
|
127
|
+
label: PropTypes.string.isRequired,
|
|
128
|
+
name: PropTypes.string.isRequired,
|
|
129
|
+
value: PropTypes.object.isRequired,
|
|
130
|
+
onChange: PropTypes.func.isRequired
|
|
131
|
+
};
|
|
132
|
+
const createConditionsForm = (conditions, valueObject) => {
|
|
133
|
+
return conditions.reduce((acc, current) => {
|
|
134
|
+
acc[current.id] = get(valueObject, current.id, false);
|
|
135
|
+
return acc;
|
|
136
|
+
}, {});
|
|
137
|
+
};
|
|
138
|
+
const createCategoryForm = (arrayOfOptions, valueObject) => {
|
|
139
|
+
return arrayOfOptions.reduce((acc, current) => {
|
|
140
|
+
const [categoryName, relatedConditions] = current;
|
|
141
|
+
const conditionsForm = createConditionsForm(relatedConditions, valueObject);
|
|
142
|
+
acc[categoryName] = conditionsForm;
|
|
143
|
+
return acc;
|
|
144
|
+
}, {});
|
|
145
|
+
};
|
|
146
|
+
const createDefaultConditionsForm$1 = (actionsToDisplay, modifiedData, arrayOfOptionsGroupedByCategory) => {
|
|
147
|
+
return actionsToDisplay.reduce((acc, current) => {
|
|
148
|
+
const valueFromModifiedData = get(
|
|
149
|
+
modifiedData,
|
|
150
|
+
[...current.pathToConditionsObject, "conditions"],
|
|
151
|
+
{}
|
|
152
|
+
);
|
|
153
|
+
const categoryDefaultForm = createCategoryForm(
|
|
154
|
+
arrayOfOptionsGroupedByCategory,
|
|
155
|
+
valueFromModifiedData
|
|
156
|
+
);
|
|
157
|
+
acc[current.pathToConditionsObject.join("..")] = categoryDefaultForm;
|
|
158
|
+
return acc;
|
|
159
|
+
}, {});
|
|
160
|
+
};
|
|
161
|
+
const ConditionsModal = ({ actions, headerBreadCrumbs, isFormDisabled, onClosed, onToggle }) => {
|
|
162
|
+
const { formatMessage } = useIntl();
|
|
163
|
+
const { availableConditions, modifiedData, onChangeConditions } = usePermissionsDataManager();
|
|
164
|
+
const arrayOfOptionsGroupedByCategory = useMemo(() => {
|
|
165
|
+
return Object.entries(groupBy(availableConditions, "category"));
|
|
166
|
+
}, [availableConditions]);
|
|
167
|
+
const actionsToDisplay = actions.filter(
|
|
168
|
+
({ isDisplayed, hasSomeActionsSelected, hasAllActionsSelected }) => isDisplayed && (hasSomeActionsSelected || hasAllActionsSelected)
|
|
169
|
+
);
|
|
170
|
+
const initState = useMemo(() => {
|
|
171
|
+
return createDefaultConditionsForm$1(
|
|
172
|
+
actionsToDisplay,
|
|
173
|
+
modifiedData,
|
|
174
|
+
arrayOfOptionsGroupedByCategory
|
|
175
|
+
);
|
|
176
|
+
}, [actionsToDisplay, modifiedData, arrayOfOptionsGroupedByCategory]);
|
|
177
|
+
const [state, setState] = useState(initState);
|
|
178
|
+
const handleChange = (name, values) => {
|
|
179
|
+
setState(
|
|
180
|
+
produce((draft) => {
|
|
181
|
+
if (!draft[name]) {
|
|
182
|
+
draft[name] = {};
|
|
183
|
+
}
|
|
184
|
+
if (!draft[name].default) {
|
|
185
|
+
draft[name].default = {};
|
|
186
|
+
}
|
|
187
|
+
draft[name].default = values;
|
|
188
|
+
})
|
|
189
|
+
);
|
|
190
|
+
};
|
|
191
|
+
const handleSubmit = () => {
|
|
192
|
+
const conditionsWithoutCategory = Object.entries(state).reduce((acc, current) => {
|
|
193
|
+
const [key, value] = current;
|
|
194
|
+
const merged = Object.values(value).reduce((acc1, current1) => {
|
|
195
|
+
return { ...acc1, ...current1 };
|
|
196
|
+
}, {});
|
|
197
|
+
acc[key] = merged;
|
|
198
|
+
return acc;
|
|
199
|
+
}, {});
|
|
200
|
+
onChangeConditions(conditionsWithoutCategory);
|
|
201
|
+
onToggle();
|
|
202
|
+
};
|
|
203
|
+
return /* @__PURE__ */ jsxs(ModalLayout, { labelledBy: "condition-modal-breadcrumbs", onClose: onClosed, children: [
|
|
204
|
+
/* @__PURE__ */ jsx(ModalHeader, { children: /* @__PURE__ */ jsx(Breadcrumbs, { id: "condition-modal-breadcrumbs", label: headerBreadCrumbs.join(", "), children: headerBreadCrumbs.map((label, index, arr) => /* @__PURE__ */ jsx(Crumb, { isCurrent: index === arr.length - 1, children: upperFirst(
|
|
205
|
+
formatMessage({
|
|
206
|
+
id: label,
|
|
207
|
+
defaultMessage: label
|
|
208
|
+
})
|
|
209
|
+
) }, label)) }) }),
|
|
210
|
+
/* @__PURE__ */ jsxs(ModalBody, { children: [
|
|
211
|
+
actionsToDisplay.length === 0 && /* @__PURE__ */ jsx(Typography, { children: formatMessage({
|
|
212
|
+
id: "Settings.permissions.conditions.no-actions",
|
|
213
|
+
defaultMessage: "You first need to select actions (create, read, update, ...) before defining conditions on them."
|
|
214
|
+
}) }),
|
|
215
|
+
/* @__PURE__ */ jsx("ul", { children: actionsToDisplay.map(({ actionId, label, pathToConditionsObject }, index) => {
|
|
216
|
+
const name = pathToConditionsObject.join("..");
|
|
217
|
+
return /* @__PURE__ */ jsx(
|
|
218
|
+
ActionRow$2,
|
|
219
|
+
{
|
|
220
|
+
arrayOfOptionsGroupedByCategory,
|
|
221
|
+
label,
|
|
222
|
+
isFormDisabled,
|
|
223
|
+
isGrey: index % 2 === 0,
|
|
224
|
+
name,
|
|
225
|
+
onChange: handleChange,
|
|
226
|
+
value: get(state, name, {})
|
|
227
|
+
},
|
|
228
|
+
actionId
|
|
229
|
+
);
|
|
230
|
+
}) })
|
|
231
|
+
] }),
|
|
232
|
+
/* @__PURE__ */ jsx(
|
|
233
|
+
ModalFooter,
|
|
234
|
+
{
|
|
235
|
+
startActions: /* @__PURE__ */ jsx(Button, { variant: "tertiary", onClick: onToggle, children: formatMessage({ id: "app.components.Button.cancel", defaultMessage: "Cancel" }) }),
|
|
236
|
+
endActions: /* @__PURE__ */ jsx(Button, { onClick: handleSubmit, children: formatMessage({
|
|
237
|
+
id: "Settings.permissions.conditions.apply",
|
|
238
|
+
defaultMessage: "Apply"
|
|
239
|
+
}) })
|
|
240
|
+
}
|
|
241
|
+
)
|
|
242
|
+
] });
|
|
243
|
+
};
|
|
244
|
+
ConditionsModal.propTypes = {
|
|
245
|
+
actions: PropTypes.arrayOf(
|
|
246
|
+
PropTypes.shape({
|
|
247
|
+
actionId: PropTypes.string.isRequired,
|
|
248
|
+
checkboxName: PropTypes.string,
|
|
249
|
+
hasSomeActionsSelected: PropTypes.bool.isRequired,
|
|
250
|
+
hasAllActionsSelected: PropTypes.bool,
|
|
251
|
+
isDisplayed: PropTypes.bool.isRequired,
|
|
252
|
+
label: PropTypes.string
|
|
253
|
+
})
|
|
254
|
+
).isRequired,
|
|
255
|
+
headerBreadCrumbs: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
256
|
+
isFormDisabled: PropTypes.bool.isRequired,
|
|
257
|
+
onClosed: PropTypes.func.isRequired,
|
|
258
|
+
onToggle: PropTypes.func.isRequired
|
|
259
|
+
};
|
|
260
|
+
const cellWidth = `${120 / 16}rem`;
|
|
261
|
+
const firstRowWidth = `${200 / 16}rem`;
|
|
262
|
+
const rowHeight = `${53 / 16}rem`;
|
|
263
|
+
const HiddenAction = styled.div`
|
|
264
|
+
width: ${cellWidth};
|
|
265
|
+
`;
|
|
266
|
+
const CollapseLabel = styled(Flex)`
|
|
267
|
+
padding-right: ${({ theme }) => theme.spaces[2]};
|
|
268
|
+
overflow: hidden;
|
|
269
|
+
flex: 1;
|
|
270
|
+
${({ isCollapsable }) => isCollapsable && "cursor: pointer;"}
|
|
271
|
+
`;
|
|
272
|
+
const RowLabelWithCheckbox = ({
|
|
273
|
+
children,
|
|
274
|
+
isCollapsable,
|
|
275
|
+
isActive,
|
|
276
|
+
isFormDisabled,
|
|
277
|
+
label,
|
|
278
|
+
onChange,
|
|
279
|
+
onClick,
|
|
280
|
+
checkboxName,
|
|
281
|
+
someChecked,
|
|
282
|
+
value
|
|
283
|
+
}) => {
|
|
284
|
+
const { formatMessage } = useIntl();
|
|
285
|
+
return /* @__PURE__ */ jsxs(Flex, { alignItems: "center", paddingLeft: 6, style: { width: firstRowWidth, flexShrink: 0 }, children: [
|
|
286
|
+
/* @__PURE__ */ jsx(Box, { paddingRight: 2, children: /* @__PURE__ */ jsx(
|
|
287
|
+
BaseCheckbox,
|
|
288
|
+
{
|
|
289
|
+
name: checkboxName,
|
|
290
|
+
"aria-label": formatMessage(
|
|
291
|
+
{
|
|
292
|
+
id: `Settings.permissions.select-all-by-permission`,
|
|
293
|
+
defaultMessage: "Select all {label} permissions"
|
|
294
|
+
},
|
|
295
|
+
{ label }
|
|
296
|
+
),
|
|
297
|
+
disabled: isFormDisabled,
|
|
298
|
+
onValueChange: (value2) => onChange({
|
|
299
|
+
target: {
|
|
300
|
+
name: checkboxName,
|
|
301
|
+
value: value2
|
|
302
|
+
}
|
|
303
|
+
}),
|
|
304
|
+
indeterminate: someChecked,
|
|
305
|
+
value
|
|
306
|
+
}
|
|
307
|
+
) }),
|
|
308
|
+
/* @__PURE__ */ jsxs(
|
|
309
|
+
CollapseLabel,
|
|
310
|
+
{
|
|
311
|
+
title: label,
|
|
312
|
+
alignItems: "center",
|
|
313
|
+
isCollapsable,
|
|
314
|
+
...isCollapsable && {
|
|
315
|
+
onClick,
|
|
316
|
+
"aria-expanded": isActive,
|
|
317
|
+
onKeyDown: ({ key }) => (key === "Enter" || key === " ") && onClick(),
|
|
318
|
+
tabIndex: 0,
|
|
319
|
+
role: "button"
|
|
320
|
+
},
|
|
321
|
+
children: [
|
|
322
|
+
/* @__PURE__ */ jsx(
|
|
323
|
+
Typography,
|
|
324
|
+
{
|
|
325
|
+
fontWeight: isActive ? "bold" : "",
|
|
326
|
+
textColor: isActive ? "primary600" : "neutral800",
|
|
327
|
+
ellipsis: true,
|
|
328
|
+
children: upperFirst(label)
|
|
329
|
+
}
|
|
330
|
+
),
|
|
331
|
+
children
|
|
332
|
+
]
|
|
333
|
+
}
|
|
334
|
+
)
|
|
335
|
+
] });
|
|
336
|
+
};
|
|
337
|
+
RowLabelWithCheckbox.defaultProps = {
|
|
338
|
+
children: null,
|
|
339
|
+
checkboxName: "",
|
|
340
|
+
onChange() {
|
|
341
|
+
},
|
|
342
|
+
value: false,
|
|
343
|
+
someChecked: false,
|
|
344
|
+
isCollapsable: false
|
|
345
|
+
};
|
|
346
|
+
RowLabelWithCheckbox.propTypes = {
|
|
347
|
+
checkboxName: PropTypes.string,
|
|
348
|
+
children: PropTypes.node,
|
|
349
|
+
label: PropTypes.string.isRequired,
|
|
350
|
+
isCollapsable: PropTypes.bool,
|
|
351
|
+
isFormDisabled: PropTypes.bool.isRequired,
|
|
352
|
+
onChange: PropTypes.func,
|
|
353
|
+
onClick: PropTypes.func.isRequired,
|
|
354
|
+
someChecked: PropTypes.bool,
|
|
355
|
+
value: PropTypes.bool,
|
|
356
|
+
isActive: PropTypes.bool.isRequired
|
|
357
|
+
};
|
|
358
|
+
const RowLabelWithCheckbox$1 = memo(RowLabelWithCheckbox);
|
|
359
|
+
const createArrayOfValues = (obj) => {
|
|
360
|
+
if (!isObject(obj)) {
|
|
361
|
+
return [];
|
|
362
|
+
}
|
|
363
|
+
return flattenDeep(
|
|
364
|
+
Object.values(obj).map((value) => {
|
|
365
|
+
if (isObject(value)) {
|
|
366
|
+
return createArrayOfValues(value);
|
|
367
|
+
}
|
|
368
|
+
return value;
|
|
369
|
+
})
|
|
370
|
+
);
|
|
371
|
+
};
|
|
372
|
+
const removeConditionKeyFromData = (obj) => {
|
|
373
|
+
if (!obj) {
|
|
374
|
+
return null;
|
|
375
|
+
}
|
|
376
|
+
return Object.keys(obj).reduce((acc, current) => {
|
|
377
|
+
if (current !== "conditions") {
|
|
378
|
+
acc[current] = obj[current];
|
|
379
|
+
}
|
|
380
|
+
return acc;
|
|
381
|
+
}, {});
|
|
382
|
+
};
|
|
383
|
+
const getCheckboxState = (dataObj) => {
|
|
384
|
+
const dataWithoutCondition = removeConditionKeyFromData(dataObj);
|
|
385
|
+
const arrayOfValues = createArrayOfValues(dataWithoutCondition);
|
|
386
|
+
if (!arrayOfValues.length) {
|
|
387
|
+
return { hasAllActionsSelected: false, hasSomeActionsSelected: false };
|
|
388
|
+
}
|
|
389
|
+
const hasAllActionsSelected = arrayOfValues.every((val) => val);
|
|
390
|
+
const hasSomeActionsSelected = arrayOfValues.some((val) => val) && !hasAllActionsSelected;
|
|
391
|
+
return { hasAllActionsSelected, hasSomeActionsSelected };
|
|
392
|
+
};
|
|
393
|
+
const CarretIcon = styled(CarretDown)`
|
|
394
|
+
display: none;
|
|
395
|
+
width: ${10 / 16}rem;
|
|
396
|
+
transform: rotate(${({ $isActive }) => $isActive ? "180" : "0"}deg);
|
|
397
|
+
margin-left: ${({ theme }) => theme.spaces[2]};
|
|
398
|
+
`;
|
|
399
|
+
const activeStyle = (theme) => `
|
|
400
|
+
${Typography} {
|
|
401
|
+
color: ${theme.colors.primary600};
|
|
402
|
+
font-weight: ${theme.fontWeights.bold}
|
|
403
|
+
}
|
|
404
|
+
${CarretIcon} {
|
|
405
|
+
display: block;
|
|
406
|
+
path {
|
|
407
|
+
fill: ${theme.colors.primary600}
|
|
408
|
+
};
|
|
409
|
+
}
|
|
410
|
+
`;
|
|
411
|
+
const generateCheckboxesActions = (availableActions, modifiedData, pathToData) => {
|
|
412
|
+
return availableActions.map(({ actionId, isDisplayed, applyToProperties, label }) => {
|
|
413
|
+
if (!isDisplayed) {
|
|
414
|
+
return { actionId, hasSomeActionsSelected: false, isDisplayed };
|
|
415
|
+
}
|
|
416
|
+
const baseCheckboxNameArray = [...pathToData.split(".."), actionId];
|
|
417
|
+
const checkboxNameArray = isEmpty(applyToProperties) ? [...baseCheckboxNameArray, "properties", "enabled"] : baseCheckboxNameArray;
|
|
418
|
+
const checkboxName = checkboxNameArray.join("..");
|
|
419
|
+
const conditionsValue = get(modifiedData, [...baseCheckboxNameArray, "conditions"], null);
|
|
420
|
+
const hasConditions = createArrayOfValues(conditionsValue).some((val) => val);
|
|
421
|
+
if (isEmpty(applyToProperties)) {
|
|
422
|
+
const value = get(modifiedData, checkboxNameArray, false);
|
|
423
|
+
return {
|
|
424
|
+
actionId,
|
|
425
|
+
checkboxName,
|
|
426
|
+
hasAllActionsSelected: value,
|
|
427
|
+
hasConditions,
|
|
428
|
+
hasSomeActionsSelected: value,
|
|
429
|
+
isDisplayed,
|
|
430
|
+
isParentCheckbox: false,
|
|
431
|
+
label,
|
|
432
|
+
pathToConditionsObject: baseCheckboxNameArray
|
|
433
|
+
};
|
|
434
|
+
}
|
|
435
|
+
const mainData = get(modifiedData, checkboxNameArray, null);
|
|
436
|
+
const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(mainData);
|
|
437
|
+
return {
|
|
438
|
+
actionId,
|
|
439
|
+
checkboxName,
|
|
440
|
+
hasAllActionsSelected,
|
|
441
|
+
hasConditions,
|
|
442
|
+
hasSomeActionsSelected,
|
|
443
|
+
isDisplayed,
|
|
444
|
+
isParentCheckbox: true,
|
|
445
|
+
label,
|
|
446
|
+
pathToConditionsObject: baseCheckboxNameArray
|
|
447
|
+
};
|
|
448
|
+
});
|
|
449
|
+
};
|
|
450
|
+
const activeRowStyle = (theme, isActive) => `
|
|
451
|
+
${Wrapper$4} {
|
|
452
|
+
background-color: ${theme.colors.primary100};
|
|
453
|
+
color: ${theme.colors.primary600};
|
|
454
|
+
border-radius: ${isActive ? "2px 2px 0 0" : "2px"};
|
|
455
|
+
}
|
|
456
|
+
${Chevron} {
|
|
457
|
+
display: flex;
|
|
458
|
+
}
|
|
459
|
+
${ConditionsButton$1} {
|
|
460
|
+
display: block;
|
|
461
|
+
}
|
|
462
|
+
&:hover {
|
|
463
|
+
${activeStyle(theme)}
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
&:focus-within {
|
|
467
|
+
${({ theme: theme2, isActive: isActive2 }) => activeRowStyle(theme2, isActive2)}
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
`;
|
|
471
|
+
const Wrapper$4 = styled.div`
|
|
472
|
+
flex: 1;
|
|
473
|
+
display: flex;
|
|
474
|
+
align-items: center;
|
|
475
|
+
height: ${rowHeight};
|
|
476
|
+
background-color: ${({ isGrey, theme }) => isGrey ? theme.colors.neutral100 : theme.colors.neutral0};
|
|
477
|
+
border: 1px solid transparent;
|
|
478
|
+
`;
|
|
479
|
+
const BoxWrapper = styled.div`
|
|
480
|
+
display: inline-flex;
|
|
481
|
+
min-width: 100%;
|
|
482
|
+
|
|
483
|
+
${ConditionsButton$1} {
|
|
484
|
+
display: none;
|
|
485
|
+
}
|
|
486
|
+
${({ isActive, theme }) => isActive && activeRowStyle(theme, isActive)}
|
|
487
|
+
&:hover {
|
|
488
|
+
${({ theme, isActive }) => activeRowStyle(theme, isActive)}
|
|
489
|
+
}
|
|
490
|
+
`;
|
|
491
|
+
const Cell$2 = styled(Flex)`
|
|
492
|
+
width: ${cellWidth};
|
|
493
|
+
position: relative;
|
|
494
|
+
`;
|
|
495
|
+
const Chevron = styled(Box)`
|
|
496
|
+
display: none;
|
|
497
|
+
svg {
|
|
498
|
+
width: 11px;
|
|
499
|
+
}
|
|
500
|
+
* {
|
|
501
|
+
fill: ${({ theme }) => theme.colors.primary600};
|
|
502
|
+
}
|
|
503
|
+
`;
|
|
504
|
+
const TinyDot = styled.span`
|
|
505
|
+
position: absolute;
|
|
506
|
+
top: -6px;
|
|
507
|
+
left: 37px;
|
|
508
|
+
width: 6px;
|
|
509
|
+
height: 6px;
|
|
510
|
+
border-radius: 20px;
|
|
511
|
+
background: ${({ theme }) => theme.colors.primary600};
|
|
512
|
+
`;
|
|
513
|
+
const AbsoluteBox = styled(Box)`
|
|
514
|
+
position: absolute;
|
|
515
|
+
right: 9px;
|
|
516
|
+
transform: translateY(10px);
|
|
517
|
+
`;
|
|
518
|
+
const Collapse = ({
|
|
519
|
+
availableActions,
|
|
520
|
+
isActive,
|
|
521
|
+
isGrey,
|
|
522
|
+
isFormDisabled,
|
|
523
|
+
label,
|
|
524
|
+
onClickToggle,
|
|
525
|
+
pathToData
|
|
526
|
+
}) => {
|
|
527
|
+
const [isModalOpen, setModalOpen] = useState(false);
|
|
528
|
+
const { formatMessage } = useIntl();
|
|
529
|
+
const { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } = usePermissionsDataManager();
|
|
530
|
+
const handleToggleModalIsOpen = () => {
|
|
531
|
+
setModalOpen((s) => !s);
|
|
532
|
+
};
|
|
533
|
+
const handleModalClose = () => {
|
|
534
|
+
setModalOpen(false);
|
|
535
|
+
};
|
|
536
|
+
const mainData = get(modifiedData, pathToData.split(".."), {});
|
|
537
|
+
const dataWithoutCondition = useMemo(() => {
|
|
538
|
+
return Object.keys(mainData).reduce((acc, current) => {
|
|
539
|
+
acc[current] = omit(mainData[current], "conditions");
|
|
540
|
+
return acc;
|
|
541
|
+
}, {});
|
|
542
|
+
}, [mainData]);
|
|
543
|
+
const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(dataWithoutCondition);
|
|
544
|
+
const checkboxesActions = useMemo(() => {
|
|
545
|
+
return generateCheckboxesActions(availableActions, modifiedData, pathToData);
|
|
546
|
+
}, [availableActions, modifiedData, pathToData]);
|
|
547
|
+
const doesConditionButtonHasConditions = checkboxesActions.some(
|
|
548
|
+
({ hasConditions }) => hasConditions
|
|
549
|
+
);
|
|
550
|
+
return /* @__PURE__ */ jsxs(BoxWrapper, { isActive, children: [
|
|
551
|
+
/* @__PURE__ */ jsxs(Wrapper$4, { isGrey, children: [
|
|
552
|
+
/* @__PURE__ */ jsx(
|
|
553
|
+
RowLabelWithCheckbox$1,
|
|
554
|
+
{
|
|
555
|
+
isCollapsable: true,
|
|
556
|
+
isFormDisabled,
|
|
557
|
+
label,
|
|
558
|
+
checkboxName: pathToData,
|
|
559
|
+
onChange: onChangeParentCheckbox,
|
|
560
|
+
onClick: onClickToggle,
|
|
561
|
+
someChecked: hasSomeActionsSelected,
|
|
562
|
+
value: hasAllActionsSelected,
|
|
563
|
+
isActive,
|
|
564
|
+
children: /* @__PURE__ */ jsx(Chevron, { paddingLeft: 2, children: isActive ? /* @__PURE__ */ jsx(ChevronUp, {}) : /* @__PURE__ */ jsx(ChevronDown, {}) })
|
|
565
|
+
}
|
|
566
|
+
),
|
|
567
|
+
/* @__PURE__ */ jsx(Flex, { style: { flex: 1 }, children: checkboxesActions.map(
|
|
568
|
+
({
|
|
569
|
+
actionId,
|
|
570
|
+
hasConditions,
|
|
571
|
+
hasAllActionsSelected: hasAllActionsSelected2,
|
|
572
|
+
hasSomeActionsSelected: hasSomeActionsSelected2,
|
|
573
|
+
isDisplayed,
|
|
574
|
+
isParentCheckbox,
|
|
575
|
+
checkboxName,
|
|
576
|
+
label: permissionLabel
|
|
577
|
+
}) => {
|
|
578
|
+
if (!isDisplayed) {
|
|
579
|
+
return /* @__PURE__ */ jsx(HiddenAction, {}, actionId);
|
|
580
|
+
}
|
|
581
|
+
if (isParentCheckbox) {
|
|
582
|
+
return /* @__PURE__ */ jsxs(Cell$2, { justifyContent: "center", alignItems: "center", children: [
|
|
583
|
+
hasConditions && /* @__PURE__ */ jsx(TinyDot, {}),
|
|
584
|
+
/* @__PURE__ */ jsx(
|
|
585
|
+
BaseCheckbox,
|
|
586
|
+
{
|
|
587
|
+
disabled: isFormDisabled,
|
|
588
|
+
name: checkboxName,
|
|
589
|
+
"aria-label": formatMessage(
|
|
590
|
+
{
|
|
591
|
+
id: `Settings.permissions.select-by-permission`,
|
|
592
|
+
defaultMessage: "Select {label} permission"
|
|
593
|
+
},
|
|
594
|
+
{ label: `${permissionLabel} ${label}` }
|
|
595
|
+
),
|
|
596
|
+
onValueChange: (value) => {
|
|
597
|
+
onChangeParentCheckbox({
|
|
598
|
+
target: {
|
|
599
|
+
name: checkboxName,
|
|
600
|
+
value
|
|
601
|
+
}
|
|
602
|
+
});
|
|
603
|
+
},
|
|
604
|
+
indeterminate: hasSomeActionsSelected2,
|
|
605
|
+
value: hasAllActionsSelected2
|
|
606
|
+
}
|
|
607
|
+
)
|
|
608
|
+
] }, actionId);
|
|
609
|
+
}
|
|
610
|
+
return /* @__PURE__ */ jsxs(Cell$2, { justifyContent: "center", alignItems: "center", children: [
|
|
611
|
+
hasConditions && /* @__PURE__ */ jsx(TinyDot, {}),
|
|
612
|
+
/* @__PURE__ */ jsx(
|
|
613
|
+
BaseCheckbox,
|
|
614
|
+
{
|
|
615
|
+
disabled: isFormDisabled,
|
|
616
|
+
indeterminate: hasConditions,
|
|
617
|
+
name: checkboxName,
|
|
618
|
+
onValueChange: (value) => {
|
|
619
|
+
onChangeSimpleCheckbox({
|
|
620
|
+
target: {
|
|
621
|
+
name: checkboxName,
|
|
622
|
+
value
|
|
623
|
+
}
|
|
624
|
+
});
|
|
625
|
+
},
|
|
626
|
+
value: hasAllActionsSelected2
|
|
627
|
+
}
|
|
628
|
+
)
|
|
629
|
+
] }, actionId);
|
|
630
|
+
}
|
|
631
|
+
) }),
|
|
632
|
+
isModalOpen && /* @__PURE__ */ jsx(
|
|
633
|
+
ConditionsModal,
|
|
634
|
+
{
|
|
635
|
+
headerBreadCrumbs: [label, "Settings.permissions.conditions.conditions"],
|
|
636
|
+
actions: checkboxesActions,
|
|
637
|
+
isFormDisabled,
|
|
638
|
+
onClosed: handleModalClose,
|
|
639
|
+
onToggle: handleToggleModalIsOpen
|
|
640
|
+
}
|
|
641
|
+
)
|
|
642
|
+
] }),
|
|
643
|
+
/* @__PURE__ */ jsx(AbsoluteBox, { children: /* @__PURE__ */ jsx(
|
|
644
|
+
ConditionsButton$1,
|
|
645
|
+
{
|
|
646
|
+
onClick: handleToggleModalIsOpen,
|
|
647
|
+
hasConditions: doesConditionButtonHasConditions
|
|
648
|
+
}
|
|
649
|
+
) })
|
|
650
|
+
] });
|
|
651
|
+
};
|
|
652
|
+
Collapse.propTypes = {
|
|
653
|
+
availableActions: PropTypes.array.isRequired,
|
|
654
|
+
isActive: PropTypes.bool.isRequired,
|
|
655
|
+
isGrey: PropTypes.bool.isRequired,
|
|
656
|
+
isFormDisabled: PropTypes.bool.isRequired,
|
|
657
|
+
label: PropTypes.string.isRequired,
|
|
658
|
+
onClickToggle: PropTypes.func.isRequired,
|
|
659
|
+
pathToData: PropTypes.string.isRequired
|
|
660
|
+
};
|
|
661
|
+
const Required = styled.span`
|
|
662
|
+
color: ${({ theme }) => theme.colors.danger700};
|
|
663
|
+
padding-left: ${({ theme }) => theme.spaces[1]}px;
|
|
664
|
+
`;
|
|
665
|
+
const RequiredSign = () => /* @__PURE__ */ jsx(Required, { children: "*" });
|
|
666
|
+
const getAvailableActions = (actions, targetSubject) => {
|
|
667
|
+
return actions.map((action) => {
|
|
668
|
+
const isDisplayed = Array.isArray(action.subjects) && action.subjects.indexOf(targetSubject) !== -1;
|
|
669
|
+
return { ...action, isDisplayed };
|
|
670
|
+
});
|
|
671
|
+
};
|
|
672
|
+
const StyledBox$1 = styled(Box)`
|
|
673
|
+
transform: translate(-4px, -12px);
|
|
674
|
+
|
|
675
|
+
&:before {
|
|
676
|
+
content: '';
|
|
677
|
+
width: ${4 / 16}rem;
|
|
678
|
+
height: ${12 / 16}rem;
|
|
679
|
+
background: ${({ theme }) => theme.colors.primary200};
|
|
680
|
+
display: block;
|
|
681
|
+
}
|
|
682
|
+
`;
|
|
683
|
+
const Svg = styled.svg`
|
|
684
|
+
position: relative;
|
|
685
|
+
flex-shrink: 0;
|
|
686
|
+
transform: translate(-0.5px, -1px);
|
|
687
|
+
|
|
688
|
+
* {
|
|
689
|
+
fill: ${({ theme, color }) => theme.colors[color]};
|
|
690
|
+
}
|
|
691
|
+
`;
|
|
692
|
+
const Curve = (props) => /* @__PURE__ */ jsx(StyledBox$1, { children: /* @__PURE__ */ jsx(
|
|
693
|
+
Svg,
|
|
694
|
+
{
|
|
695
|
+
width: "20",
|
|
696
|
+
height: "23",
|
|
697
|
+
viewBox: "0 0 20 23",
|
|
698
|
+
fill: "none",
|
|
699
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
700
|
+
...props,
|
|
701
|
+
children: /* @__PURE__ */ jsx(
|
|
702
|
+
"path",
|
|
703
|
+
{
|
|
704
|
+
fillRule: "evenodd",
|
|
705
|
+
clipRule: "evenodd",
|
|
706
|
+
d: "M7.02477 14.7513C8.65865 17.0594 11.6046 18.6059 17.5596 18.8856C18.6836 18.9384 19.5976 19.8435 19.5976 20.9688V20.9688C19.5976 22.0941 18.6841 23.0125 17.5599 22.9643C10.9409 22.6805 6.454 20.9387 3.75496 17.1258C0.937988 13.1464 0.486328 7.39309 0.486328 0.593262H4.50974C4.50974 7.54693 5.06394 11.9813 7.02477 14.7513Z",
|
|
707
|
+
fill: "#D9D8FF"
|
|
708
|
+
}
|
|
709
|
+
)
|
|
710
|
+
}
|
|
711
|
+
) });
|
|
712
|
+
Curve.defaultProps = {
|
|
713
|
+
fill: "primary200"
|
|
714
|
+
};
|
|
715
|
+
Curve.propTypes = {
|
|
716
|
+
fill: PropTypes.string
|
|
717
|
+
};
|
|
718
|
+
const Curve$1 = memo(Curve);
|
|
719
|
+
const Cell$1 = styled(Flex)`
|
|
720
|
+
width: ${cellWidth};
|
|
721
|
+
position: relative;
|
|
722
|
+
`;
|
|
723
|
+
const RowWrapper = styled(Flex)`
|
|
724
|
+
height: ${rowHeight};
|
|
725
|
+
`;
|
|
726
|
+
const Wrapper$3 = styled(Box)`
|
|
727
|
+
padding-left: ${31 / 16}rem;
|
|
728
|
+
`;
|
|
729
|
+
const LeftBorderTimeline = styled(Box)`
|
|
730
|
+
border-left: ${({ isVisible, theme }) => isVisible ? `4px solid ${theme.colors.primary200}` : "4px solid transparent"};
|
|
731
|
+
`;
|
|
732
|
+
const RowStyle = styled(Flex)`
|
|
733
|
+
padding-left: ${({ theme }) => theme.spaces[4]};
|
|
734
|
+
width: ${({ level }) => 145 - level * 36}px;
|
|
735
|
+
|
|
736
|
+
${({ isCollapsable, theme }) => isCollapsable && `
|
|
737
|
+
${CarretIcon} {
|
|
738
|
+
display: block;
|
|
739
|
+
color: ${theme.colors.neutral100};
|
|
740
|
+
}
|
|
741
|
+
&:hover {
|
|
742
|
+
${activeStyle(theme)}
|
|
743
|
+
}
|
|
744
|
+
`}
|
|
745
|
+
${({ isActive, theme }) => isActive && activeStyle(theme)};
|
|
746
|
+
`;
|
|
747
|
+
const TopTimeline = styled.div`
|
|
748
|
+
padding-top: ${({ theme }) => theme.spaces[2]};
|
|
749
|
+
margin-top: ${({ theme }) => theme.spaces[2]};
|
|
750
|
+
width: ${4 / 16}rem;
|
|
751
|
+
background-color: ${({ theme }) => theme.colors.primary200};
|
|
752
|
+
border-top-left-radius: 2px;
|
|
753
|
+
border-top-right-radius: 2px;
|
|
754
|
+
`;
|
|
755
|
+
const SubActionRow = ({
|
|
756
|
+
childrenForm,
|
|
757
|
+
isFormDisabled,
|
|
758
|
+
recursiveLevel,
|
|
759
|
+
pathToDataFromActionRow,
|
|
760
|
+
propertyActions,
|
|
761
|
+
parentName,
|
|
762
|
+
propertyName
|
|
763
|
+
}) => {
|
|
764
|
+
const { formatMessage } = useIntl();
|
|
765
|
+
const { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } = usePermissionsDataManager();
|
|
766
|
+
const [rowToOpen, setRowToOpen] = useState(null);
|
|
767
|
+
const handleClickToggleSubLevel = (name) => {
|
|
768
|
+
setRowToOpen((prev) => {
|
|
769
|
+
if (prev === name) {
|
|
770
|
+
return null;
|
|
771
|
+
}
|
|
772
|
+
return name;
|
|
773
|
+
});
|
|
774
|
+
};
|
|
775
|
+
const displayedRecursiveChildren = useMemo(() => {
|
|
776
|
+
if (!rowToOpen) {
|
|
777
|
+
return null;
|
|
778
|
+
}
|
|
779
|
+
return childrenForm.find(({ value }) => value === rowToOpen);
|
|
780
|
+
}, [rowToOpen, childrenForm]);
|
|
781
|
+
return /* @__PURE__ */ jsxs(Wrapper$3, { children: [
|
|
782
|
+
/* @__PURE__ */ jsx(TopTimeline, {}),
|
|
783
|
+
childrenForm.map(({ label, value, required, children: subChildrenForm }, index) => {
|
|
784
|
+
const isVisible = index + 1 < childrenForm.length;
|
|
785
|
+
const isArrayType = Array.isArray(subChildrenForm);
|
|
786
|
+
const isActive = rowToOpen === value;
|
|
787
|
+
return /* @__PURE__ */ jsxs(LeftBorderTimeline, { isVisible, children: [
|
|
788
|
+
/* @__PURE__ */ jsxs(RowWrapper, { children: [
|
|
789
|
+
/* @__PURE__ */ jsx(Curve$1, { color: "primary200" }),
|
|
790
|
+
/* @__PURE__ */ jsxs(Flex, { style: { flex: 1 }, children: [
|
|
791
|
+
/* @__PURE__ */ jsx(RowStyle, { level: recursiveLevel, isActive, isCollapsable: isArrayType, children: /* @__PURE__ */ jsxs(
|
|
792
|
+
CollapseLabel,
|
|
793
|
+
{
|
|
794
|
+
alignItems: "center",
|
|
795
|
+
isCollapsable: isArrayType,
|
|
796
|
+
...isArrayType && {
|
|
797
|
+
onClick: () => handleClickToggleSubLevel(value),
|
|
798
|
+
"aria-expanded": isActive,
|
|
799
|
+
onKeyDown: ({ key }) => (key === "Enter" || key === " ") && handleClickToggleSubLevel(value),
|
|
800
|
+
tabIndex: 0,
|
|
801
|
+
role: "button"
|
|
802
|
+
},
|
|
803
|
+
title: label,
|
|
804
|
+
children: [
|
|
805
|
+
/* @__PURE__ */ jsx(Typography, { ellipsis: true, children: upperFirst(label) }),
|
|
806
|
+
required && /* @__PURE__ */ jsx(RequiredSign, {}),
|
|
807
|
+
/* @__PURE__ */ jsx(CarretIcon, { $isActive: isActive })
|
|
808
|
+
]
|
|
809
|
+
}
|
|
810
|
+
) }),
|
|
811
|
+
/* @__PURE__ */ jsx(Flex, { style: { flex: 1 }, children: propertyActions.map(
|
|
812
|
+
({ actionId, label: propertyLabel, isActionRelatedToCurrentProperty }) => {
|
|
813
|
+
if (!isActionRelatedToCurrentProperty) {
|
|
814
|
+
return /* @__PURE__ */ jsx(HiddenAction, {}, actionId);
|
|
815
|
+
}
|
|
816
|
+
const checkboxName = [
|
|
817
|
+
...pathToDataFromActionRow.split(".."),
|
|
818
|
+
actionId,
|
|
819
|
+
"properties",
|
|
820
|
+
propertyName,
|
|
821
|
+
...parentName.split(".."),
|
|
822
|
+
value
|
|
823
|
+
];
|
|
824
|
+
const checkboxValue = get(modifiedData, checkboxName, false);
|
|
825
|
+
if (!subChildrenForm) {
|
|
826
|
+
return /* @__PURE__ */ jsx(Cell$1, { justifyContent: "center", alignItems: "center", children: /* @__PURE__ */ jsx(
|
|
827
|
+
BaseCheckbox,
|
|
828
|
+
{
|
|
829
|
+
disabled: isFormDisabled,
|
|
830
|
+
name: checkboxName.join(".."),
|
|
831
|
+
"aria-label": formatMessage(
|
|
832
|
+
{
|
|
833
|
+
id: `Settings.permissions.select-by-permission`,
|
|
834
|
+
defaultMessage: "Select {label} permission"
|
|
835
|
+
},
|
|
836
|
+
{ label: `${parentName} ${label} ${propertyLabel}` }
|
|
837
|
+
),
|
|
838
|
+
onValueChange: (value2) => {
|
|
839
|
+
onChangeSimpleCheckbox({
|
|
840
|
+
target: {
|
|
841
|
+
name: checkboxName.join(".."),
|
|
842
|
+
value: value2
|
|
843
|
+
}
|
|
844
|
+
});
|
|
845
|
+
},
|
|
846
|
+
value: checkboxValue
|
|
847
|
+
}
|
|
848
|
+
) }, propertyLabel);
|
|
849
|
+
}
|
|
850
|
+
const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(checkboxValue);
|
|
851
|
+
return /* @__PURE__ */ jsx(Cell$1, { justifyContent: "center", alignItems: "center", children: /* @__PURE__ */ jsx(
|
|
852
|
+
BaseCheckbox,
|
|
853
|
+
{
|
|
854
|
+
disabled: isFormDisabled,
|
|
855
|
+
name: checkboxName.join(".."),
|
|
856
|
+
"aria-label": formatMessage(
|
|
857
|
+
{
|
|
858
|
+
id: `Settings.permissions.select-by-permission`,
|
|
859
|
+
defaultMessage: "Select {label} permission"
|
|
860
|
+
},
|
|
861
|
+
{ label: `${parentName} ${label} ${propertyLabel}` }
|
|
862
|
+
),
|
|
863
|
+
onValueChange: (value2) => {
|
|
864
|
+
onChangeParentCheckbox({
|
|
865
|
+
target: {
|
|
866
|
+
name: checkboxName.join(".."),
|
|
867
|
+
value: value2
|
|
868
|
+
}
|
|
869
|
+
});
|
|
870
|
+
},
|
|
871
|
+
value: hasAllActionsSelected,
|
|
872
|
+
indeterminate: hasSomeActionsSelected
|
|
873
|
+
},
|
|
874
|
+
propertyLabel
|
|
875
|
+
) }, propertyLabel);
|
|
876
|
+
}
|
|
877
|
+
) })
|
|
878
|
+
] })
|
|
879
|
+
] }),
|
|
880
|
+
displayedRecursiveChildren && isActive && /* @__PURE__ */ jsx(Box, { paddingBottom: 2, children: /* @__PURE__ */ jsx(
|
|
881
|
+
SubActionRow,
|
|
882
|
+
{
|
|
883
|
+
isFormDisabled,
|
|
884
|
+
parentName: `${parentName}..${value}`,
|
|
885
|
+
pathToDataFromActionRow,
|
|
886
|
+
propertyActions,
|
|
887
|
+
propertyName,
|
|
888
|
+
recursiveLevel: recursiveLevel + 1,
|
|
889
|
+
childrenForm: displayedRecursiveChildren.children
|
|
890
|
+
}
|
|
891
|
+
) })
|
|
892
|
+
] }, value);
|
|
893
|
+
})
|
|
894
|
+
] });
|
|
895
|
+
};
|
|
896
|
+
SubActionRow.propTypes = {
|
|
897
|
+
childrenForm: PropTypes.array.isRequired,
|
|
898
|
+
isFormDisabled: PropTypes.bool.isRequired,
|
|
899
|
+
parentName: PropTypes.string.isRequired,
|
|
900
|
+
pathToDataFromActionRow: PropTypes.string.isRequired,
|
|
901
|
+
propertyActions: PropTypes.array.isRequired,
|
|
902
|
+
propertyName: PropTypes.string.isRequired,
|
|
903
|
+
recursiveLevel: PropTypes.number.isRequired
|
|
904
|
+
};
|
|
905
|
+
const SubActionRow$1 = memo(SubActionRow);
|
|
906
|
+
const getActionIdsFromPropertyActions = (propertyActions) => {
|
|
907
|
+
const actionIds = propertyActions.reduce((acc, current) => {
|
|
908
|
+
if (current.isActionRelatedToCurrentProperty) {
|
|
909
|
+
acc.push(current.actionId);
|
|
910
|
+
}
|
|
911
|
+
return acc;
|
|
912
|
+
}, []);
|
|
913
|
+
return actionIds;
|
|
914
|
+
};
|
|
915
|
+
const getRowLabelCheckboxeState = (propertyActions, modifiedData, pathToContentType, propertyToCheck, targetKey) => {
|
|
916
|
+
const actionIds = getActionIdsFromPropertyActions(propertyActions);
|
|
917
|
+
const data = actionIds.reduce((acc, current) => {
|
|
918
|
+
const pathToData = [
|
|
919
|
+
...pathToContentType.split(".."),
|
|
920
|
+
current,
|
|
921
|
+
"properties",
|
|
922
|
+
propertyToCheck,
|
|
923
|
+
targetKey
|
|
924
|
+
];
|
|
925
|
+
const mainData = get(modifiedData, pathToData, false);
|
|
926
|
+
acc[current] = mainData;
|
|
927
|
+
return acc;
|
|
928
|
+
}, {});
|
|
929
|
+
return getCheckboxState(data);
|
|
930
|
+
};
|
|
931
|
+
const Cell = styled(Flex)`
|
|
932
|
+
width: ${cellWidth};
|
|
933
|
+
position: relative;
|
|
934
|
+
`;
|
|
935
|
+
const Wrapper$2 = styled(Flex)`
|
|
936
|
+
height: ${rowHeight};
|
|
937
|
+
flex: 1;
|
|
938
|
+
|
|
939
|
+
${({ isCollapsable, theme }) => isCollapsable && `
|
|
940
|
+
${CarretIcon} {
|
|
941
|
+
display: block;
|
|
942
|
+
color: ${theme.colors.neutral100};
|
|
943
|
+
}
|
|
944
|
+
&:hover {
|
|
945
|
+
${activeStyle(theme)}
|
|
946
|
+
}
|
|
947
|
+
`}
|
|
948
|
+
${({ isActive, theme }) => isActive && activeStyle(theme)};
|
|
949
|
+
`;
|
|
950
|
+
const ActionRow = ({
|
|
951
|
+
childrenForm,
|
|
952
|
+
label,
|
|
953
|
+
isFormDisabled,
|
|
954
|
+
name,
|
|
955
|
+
required,
|
|
956
|
+
pathToData,
|
|
957
|
+
propertyActions,
|
|
958
|
+
propertyName,
|
|
959
|
+
isOdd
|
|
960
|
+
}) => {
|
|
961
|
+
const { formatMessage } = useIntl();
|
|
962
|
+
const [rowToOpen, setRowToOpen] = useState(null);
|
|
963
|
+
const {
|
|
964
|
+
modifiedData,
|
|
965
|
+
onChangeCollectionTypeLeftActionRowCheckbox,
|
|
966
|
+
onChangeParentCheckbox,
|
|
967
|
+
onChangeSimpleCheckbox
|
|
968
|
+
} = usePermissionsDataManager();
|
|
969
|
+
const isActive = rowToOpen === name;
|
|
970
|
+
const recursiveChildren = useMemo(() => {
|
|
971
|
+
if (!Array.isArray(childrenForm)) {
|
|
972
|
+
return [];
|
|
973
|
+
}
|
|
974
|
+
return childrenForm;
|
|
975
|
+
}, [childrenForm]);
|
|
976
|
+
const isCollapsable = recursiveChildren.length > 0;
|
|
977
|
+
const handleClick = useCallback(() => {
|
|
978
|
+
if (isCollapsable) {
|
|
979
|
+
setRowToOpen((prev) => {
|
|
980
|
+
if (prev === name) {
|
|
981
|
+
return null;
|
|
982
|
+
}
|
|
983
|
+
return name;
|
|
984
|
+
});
|
|
985
|
+
}
|
|
986
|
+
}, [isCollapsable, name]);
|
|
987
|
+
const handleChangeLeftRowCheckbox = ({ target: { value } }) => {
|
|
988
|
+
onChangeCollectionTypeLeftActionRowCheckbox(pathToData, propertyName, name, value);
|
|
989
|
+
};
|
|
990
|
+
const { hasAllActionsSelected, hasSomeActionsSelected } = useMemo(() => {
|
|
991
|
+
return getRowLabelCheckboxeState(propertyActions, modifiedData, pathToData, propertyName, name);
|
|
992
|
+
}, [propertyActions, modifiedData, pathToData, propertyName, name]);
|
|
993
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
994
|
+
/* @__PURE__ */ jsx(
|
|
995
|
+
Wrapper$2,
|
|
996
|
+
{
|
|
997
|
+
alignItems: "center",
|
|
998
|
+
isCollapsable,
|
|
999
|
+
isActive,
|
|
1000
|
+
background: isOdd ? "neutral100" : "neutral0",
|
|
1001
|
+
children: /* @__PURE__ */ jsxs(Flex, { children: [
|
|
1002
|
+
/* @__PURE__ */ jsxs(
|
|
1003
|
+
RowLabelWithCheckbox$1,
|
|
1004
|
+
{
|
|
1005
|
+
onChange: handleChangeLeftRowCheckbox,
|
|
1006
|
+
onClick: handleClick,
|
|
1007
|
+
isCollapsable,
|
|
1008
|
+
isFormDisabled,
|
|
1009
|
+
label,
|
|
1010
|
+
someChecked: hasSomeActionsSelected,
|
|
1011
|
+
value: hasAllActionsSelected,
|
|
1012
|
+
isActive,
|
|
1013
|
+
children: [
|
|
1014
|
+
required && /* @__PURE__ */ jsx(RequiredSign, {}),
|
|
1015
|
+
/* @__PURE__ */ jsx(CarretIcon, { $isActive: isActive })
|
|
1016
|
+
]
|
|
1017
|
+
}
|
|
1018
|
+
),
|
|
1019
|
+
/* @__PURE__ */ jsx(Flex, { children: propertyActions.map(({ label: label2, isActionRelatedToCurrentProperty, actionId }) => {
|
|
1020
|
+
if (!isActionRelatedToCurrentProperty) {
|
|
1021
|
+
return /* @__PURE__ */ jsx(HiddenAction, {}, label2);
|
|
1022
|
+
}
|
|
1023
|
+
const checkboxName = [
|
|
1024
|
+
...pathToData.split(".."),
|
|
1025
|
+
actionId,
|
|
1026
|
+
"properties",
|
|
1027
|
+
propertyName,
|
|
1028
|
+
name
|
|
1029
|
+
];
|
|
1030
|
+
if (!isCollapsable) {
|
|
1031
|
+
const checkboxValue = get(modifiedData, checkboxName, false);
|
|
1032
|
+
return /* @__PURE__ */ jsx(Cell, { justifyContent: "center", alignItems: "center", children: /* @__PURE__ */ jsx(
|
|
1033
|
+
BaseCheckbox,
|
|
1034
|
+
{
|
|
1035
|
+
disabled: isFormDisabled,
|
|
1036
|
+
name: checkboxName.join(".."),
|
|
1037
|
+
"aria-label": formatMessage(
|
|
1038
|
+
{
|
|
1039
|
+
id: `Settings.permissions.select-by-permission`,
|
|
1040
|
+
defaultMessage: "Select {label} permission"
|
|
1041
|
+
},
|
|
1042
|
+
{ label: `${name} ${label2}` }
|
|
1043
|
+
),
|
|
1044
|
+
onValueChange: (value) => {
|
|
1045
|
+
onChangeSimpleCheckbox({
|
|
1046
|
+
target: {
|
|
1047
|
+
name: checkboxName.join(".."),
|
|
1048
|
+
value
|
|
1049
|
+
}
|
|
1050
|
+
});
|
|
1051
|
+
},
|
|
1052
|
+
value: checkboxValue
|
|
1053
|
+
}
|
|
1054
|
+
) }, actionId);
|
|
1055
|
+
}
|
|
1056
|
+
const data = get(modifiedData, checkboxName, {});
|
|
1057
|
+
const { hasAllActionsSelected: hasAllActionsSelected2, hasSomeActionsSelected: hasSomeActionsSelected2 } = getCheckboxState(data);
|
|
1058
|
+
return /* @__PURE__ */ jsx(Cell, { justifyContent: "center", alignItems: "center", children: /* @__PURE__ */ jsx(
|
|
1059
|
+
BaseCheckbox,
|
|
1060
|
+
{
|
|
1061
|
+
disabled: isFormDisabled,
|
|
1062
|
+
name: checkboxName.join(".."),
|
|
1063
|
+
onValueChange: (value) => {
|
|
1064
|
+
onChangeParentCheckbox({
|
|
1065
|
+
target: {
|
|
1066
|
+
name: checkboxName.join(".."),
|
|
1067
|
+
value
|
|
1068
|
+
}
|
|
1069
|
+
});
|
|
1070
|
+
},
|
|
1071
|
+
"aria-label": formatMessage(
|
|
1072
|
+
{
|
|
1073
|
+
id: `Settings.permissions.select-by-permission`,
|
|
1074
|
+
defaultMessage: "Select {label} permission"
|
|
1075
|
+
},
|
|
1076
|
+
{ label: `${name} ${label2}` }
|
|
1077
|
+
),
|
|
1078
|
+
value: hasAllActionsSelected2,
|
|
1079
|
+
indeterminate: hasSomeActionsSelected2
|
|
1080
|
+
}
|
|
1081
|
+
) }, label2);
|
|
1082
|
+
}) })
|
|
1083
|
+
] })
|
|
1084
|
+
}
|
|
1085
|
+
),
|
|
1086
|
+
isActive && /* @__PURE__ */ jsx(
|
|
1087
|
+
SubActionRow$1,
|
|
1088
|
+
{
|
|
1089
|
+
childrenForm: recursiveChildren,
|
|
1090
|
+
isFormDisabled,
|
|
1091
|
+
parentName: name,
|
|
1092
|
+
pathToDataFromActionRow: pathToData,
|
|
1093
|
+
propertyName,
|
|
1094
|
+
propertyActions,
|
|
1095
|
+
recursiveLevel: 0
|
|
1096
|
+
}
|
|
1097
|
+
)
|
|
1098
|
+
] });
|
|
1099
|
+
};
|
|
1100
|
+
ActionRow.defaultProps = {
|
|
1101
|
+
childrenForm: [],
|
|
1102
|
+
required: false
|
|
1103
|
+
};
|
|
1104
|
+
ActionRow.propTypes = {
|
|
1105
|
+
childrenForm: PropTypes.array,
|
|
1106
|
+
label: PropTypes.string.isRequired,
|
|
1107
|
+
isFormDisabled: PropTypes.bool.isRequired,
|
|
1108
|
+
name: PropTypes.string.isRequired,
|
|
1109
|
+
pathToData: PropTypes.string.isRequired,
|
|
1110
|
+
propertyActions: PropTypes.array.isRequired,
|
|
1111
|
+
propertyName: PropTypes.string.isRequired,
|
|
1112
|
+
required: PropTypes.bool,
|
|
1113
|
+
isOdd: PropTypes.bool.isRequired
|
|
1114
|
+
};
|
|
1115
|
+
const ActionRow$1 = memo(ActionRow);
|
|
1116
|
+
const HeaderLabel = styled(Flex)`
|
|
1117
|
+
width: ${cellWidth};
|
|
1118
|
+
flex-shrink: 0;
|
|
1119
|
+
`;
|
|
1120
|
+
const PropertyLabelWrapper = styled(Flex)`
|
|
1121
|
+
width: ${firstRowWidth};
|
|
1122
|
+
height: ${rowHeight};
|
|
1123
|
+
flex-shrink: 0;
|
|
1124
|
+
`;
|
|
1125
|
+
const Header = ({ headers, label }) => {
|
|
1126
|
+
const { formatMessage } = useIntl();
|
|
1127
|
+
const translatedLabel = formatMessage(
|
|
1128
|
+
{
|
|
1129
|
+
id: "Settings.roles.form.permission.property-label",
|
|
1130
|
+
defaultMessage: "{label} permissions"
|
|
1131
|
+
},
|
|
1132
|
+
{ label }
|
|
1133
|
+
);
|
|
1134
|
+
return /* @__PURE__ */ jsxs(Flex, { children: [
|
|
1135
|
+
/* @__PURE__ */ jsx(PropertyLabelWrapper, { alignItems: "center", paddingLeft: 6, children: /* @__PURE__ */ jsx(Typography, { variant: "sigma", textColor: "neutral500", children: translatedLabel }) }),
|
|
1136
|
+
headers.map((header) => {
|
|
1137
|
+
if (!header.isActionRelatedToCurrentProperty) {
|
|
1138
|
+
return /* @__PURE__ */ jsx(HeaderLabel, {}, header.label);
|
|
1139
|
+
}
|
|
1140
|
+
return /* @__PURE__ */ jsx(HeaderLabel, { justifyContent: "center", children: /* @__PURE__ */ jsx(Typography, { variant: "sigma", textColor: "neutral500", children: formatMessage({
|
|
1141
|
+
id: `Settings.roles.form.permissions.${header.label.toLowerCase()}`,
|
|
1142
|
+
defaultMessage: header.label
|
|
1143
|
+
}) }) }, header.label);
|
|
1144
|
+
})
|
|
1145
|
+
] });
|
|
1146
|
+
};
|
|
1147
|
+
Header.propTypes = {
|
|
1148
|
+
headers: PropTypes.arrayOf(
|
|
1149
|
+
PropTypes.shape({
|
|
1150
|
+
label: PropTypes.string.isRequired,
|
|
1151
|
+
isActionRelatedToCurrentProperty: PropTypes.bool.isRequired
|
|
1152
|
+
})
|
|
1153
|
+
).isRequired,
|
|
1154
|
+
label: PropTypes.string.isRequired
|
|
1155
|
+
};
|
|
1156
|
+
const generateHeadersFromActions = (actions, propertyName) => {
|
|
1157
|
+
return actions.map((action) => {
|
|
1158
|
+
const isActionRelatedToCurrentProperty = Array.isArray(action.applyToProperties) && action.applyToProperties.indexOf(propertyName) !== -1 && action.isDisplayed;
|
|
1159
|
+
return { label: action.label, actionId: action.actionId, isActionRelatedToCurrentProperty };
|
|
1160
|
+
});
|
|
1161
|
+
};
|
|
1162
|
+
const Wrapper$1 = styled.div`
|
|
1163
|
+
display: inline-flex;
|
|
1164
|
+
flex-direction: column;
|
|
1165
|
+
min-width: 0;
|
|
1166
|
+
`;
|
|
1167
|
+
const CollapsePropertyMatrix = ({
|
|
1168
|
+
availableActions,
|
|
1169
|
+
childrenForm,
|
|
1170
|
+
isFormDisabled,
|
|
1171
|
+
label,
|
|
1172
|
+
pathToData,
|
|
1173
|
+
propertyName
|
|
1174
|
+
}) => {
|
|
1175
|
+
const propertyActions = useMemo(
|
|
1176
|
+
() => generateHeadersFromActions(availableActions, propertyName),
|
|
1177
|
+
[availableActions, propertyName]
|
|
1178
|
+
);
|
|
1179
|
+
return /* @__PURE__ */ jsxs(Wrapper$1, { children: [
|
|
1180
|
+
/* @__PURE__ */ jsx(Header, { label, headers: propertyActions }),
|
|
1181
|
+
/* @__PURE__ */ jsx(Box, { children: childrenForm.map(({ children: childrenForm2, label: label2, value, required }, i) => /* @__PURE__ */ jsx(
|
|
1182
|
+
ActionRow$1,
|
|
1183
|
+
{
|
|
1184
|
+
childrenForm: childrenForm2,
|
|
1185
|
+
label: label2,
|
|
1186
|
+
isFormDisabled,
|
|
1187
|
+
name: value,
|
|
1188
|
+
required,
|
|
1189
|
+
propertyActions,
|
|
1190
|
+
pathToData,
|
|
1191
|
+
propertyName,
|
|
1192
|
+
isOdd: i % 2 === 0
|
|
1193
|
+
},
|
|
1194
|
+
value
|
|
1195
|
+
)) })
|
|
1196
|
+
] });
|
|
1197
|
+
};
|
|
1198
|
+
CollapsePropertyMatrix.propTypes = {
|
|
1199
|
+
childrenForm: PropTypes.array.isRequired,
|
|
1200
|
+
availableActions: PropTypes.array.isRequired,
|
|
1201
|
+
isFormDisabled: PropTypes.bool.isRequired,
|
|
1202
|
+
label: PropTypes.string.isRequired,
|
|
1203
|
+
pathToData: PropTypes.string.isRequired,
|
|
1204
|
+
propertyName: PropTypes.string.isRequired
|
|
1205
|
+
};
|
|
1206
|
+
const Wrapper = styled.div`
|
|
1207
|
+
flex-direction: column;
|
|
1208
|
+
display: inline-flex;
|
|
1209
|
+
min-width: 100%;
|
|
1210
|
+
${({ theme, isActive }) => isActive && `border: 1px solid ${theme.colors.primary600};`}
|
|
1211
|
+
`;
|
|
1212
|
+
const ContentTypeCollapse = ({
|
|
1213
|
+
allActions,
|
|
1214
|
+
contentTypeName,
|
|
1215
|
+
label,
|
|
1216
|
+
index,
|
|
1217
|
+
isActive,
|
|
1218
|
+
isFormDisabled,
|
|
1219
|
+
onClickToggleCollapse,
|
|
1220
|
+
pathToData,
|
|
1221
|
+
properties
|
|
1222
|
+
}) => {
|
|
1223
|
+
const handleClickToggleCollapse = useCallback(() => {
|
|
1224
|
+
onClickToggleCollapse(contentTypeName);
|
|
1225
|
+
}, [contentTypeName, onClickToggleCollapse]);
|
|
1226
|
+
const availableActions = useMemo(() => {
|
|
1227
|
+
return getAvailableActions(allActions, contentTypeName);
|
|
1228
|
+
}, [allActions, contentTypeName]);
|
|
1229
|
+
return /* @__PURE__ */ jsxs(Wrapper, { isActive, children: [
|
|
1230
|
+
/* @__PURE__ */ jsx(
|
|
1231
|
+
Collapse,
|
|
1232
|
+
{
|
|
1233
|
+
availableActions,
|
|
1234
|
+
isActive,
|
|
1235
|
+
isGrey: index % 2 === 0,
|
|
1236
|
+
isFormDisabled,
|
|
1237
|
+
label,
|
|
1238
|
+
onClickToggle: handleClickToggleCollapse,
|
|
1239
|
+
pathToData
|
|
1240
|
+
}
|
|
1241
|
+
),
|
|
1242
|
+
isActive && properties.map(({ label: propertyLabel, value, children: childrenForm }) => {
|
|
1243
|
+
return /* @__PURE__ */ jsx(
|
|
1244
|
+
CollapsePropertyMatrix,
|
|
1245
|
+
{
|
|
1246
|
+
availableActions,
|
|
1247
|
+
childrenForm,
|
|
1248
|
+
isFormDisabled,
|
|
1249
|
+
label: propertyLabel,
|
|
1250
|
+
pathToData,
|
|
1251
|
+
propertyName: value
|
|
1252
|
+
},
|
|
1253
|
+
value
|
|
1254
|
+
);
|
|
1255
|
+
})
|
|
1256
|
+
] });
|
|
1257
|
+
};
|
|
1258
|
+
ContentTypeCollapse.propTypes = {
|
|
1259
|
+
allActions: PropTypes.array.isRequired,
|
|
1260
|
+
contentTypeName: PropTypes.string.isRequired,
|
|
1261
|
+
index: PropTypes.number.isRequired,
|
|
1262
|
+
isActive: PropTypes.bool.isRequired,
|
|
1263
|
+
isFormDisabled: PropTypes.bool.isRequired,
|
|
1264
|
+
label: PropTypes.string.isRequired,
|
|
1265
|
+
onClickToggleCollapse: PropTypes.func.isRequired,
|
|
1266
|
+
pathToData: PropTypes.string.isRequired,
|
|
1267
|
+
properties: PropTypes.array.isRequired
|
|
1268
|
+
};
|
|
1269
|
+
const ContentTypeCollapses = ({ actions, isFormDisabled, pathToData, subjects }) => {
|
|
1270
|
+
const [collapseToOpen, setCollapseToOpen] = useState(null);
|
|
1271
|
+
const handleClickToggleCollapse = (collapseName) => {
|
|
1272
|
+
const nextCollapseToOpen = collapseToOpen === collapseName ? null : collapseName;
|
|
1273
|
+
setCollapseToOpen(nextCollapseToOpen);
|
|
1274
|
+
};
|
|
1275
|
+
return subjects.map(({ uid, label, properties }, index) => {
|
|
1276
|
+
return /* @__PURE__ */ jsx(
|
|
1277
|
+
ContentTypeCollapse,
|
|
1278
|
+
{
|
|
1279
|
+
allActions: actions,
|
|
1280
|
+
contentTypeName: uid,
|
|
1281
|
+
label,
|
|
1282
|
+
isActive: collapseToOpen === uid,
|
|
1283
|
+
isFormDisabled,
|
|
1284
|
+
index,
|
|
1285
|
+
onClickToggleCollapse: handleClickToggleCollapse,
|
|
1286
|
+
pathToData: `${pathToData}..${uid}`,
|
|
1287
|
+
properties
|
|
1288
|
+
},
|
|
1289
|
+
uid
|
|
1290
|
+
);
|
|
1291
|
+
});
|
|
1292
|
+
};
|
|
1293
|
+
ContentTypeCollapses.defaultProps = {
|
|
1294
|
+
actions: [],
|
|
1295
|
+
subjects: []
|
|
1296
|
+
};
|
|
1297
|
+
ContentTypeCollapses.propTypes = {
|
|
1298
|
+
actions: PropTypes.array.isRequired,
|
|
1299
|
+
isFormDisabled: PropTypes.bool.isRequired,
|
|
1300
|
+
pathToData: PropTypes.string.isRequired,
|
|
1301
|
+
subjects: PropTypes.arrayOf(
|
|
1302
|
+
PropTypes.shape({
|
|
1303
|
+
uid: PropTypes.string.isRequired,
|
|
1304
|
+
label: PropTypes.string.isRequired,
|
|
1305
|
+
properties: PropTypes.array.isRequired
|
|
1306
|
+
})
|
|
1307
|
+
)
|
|
1308
|
+
};
|
|
1309
|
+
const ContentTypeCollapses$1 = memo(ContentTypeCollapses);
|
|
1310
|
+
const findDisplayedActions = (actions) => actions.filter(({ subjects }) => subjects && subjects.length);
|
|
1311
|
+
const getActionsIds = (array) => array.map(({ actionId }) => actionId);
|
|
1312
|
+
const getRelatedActionIdData = (actionIdArray, dataObj) => {
|
|
1313
|
+
return actionIdArray.reduce((acc, actionId) => {
|
|
1314
|
+
Object.keys(dataObj).forEach((ctUid) => {
|
|
1315
|
+
const actionIdData = get(dataObj, [ctUid, actionId], {});
|
|
1316
|
+
const actionIdState = { [ctUid]: removeConditionKeyFromData(actionIdData) };
|
|
1317
|
+
if (!acc[actionId]) {
|
|
1318
|
+
acc[actionId] = actionIdState;
|
|
1319
|
+
} else {
|
|
1320
|
+
acc[actionId] = { ...acc[actionId], ...actionIdState };
|
|
1321
|
+
}
|
|
1322
|
+
});
|
|
1323
|
+
return acc;
|
|
1324
|
+
}, {});
|
|
1325
|
+
};
|
|
1326
|
+
const getCheckboxesState = (properties, modifiedData) => {
|
|
1327
|
+
const actionsIds = getActionsIds(properties);
|
|
1328
|
+
const relatedActionsData = getRelatedActionIdData(actionsIds, modifiedData);
|
|
1329
|
+
const checkboxesState = Object.keys(relatedActionsData).reduce((acc, current) => {
|
|
1330
|
+
acc[current] = getCheckboxState(relatedActionsData[current]);
|
|
1331
|
+
return acc;
|
|
1332
|
+
}, {});
|
|
1333
|
+
return checkboxesState;
|
|
1334
|
+
};
|
|
1335
|
+
const CenteredStack = styled(Flex)`
|
|
1336
|
+
width: ${cellWidth};
|
|
1337
|
+
flex-shrink: 0;
|
|
1338
|
+
`;
|
|
1339
|
+
const GlobalActions = ({ actions, isFormDisabled, kind }) => {
|
|
1340
|
+
const { formatMessage } = useIntl();
|
|
1341
|
+
const { modifiedData, onChangeCollectionTypeGlobalActionCheckbox } = usePermissionsDataManager();
|
|
1342
|
+
const displayedActions = useMemo(() => {
|
|
1343
|
+
return findDisplayedActions(actions);
|
|
1344
|
+
}, [actions]);
|
|
1345
|
+
const checkboxesState = useMemo(() => {
|
|
1346
|
+
return getCheckboxesState(displayedActions, modifiedData[kind]);
|
|
1347
|
+
}, [modifiedData, displayedActions, kind]);
|
|
1348
|
+
return /* @__PURE__ */ jsx(Box, { paddingBottom: 4, paddingTop: 6, style: { paddingLeft: firstRowWidth }, children: /* @__PURE__ */ jsx(Flex, { gap: 0, children: displayedActions.map(({ label, actionId }) => {
|
|
1349
|
+
return /* @__PURE__ */ jsxs(
|
|
1350
|
+
CenteredStack,
|
|
1351
|
+
{
|
|
1352
|
+
direction: "column",
|
|
1353
|
+
alignItems: "center",
|
|
1354
|
+
justifyContent: "center",
|
|
1355
|
+
gap: 3,
|
|
1356
|
+
children: [
|
|
1357
|
+
/* @__PURE__ */ jsx(Typography, { variant: "sigma", textColor: "neutral500", children: formatMessage({
|
|
1358
|
+
id: `Settings.roles.form.permissions.${label.toLowerCase()}`,
|
|
1359
|
+
defaultMessage: label
|
|
1360
|
+
}) }),
|
|
1361
|
+
/* @__PURE__ */ jsx(
|
|
1362
|
+
BaseCheckbox,
|
|
1363
|
+
{
|
|
1364
|
+
disabled: isFormDisabled,
|
|
1365
|
+
onValueChange: (value) => {
|
|
1366
|
+
onChangeCollectionTypeGlobalActionCheckbox(kind, actionId, value);
|
|
1367
|
+
},
|
|
1368
|
+
name: actionId,
|
|
1369
|
+
"aria-label": formatMessage(
|
|
1370
|
+
{
|
|
1371
|
+
id: `Settings.permissions.select-all-by-permission`,
|
|
1372
|
+
defaultMessage: "Select all {label} permissions"
|
|
1373
|
+
},
|
|
1374
|
+
{
|
|
1375
|
+
label: formatMessage({
|
|
1376
|
+
id: `Settings.roles.form.permissions.${label.toLowerCase()}`,
|
|
1377
|
+
defaultMessage: label
|
|
1378
|
+
})
|
|
1379
|
+
}
|
|
1380
|
+
),
|
|
1381
|
+
value: get(checkboxesState, [actionId, "hasAllActionsSelected"], false),
|
|
1382
|
+
indeterminate: get(checkboxesState, [actionId, "hasSomeActionsSelected"], false)
|
|
1383
|
+
}
|
|
1384
|
+
)
|
|
1385
|
+
]
|
|
1386
|
+
},
|
|
1387
|
+
actionId
|
|
1388
|
+
);
|
|
1389
|
+
}) }) });
|
|
1390
|
+
};
|
|
1391
|
+
GlobalActions.defaultProps = {
|
|
1392
|
+
actions: []
|
|
1393
|
+
};
|
|
1394
|
+
GlobalActions.propTypes = {
|
|
1395
|
+
actions: PropTypes.arrayOf(
|
|
1396
|
+
PropTypes.shape({
|
|
1397
|
+
label: PropTypes.string.isRequired,
|
|
1398
|
+
actionId: PropTypes.string.isRequired,
|
|
1399
|
+
subjects: PropTypes.array.isRequired
|
|
1400
|
+
})
|
|
1401
|
+
),
|
|
1402
|
+
isFormDisabled: PropTypes.bool.isRequired,
|
|
1403
|
+
kind: PropTypes.string.isRequired
|
|
1404
|
+
};
|
|
1405
|
+
const GlobalActions$1 = memo(GlobalActions);
|
|
1406
|
+
const StyledBox = styled(Box)`
|
|
1407
|
+
overflow-x: auto;
|
|
1408
|
+
`;
|
|
1409
|
+
const ContentTypes = ({ isFormDisabled, kind, layout: { actions, subjects } }) => {
|
|
1410
|
+
const sortedSubjects = sortBy([...subjects], "label");
|
|
1411
|
+
return /* @__PURE__ */ jsxs(StyledBox, { background: "neutral0", children: [
|
|
1412
|
+
/* @__PURE__ */ jsx(GlobalActions$1, { actions, kind, isFormDisabled }),
|
|
1413
|
+
/* @__PURE__ */ jsx(
|
|
1414
|
+
ContentTypeCollapses$1,
|
|
1415
|
+
{
|
|
1416
|
+
actions,
|
|
1417
|
+
isFormDisabled,
|
|
1418
|
+
pathToData: kind,
|
|
1419
|
+
subjects: sortedSubjects
|
|
1420
|
+
}
|
|
1421
|
+
)
|
|
1422
|
+
] });
|
|
1423
|
+
};
|
|
1424
|
+
ContentTypes.propTypes = {
|
|
1425
|
+
isFormDisabled: PropTypes.bool.isRequired,
|
|
1426
|
+
kind: PropTypes.string.isRequired,
|
|
1427
|
+
layout: PropTypes.shape({
|
|
1428
|
+
actions: PropTypes.array,
|
|
1429
|
+
subjects: PropTypes.arrayOf(
|
|
1430
|
+
PropTypes.shape({
|
|
1431
|
+
uid: PropTypes.string.isRequired,
|
|
1432
|
+
label: PropTypes.string.isRequired,
|
|
1433
|
+
properties: PropTypes.array.isRequired
|
|
1434
|
+
})
|
|
1435
|
+
)
|
|
1436
|
+
}).isRequired
|
|
1437
|
+
};
|
|
1438
|
+
const ContentTypes$1 = memo(ContentTypes);
|
|
1439
|
+
const formatActions = (actions, modifiedData, pathToData) => {
|
|
1440
|
+
return actions.map((action) => {
|
|
1441
|
+
const checkboxName = [...pathToData, action.action, "properties", "enabled"];
|
|
1442
|
+
const checkboxValue = get(modifiedData, checkboxName, false);
|
|
1443
|
+
const conditionValue = get(modifiedData, [...pathToData, action.action, "conditions"], {});
|
|
1444
|
+
const hasConditions = createArrayOfValues(conditionValue).some((val) => val);
|
|
1445
|
+
return {
|
|
1446
|
+
...action,
|
|
1447
|
+
isDisplayed: checkboxValue,
|
|
1448
|
+
checkboxName: checkboxName.join(".."),
|
|
1449
|
+
hasSomeActionsSelected: checkboxValue,
|
|
1450
|
+
value: checkboxValue,
|
|
1451
|
+
hasConditions,
|
|
1452
|
+
label: action.displayName,
|
|
1453
|
+
actionId: action.action,
|
|
1454
|
+
pathToConditionsObject: [...pathToData, action.action]
|
|
1455
|
+
};
|
|
1456
|
+
});
|
|
1457
|
+
};
|
|
1458
|
+
const getConditionsButtonState = (valueObj) => {
|
|
1459
|
+
const relatedData = Object.entries(valueObj).reduce((acc, current) => {
|
|
1460
|
+
const [catName, { conditions }] = current;
|
|
1461
|
+
acc[catName] = conditions;
|
|
1462
|
+
return acc;
|
|
1463
|
+
}, {});
|
|
1464
|
+
const arrayOfValues = createArrayOfValues(relatedData);
|
|
1465
|
+
return arrayOfValues.some((val) => val);
|
|
1466
|
+
};
|
|
1467
|
+
const Border = styled.div`
|
|
1468
|
+
flex: 1;
|
|
1469
|
+
align-self: center;
|
|
1470
|
+
border-top: 1px solid ${({ theme }) => theme.colors.neutral150};
|
|
1471
|
+
`;
|
|
1472
|
+
const CheckboxWrapper = styled.div`
|
|
1473
|
+
position: relative;
|
|
1474
|
+
word-break: keep-all;
|
|
1475
|
+
${({ hasConditions, disabled, theme }) => hasConditions && `
|
|
1476
|
+
&:before {
|
|
1477
|
+
content: '';
|
|
1478
|
+
position: absolute;
|
|
1479
|
+
top: ${-4 / 16}rem;
|
|
1480
|
+
left: ${-8 / 16}rem;
|
|
1481
|
+
width: ${6 / 16}rem;
|
|
1482
|
+
height: ${6 / 16}rem;
|
|
1483
|
+
border-radius: ${20 / 16}rem;
|
|
1484
|
+
background: ${disabled ? theme.colors.neutral100 : theme.colors.primary600};
|
|
1485
|
+
}
|
|
1486
|
+
`}
|
|
1487
|
+
`;
|
|
1488
|
+
const SubCategory = ({ categoryName, isFormDisabled, subCategoryName, actions, pathToData }) => {
|
|
1489
|
+
const [isModalOpen, setModalOpen] = useState(false);
|
|
1490
|
+
const { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } = usePermissionsDataManager();
|
|
1491
|
+
const { formatMessage } = useIntl();
|
|
1492
|
+
const mainData = get(modifiedData, pathToData, {});
|
|
1493
|
+
const dataWithoutCondition = useMemo(() => {
|
|
1494
|
+
return Object.keys(mainData).reduce((acc, current) => {
|
|
1495
|
+
acc[current] = removeConditionKeyFromData(mainData[current]);
|
|
1496
|
+
return acc;
|
|
1497
|
+
}, {});
|
|
1498
|
+
}, [mainData]);
|
|
1499
|
+
const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(dataWithoutCondition);
|
|
1500
|
+
const handleToggleModalIsOpen = () => {
|
|
1501
|
+
setModalOpen((s) => !s);
|
|
1502
|
+
};
|
|
1503
|
+
const handleModalClose = () => {
|
|
1504
|
+
setModalOpen(false);
|
|
1505
|
+
};
|
|
1506
|
+
const formattedActions = formatActions(actions, modifiedData, pathToData);
|
|
1507
|
+
const doesButtonHasCondition = getConditionsButtonState(get(modifiedData, [...pathToData], {}));
|
|
1508
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1509
|
+
/* @__PURE__ */ jsxs(Box, { children: [
|
|
1510
|
+
/* @__PURE__ */ jsxs(Flex, { justifyContent: "space-between", alignItems: "center", children: [
|
|
1511
|
+
/* @__PURE__ */ jsx(Box, { paddingRight: 4, children: /* @__PURE__ */ jsx(Typography, { variant: "sigma", textColor: "neutral600", children: subCategoryName }) }),
|
|
1512
|
+
/* @__PURE__ */ jsx(Border, {}),
|
|
1513
|
+
/* @__PURE__ */ jsx(Box, { paddingLeft: 4, children: /* @__PURE__ */ jsx(
|
|
1514
|
+
Checkbox,
|
|
1515
|
+
{
|
|
1516
|
+
name: pathToData.join(".."),
|
|
1517
|
+
disabled: isFormDisabled,
|
|
1518
|
+
onValueChange: (value) => {
|
|
1519
|
+
onChangeParentCheckbox({
|
|
1520
|
+
target: {
|
|
1521
|
+
name: pathToData.join(".."),
|
|
1522
|
+
value
|
|
1523
|
+
}
|
|
1524
|
+
});
|
|
1525
|
+
},
|
|
1526
|
+
indeterminate: hasSomeActionsSelected,
|
|
1527
|
+
value: hasAllActionsSelected,
|
|
1528
|
+
children: formatMessage({ id: "app.utils.select-all", defaultMessage: "Select all" })
|
|
1529
|
+
}
|
|
1530
|
+
) })
|
|
1531
|
+
] }),
|
|
1532
|
+
/* @__PURE__ */ jsxs(Flex, { paddingTop: 6, paddingBottom: 6, children: [
|
|
1533
|
+
/* @__PURE__ */ jsx(Grid, { gap: 2, style: { flex: 1 }, children: formattedActions.map(({ checkboxName, value, action, displayName, hasConditions }) => {
|
|
1534
|
+
return /* @__PURE__ */ jsx(GridItem, { col: 3, children: /* @__PURE__ */ jsx(CheckboxWrapper, { disabled: isFormDisabled, hasConditions, children: /* @__PURE__ */ jsx(
|
|
1535
|
+
Checkbox,
|
|
1536
|
+
{
|
|
1537
|
+
name: checkboxName,
|
|
1538
|
+
disabled: isFormDisabled,
|
|
1539
|
+
onValueChange: (value2) => {
|
|
1540
|
+
onChangeSimpleCheckbox({
|
|
1541
|
+
target: {
|
|
1542
|
+
name: checkboxName,
|
|
1543
|
+
value: value2
|
|
1544
|
+
}
|
|
1545
|
+
});
|
|
1546
|
+
},
|
|
1547
|
+
value,
|
|
1548
|
+
children: displayName
|
|
1549
|
+
}
|
|
1550
|
+
) }) }, action);
|
|
1551
|
+
}) }),
|
|
1552
|
+
/* @__PURE__ */ jsx(
|
|
1553
|
+
ConditionsButton$1,
|
|
1554
|
+
{
|
|
1555
|
+
hasConditions: doesButtonHasCondition,
|
|
1556
|
+
onClick: handleToggleModalIsOpen
|
|
1557
|
+
}
|
|
1558
|
+
)
|
|
1559
|
+
] })
|
|
1560
|
+
] }),
|
|
1561
|
+
isModalOpen && /* @__PURE__ */ jsx(
|
|
1562
|
+
ConditionsModal,
|
|
1563
|
+
{
|
|
1564
|
+
headerBreadCrumbs: [categoryName, subCategoryName],
|
|
1565
|
+
actions: formattedActions,
|
|
1566
|
+
isFormDisabled,
|
|
1567
|
+
onClosed: handleModalClose,
|
|
1568
|
+
onToggle: handleToggleModalIsOpen
|
|
1569
|
+
}
|
|
1570
|
+
)
|
|
1571
|
+
] });
|
|
1572
|
+
};
|
|
1573
|
+
SubCategory.propTypes = {
|
|
1574
|
+
actions: PropTypes.array.isRequired,
|
|
1575
|
+
categoryName: PropTypes.string.isRequired,
|
|
1576
|
+
isFormDisabled: PropTypes.bool.isRequired,
|
|
1577
|
+
subCategoryName: PropTypes.string.isRequired,
|
|
1578
|
+
pathToData: PropTypes.array.isRequired
|
|
1579
|
+
};
|
|
1580
|
+
const PermissionRow = ({
|
|
1581
|
+
childrenForm,
|
|
1582
|
+
kind,
|
|
1583
|
+
name,
|
|
1584
|
+
isOpen,
|
|
1585
|
+
isFormDisabled,
|
|
1586
|
+
isWhite,
|
|
1587
|
+
onOpenCategory,
|
|
1588
|
+
pathToData
|
|
1589
|
+
}) => {
|
|
1590
|
+
const { formatMessage } = useIntl();
|
|
1591
|
+
const handleClick = () => {
|
|
1592
|
+
onOpenCategory(name);
|
|
1593
|
+
};
|
|
1594
|
+
const categoryName = useMemo(() => {
|
|
1595
|
+
const split = name.split("::");
|
|
1596
|
+
return split.pop();
|
|
1597
|
+
}, [name]);
|
|
1598
|
+
return /* @__PURE__ */ jsxs(
|
|
1599
|
+
Accordion,
|
|
1600
|
+
{
|
|
1601
|
+
expanded: isOpen,
|
|
1602
|
+
onToggle: handleClick,
|
|
1603
|
+
id: `accordion-${name}`,
|
|
1604
|
+
variant: isWhite ? "primary" : "secondary",
|
|
1605
|
+
children: [
|
|
1606
|
+
/* @__PURE__ */ jsx(
|
|
1607
|
+
AccordionToggle,
|
|
1608
|
+
{
|
|
1609
|
+
title: upperFirst(categoryName),
|
|
1610
|
+
description: `${formatMessage(
|
|
1611
|
+
{ id: "Settings.permissions.category" },
|
|
1612
|
+
{ category: categoryName }
|
|
1613
|
+
)} ${kind === "plugins" ? "plugin" : kind}`
|
|
1614
|
+
}
|
|
1615
|
+
),
|
|
1616
|
+
/* @__PURE__ */ jsx(AccordionContent, { children: /* @__PURE__ */ jsx(Box, { padding: 6, children: childrenForm.map(({ actions, subCategoryName, subCategoryId }) => /* @__PURE__ */ jsx(
|
|
1617
|
+
SubCategory,
|
|
1618
|
+
{
|
|
1619
|
+
actions,
|
|
1620
|
+
categoryName,
|
|
1621
|
+
isFormDisabled,
|
|
1622
|
+
subCategoryName,
|
|
1623
|
+
pathToData: [...pathToData, subCategoryId]
|
|
1624
|
+
},
|
|
1625
|
+
subCategoryName
|
|
1626
|
+
)) }) })
|
|
1627
|
+
]
|
|
1628
|
+
}
|
|
1629
|
+
);
|
|
1630
|
+
};
|
|
1631
|
+
PermissionRow.defaultProps = {};
|
|
1632
|
+
PermissionRow.propTypes = {
|
|
1633
|
+
childrenForm: PropTypes.array.isRequired,
|
|
1634
|
+
isOpen: PropTypes.bool.isRequired,
|
|
1635
|
+
isFormDisabled: PropTypes.bool.isRequired,
|
|
1636
|
+
isWhite: PropTypes.bool.isRequired,
|
|
1637
|
+
kind: PropTypes.string.isRequired,
|
|
1638
|
+
name: PropTypes.string.isRequired,
|
|
1639
|
+
onOpenCategory: PropTypes.func.isRequired,
|
|
1640
|
+
pathToData: PropTypes.array.isRequired
|
|
1641
|
+
};
|
|
1642
|
+
const PluginsAndSettingsPermissions = ({ isFormDisabled, kind, layout }) => {
|
|
1643
|
+
const [openedCategory, setOpenedCategory] = useState(null);
|
|
1644
|
+
const handleOpenCategory = (categoryName) => {
|
|
1645
|
+
setOpenedCategory(categoryName === openedCategory ? null : categoryName);
|
|
1646
|
+
};
|
|
1647
|
+
return /* @__PURE__ */ jsx(Box, { padding: 6, background: "neutral0", children: layout.map(({ category, categoryId, childrenForm }, index) => {
|
|
1648
|
+
return /* @__PURE__ */ jsx(
|
|
1649
|
+
PermissionRow,
|
|
1650
|
+
{
|
|
1651
|
+
childrenForm,
|
|
1652
|
+
kind,
|
|
1653
|
+
isFormDisabled,
|
|
1654
|
+
isOpen: openedCategory === category,
|
|
1655
|
+
isWhite: index % 2 === 1,
|
|
1656
|
+
name: category,
|
|
1657
|
+
onOpenCategory: handleOpenCategory,
|
|
1658
|
+
pathToData: [kind, categoryId]
|
|
1659
|
+
},
|
|
1660
|
+
category
|
|
1661
|
+
);
|
|
1662
|
+
}) });
|
|
1663
|
+
};
|
|
1664
|
+
PluginsAndSettingsPermissions.propTypes = {
|
|
1665
|
+
isFormDisabled: PropTypes.bool.isRequired,
|
|
1666
|
+
kind: PropTypes.string.isRequired,
|
|
1667
|
+
layout: PropTypes.arrayOf(
|
|
1668
|
+
PropTypes.shape({
|
|
1669
|
+
category: PropTypes.string.isRequired,
|
|
1670
|
+
categoryId: PropTypes.string.isRequired,
|
|
1671
|
+
childrenForm: PropTypes.arrayOf(
|
|
1672
|
+
PropTypes.shape({
|
|
1673
|
+
actions: PropTypes.array.isRequired
|
|
1674
|
+
})
|
|
1675
|
+
).isRequired
|
|
1676
|
+
}).isRequired
|
|
1677
|
+
).isRequired
|
|
1678
|
+
};
|
|
1679
|
+
const findMatchingPermission = (permissions, action, subject) => permissions.find((perm) => perm.action === action && perm.subject === subject);
|
|
1680
|
+
const createDefaultConditionsForm = (conditions, initialConditions = []) => conditions.reduce((acc, current) => {
|
|
1681
|
+
acc[current.id] = initialConditions.indexOf(current.id) !== -1;
|
|
1682
|
+
return acc;
|
|
1683
|
+
}, {});
|
|
1684
|
+
const createDefaultPropertyForms = ({ children }, propertyValues, prefix = "") => {
|
|
1685
|
+
return children.reduce((acc, current) => {
|
|
1686
|
+
if (current.children) {
|
|
1687
|
+
return {
|
|
1688
|
+
...acc,
|
|
1689
|
+
[current.value]: createDefaultPropertyForms(
|
|
1690
|
+
current,
|
|
1691
|
+
propertyValues,
|
|
1692
|
+
`${prefix}${current.value}.`
|
|
1693
|
+
)
|
|
1694
|
+
};
|
|
1695
|
+
}
|
|
1696
|
+
const hasProperty = propertyValues.indexOf(`${prefix}${current.value}`) !== -1;
|
|
1697
|
+
acc[current.value] = hasProperty;
|
|
1698
|
+
return acc;
|
|
1699
|
+
}, {});
|
|
1700
|
+
};
|
|
1701
|
+
const createDefaultPropertiesForm = (propertiesArray, ctLayout, matchingPermission) => {
|
|
1702
|
+
return propertiesArray.reduce(
|
|
1703
|
+
(acc, currentPropertyName) => {
|
|
1704
|
+
const foundProperty = ctLayout.properties.find(({ value }) => value === currentPropertyName);
|
|
1705
|
+
if (foundProperty) {
|
|
1706
|
+
const matchingPermissionPropertyValues = get(
|
|
1707
|
+
matchingPermission,
|
|
1708
|
+
["properties", foundProperty.value],
|
|
1709
|
+
[]
|
|
1710
|
+
);
|
|
1711
|
+
const propertyForm = createDefaultPropertyForms(
|
|
1712
|
+
foundProperty,
|
|
1713
|
+
matchingPermissionPropertyValues
|
|
1714
|
+
);
|
|
1715
|
+
acc.properties[currentPropertyName] = propertyForm;
|
|
1716
|
+
}
|
|
1717
|
+
return acc;
|
|
1718
|
+
},
|
|
1719
|
+
{ properties: {} }
|
|
1720
|
+
);
|
|
1721
|
+
};
|
|
1722
|
+
const findLayouts = (allLayouts, subjects) => {
|
|
1723
|
+
return subjects.reduce((acc, current) => {
|
|
1724
|
+
const foundLayout = allLayouts.find(({ uid }) => uid === current) || null;
|
|
1725
|
+
if (foundLayout) {
|
|
1726
|
+
acc[current] = foundLayout;
|
|
1727
|
+
}
|
|
1728
|
+
return acc;
|
|
1729
|
+
}, {});
|
|
1730
|
+
};
|
|
1731
|
+
const createDefaultCTFormFromLayout = ({ subjects }, actionArray, conditionArray, initialPermissions = []) => {
|
|
1732
|
+
return actionArray.reduce((defaultForm, current) => {
|
|
1733
|
+
const actionSubjects = current.subjects;
|
|
1734
|
+
const subjectLayouts = findLayouts(subjects, actionSubjects);
|
|
1735
|
+
if (isEmpty(subjectLayouts)) {
|
|
1736
|
+
return defaultForm;
|
|
1737
|
+
}
|
|
1738
|
+
const contentTypesActions = Object.keys(subjectLayouts).reduce((acc, currentCTUID) => {
|
|
1739
|
+
const { actionId, applyToProperties } = current;
|
|
1740
|
+
const currentSubjectLayout = subjectLayouts[currentCTUID];
|
|
1741
|
+
const properties = currentSubjectLayout.properties.map(({ value }) => value);
|
|
1742
|
+
const doesNothaveProperty = properties.every(
|
|
1743
|
+
(property) => (applyToProperties || []).indexOf(property) === -1
|
|
1744
|
+
);
|
|
1745
|
+
const matchingPermission = findMatchingPermission(initialPermissions, actionId, currentCTUID);
|
|
1746
|
+
const conditionsForm = createDefaultConditionsForm(
|
|
1747
|
+
conditionArray,
|
|
1748
|
+
get(matchingPermission, "conditions", [])
|
|
1749
|
+
);
|
|
1750
|
+
if (isEmpty(applyToProperties) || doesNothaveProperty) {
|
|
1751
|
+
set(acc, [currentCTUID, actionId], {
|
|
1752
|
+
properties: {
|
|
1753
|
+
enabled: matchingPermission !== void 0
|
|
1754
|
+
},
|
|
1755
|
+
conditions: conditionsForm
|
|
1756
|
+
});
|
|
1757
|
+
return acc;
|
|
1758
|
+
}
|
|
1759
|
+
const propertiesForm = createDefaultPropertiesForm(
|
|
1760
|
+
applyToProperties,
|
|
1761
|
+
subjectLayouts[currentCTUID],
|
|
1762
|
+
matchingPermission
|
|
1763
|
+
);
|
|
1764
|
+
set(acc, [currentCTUID, actionId], { ...propertiesForm, conditions: conditionsForm });
|
|
1765
|
+
return acc;
|
|
1766
|
+
}, {});
|
|
1767
|
+
return merge(defaultForm, contentTypesActions);
|
|
1768
|
+
}, {});
|
|
1769
|
+
};
|
|
1770
|
+
const createSubCategoryForm = (actions, conditions, permissions) => {
|
|
1771
|
+
return actions.reduce((acc, current) => {
|
|
1772
|
+
const foundMatchingPermission = findMatchingPermission(permissions, current.action, null);
|
|
1773
|
+
acc[current.action] = {
|
|
1774
|
+
properties: {
|
|
1775
|
+
enabled: foundMatchingPermission !== void 0
|
|
1776
|
+
},
|
|
1777
|
+
conditions: createDefaultConditionsForm(
|
|
1778
|
+
conditions,
|
|
1779
|
+
foundMatchingPermission?.conditions ?? []
|
|
1780
|
+
)
|
|
1781
|
+
};
|
|
1782
|
+
return acc;
|
|
1783
|
+
}, {});
|
|
1784
|
+
};
|
|
1785
|
+
const createChildrenDefaultForm = (childrenForm, conditions, initialPermissions) => {
|
|
1786
|
+
return childrenForm.reduce((acc, current) => {
|
|
1787
|
+
acc[current.subCategoryId] = createSubCategoryForm(
|
|
1788
|
+
current.actions,
|
|
1789
|
+
conditions,
|
|
1790
|
+
initialPermissions
|
|
1791
|
+
);
|
|
1792
|
+
return acc;
|
|
1793
|
+
}, {});
|
|
1794
|
+
};
|
|
1795
|
+
const createDefaultPluginsFormFromLayout = (pluginsLayout, conditions, initialPermissions = []) => {
|
|
1796
|
+
return pluginsLayout.reduce((acc, { categoryId, childrenForm }) => {
|
|
1797
|
+
const childrenDefaultForm = createChildrenDefaultForm(
|
|
1798
|
+
childrenForm,
|
|
1799
|
+
conditions,
|
|
1800
|
+
initialPermissions
|
|
1801
|
+
);
|
|
1802
|
+
acc[categoryId] = childrenDefaultForm;
|
|
1803
|
+
return acc;
|
|
1804
|
+
}, {});
|
|
1805
|
+
};
|
|
1806
|
+
const replaceName = (name) => name.split(" ").join("-");
|
|
1807
|
+
const formatLayout = (layout, groupByKey) => {
|
|
1808
|
+
return Object.entries(groupBy(layout, groupByKey)).map(([itemName, item]) => ({
|
|
1809
|
+
category: itemName,
|
|
1810
|
+
categoryId: replaceName(itemName),
|
|
1811
|
+
childrenForm: Object.entries(groupBy(item, "subCategory")).map(
|
|
1812
|
+
([subCategoryName, actions]) => ({
|
|
1813
|
+
subCategoryName,
|
|
1814
|
+
subCategoryId: replaceName(subCategoryName),
|
|
1815
|
+
actions
|
|
1816
|
+
})
|
|
1817
|
+
)
|
|
1818
|
+
}));
|
|
1819
|
+
};
|
|
1820
|
+
const init = (layout, permissions) => {
|
|
1821
|
+
const {
|
|
1822
|
+
conditions,
|
|
1823
|
+
sections: { collectionTypes, singleTypes, plugins, settings }
|
|
1824
|
+
} = layout;
|
|
1825
|
+
const layouts = {
|
|
1826
|
+
collectionTypes,
|
|
1827
|
+
singleTypes,
|
|
1828
|
+
plugins: formatLayout(plugins, "plugin"),
|
|
1829
|
+
settings: formatLayout(settings, "category")
|
|
1830
|
+
};
|
|
1831
|
+
const defaultForm = {
|
|
1832
|
+
collectionTypes: createDefaultCTFormFromLayout(
|
|
1833
|
+
collectionTypes,
|
|
1834
|
+
collectionTypes.actions || [],
|
|
1835
|
+
conditions,
|
|
1836
|
+
permissions
|
|
1837
|
+
),
|
|
1838
|
+
singleTypes: createDefaultCTFormFromLayout(
|
|
1839
|
+
singleTypes,
|
|
1840
|
+
singleTypes.actions || [],
|
|
1841
|
+
conditions,
|
|
1842
|
+
permissions
|
|
1843
|
+
),
|
|
1844
|
+
plugins: createDefaultPluginsFormFromLayout(layouts.plugins, conditions, permissions),
|
|
1845
|
+
settings: createDefaultPluginsFormFromLayout(layouts.settings, conditions, permissions)
|
|
1846
|
+
};
|
|
1847
|
+
return {
|
|
1848
|
+
initialData: defaultForm,
|
|
1849
|
+
modifiedData: defaultForm,
|
|
1850
|
+
layouts
|
|
1851
|
+
};
|
|
1852
|
+
};
|
|
1853
|
+
const updateConditionsToFalse = (obj) => {
|
|
1854
|
+
return Object.keys(obj).reduce((acc, current) => {
|
|
1855
|
+
const currentValue = obj[current];
|
|
1856
|
+
if (isObject(currentValue) && !has(currentValue, "conditions")) {
|
|
1857
|
+
return { ...acc, [current]: updateConditionsToFalse(currentValue) };
|
|
1858
|
+
}
|
|
1859
|
+
if (isObject(currentValue) && has(currentValue, "conditions")) {
|
|
1860
|
+
const isActionEnabled = createArrayOfValues(omit(currentValue, "conditions")).some(
|
|
1861
|
+
(val) => val
|
|
1862
|
+
);
|
|
1863
|
+
if (!isActionEnabled) {
|
|
1864
|
+
const updatedConditions = Object.keys(currentValue.conditions).reduce((acc1, current2) => {
|
|
1865
|
+
acc1[current2] = false;
|
|
1866
|
+
return acc1;
|
|
1867
|
+
}, {});
|
|
1868
|
+
return { ...acc, [current]: { ...currentValue, conditions: updatedConditions } };
|
|
1869
|
+
}
|
|
1870
|
+
}
|
|
1871
|
+
acc[current] = currentValue;
|
|
1872
|
+
return acc;
|
|
1873
|
+
}, {});
|
|
1874
|
+
};
|
|
1875
|
+
const updateValues = (obj, valueToSet, isFieldUpdate = false) => {
|
|
1876
|
+
return Object.keys(obj).reduce((acc, current) => {
|
|
1877
|
+
const currentValue = obj[current];
|
|
1878
|
+
if (current === "conditions" && !isFieldUpdate) {
|
|
1879
|
+
acc[current] = currentValue;
|
|
1880
|
+
return acc;
|
|
1881
|
+
}
|
|
1882
|
+
if (isObject(currentValue)) {
|
|
1883
|
+
return { ...acc, [current]: updateValues(currentValue, valueToSet, current === "fields") };
|
|
1884
|
+
}
|
|
1885
|
+
acc[current] = valueToSet;
|
|
1886
|
+
return acc;
|
|
1887
|
+
}, {});
|
|
1888
|
+
};
|
|
1889
|
+
const initialState = {
|
|
1890
|
+
initialData: {},
|
|
1891
|
+
modifiedData: {},
|
|
1892
|
+
layouts: {}
|
|
1893
|
+
};
|
|
1894
|
+
const reducer = (state, action) => produce(state, (draftState) => {
|
|
1895
|
+
switch (action.type) {
|
|
1896
|
+
case "ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX": {
|
|
1897
|
+
const { collectionTypeKind, actionId, value } = action;
|
|
1898
|
+
const pathToData = ["modifiedData", collectionTypeKind];
|
|
1899
|
+
Object.keys(get(state, pathToData)).forEach((collectionType) => {
|
|
1900
|
+
const collectionTypeActionData = get(
|
|
1901
|
+
state,
|
|
1902
|
+
[...pathToData, collectionType, actionId],
|
|
1903
|
+
void 0
|
|
1904
|
+
);
|
|
1905
|
+
if (collectionTypeActionData) {
|
|
1906
|
+
let updatedValues = updateValues(collectionTypeActionData, value);
|
|
1907
|
+
if (!value && updatedValues.conditions) {
|
|
1908
|
+
const updatedConditions = updateValues(updatedValues.conditions, false);
|
|
1909
|
+
updatedValues = { ...updatedValues, conditions: updatedConditions };
|
|
1910
|
+
}
|
|
1911
|
+
set(draftState, [...pathToData, collectionType, actionId], updatedValues);
|
|
1912
|
+
}
|
|
1913
|
+
});
|
|
1914
|
+
break;
|
|
1915
|
+
}
|
|
1916
|
+
case "ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX": {
|
|
1917
|
+
const { pathToCollectionType, propertyName, rowName, value } = action;
|
|
1918
|
+
let nextModifiedDataState = cloneDeep(state.modifiedData);
|
|
1919
|
+
const pathToModifiedDataCollectionType = pathToCollectionType.split("..");
|
|
1920
|
+
const objToUpdate = get(nextModifiedDataState, pathToModifiedDataCollectionType, {});
|
|
1921
|
+
Object.keys(objToUpdate).forEach((actionId) => {
|
|
1922
|
+
if (has(objToUpdate[actionId], `properties.${propertyName}`)) {
|
|
1923
|
+
const objValue = get(objToUpdate, [actionId, "properties", propertyName, rowName]);
|
|
1924
|
+
const pathToDataToSet = [
|
|
1925
|
+
...pathToModifiedDataCollectionType,
|
|
1926
|
+
actionId,
|
|
1927
|
+
"properties",
|
|
1928
|
+
propertyName,
|
|
1929
|
+
rowName
|
|
1930
|
+
];
|
|
1931
|
+
if (!isObject(objValue)) {
|
|
1932
|
+
set(nextModifiedDataState, pathToDataToSet, value);
|
|
1933
|
+
} else {
|
|
1934
|
+
const updatedValue = updateValues(objValue, value);
|
|
1935
|
+
set(nextModifiedDataState, pathToDataToSet, updatedValue);
|
|
1936
|
+
}
|
|
1937
|
+
}
|
|
1938
|
+
});
|
|
1939
|
+
if (!value) {
|
|
1940
|
+
nextModifiedDataState = updateConditionsToFalse(nextModifiedDataState);
|
|
1941
|
+
}
|
|
1942
|
+
set(draftState, "modifiedData", nextModifiedDataState);
|
|
1943
|
+
break;
|
|
1944
|
+
}
|
|
1945
|
+
case "ON_CHANGE_CONDITIONS": {
|
|
1946
|
+
Object.entries(action.conditions).forEach((array) => {
|
|
1947
|
+
const [stringPathToData, conditionsToUpdate] = array;
|
|
1948
|
+
set(
|
|
1949
|
+
draftState,
|
|
1950
|
+
["modifiedData", ...stringPathToData.split(".."), "conditions"],
|
|
1951
|
+
conditionsToUpdate
|
|
1952
|
+
);
|
|
1953
|
+
});
|
|
1954
|
+
break;
|
|
1955
|
+
}
|
|
1956
|
+
case "ON_CHANGE_SIMPLE_CHECKBOX": {
|
|
1957
|
+
let nextModifiedDataState = cloneDeep(state.modifiedData);
|
|
1958
|
+
set(nextModifiedDataState, [...action.keys.split("..")], action.value);
|
|
1959
|
+
if (!action.value) {
|
|
1960
|
+
nextModifiedDataState = updateConditionsToFalse(nextModifiedDataState);
|
|
1961
|
+
}
|
|
1962
|
+
set(draftState, "modifiedData", nextModifiedDataState);
|
|
1963
|
+
break;
|
|
1964
|
+
}
|
|
1965
|
+
case "ON_CHANGE_TOGGLE_PARENT_CHECKBOX": {
|
|
1966
|
+
const { keys, value } = action;
|
|
1967
|
+
const pathToValue = [...keys.split("..")];
|
|
1968
|
+
let nextModifiedDataState = cloneDeep(state.modifiedData);
|
|
1969
|
+
const oldValues = get(nextModifiedDataState, pathToValue, {});
|
|
1970
|
+
const updatedValues = updateValues(oldValues, value);
|
|
1971
|
+
set(nextModifiedDataState, pathToValue, updatedValues);
|
|
1972
|
+
if (!value) {
|
|
1973
|
+
nextModifiedDataState = updateConditionsToFalse(nextModifiedDataState);
|
|
1974
|
+
}
|
|
1975
|
+
set(draftState, ["modifiedData"], nextModifiedDataState);
|
|
1976
|
+
break;
|
|
1977
|
+
}
|
|
1978
|
+
case "RESET_FORM": {
|
|
1979
|
+
draftState.modifiedData = state.initialData;
|
|
1980
|
+
break;
|
|
1981
|
+
}
|
|
1982
|
+
case "SET_FORM_AFTER_SUBMIT": {
|
|
1983
|
+
draftState.initialData = state.modifiedData;
|
|
1984
|
+
break;
|
|
1985
|
+
}
|
|
1986
|
+
default:
|
|
1987
|
+
return draftState;
|
|
1988
|
+
}
|
|
1989
|
+
});
|
|
1990
|
+
const createConditionsArray = (conditions) => {
|
|
1991
|
+
return Object.entries(conditions).filter(([, conditionValue]) => {
|
|
1992
|
+
return conditionValue;
|
|
1993
|
+
}).map(([conditionName]) => conditionName);
|
|
1994
|
+
};
|
|
1995
|
+
const createPermission = (array) => {
|
|
1996
|
+
const [actionName, { conditions }] = array;
|
|
1997
|
+
return {
|
|
1998
|
+
action: actionName,
|
|
1999
|
+
subject: null,
|
|
2000
|
+
conditions: createConditionsArray(conditions),
|
|
2001
|
+
properties: {}
|
|
2002
|
+
};
|
|
2003
|
+
};
|
|
2004
|
+
const createPermissionsArrayFromCategory = (categoryPermissions) => {
|
|
2005
|
+
return Object.values(categoryPermissions).reduce((acc, current) => {
|
|
2006
|
+
const permissions = Object.entries(current).reduce((acc1, current1) => {
|
|
2007
|
+
const [
|
|
2008
|
+
,
|
|
2009
|
+
{
|
|
2010
|
+
properties: { enabled }
|
|
2011
|
+
}
|
|
2012
|
+
] = current1;
|
|
2013
|
+
if (!enabled) {
|
|
2014
|
+
return acc1;
|
|
2015
|
+
}
|
|
2016
|
+
const permission = createPermission(current1);
|
|
2017
|
+
acc1.push(permission);
|
|
2018
|
+
return acc1;
|
|
2019
|
+
}, []);
|
|
2020
|
+
return [...acc, ...permissions];
|
|
2021
|
+
}, []);
|
|
2022
|
+
};
|
|
2023
|
+
const formatSettingsPermissionsToAPI = (settingsPermissionsObject) => {
|
|
2024
|
+
return Object.values(settingsPermissionsObject).reduce((acc, current) => {
|
|
2025
|
+
const currentCategoryPermissions = createPermissionsArrayFromCategory(current);
|
|
2026
|
+
return [...acc, ...currentCategoryPermissions];
|
|
2027
|
+
}, []);
|
|
2028
|
+
};
|
|
2029
|
+
const createPropertyArray = (propertyValue, prefix = "") => {
|
|
2030
|
+
return Object.entries(propertyValue).reduce((acc, current) => {
|
|
2031
|
+
const [name, value] = current;
|
|
2032
|
+
if (isObject(value)) {
|
|
2033
|
+
return [...acc, ...createPropertyArray(value, `${prefix}${name}.`)];
|
|
2034
|
+
}
|
|
2035
|
+
if (value && !isObject(value)) {
|
|
2036
|
+
acc.push(`${prefix}${name}`);
|
|
2037
|
+
}
|
|
2038
|
+
return acc;
|
|
2039
|
+
}, []);
|
|
2040
|
+
};
|
|
2041
|
+
const createPermissionWithProperties = (action, subject, { conditions, properties }) => {
|
|
2042
|
+
return Object.entries(properties).reduce(
|
|
2043
|
+
(acc, current) => {
|
|
2044
|
+
const [propertyName, propertyValue] = current;
|
|
2045
|
+
acc.properties[propertyName] = createPropertyArray(propertyValue);
|
|
2046
|
+
return acc;
|
|
2047
|
+
},
|
|
2048
|
+
{ action, subject, conditions: createConditionsArray(conditions), properties: {} }
|
|
2049
|
+
);
|
|
2050
|
+
};
|
|
2051
|
+
const createPermissionWithoutProperties = (action, subject, { conditions }) => {
|
|
2052
|
+
return {
|
|
2053
|
+
action,
|
|
2054
|
+
subject,
|
|
2055
|
+
properties: {},
|
|
2056
|
+
conditions: createConditionsArray(conditions)
|
|
2057
|
+
};
|
|
2058
|
+
};
|
|
2059
|
+
const createSubjectPermissions = (subject, actions) => {
|
|
2060
|
+
const permissions = Object.entries(actions).reduce((acc, current) => {
|
|
2061
|
+
const [actionName, permissions2] = current;
|
|
2062
|
+
const shouldCreatePermission = createArrayOfValues(permissions2).some((val) => val);
|
|
2063
|
+
if (!shouldCreatePermission) {
|
|
2064
|
+
return acc;
|
|
2065
|
+
}
|
|
2066
|
+
if (!permissions2?.properties?.enabled) {
|
|
2067
|
+
const createdPermissionsArray = createPermissionWithProperties(
|
|
2068
|
+
actionName,
|
|
2069
|
+
subject,
|
|
2070
|
+
permissions2
|
|
2071
|
+
);
|
|
2072
|
+
return [...acc, createdPermissionsArray];
|
|
2073
|
+
}
|
|
2074
|
+
if (!permissions2.properties.enabled) {
|
|
2075
|
+
return acc;
|
|
2076
|
+
}
|
|
2077
|
+
const permission = createPermissionWithoutProperties(actionName, subject, permissions2);
|
|
2078
|
+
acc.push(permission);
|
|
2079
|
+
return acc;
|
|
2080
|
+
}, []);
|
|
2081
|
+
return permissions;
|
|
2082
|
+
};
|
|
2083
|
+
const formatContentTypesPermissionToAPI = (contentTypesPermissions) => {
|
|
2084
|
+
const permissions = Object.entries(contentTypesPermissions).reduce((allPermissions, current) => {
|
|
2085
|
+
const [subject, currentSubjectActions] = current;
|
|
2086
|
+
const permissions2 = createSubjectPermissions(subject, currentSubjectActions);
|
|
2087
|
+
return [...allPermissions, ...permissions2];
|
|
2088
|
+
}, []);
|
|
2089
|
+
return permissions;
|
|
2090
|
+
};
|
|
2091
|
+
const formatPermissionsToAPI = (modifiedData) => {
|
|
2092
|
+
const pluginsPermissions = formatSettingsPermissionsToAPI(modifiedData.plugins);
|
|
2093
|
+
const settingsPermissions = formatSettingsPermissionsToAPI(modifiedData.settings);
|
|
2094
|
+
const collectionTypesPermissions = formatContentTypesPermissionToAPI(
|
|
2095
|
+
modifiedData.collectionTypes
|
|
2096
|
+
);
|
|
2097
|
+
const singleTypesPermissions = formatContentTypesPermissionToAPI(modifiedData.singleTypes);
|
|
2098
|
+
return [
|
|
2099
|
+
...pluginsPermissions,
|
|
2100
|
+
...settingsPermissions,
|
|
2101
|
+
...collectionTypesPermissions,
|
|
2102
|
+
...singleTypesPermissions
|
|
2103
|
+
];
|
|
2104
|
+
};
|
|
2105
|
+
const TAB_LABELS = [
|
|
2106
|
+
{
|
|
2107
|
+
labelId: "app.components.LeftMenuLinkContainer.collectionTypes",
|
|
2108
|
+
defaultMessage: "Collection Types",
|
|
2109
|
+
id: "collectionTypes"
|
|
2110
|
+
},
|
|
2111
|
+
{
|
|
2112
|
+
labelId: "app.components.LeftMenuLinkContainer.singleTypes",
|
|
2113
|
+
id: "singleTypes",
|
|
2114
|
+
defaultMessage: "Single Types"
|
|
2115
|
+
},
|
|
2116
|
+
{
|
|
2117
|
+
labelId: "app.components.LeftMenuLinkContainer.plugins",
|
|
2118
|
+
defaultMessage: "Plugins",
|
|
2119
|
+
id: "plugins"
|
|
2120
|
+
},
|
|
2121
|
+
{
|
|
2122
|
+
labelId: "app.components.LeftMenuLinkContainer.settings",
|
|
2123
|
+
defaultMessage: "Settings",
|
|
2124
|
+
id: "settings"
|
|
2125
|
+
}
|
|
2126
|
+
];
|
|
2127
|
+
const Permissions = forwardRef(({ layout, isFormDisabled, permissions }, ref) => {
|
|
2128
|
+
const [{ initialData, layouts, modifiedData }, dispatch] = useReducer(
|
|
2129
|
+
reducer,
|
|
2130
|
+
initialState,
|
|
2131
|
+
() => init(layout, permissions)
|
|
2132
|
+
);
|
|
2133
|
+
const { formatMessage } = useIntl();
|
|
2134
|
+
useImperativeHandle(ref, () => {
|
|
2135
|
+
return {
|
|
2136
|
+
getPermissions() {
|
|
2137
|
+
const collectionTypesDiff = difference(
|
|
2138
|
+
initialData.collectionTypes,
|
|
2139
|
+
modifiedData.collectionTypes
|
|
2140
|
+
);
|
|
2141
|
+
const singleTypesDiff = difference(initialData.singleTypes, modifiedData.singleTypes);
|
|
2142
|
+
const contentTypesDiff = { ...collectionTypesDiff, ...singleTypesDiff };
|
|
2143
|
+
let didUpdateConditions;
|
|
2144
|
+
if (isEmpty(contentTypesDiff)) {
|
|
2145
|
+
didUpdateConditions = false;
|
|
2146
|
+
} else {
|
|
2147
|
+
didUpdateConditions = Object.values(contentTypesDiff).some((permission) => {
|
|
2148
|
+
return Object.values(permission).some(
|
|
2149
|
+
(permissionValue) => has(permissionValue, "conditions")
|
|
2150
|
+
);
|
|
2151
|
+
});
|
|
2152
|
+
}
|
|
2153
|
+
return { permissionsToSend: formatPermissionsToAPI(modifiedData), didUpdateConditions };
|
|
2154
|
+
},
|
|
2155
|
+
resetForm() {
|
|
2156
|
+
dispatch({ type: "RESET_FORM" });
|
|
2157
|
+
},
|
|
2158
|
+
setFormAfterSubmit() {
|
|
2159
|
+
dispatch({ type: "SET_FORM_AFTER_SUBMIT" });
|
|
2160
|
+
}
|
|
2161
|
+
};
|
|
2162
|
+
});
|
|
2163
|
+
const handleChangeCollectionTypeLeftActionRowCheckbox = (pathToCollectionType, propertyName, rowName, value) => {
|
|
2164
|
+
dispatch({
|
|
2165
|
+
type: "ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX",
|
|
2166
|
+
pathToCollectionType,
|
|
2167
|
+
propertyName,
|
|
2168
|
+
rowName,
|
|
2169
|
+
value
|
|
2170
|
+
});
|
|
2171
|
+
};
|
|
2172
|
+
const handleChangeCollectionTypeGlobalActionCheckbox = (collectionTypeKind, actionId, value) => {
|
|
2173
|
+
dispatch({
|
|
2174
|
+
type: "ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX",
|
|
2175
|
+
collectionTypeKind,
|
|
2176
|
+
actionId,
|
|
2177
|
+
value
|
|
2178
|
+
});
|
|
2179
|
+
};
|
|
2180
|
+
const handleChangeConditions = (conditions) => {
|
|
2181
|
+
dispatch({ type: "ON_CHANGE_CONDITIONS", conditions });
|
|
2182
|
+
};
|
|
2183
|
+
const handleChangeSimpleCheckbox = useCallback(({ target: { name, value } }) => {
|
|
2184
|
+
dispatch({
|
|
2185
|
+
type: "ON_CHANGE_SIMPLE_CHECKBOX",
|
|
2186
|
+
keys: name,
|
|
2187
|
+
value
|
|
2188
|
+
});
|
|
2189
|
+
}, []);
|
|
2190
|
+
const handleChangeParentCheckbox = useCallback(({ target: { name, value } }) => {
|
|
2191
|
+
dispatch({
|
|
2192
|
+
type: "ON_CHANGE_TOGGLE_PARENT_CHECKBOX",
|
|
2193
|
+
keys: name,
|
|
2194
|
+
value
|
|
2195
|
+
});
|
|
2196
|
+
}, []);
|
|
2197
|
+
return /* @__PURE__ */ jsx(
|
|
2198
|
+
PermissionsDataManagerProvider,
|
|
2199
|
+
{
|
|
2200
|
+
availableConditions: layout.conditions,
|
|
2201
|
+
modifiedData,
|
|
2202
|
+
onChangeConditions: handleChangeConditions,
|
|
2203
|
+
onChangeSimpleCheckbox: handleChangeSimpleCheckbox,
|
|
2204
|
+
onChangeParentCheckbox: handleChangeParentCheckbox,
|
|
2205
|
+
onChangeCollectionTypeLeftActionRowCheckbox: handleChangeCollectionTypeLeftActionRowCheckbox,
|
|
2206
|
+
onChangeCollectionTypeGlobalActionCheckbox: handleChangeCollectionTypeGlobalActionCheckbox,
|
|
2207
|
+
children: /* @__PURE__ */ jsxs(
|
|
2208
|
+
TabGroup,
|
|
2209
|
+
{
|
|
2210
|
+
id: "tabs",
|
|
2211
|
+
label: formatMessage({
|
|
2212
|
+
id: "Settings.permissions.users.tabs.label",
|
|
2213
|
+
defaultMessage: "Tabs Permissions"
|
|
2214
|
+
}),
|
|
2215
|
+
children: [
|
|
2216
|
+
/* @__PURE__ */ jsx(Tabs, { children: TAB_LABELS.map((tabLabel) => /* @__PURE__ */ jsx(Tab, { children: formatMessage({ id: tabLabel.labelId, defaultMessage: tabLabel.defaultMessage }) }, tabLabel.id)) }),
|
|
2217
|
+
/* @__PURE__ */ jsxs(TabPanels, { style: { position: "relative" }, children: [
|
|
2218
|
+
/* @__PURE__ */ jsx(TabPanel, { children: /* @__PURE__ */ jsx(
|
|
2219
|
+
ContentTypes$1,
|
|
2220
|
+
{
|
|
2221
|
+
layout: layouts.collectionTypes,
|
|
2222
|
+
kind: "collectionTypes",
|
|
2223
|
+
isFormDisabled
|
|
2224
|
+
}
|
|
2225
|
+
) }),
|
|
2226
|
+
/* @__PURE__ */ jsx(TabPanel, { children: /* @__PURE__ */ jsx(
|
|
2227
|
+
ContentTypes$1,
|
|
2228
|
+
{
|
|
2229
|
+
layout: layouts.singleTypes,
|
|
2230
|
+
kind: "singleTypes",
|
|
2231
|
+
isFormDisabled
|
|
2232
|
+
}
|
|
2233
|
+
) }),
|
|
2234
|
+
/* @__PURE__ */ jsx(TabPanel, { children: /* @__PURE__ */ jsx(
|
|
2235
|
+
PluginsAndSettingsPermissions,
|
|
2236
|
+
{
|
|
2237
|
+
layout: layouts.plugins,
|
|
2238
|
+
kind: "plugins",
|
|
2239
|
+
isFormDisabled
|
|
2240
|
+
}
|
|
2241
|
+
) }),
|
|
2242
|
+
/* @__PURE__ */ jsx(TabPanel, { children: /* @__PURE__ */ jsx(
|
|
2243
|
+
PluginsAndSettingsPermissions,
|
|
2244
|
+
{
|
|
2245
|
+
layout: layouts.settings,
|
|
2246
|
+
kind: "settings",
|
|
2247
|
+
isFormDisabled
|
|
2248
|
+
}
|
|
2249
|
+
) })
|
|
2250
|
+
] })
|
|
2251
|
+
]
|
|
2252
|
+
}
|
|
2253
|
+
)
|
|
2254
|
+
}
|
|
2255
|
+
);
|
|
2256
|
+
});
|
|
2257
|
+
Permissions.defaultProps = {
|
|
2258
|
+
permissions: [],
|
|
2259
|
+
layout: {
|
|
2260
|
+
conditions: [],
|
|
2261
|
+
sections: {
|
|
2262
|
+
collectionTypes: {},
|
|
2263
|
+
singleTypes: {
|
|
2264
|
+
actions: []
|
|
2265
|
+
},
|
|
2266
|
+
settings: [],
|
|
2267
|
+
plugins: []
|
|
2268
|
+
}
|
|
2269
|
+
}
|
|
2270
|
+
};
|
|
2271
|
+
Permissions.propTypes = {
|
|
2272
|
+
layout: PropTypes.object,
|
|
2273
|
+
isFormDisabled: PropTypes.bool.isRequired,
|
|
2274
|
+
permissions: PropTypes.array
|
|
2275
|
+
};
|
|
2276
|
+
const Permissions$1 = memo(Permissions);
|
|
2277
|
+
const useAdminRolePermissionLayout = (id, queryOptions = {}) => {
|
|
2278
|
+
const { get: get2 } = useFetchClient();
|
|
2279
|
+
const { data, error, isError, isLoading } = useQuery(
|
|
2280
|
+
["permissions", id],
|
|
2281
|
+
async () => {
|
|
2282
|
+
const {
|
|
2283
|
+
data: { data: data2 }
|
|
2284
|
+
} = await get2("/admin/permissions", {
|
|
2285
|
+
// TODO: check with BE why we deviate from our usual admin API format here
|
|
2286
|
+
params: { role: id }
|
|
2287
|
+
});
|
|
2288
|
+
return data2;
|
|
2289
|
+
},
|
|
2290
|
+
queryOptions
|
|
2291
|
+
);
|
|
2292
|
+
return { data, error, isError, isLoading };
|
|
2293
|
+
};
|
|
2294
|
+
const useAdminRolePermissions = (params = { id: null }, queryOptions = {}) => {
|
|
2295
|
+
const { id, ...queryParams } = params;
|
|
2296
|
+
const { get: get2 } = useFetchClient();
|
|
2297
|
+
const {
|
|
2298
|
+
data: permissions,
|
|
2299
|
+
error,
|
|
2300
|
+
isError,
|
|
2301
|
+
isLoading,
|
|
2302
|
+
refetch
|
|
2303
|
+
} = useQuery(
|
|
2304
|
+
["roles", id, "permissions", queryParams],
|
|
2305
|
+
async () => {
|
|
2306
|
+
const {
|
|
2307
|
+
data: { data }
|
|
2308
|
+
} = await get2(`/admin/roles/${id}/permissions`, {
|
|
2309
|
+
params: queryParams
|
|
2310
|
+
});
|
|
2311
|
+
return data;
|
|
2312
|
+
},
|
|
2313
|
+
queryOptions
|
|
2314
|
+
);
|
|
2315
|
+
return { permissions, error, isError, isLoading, refetch };
|
|
2316
|
+
};
|
|
2317
|
+
export {
|
|
2318
|
+
Permissions$1 as P,
|
|
2319
|
+
useAdminRolePermissions as a,
|
|
2320
|
+
useAdminRolePermissionLayout as u
|
|
2321
|
+
};
|
|
2322
|
+
//# sourceMappingURL=useAdminRolePermissions-603a2709.mjs.map
|