@strapi/admin 5.0.0-alpha.1 → 5.0.0-alpha.3
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/admin/AdminSeatInfo-RaHBmrod.mjs +101 -0
- package/dist/admin/AdminSeatInfo-RaHBmrod.mjs.map +1 -0
- package/dist/admin/AdminSeatInfo-TsCaWOLV.js +105 -0
- package/dist/admin/AdminSeatInfo-TsCaWOLV.js.map +1 -0
- package/dist/admin/ApplicationInfoPage-Q9wPZ3rv.mjs +670 -0
- package/dist/admin/ApplicationInfoPage-Q9wPZ3rv.mjs.map +1 -0
- package/dist/admin/ApplicationInfoPage-ma8gBkmC.js +698 -0
- package/dist/admin/ApplicationInfoPage-ma8gBkmC.js.map +1 -0
- package/dist/admin/AuthResponse-829u1Bgr.mjs +43 -0
- package/dist/admin/AuthResponse-829u1Bgr.mjs.map +1 -0
- package/dist/admin/AuthResponse-jXbQnvQx.js +70 -0
- package/dist/admin/AuthResponse-jXbQnvQx.js.map +1 -0
- package/dist/admin/AuthenticatedLayout--yP2CRIf.mjs +1115 -0
- package/dist/admin/AuthenticatedLayout--yP2CRIf.mjs.map +1 -0
- package/dist/admin/AuthenticatedLayout-xBpE8NA-.js +1148 -0
- package/dist/admin/AuthenticatedLayout-xBpE8NA-.js.map +1 -0
- package/dist/admin/ComponentConfigurationPage-KnpNn9te.mjs +237 -0
- package/dist/admin/ComponentConfigurationPage-KnpNn9te.mjs.map +1 -0
- package/dist/admin/ComponentConfigurationPage-hY2EaAYj.js +262 -0
- package/dist/admin/ComponentConfigurationPage-hY2EaAYj.js.map +1 -0
- package/dist/admin/ComponentIcon-AkrHxAkm.mjs +158 -0
- package/dist/admin/ComponentIcon-AkrHxAkm.mjs.map +1 -0
- package/dist/admin/ComponentIcon-wcNWpdCz.js +180 -0
- package/dist/admin/ComponentIcon-wcNWpdCz.js.map +1 -0
- package/dist/admin/ContentBox-PbS25I_4.mjs +40 -0
- package/dist/admin/ContentBox-PbS25I_4.mjs.map +1 -0
- package/dist/admin/ContentBox-xqJCP2BC.js +46 -0
- package/dist/admin/ContentBox-xqJCP2BC.js.map +1 -0
- package/dist/admin/CreateActionEE-MO4CwmTg.js +61 -0
- package/dist/admin/CreateActionEE-MO4CwmTg.js.map +1 -0
- package/dist/admin/CreateActionEE-MS5BO87T.mjs +53 -0
- package/dist/admin/CreateActionEE-MS5BO87T.mjs.map +1 -0
- package/dist/admin/CreatePage-TuxqMr0o.mjs +248 -0
- package/dist/admin/CreatePage-TuxqMr0o.mjs.map +1 -0
- package/dist/admin/CreatePage-WpCjH5Y_.js +272 -0
- package/dist/admin/CreatePage-WpCjH5Y_.js.map +1 -0
- package/dist/admin/CreatePage-atcxK0nv.mjs +245 -0
- package/dist/admin/CreatePage-atcxK0nv.mjs.map +1 -0
- package/dist/admin/CreatePage-nXCKqLfv.js +18 -0
- package/dist/admin/CreatePage-nXCKqLfv.js.map +1 -0
- package/dist/admin/CreatePage-qT-aQZxS.mjs +13 -0
- package/dist/admin/CreatePage-qT-aQZxS.mjs.map +1 -0
- package/dist/admin/CreatePage-rPWvvWs7.js +274 -0
- package/dist/admin/CreatePage-rPWvvWs7.js.map +1 -0
- package/dist/admin/CreateView-2p_vypXq.js +17 -0
- package/dist/admin/CreateView-2p_vypXq.js.map +1 -0
- package/dist/admin/CreateView-C1q22Lvk.mjs +13 -0
- package/dist/admin/CreateView-C1q22Lvk.mjs.map +1 -0
- package/dist/admin/CreateView-Tdx1lvOB.js +17 -0
- package/dist/admin/CreateView-Tdx1lvOB.js.map +1 -0
- package/dist/admin/CreateView-e7AQd7tP.mjs +13 -0
- package/dist/admin/CreateView-e7AQd7tP.mjs.map +1 -0
- package/dist/admin/EditConfigurationPage-elMqHM_A.mjs +130 -0
- package/dist/admin/EditConfigurationPage-elMqHM_A.mjs.map +1 -0
- package/dist/admin/EditConfigurationPage-lf0uG4_2.js +155 -0
- package/dist/admin/EditConfigurationPage-lf0uG4_2.js.map +1 -0
- package/dist/admin/EditPage-Ef0Fslnn.js +354 -0
- package/dist/admin/EditPage-Ef0Fslnn.js.map +1 -0
- package/dist/admin/EditPage-OeI53g45.mjs +260 -0
- package/dist/admin/EditPage-OeI53g45.mjs.map +1 -0
- package/dist/admin/EditPage-Pve0dLk9.js +327 -0
- package/dist/admin/EditPage-Pve0dLk9.js.map +1 -0
- package/dist/admin/EditPage-UJJ2TqBc.js +286 -0
- package/dist/admin/EditPage-UJJ2TqBc.js.map +1 -0
- package/dist/admin/EditPage-eR-YN8hj.mjs +794 -0
- package/dist/admin/EditPage-eR-YN8hj.mjs.map +1 -0
- package/dist/admin/EditPage-erGEYjBw.mjs +325 -0
- package/dist/admin/EditPage-erGEYjBw.mjs.map +1 -0
- package/dist/admin/EditPage-h8lmVUEA.mjs +303 -0
- package/dist/admin/EditPage-h8lmVUEA.mjs.map +1 -0
- package/dist/admin/EditPage-tC47Sw_P.js +822 -0
- package/dist/admin/EditPage-tC47Sw_P.js.map +1 -0
- package/dist/admin/EditView-eySlKWYf.js +362 -0
- package/dist/admin/EditView-eySlKWYf.js.map +1 -0
- package/dist/admin/EditView-x1qgWntY.mjs +336 -0
- package/dist/admin/EditView-x1qgWntY.mjs.map +1 -0
- package/dist/admin/EditViewPage--KlNP7xz.mjs +198 -0
- package/dist/admin/EditViewPage--KlNP7xz.mjs.map +1 -0
- package/dist/admin/EditViewPage-MF0jfabM.js +226 -0
- package/dist/admin/EditViewPage-MF0jfabM.js.map +1 -0
- package/dist/admin/EditViewPage-NC42P37Y.mjs +846 -0
- package/dist/admin/EditViewPage-NC42P37Y.mjs.map +1 -0
- package/dist/admin/EditViewPage-_9OVPk8U.js +879 -0
- package/dist/admin/EditViewPage-_9OVPk8U.js.map +1 -0
- package/dist/admin/EventsTable-FclswYEC.js +36 -0
- package/dist/admin/EventsTable-FclswYEC.js.map +1 -0
- package/dist/admin/EventsTable-sl9Ii-zk.mjs +32 -0
- package/dist/admin/EventsTable-sl9Ii-zk.mjs.map +1 -0
- package/dist/admin/FieldTypeIcon--WKPFDG2.js +52 -0
- package/dist/admin/FieldTypeIcon--WKPFDG2.js.map +1 -0
- package/dist/admin/FieldTypeIcon-AibcTcXN.mjs +50 -0
- package/dist/admin/FieldTypeIcon-AibcTcXN.mjs.map +1 -0
- package/dist/admin/Filters-WmczcUjA.mjs +489 -0
- package/dist/admin/Filters-WmczcUjA.mjs.map +1 -0
- package/dist/admin/Filters-xCY3Scq4.js +511 -0
- package/dist/admin/Filters-xCY3Scq4.js.map +1 -0
- package/dist/admin/Form-4WnSgaHv.mjs +739 -0
- package/dist/admin/Form-4WnSgaHv.mjs.map +1 -0
- package/dist/admin/Form-KkSKnRfU.js +767 -0
- package/dist/admin/Form-KkSKnRfU.js.map +1 -0
- package/dist/admin/History-0MMslhUv.mjs +430 -0
- package/dist/admin/History-0MMslhUv.mjs.map +1 -0
- package/dist/admin/History-eZH2Aqa1.js +456 -0
- package/dist/admin/History-eZH2Aqa1.js.map +1 -0
- package/dist/admin/HomePage-c066MxgP.mjs +521 -0
- package/dist/admin/HomePage-c066MxgP.mjs.map +1 -0
- package/dist/admin/HomePage-lw1r2If1.js +530 -0
- package/dist/admin/HomePage-lw1r2If1.js.map +1 -0
- package/dist/admin/HomePage-rnxrKLBm.js +15 -0
- package/dist/admin/HomePage-rnxrKLBm.js.map +1 -0
- package/dist/admin/HomePage-ruRmxUmi.mjs +11 -0
- package/dist/admin/HomePage-ruRmxUmi.mjs.map +1 -0
- package/dist/admin/InputRenderer-89lhMw5B.js +5347 -0
- package/dist/admin/InputRenderer-89lhMw5B.js.map +1 -0
- package/dist/admin/InputRenderer-ddUokGFQ.mjs +5306 -0
- package/dist/admin/InputRenderer-ddUokGFQ.mjs.map +1 -0
- package/dist/admin/InstalledPluginsPage-4hUy0Kzu.js +126 -0
- package/dist/admin/InstalledPluginsPage-4hUy0Kzu.js.map +1 -0
- package/dist/admin/InstalledPluginsPage-F_LdmUvc.mjs +101 -0
- package/dist/admin/InstalledPluginsPage-F_LdmUvc.mjs.map +1 -0
- package/dist/admin/Layout--4O1STTS.js +237 -0
- package/dist/admin/Layout--4O1STTS.js.map +1 -0
- package/dist/admin/Layout-12gUdjvi.mjs +89 -0
- package/dist/admin/Layout-12gUdjvi.mjs.map +1 -0
- package/dist/admin/Layout-IkzS-9jW.mjs +209 -0
- package/dist/admin/Layout-IkzS-9jW.mjs.map +1 -0
- package/dist/admin/Layout-LPeuunW1.js +97 -0
- package/dist/admin/Layout-LPeuunW1.js.map +1 -0
- package/dist/admin/ListConfigurationPage-Sj0Fbune.js +679 -0
- package/dist/admin/ListConfigurationPage-Sj0Fbune.js.map +1 -0
- package/dist/admin/ListConfigurationPage-aVwnEajq.mjs +651 -0
- package/dist/admin/ListConfigurationPage-aVwnEajq.mjs.map +1 -0
- package/dist/admin/ListPage-4-8fscdP.js +363 -0
- package/dist/admin/ListPage-4-8fscdP.js.map +1 -0
- package/dist/admin/ListPage-5Mv-pB4C.js +520 -0
- package/dist/admin/ListPage-5Mv-pB4C.js.map +1 -0
- package/dist/admin/ListPage-J7j1MewO.mjs +540 -0
- package/dist/admin/ListPage-J7j1MewO.mjs.map +1 -0
- package/dist/admin/ListPage-Umx66wz5.js +568 -0
- package/dist/admin/ListPage-Umx66wz5.js.map +1 -0
- package/dist/admin/ListPage-YQEYg_px.mjs +276 -0
- package/dist/admin/ListPage-YQEYg_px.mjs.map +1 -0
- package/dist/admin/ListPage-cjKaeLgt.mjs +338 -0
- package/dist/admin/ListPage-cjKaeLgt.mjs.map +1 -0
- package/dist/admin/ListPage-fgcVicZB.mjs +11 -0
- package/dist/admin/ListPage-fgcVicZB.mjs.map +1 -0
- package/dist/admin/ListPage-pbpYBzDZ.mjs +288 -0
- package/dist/admin/ListPage-pbpYBzDZ.mjs.map +1 -0
- package/dist/admin/ListPage-pcklRUos.js +304 -0
- package/dist/admin/ListPage-pcklRUos.js.map +1 -0
- package/dist/admin/ListPage-pvhgqLCH.js +313 -0
- package/dist/admin/ListPage-pvhgqLCH.js.map +1 -0
- package/dist/admin/ListPage-udzDwGlH.js +15 -0
- package/dist/admin/ListPage-udzDwGlH.js.map +1 -0
- package/dist/admin/ListPage-w59EHkU5.mjs +492 -0
- package/dist/admin/ListPage-w59EHkU5.mjs.map +1 -0
- package/dist/admin/ListView-j2r_9ISi.js +228 -0
- package/dist/admin/ListView-j2r_9ISi.js.map +1 -0
- package/dist/admin/ListView-kGivEizN.mjs +212 -0
- package/dist/admin/ListView-kGivEizN.mjs.map +1 -0
- package/dist/admin/ListView-n1aKpVDI.js +238 -0
- package/dist/admin/ListView-n1aKpVDI.js.map +1 -0
- package/dist/admin/ListView-r5ixmUC5.mjs +202 -0
- package/dist/admin/ListView-r5ixmUC5.mjs.map +1 -0
- package/dist/admin/ListViewPage-P945_1O5.js +957 -0
- package/dist/admin/ListViewPage-P945_1O5.js.map +1 -0
- package/dist/admin/ListViewPage-TJbHzMdV.mjs +925 -0
- package/dist/admin/ListViewPage-TJbHzMdV.mjs.map +1 -0
- package/dist/admin/Login-0X6MwipF.mjs +31 -0
- package/dist/admin/Login-0X6MwipF.mjs.map +1 -0
- package/dist/admin/Login-z6SxPtlF.js +39 -0
- package/dist/admin/Login-z6SxPtlF.js.map +1 -0
- package/dist/admin/MagicLinkEE-OoAnOb7G.mjs +27 -0
- package/dist/admin/MagicLinkEE-OoAnOb7G.mjs.map +1 -0
- package/dist/admin/MagicLinkEE-Y6HYUQfj.js +31 -0
- package/dist/admin/MagicLinkEE-Y6HYUQfj.js.map +1 -0
- package/dist/admin/MarketplacePage-7fNWKnG0.js +1045 -0
- package/dist/admin/MarketplacePage-7fNWKnG0.js.map +1 -0
- package/dist/admin/MarketplacePage-PYAB5VYz.mjs +1014 -0
- package/dist/admin/MarketplacePage-PYAB5VYz.mjs.map +1 -0
- package/dist/admin/ModalForm-Gh2063zZ.mjs +23 -0
- package/dist/admin/ModalForm-Gh2063zZ.mjs.map +1 -0
- package/dist/admin/ModalForm-wXXenEdW.js +28 -0
- package/dist/admin/ModalForm-wXXenEdW.js.map +1 -0
- package/dist/admin/NoContentTypePage-6mgFtik-.mjs +50 -0
- package/dist/admin/NoContentTypePage-6mgFtik-.mjs.map +1 -0
- package/dist/admin/NoContentTypePage-7GuJBa-V.js +54 -0
- package/dist/admin/NoContentTypePage-7GuJBa-V.js.map +1 -0
- package/dist/admin/NoPermissionsPage-6oZ4iqff.mjs +23 -0
- package/dist/admin/NoPermissionsPage-6oZ4iqff.mjs.map +1 -0
- package/dist/admin/NoPermissionsPage-E2ro9iCX.js +27 -0
- package/dist/admin/NoPermissionsPage-E2ro9iCX.js.map +1 -0
- package/dist/admin/NotAllowed-9d8xvtvI.mjs +36 -0
- package/dist/admin/NotAllowed-9d8xvtvI.mjs.map +1 -0
- package/dist/admin/NotAllowed-FmDlK9I3.js +42 -0
- package/dist/admin/NotAllowed-FmDlK9I3.js.map +1 -0
- package/dist/admin/Ornaments-fHu7120M.js +214 -0
- package/dist/admin/Ornaments-fHu7120M.js.map +1 -0
- package/dist/admin/Ornaments-izqdN6fh.mjs +209 -0
- package/dist/admin/Ornaments-izqdN6fh.mjs.map +1 -0
- package/dist/admin/Permissions-VR9Rnqkr.js +2082 -0
- package/dist/admin/Permissions-VR9Rnqkr.js.map +1 -0
- package/dist/admin/Permissions-kvKR0BEy.mjs +2046 -0
- package/dist/admin/Permissions-kvKR0BEy.mjs.map +1 -0
- package/dist/admin/PrivateRoute-dcpEjhVL.js +22 -0
- package/dist/admin/PrivateRoute-dcpEjhVL.js.map +1 -0
- package/dist/admin/PrivateRoute-jEzBQwGq.mjs +20 -0
- package/dist/admin/PrivateRoute-jEzBQwGq.mjs.map +1 -0
- package/dist/admin/ProfilePage-5zMiyfq8.js +419 -0
- package/dist/admin/ProfilePage-5zMiyfq8.js.map +1 -0
- package/dist/admin/ProfilePage-vP1WwOSo.mjs +391 -0
- package/dist/admin/ProfilePage-vP1WwOSo.mjs.map +1 -0
- package/dist/admin/PurchaseAuditLogs-Rrl9r1j8.mjs +48 -0
- package/dist/admin/PurchaseAuditLogs-Rrl9r1j8.mjs.map +1 -0
- package/dist/admin/PurchaseAuditLogs-couRts7-.js +52 -0
- package/dist/admin/PurchaseAuditLogs-couRts7-.js.map +1 -0
- package/dist/admin/PurchaseReviewWorkflows--btlOW_J.mjs +51 -0
- package/dist/admin/PurchaseReviewWorkflows--btlOW_J.mjs.map +1 -0
- package/dist/admin/PurchaseReviewWorkflows-iyB5BJRO.js +55 -0
- package/dist/admin/PurchaseReviewWorkflows-iyB5BJRO.js.map +1 -0
- package/dist/admin/PurchaseSingleSignOn-L8l1HqSb.mjs +51 -0
- package/dist/admin/PurchaseSingleSignOn-L8l1HqSb.mjs.map +1 -0
- package/dist/admin/PurchaseSingleSignOn-oXrB5aDz.js +55 -0
- package/dist/admin/PurchaseSingleSignOn-oXrB5aDz.js.map +1 -0
- package/dist/admin/ReviewWorkflowsColumn-6zZJluSU.mjs +34 -0
- package/dist/admin/ReviewWorkflowsColumn-6zZJluSU.mjs.map +1 -0
- package/dist/admin/ReviewWorkflowsColumn-NVi2rQul.js +39 -0
- package/dist/admin/ReviewWorkflowsColumn-NVi2rQul.js.map +1 -0
- package/dist/admin/SSOProviders-JTam8pNP.js +64 -0
- package/dist/admin/SSOProviders-JTam8pNP.js.map +1 -0
- package/dist/admin/SSOProviders-f1OPn1AH.mjs +58 -0
- package/dist/admin/SSOProviders-f1OPn1AH.mjs.map +1 -0
- package/dist/admin/SelectRoles-cVDrVL5d.mjs +106 -0
- package/dist/admin/SelectRoles-cVDrVL5d.mjs.map +1 -0
- package/dist/admin/SelectRoles-x4F6UwAi.js +114 -0
- package/dist/admin/SelectRoles-x4F6UwAi.js.map +1 -0
- package/dist/admin/SingleSignOnPage-MXM2dl1r.js +263 -0
- package/dist/admin/SingleSignOnPage-MXM2dl1r.js.map +1 -0
- package/dist/admin/SingleSignOnPage-qyob98fd.mjs +238 -0
- package/dist/admin/SingleSignOnPage-qyob98fd.mjs.map +1 -0
- package/dist/admin/Table-GO4n7QXV.mjs +165 -0
- package/dist/admin/Table-GO4n7QXV.mjs.map +1 -0
- package/dist/admin/Table-L9ox45fi.js +190 -0
- package/dist/admin/Table-L9ox45fi.js.map +1 -0
- package/dist/admin/TokenTypeSelect-IMMoVNb1.mjs +357 -0
- package/dist/admin/TokenTypeSelect-IMMoVNb1.mjs.map +1 -0
- package/dist/admin/TokenTypeSelect-mlkqk9MH.js +385 -0
- package/dist/admin/TokenTypeSelect-mlkqk9MH.js.map +1 -0
- package/dist/admin/UseCasePage-QSUB-KqK.mjs +146 -0
- package/dist/admin/UseCasePage-QSUB-KqK.mjs.map +1 -0
- package/dist/admin/UseCasePage-iGGqfq7-.js +175 -0
- package/dist/admin/UseCasePage-iGGqfq7-.js.map +1 -0
- package/dist/admin/apiTokens-HBaRXE71.mjs +56 -0
- package/dist/admin/apiTokens-HBaRXE71.mjs.map +1 -0
- package/dist/admin/apiTokens-RqehzGhC.js +62 -0
- package/dist/admin/apiTokens-RqehzGhC.js.map +1 -0
- package/dist/admin/ar-i6ait0_Z.js +939 -0
- package/dist/admin/ar-i6ait0_Z.js.map +1 -0
- package/dist/admin/ar-lYsknZVT.mjs +918 -0
- package/dist/admin/ar-lYsknZVT.mjs.map +1 -0
- package/dist/admin/ca-1Cl4eOmr.js +727 -0
- package/dist/admin/ca-1Cl4eOmr.js.map +1 -0
- package/dist/admin/ca-ruPjUw52.mjs +709 -0
- package/dist/admin/ca-ruPjUw52.mjs.map +1 -0
- package/dist/admin/constants-7TD-JFW-.mjs +52 -0
- package/dist/admin/constants-7TD-JFW-.mjs.map +1 -0
- package/dist/admin/constants-8PhEUZTR.js +8 -0
- package/dist/admin/constants-8PhEUZTR.js.map +1 -0
- package/dist/admin/constants-DxpaZFhM.mjs +10 -0
- package/dist/admin/constants-DxpaZFhM.mjs.map +1 -0
- package/dist/admin/constants-EoEtSd4i.mjs +5 -0
- package/dist/admin/constants-EoEtSd4i.mjs.map +1 -0
- package/dist/admin/constants-VMWcn5Dg.mjs +172 -0
- package/dist/admin/constants-VMWcn5Dg.mjs.map +1 -0
- package/dist/admin/constants-ePjaxS4h.js +60 -0
- package/dist/admin/constants-ePjaxS4h.js.map +1 -0
- package/dist/admin/constants-eV26e_2a.js +197 -0
- package/dist/admin/constants-eV26e_2a.js.map +1 -0
- package/dist/admin/constants-wsN7Fj5H.js +14 -0
- package/dist/admin/constants-wsN7Fj5H.js.map +1 -0
- package/dist/admin/cs-MneRs5g8.js +294 -0
- package/dist/admin/cs-MneRs5g8.js.map +1 -0
- package/dist/admin/cs-cEW7Jgll.mjs +281 -0
- package/dist/admin/cs-cEW7Jgll.mjs.map +1 -0
- package/dist/admin/de-vPJQw5Tm.js +719 -0
- package/dist/admin/de-vPJQw5Tm.js.map +1 -0
- package/dist/admin/de-xZr3TXsT.mjs +701 -0
- package/dist/admin/de-xZr3TXsT.mjs.map +1 -0
- package/dist/admin/dk-_Fh6kypZ.js +637 -0
- package/dist/admin/dk-_Fh6kypZ.js.map +1 -0
- package/dist/admin/dk-nqK-ugFb.mjs +619 -0
- package/dist/admin/dk-nqK-ugFb.mjs.map +1 -0
- package/dist/admin/en-X84kQxpg.js +1068 -0
- package/dist/admin/en-X84kQxpg.js.map +1 -0
- package/dist/admin/en-qxG24n4z.mjs +1047 -0
- package/dist/admin/en-qxG24n4z.mjs.map +1 -0
- package/dist/admin/es-6dicYJQA.mjs +779 -0
- package/dist/admin/es-6dicYJQA.mjs.map +1 -0
- package/dist/admin/es-FC_8jlK7.js +799 -0
- package/dist/admin/es-FC_8jlK7.js.map +1 -0
- package/dist/admin/eu-Pzqod2VF.js +835 -0
- package/dist/admin/eu-Pzqod2VF.js.map +1 -0
- package/dist/admin/eu-l9nvfvQj.mjs +815 -0
- package/dist/admin/eu-l9nvfvQj.mjs.map +1 -0
- package/dist/admin/fr-8h2tzs3Z.js +765 -0
- package/dist/admin/fr-8h2tzs3Z.js.map +1 -0
- package/dist/admin/fr-97oVHDGZ.mjs +744 -0
- package/dist/admin/fr-97oVHDGZ.mjs.map +1 -0
- package/dist/admin/gu-YXP9LW1p.mjs +617 -0
- package/dist/admin/gu-YXP9LW1p.mjs.map +1 -0
- package/dist/admin/gu-fkXeW5oU.js +626 -0
- package/dist/admin/gu-fkXeW5oU.js.map +1 -0
- package/dist/admin/he-Rnd0orlz.mjs +315 -0
- package/dist/admin/he-Rnd0orlz.mjs.map +1 -0
- package/dist/admin/he-YNZzVWgP.js +329 -0
- package/dist/admin/he-YNZzVWgP.js.map +1 -0
- package/dist/admin/hi-42LJgJV1.mjs +707 -0
- package/dist/admin/hi-42LJgJV1.mjs.map +1 -0
- package/dist/admin/hi-ubgoUzQ0.js +725 -0
- package/dist/admin/hi-ubgoUzQ0.js.map +1 -0
- package/dist/admin/hu-oHJgjivB.js +835 -0
- package/dist/admin/hu-oHJgjivB.js.map +1 -0
- package/dist/admin/hu-xsansjmF.mjs +815 -0
- package/dist/admin/hu-xsansjmF.mjs.map +1 -0
- package/dist/admin/id-JurRr0gC.mjs +438 -0
- package/dist/admin/id-JurRr0gC.mjs.map +1 -0
- package/dist/admin/id-T2ge96wh.js +451 -0
- package/dist/admin/id-T2ge96wh.js.map +1 -0
- package/dist/admin/index--h1ljeG8.mjs +5908 -0
- package/dist/admin/index--h1ljeG8.mjs.map +1 -0
- package/dist/admin/index-Xcv2DEB8.js +6004 -0
- package/dist/admin/index-Xcv2DEB8.js.map +1 -0
- package/dist/admin/index.js +33 -18
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +3 -28
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/it-890_w-P3.mjs +449 -0
- package/dist/admin/it-890_w-P3.mjs.map +1 -0
- package/dist/admin/it-uWPMs24z.js +462 -0
- package/dist/admin/it-uWPMs24z.js.map +1 -0
- package/dist/admin/ja-F61alnK1.mjs +618 -0
- package/dist/admin/ja-F61alnK1.mjs.map +1 -0
- package/dist/admin/ja-pw-zE8MH.js +636 -0
- package/dist/admin/ja-pw-zE8MH.js.map +1 -0
- package/dist/admin/ko-DfQWK5T3.mjs +616 -0
- package/dist/admin/ko-DfQWK5T3.mjs.map +1 -0
- package/dist/admin/ko-XhK2FY3_.js +634 -0
- package/dist/admin/ko-XhK2FY3_.js.map +1 -0
- package/dist/admin/ml-EVaVYywL.mjs +707 -0
- package/dist/admin/ml-EVaVYywL.mjs.map +1 -0
- package/dist/admin/ml-hT2VI8JA.js +725 -0
- package/dist/admin/ml-hT2VI8JA.js.map +1 -0
- package/dist/admin/ms-CzgcVrsY.mjs +332 -0
- package/dist/admin/ms-CzgcVrsY.mjs.map +1 -0
- package/dist/admin/ms-DoMJCZ42.js +345 -0
- package/dist/admin/ms-DoMJCZ42.js.map +1 -0
- package/dist/admin/nl-LLi_sx9P.js +831 -0
- package/dist/admin/nl-LLi_sx9P.js.map +1 -0
- package/dist/admin/nl-XNqQYx_K.mjs +811 -0
- package/dist/admin/nl-XNqQYx_K.mjs.map +1 -0
- package/dist/admin/no-JwA1Lt4Y.mjs +300 -0
- package/dist/admin/no-JwA1Lt4Y.mjs.map +1 -0
- package/dist/admin/no-wmtVIVuz.js +313 -0
- package/dist/admin/no-wmtVIVuz.js.map +1 -0
- package/dist/admin/pl-05ncDTwZ.js +724 -0
- package/dist/admin/pl-05ncDTwZ.js.map +1 -0
- package/dist/admin/pl-euPz4n1g.mjs +706 -0
- package/dist/admin/pl-euPz4n1g.mjs.map +1 -0
- package/dist/admin/pt-BR-vpbGYSYw.mjs +777 -0
- package/dist/admin/pt-BR-vpbGYSYw.mjs.map +1 -0
- package/dist/admin/pt-BR-xA4J5pi2.js +797 -0
- package/dist/admin/pt-BR-xA4J5pi2.js.map +1 -0
- package/dist/admin/pt-RlnkaSdF.mjs +287 -0
- package/dist/admin/pt-RlnkaSdF.mjs.map +1 -0
- package/dist/admin/pt-yArB6nEx.js +299 -0
- package/dist/admin/pt-yArB6nEx.js.map +1 -0
- package/dist/admin/reducers-TOuLOGw_.mjs +4615 -0
- package/dist/admin/reducers-TOuLOGw_.mjs.map +1 -0
- package/dist/admin/reducers-uDxSALD_.js +4762 -0
- package/dist/admin/reducers-uDxSALD_.js.map +1 -0
- package/dist/admin/ru-4bDDGI3o.js +996 -0
- package/dist/admin/ru-4bDDGI3o.js.map +1 -0
- package/dist/admin/ru-tyoEF5X6.mjs +975 -0
- package/dist/admin/ru-tyoEF5X6.mjs.map +1 -0
- package/dist/admin/sa-OOEUNg5o.js +725 -0
- package/dist/admin/sa-OOEUNg5o.js.map +1 -0
- package/dist/admin/sa-s-WVHU-Y.mjs +707 -0
- package/dist/admin/sa-s-WVHU-Y.mjs.map +1 -0
- package/dist/admin/selectors-NvWWczps.mjs +6 -0
- package/dist/admin/selectors-NvWWczps.mjs.map +1 -0
- package/dist/admin/selectors-ka781RNf.js +8 -0
- package/dist/admin/selectors-ka781RNf.js.map +1 -0
- package/dist/admin/sk-1sQSF-r2.js +693 -0
- package/dist/admin/sk-1sQSF-r2.js.map +1 -0
- package/dist/admin/sk-5bIrjuCN.mjs +673 -0
- package/dist/admin/sk-5bIrjuCN.mjs.map +1 -0
- package/dist/admin/src/StrapiApp.d.ts +2 -2
- package/dist/admin/src/components/PageHelpers.d.ts +7 -3
- package/dist/admin/src/content-manager/features/DocumentRBAC.d.ts +1 -1
- package/dist/admin/src/content-manager/history/services/historyVersion.d.ts +1 -1
- package/dist/admin/src/content-manager/hooks/useContentManagerInitData.d.ts +1 -1
- package/dist/admin/src/content-manager/hooks/useDocument.d.ts +7 -3
- package/dist/admin/src/content-manager/hooks/useSyncRbac.d.ts +1 -1
- package/dist/admin/src/content-manager/modules/rbac.d.ts +1 -1
- package/dist/admin/src/content-manager/pages/EditView/components/DocumentActions.d.ts +2 -1
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +1 -1
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +1 -1
- package/dist/admin/src/content-manager/services/api.d.ts +1 -1
- package/dist/admin/src/content-manager/services/components.d.ts +2 -2
- package/dist/admin/src/content-manager/services/contentTypes.d.ts +3 -3
- package/dist/admin/src/content-manager/services/documents.d.ts +17 -20
- package/dist/admin/src/content-manager/services/init.d.ts +1 -1
- package/dist/admin/src/content-manager/services/relations.d.ts +2 -2
- package/dist/admin/src/content-manager/services/uid.d.ts +3 -3
- package/dist/admin/src/core/store/configure.d.ts +3 -6
- package/dist/admin/src/core/store/hooks.d.ts +3 -6
- package/dist/admin/src/features/AppInfo.d.ts +22 -0
- package/dist/admin/src/features/Auth.d.ts +17 -3
- package/dist/admin/src/features/Notifications.d.ts +47 -0
- package/dist/admin/src/features/Tracking.d.ts +1 -1
- package/dist/admin/src/hooks/useAPIErrorHandler.d.ts +4 -3
- package/dist/admin/src/hooks/useClipboard.d.ts +4 -0
- package/dist/admin/src/hooks/useFetchClient.d.ts +43 -0
- package/dist/admin/src/hooks/useFocusInputField.d.ts +20 -0
- package/dist/admin/src/hooks/useMenu.d.ts +1 -2
- package/dist/admin/src/hooks/usePersistentState.d.ts +3 -0
- package/dist/admin/src/hooks/useQueryParams.d.ts +5 -0
- package/dist/admin/src/hooks/useRBAC.d.ts +9 -0
- package/dist/admin/src/index.d.ts +10 -4
- package/dist/admin/src/pages/Marketplace/components/NpmPackageCard.d.ts +1 -1
- package/dist/admin/src/pages/Marketplace/components/NpmPackagesGrid.d.ts +1 -1
- package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +2 -2
- package/dist/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.d.ts +1 -1
- package/dist/admin/src/selectors.d.ts +2 -4
- package/dist/admin/src/services/auth.d.ts +5 -1
- package/dist/admin/src/types/permissions.d.ts +1 -1
- package/dist/admin/src/utils/baseQuery.d.ts +1 -1
- package/dist/admin/src/utils/getFetchClient.d.ts +30 -0
- package/dist/admin/src/utils/getYupInnerErrors.d.ts +7 -0
- package/dist/admin/src/utils/normalizeAPIError.d.ts +2 -2
- package/dist/admin/src/utils/users.d.ts +1 -1
- package/dist/admin/sv-JVgQU2PS.mjs +810 -0
- package/dist/admin/sv-JVgQU2PS.mjs.map +1 -0
- package/dist/admin/sv-d0rqYiHZ.js +830 -0
- package/dist/admin/sv-d0rqYiHZ.js.map +1 -0
- package/dist/admin/test.js +4832 -0
- package/dist/admin/test.js.map +1 -0
- package/dist/admin/test.mjs +4787 -0
- package/dist/admin/test.mjs.map +1 -0
- package/dist/admin/tests/index.d.ts +1 -0
- package/dist/admin/tests/mockData.d.ts +2053 -0
- package/dist/admin/tests/server.d.ts +2 -0
- package/dist/admin/tests/setup.d.ts +1 -0
- package/dist/admin/tests/store.d.ts +395 -0
- package/dist/admin/tests/utils.d.ts +438 -0
- package/dist/admin/th-er8qvbeL.mjs +420 -0
- package/dist/admin/th-er8qvbeL.mjs.map +1 -0
- package/dist/admin/th-mqExIzdv.js +433 -0
- package/dist/admin/th-mqExIzdv.js.map +1 -0
- package/dist/admin/tr-aYPucbUC.js +788 -0
- package/dist/admin/tr-aYPucbUC.js.map +1 -0
- package/dist/admin/tr-b2vrBJ49.mjs +768 -0
- package/dist/admin/tr-b2vrBJ49.mjs.map +1 -0
- package/dist/admin/transferTokens-HxKzbhZt.js +65 -0
- package/dist/admin/transferTokens-HxKzbhZt.js.map +1 -0
- package/dist/admin/transferTokens-QOZjk416.mjs +59 -0
- package/dist/admin/transferTokens-QOZjk416.mjs.map +1 -0
- package/dist/admin/uk-1c7KIaI6.js +346 -0
- package/dist/admin/uk-1c7KIaI6.js.map +1 -0
- package/dist/admin/uk-RfkbT49M.mjs +333 -0
- package/dist/admin/uk-RfkbT49M.mjs.map +1 -0
- package/dist/admin/useAdminRoles-2R5oKMoO.js +50 -0
- package/dist/admin/useAdminRoles-2R5oKMoO.js.map +1 -0
- package/dist/admin/useAdminRoles-gR2hyMNd.mjs +28 -0
- package/dist/admin/useAdminRoles-gR2hyMNd.mjs.map +1 -0
- package/dist/admin/useContentTypes-Or3rDVks.mjs +51 -0
- package/dist/admin/useContentTypes-Or3rDVks.mjs.map +1 -0
- package/dist/admin/useContentTypes-RJRHsheR.js +73 -0
- package/dist/admin/useContentTypes-RJRHsheR.js.map +1 -0
- package/dist/admin/useDebounce-OnUygPz6.mjs +17 -0
- package/dist/admin/useDebounce-OnUygPz6.mjs.map +1 -0
- package/dist/admin/useDebounce-tz5EMJbt.js +39 -0
- package/dist/admin/useDebounce-tz5EMJbt.js.map +1 -0
- package/dist/admin/useDocumentLayout-5UQF9Yls.mjs +732 -0
- package/dist/admin/useDocumentLayout-5UQF9Yls.mjs.map +1 -0
- package/dist/admin/useDocumentLayout-wBQQmFJL.js +764 -0
- package/dist/admin/useDocumentLayout-wBQQmFJL.js.map +1 -0
- package/dist/admin/useLicenseLimitNotification-SSUn-Y_I.mjs +80 -0
- package/dist/admin/useLicenseLimitNotification-SSUn-Y_I.mjs.map +1 -0
- package/dist/admin/useLicenseLimitNotification-wFWLFjgU.js +105 -0
- package/dist/admin/useLicenseLimitNotification-wFWLFjgU.js.map +1 -0
- package/dist/admin/useOnce--ZSbXFh3.js +29 -0
- package/dist/admin/useOnce--ZSbXFh3.js.map +1 -0
- package/dist/admin/useOnce-GJ2Ta2mZ.mjs +7 -0
- package/dist/admin/useOnce-GJ2Ta2mZ.mjs.map +1 -0
- package/dist/admin/useReviewWorkflows-5xeAwxah.mjs +27 -0
- package/dist/admin/useReviewWorkflows-5xeAwxah.mjs.map +1 -0
- package/dist/admin/useReviewWorkflows-b64v93dC.js +29 -0
- package/dist/admin/useReviewWorkflows-b64v93dC.js.map +1 -0
- package/dist/admin/useSyncRbac-Od0wrAnD.mjs +45 -0
- package/dist/admin/useSyncRbac-Od0wrAnD.mjs.map +1 -0
- package/dist/admin/useSyncRbac-fR63KADE.js +67 -0
- package/dist/admin/useSyncRbac-fR63KADE.js.map +1 -0
- package/dist/admin/useWebhooks-7Grr2wYu.mjs +91 -0
- package/dist/admin/useWebhooks-7Grr2wYu.mjs.map +1 -0
- package/dist/admin/useWebhooks-KtPvzcTB.js +93 -0
- package/dist/admin/useWebhooks-KtPvzcTB.js.map +1 -0
- package/dist/admin/validateWorkflow-28G5p4rG.js +1077 -0
- package/dist/admin/validateWorkflow-28G5p4rG.js.map +1 -0
- package/dist/admin/validateWorkflow-nIbqjAha.mjs +1033 -0
- package/dist/admin/validateWorkflow-nIbqjAha.mjs.map +1 -0
- package/dist/admin/validation-aKPvEh9F.js +65 -0
- package/dist/admin/validation-aKPvEh9F.js.map +1 -0
- package/dist/admin/validation-uxcqs4Uq.mjs +43 -0
- package/dist/admin/validation-uxcqs4Uq.mjs.map +1 -0
- package/dist/admin/vi-Rg9es0FD.js +301 -0
- package/dist/admin/vi-Rg9es0FD.js.map +1 -0
- package/dist/admin/vi-pyngavdo.mjs +288 -0
- package/dist/admin/vi-pyngavdo.mjs.map +1 -0
- package/dist/admin/zh-Hans-Gbpdme1Q.mjs +939 -0
- package/dist/admin/zh-Hans-Gbpdme1Q.mjs.map +1 -0
- package/dist/admin/zh-Hans-SgnidiuG.js +960 -0
- package/dist/admin/zh-Hans-SgnidiuG.js.map +1 -0
- package/dist/admin/zh-ONWhjzCj.js +839 -0
- package/dist/admin/zh-ONWhjzCj.js.map +1 -0
- package/dist/admin/zh-fMjW2qMl.mjs +819 -0
- package/dist/admin/zh-fMjW2qMl.mjs.map +1 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.d.ts +1 -1
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.d.ts +3 -3
- package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
- package/dist/ee/admin/src/services/reviewWorkflows.d.ts +6 -6
- package/dist/package.json.d.ts +201 -0
- package/dist/server/src/validation/api-tokens.d.ts +4 -27
- package/dist/server/src/validation/api-tokens.d.ts.map +1 -1
- package/dist/server/src/validation/authentication/register.d.ts +2 -8
- package/dist/server/src/validation/authentication/register.d.ts.map +1 -1
- package/dist/server/src/validation/permission.d.ts +4 -53
- package/dist/server/src/validation/permission.d.ts.map +1 -1
- package/dist/server/src/validation/policies/hasPermissions.d.ts +2 -7
- package/dist/server/src/validation/policies/hasPermissions.d.ts.map +1 -1
- package/dist/server/src/validation/role.d.ts +6 -23
- package/dist/server/src/validation/role.d.ts.map +1 -1
- package/dist/server/src/validation/transfer/token.d.ts +4 -23
- package/dist/server/src/validation/transfer/token.d.ts.map +1 -1
- package/dist/server/src/validation/user.d.ts +8 -56
- package/dist/server/src/validation/user.d.ts.map +1 -1
- package/dist/shared/contracts/admin.d.ts +0 -1
- package/dist/shared/contracts/api-token.d.ts +0 -1
- package/dist/shared/contracts/audit-logs.d.ts +0 -1
- package/dist/shared/contracts/authentication.d.ts +0 -1
- package/dist/shared/contracts/content-api/permissions.d.ts +0 -1
- package/dist/shared/contracts/content-api/routes.d.ts +0 -1
- package/dist/shared/contracts/content-api.d.ts +0 -1
- package/dist/shared/contracts/permissions.d.ts +0 -1
- package/dist/shared/contracts/providers.d.ts +0 -1
- package/dist/shared/contracts/review-workflows.d.ts +0 -1
- package/dist/shared/contracts/roles.d.ts +0 -1
- package/dist/shared/contracts/shared.d.ts +0 -1
- package/dist/shared/contracts/transfer.d.ts +0 -1
- package/dist/shared/contracts/user.d.ts +0 -1
- package/dist/shared/contracts/users.d.ts +0 -1
- package/dist/shared/contracts/webhooks.d.ts +0 -1
- package/package.json +26 -25
- package/dist/_chunks/AdminSeatInfo-20pkL95U.mjs +0 -101
- package/dist/_chunks/AdminSeatInfo-20pkL95U.mjs.map +0 -1
- package/dist/_chunks/AdminSeatInfo-TjK5LW2b.js +0 -101
- package/dist/_chunks/AdminSeatInfo-TjK5LW2b.js.map +0 -1
- package/dist/_chunks/ApplicationInfoPage-1OdKMDYH.js +0 -689
- package/dist/_chunks/ApplicationInfoPage-1OdKMDYH.js.map +0 -1
- package/dist/_chunks/ApplicationInfoPage-ed6y9Q-B.mjs +0 -667
- package/dist/_chunks/ApplicationInfoPage-ed6y9Q-B.mjs.map +0 -1
- package/dist/_chunks/AuthResponse-Hxop00n-.mjs +0 -43
- package/dist/_chunks/AuthResponse-Hxop00n-.mjs.map +0 -1
- package/dist/_chunks/AuthResponse-sca_wjIN.js +0 -64
- package/dist/_chunks/AuthResponse-sca_wjIN.js.map +0 -1
- package/dist/_chunks/AuthenticatedLayout-PPlOm7kb.js +0 -1132
- package/dist/_chunks/AuthenticatedLayout-PPlOm7kb.js.map +0 -1
- package/dist/_chunks/AuthenticatedLayout-knXNB2i2.mjs +0 -1105
- package/dist/_chunks/AuthenticatedLayout-knXNB2i2.mjs.map +0 -1
- package/dist/_chunks/ComponentConfigurationPage-okd3XovW.mjs +0 -235
- package/dist/_chunks/ComponentConfigurationPage-okd3XovW.mjs.map +0 -1
- package/dist/_chunks/ComponentConfigurationPage-xZMDjeVf.js +0 -254
- package/dist/_chunks/ComponentConfigurationPage-xZMDjeVf.js.map +0 -1
- package/dist/_chunks/ComponentIcon-49LyfYCX.js +0 -176
- package/dist/_chunks/ComponentIcon-49LyfYCX.js.map +0 -1
- package/dist/_chunks/ComponentIcon-J3aEhVgQ.mjs +0 -158
- package/dist/_chunks/ComponentIcon-J3aEhVgQ.mjs.map +0 -1
- package/dist/_chunks/ContentBox-4TRGOJYI.js +0 -41
- package/dist/_chunks/ContentBox-4TRGOJYI.js.map +0 -1
- package/dist/_chunks/ContentBox-EWvnSfCf.mjs +0 -40
- package/dist/_chunks/ContentBox-EWvnSfCf.mjs.map +0 -1
- package/dist/_chunks/CreateActionEE-E6YNdAVx.js +0 -55
- package/dist/_chunks/CreateActionEE-E6YNdAVx.js.map +0 -1
- package/dist/_chunks/CreateActionEE-PaZYJ410.mjs +0 -53
- package/dist/_chunks/CreateActionEE-PaZYJ410.mjs.map +0 -1
- package/dist/_chunks/CreatePage-1Oi4-aR6.js +0 -267
- package/dist/_chunks/CreatePage-1Oi4-aR6.js.map +0 -1
- package/dist/_chunks/CreatePage-6458K0l9.mjs +0 -14
- package/dist/_chunks/CreatePage-6458K0l9.mjs.map +0 -1
- package/dist/_chunks/CreatePage-DmNFNVN9.js +0 -268
- package/dist/_chunks/CreatePage-DmNFNVN9.js.map +0 -1
- package/dist/_chunks/CreatePage-P1F3dkB3.mjs +0 -248
- package/dist/_chunks/CreatePage-P1F3dkB3.mjs.map +0 -1
- package/dist/_chunks/CreatePage-PM_r99U5.mjs +0 -246
- package/dist/_chunks/CreatePage-PM_r99U5.mjs.map +0 -1
- package/dist/_chunks/CreatePage-hlkPO2Cv.js +0 -14
- package/dist/_chunks/CreatePage-hlkPO2Cv.js.map +0 -1
- package/dist/_chunks/CreateView-AWmN1xWJ.js +0 -13
- package/dist/_chunks/CreateView-AWmN1xWJ.js.map +0 -1
- package/dist/_chunks/CreateView-cTvLLIgu.mjs +0 -13
- package/dist/_chunks/CreateView-cTvLLIgu.mjs.map +0 -1
- package/dist/_chunks/CreateView-hUH4bf5k.js +0 -13
- package/dist/_chunks/CreateView-hUH4bf5k.js.map +0 -1
- package/dist/_chunks/CreateView-pBI75ZwZ.mjs +0 -13
- package/dist/_chunks/CreateView-pBI75ZwZ.mjs.map +0 -1
- package/dist/_chunks/EditConfigurationPage-LItt0mJo.mjs +0 -129
- package/dist/_chunks/EditConfigurationPage-LItt0mJo.mjs.map +0 -1
- package/dist/_chunks/EditConfigurationPage-PZ4yq1bM.js +0 -148
- package/dist/_chunks/EditConfigurationPage-PZ4yq1bM.js.map +0 -1
- package/dist/_chunks/EditPage--EPGgPNr.mjs +0 -260
- package/dist/_chunks/EditPage--EPGgPNr.mjs.map +0 -1
- package/dist/_chunks/EditPage-30rqjB1d.mjs +0 -303
- package/dist/_chunks/EditPage-30rqjB1d.mjs.map +0 -1
- package/dist/_chunks/EditPage-GRIZWtGz.mjs +0 -790
- package/dist/_chunks/EditPage-GRIZWtGz.mjs.map +0 -1
- package/dist/_chunks/EditPage-MPNLCYgQ.mjs +0 -326
- package/dist/_chunks/EditPage-MPNLCYgQ.mjs.map +0 -1
- package/dist/_chunks/EditPage-RpzlPkkU.js +0 -811
- package/dist/_chunks/EditPage-RpzlPkkU.js.map +0 -1
- package/dist/_chunks/EditPage-W6hncyNY.js +0 -322
- package/dist/_chunks/EditPage-W6hncyNY.js.map +0 -1
- package/dist/_chunks/EditPage-_N_lm93z.js +0 -348
- package/dist/_chunks/EditPage-_N_lm93z.js.map +0 -1
- package/dist/_chunks/EditPage-mU2WAH0F.js +0 -280
- package/dist/_chunks/EditPage-mU2WAH0F.js.map +0 -1
- package/dist/_chunks/EditView-0lXpbgG0.mjs +0 -339
- package/dist/_chunks/EditView-0lXpbgG0.mjs.map +0 -1
- package/dist/_chunks/EditView-wDP9PNQY.js +0 -359
- package/dist/_chunks/EditView-wDP9PNQY.js.map +0 -1
- package/dist/_chunks/EditViewPage-0Pd8zBi7.js +0 -865
- package/dist/_chunks/EditViewPage-0Pd8zBi7.js.map +0 -1
- package/dist/_chunks/EditViewPage-R6diW-gL.mjs +0 -197
- package/dist/_chunks/EditViewPage-R6diW-gL.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-ed0-10GO.js +0 -218
- package/dist/_chunks/EditViewPage-ed0-10GO.js.map +0 -1
- package/dist/_chunks/EditViewPage-uWYR_o8w.mjs +0 -838
- package/dist/_chunks/EditViewPage-uWYR_o8w.mjs.map +0 -1
- package/dist/_chunks/EventsTable-CqN6AzV9.mjs +0 -32
- package/dist/_chunks/EventsTable-CqN6AzV9.mjs.map +0 -1
- package/dist/_chunks/EventsTable-R_AHW6Z4.js +0 -32
- package/dist/_chunks/EventsTable-R_AHW6Z4.js.map +0 -1
- package/dist/_chunks/FieldTypeIcon-1WDWx0cR.js +0 -49
- package/dist/_chunks/FieldTypeIcon-1WDWx0cR.js.map +0 -1
- package/dist/_chunks/FieldTypeIcon-rAK1gg9p.mjs +0 -50
- package/dist/_chunks/FieldTypeIcon-rAK1gg9p.mjs.map +0 -1
- package/dist/_chunks/Filters-f6ghLf0Z.js +0 -505
- package/dist/_chunks/Filters-f6ghLf0Z.js.map +0 -1
- package/dist/_chunks/Filters-rPaxqj4F.mjs +0 -487
- package/dist/_chunks/Filters-rPaxqj4F.mjs.map +0 -1
- package/dist/_chunks/Form-QOZA9Aq6.mjs +0 -737
- package/dist/_chunks/Form-QOZA9Aq6.mjs.map +0 -1
- package/dist/_chunks/Form-eqzCPjSo.js +0 -759
- package/dist/_chunks/Form-eqzCPjSo.js.map +0 -1
- package/dist/_chunks/History-Eq4_WQPf.mjs +0 -428
- package/dist/_chunks/History-Eq4_WQPf.mjs.map +0 -1
- package/dist/_chunks/History-j00hpmXV.js +0 -447
- package/dist/_chunks/History-j00hpmXV.js.map +0 -1
- package/dist/_chunks/HomePage-3IVOMrYf.js +0 -520
- package/dist/_chunks/HomePage-3IVOMrYf.js.map +0 -1
- package/dist/_chunks/HomePage-79fqDlve.js +0 -11
- package/dist/_chunks/HomePage-79fqDlve.js.map +0 -1
- package/dist/_chunks/HomePage-O-TRGX5T.mjs +0 -518
- package/dist/_chunks/HomePage-O-TRGX5T.mjs.map +0 -1
- package/dist/_chunks/HomePage-gTElgmEK.mjs +0 -11
- package/dist/_chunks/HomePage-gTElgmEK.mjs.map +0 -1
- package/dist/_chunks/InputRenderer-AVDw8MeU.js +0 -5274
- package/dist/_chunks/InputRenderer-AVDw8MeU.js.map +0 -1
- package/dist/_chunks/InputRenderer-bJwYq9ga.mjs +0 -5241
- package/dist/_chunks/InputRenderer-bJwYq9ga.mjs.map +0 -1
- package/dist/_chunks/InstalledPluginsPage-FkR2xkQz.js +0 -123
- package/dist/_chunks/InstalledPluginsPage-FkR2xkQz.js.map +0 -1
- package/dist/_chunks/InstalledPluginsPage-R2hVFPZl.mjs +0 -104
- package/dist/_chunks/InstalledPluginsPage-R2hVFPZl.mjs.map +0 -1
- package/dist/_chunks/Layout-G49-Vc5u.js +0 -219
- package/dist/_chunks/Layout-G49-Vc5u.js.map +0 -1
- package/dist/_chunks/Layout-cV6Se3U9.mjs +0 -197
- package/dist/_chunks/Layout-cV6Se3U9.mjs.map +0 -1
- package/dist/_chunks/Layout-jweb3cF3.js +0 -90
- package/dist/_chunks/Layout-jweb3cF3.js.map +0 -1
- package/dist/_chunks/Layout-omCNy92r.mjs +0 -89
- package/dist/_chunks/Layout-omCNy92r.mjs.map +0 -1
- package/dist/_chunks/ListConfigurationPage-70qtv4Ci.js +0 -667
- package/dist/_chunks/ListConfigurationPage-70qtv4Ci.js.map +0 -1
- package/dist/_chunks/ListConfigurationPage-PrJNO_6y.mjs +0 -646
- package/dist/_chunks/ListConfigurationPage-PrJNO_6y.mjs.map +0 -1
- package/dist/_chunks/ListPage-2lswUYQN.js +0 -561
- package/dist/_chunks/ListPage-2lswUYQN.js.map +0 -1
- package/dist/_chunks/ListPage-78Cv8Vfq.js +0 -507
- package/dist/_chunks/ListPage-78Cv8Vfq.js.map +0 -1
- package/dist/_chunks/ListPage-7dZ3nYvc.js +0 -299
- package/dist/_chunks/ListPage-7dZ3nYvc.js.map +0 -1
- package/dist/_chunks/ListPage-Cvn3WbMH.mjs +0 -340
- package/dist/_chunks/ListPage-Cvn3WbMH.mjs.map +0 -1
- package/dist/_chunks/ListPage-Ms6egnF5.js +0 -11
- package/dist/_chunks/ListPage-Ms6egnF5.js.map +0 -1
- package/dist/_chunks/ListPage-NmUS_cOz.mjs +0 -292
- package/dist/_chunks/ListPage-NmUS_cOz.mjs.map +0 -1
- package/dist/_chunks/ListPage-Pf5LxUYn.js +0 -313
- package/dist/_chunks/ListPage-Pf5LxUYn.js.map +0 -1
- package/dist/_chunks/ListPage-Q81SX0vA.mjs +0 -11
- package/dist/_chunks/ListPage-Q81SX0vA.mjs.map +0 -1
- package/dist/_chunks/ListPage-edro79m2.mjs +0 -486
- package/dist/_chunks/ListPage-edro79m2.mjs.map +0 -1
- package/dist/_chunks/ListPage-mAUCZIg8.mjs +0 -279
- package/dist/_chunks/ListPage-mAUCZIg8.mjs.map +0 -1
- package/dist/_chunks/ListPage-xFkcmM1b.mjs +0 -540
- package/dist/_chunks/ListPage-xFkcmM1b.mjs.map +0 -1
- package/dist/_chunks/ListPage-yymh17qi.js +0 -359
- package/dist/_chunks/ListPage-yymh17qi.js.map +0 -1
- package/dist/_chunks/ListView--43zLiHW.mjs +0 -205
- package/dist/_chunks/ListView--43zLiHW.mjs.map +0 -1
- package/dist/_chunks/ListView-YtMAQnXL.js +0 -225
- package/dist/_chunks/ListView-YtMAQnXL.js.map +0 -1
- package/dist/_chunks/ListView-nfA6o3qO.js +0 -235
- package/dist/_chunks/ListView-nfA6o3qO.js.map +0 -1
- package/dist/_chunks/ListView-qPiKeCxj.mjs +0 -215
- package/dist/_chunks/ListView-qPiKeCxj.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-Ys7-G2XX.js +0 -965
- package/dist/_chunks/ListViewPage-Ys7-G2XX.js.map +0 -1
- package/dist/_chunks/ListViewPage-fPFonK_X.mjs +0 -941
- package/dist/_chunks/ListViewPage-fPFonK_X.mjs.map +0 -1
- package/dist/_chunks/Login-6kXI90Vy.mjs +0 -30
- package/dist/_chunks/Login-6kXI90Vy.mjs.map +0 -1
- package/dist/_chunks/Login-Ge3DZEpr.js +0 -32
- package/dist/_chunks/Login-Ge3DZEpr.js.map +0 -1
- package/dist/_chunks/MagicLinkEE-HXWaLr0K.mjs +0 -27
- package/dist/_chunks/MagicLinkEE-HXWaLr0K.mjs.map +0 -1
- package/dist/_chunks/MagicLinkEE-sXtA2gUK.js +0 -27
- package/dist/_chunks/MagicLinkEE-sXtA2gUK.js.map +0 -1
- package/dist/_chunks/MarketplacePage-hVOJ9_0k.mjs +0 -1003
- package/dist/_chunks/MarketplacePage-hVOJ9_0k.mjs.map +0 -1
- package/dist/_chunks/MarketplacePage-s8KDwNwK.js +0 -1027
- package/dist/_chunks/MarketplacePage-s8KDwNwK.js.map +0 -1
- package/dist/_chunks/ModalForm-K_BmPh4N.js +0 -25
- package/dist/_chunks/ModalForm-K_BmPh4N.js.map +0 -1
- package/dist/_chunks/ModalForm-ULuD5ODP.mjs +0 -25
- package/dist/_chunks/ModalForm-ULuD5ODP.mjs.map +0 -1
- package/dist/_chunks/NoContentTypePage-7YEcgsE3.js +0 -52
- package/dist/_chunks/NoContentTypePage-7YEcgsE3.js.map +0 -1
- package/dist/_chunks/NoContentTypePage-szvJnQKF.mjs +0 -52
- package/dist/_chunks/NoContentTypePage-szvJnQKF.mjs.map +0 -1
- package/dist/_chunks/NoPermissionsPage-UX-5msLb.js +0 -25
- package/dist/_chunks/NoPermissionsPage-UX-5msLb.js.map +0 -1
- package/dist/_chunks/NoPermissionsPage-pqQFFlXa.mjs +0 -25
- package/dist/_chunks/NoPermissionsPage-pqQFFlXa.mjs.map +0 -1
- package/dist/_chunks/NotAllowed-MohR5HGD.mjs +0 -36
- package/dist/_chunks/NotAllowed-MohR5HGD.mjs.map +0 -1
- package/dist/_chunks/NotAllowed-NhYUk6La.js +0 -37
- package/dist/_chunks/NotAllowed-NhYUk6La.js.map +0 -1
- package/dist/_chunks/Ornaments-Aq2xidN_.mjs +0 -211
- package/dist/_chunks/Ornaments-Aq2xidN_.mjs.map +0 -1
- package/dist/_chunks/Ornaments-_AXIwJ-m.js +0 -210
- package/dist/_chunks/Ornaments-_AXIwJ-m.js.map +0 -1
- package/dist/_chunks/Permissions-NUaDxULo.mjs +0 -2023
- package/dist/_chunks/Permissions-NUaDxULo.mjs.map +0 -1
- package/dist/_chunks/Permissions-a0IZJ8dM.js +0 -2055
- package/dist/_chunks/Permissions-a0IZJ8dM.js.map +0 -1
- package/dist/_chunks/PrivateRoute-KGxyTa5b.js +0 -19
- package/dist/_chunks/PrivateRoute-KGxyTa5b.js.map +0 -1
- package/dist/_chunks/PrivateRoute-eP4-pBby.mjs +0 -20
- package/dist/_chunks/PrivateRoute-eP4-pBby.mjs.map +0 -1
- package/dist/_chunks/ProfilePage-LXB-_EZ8.mjs +0 -392
- package/dist/_chunks/ProfilePage-LXB-_EZ8.mjs.map +0 -1
- package/dist/_chunks/ProfilePage-MBCGqbc_.js +0 -414
- package/dist/_chunks/ProfilePage-MBCGqbc_.js.map +0 -1
- package/dist/_chunks/PurchaseAuditLogs--hjsKHHW.js +0 -48
- package/dist/_chunks/PurchaseAuditLogs--hjsKHHW.js.map +0 -1
- package/dist/_chunks/PurchaseAuditLogs-zQio54Q3.mjs +0 -48
- package/dist/_chunks/PurchaseAuditLogs-zQio54Q3.mjs.map +0 -1
- package/dist/_chunks/PurchaseReviewWorkflows-P-FACd5s.js +0 -51
- package/dist/_chunks/PurchaseReviewWorkflows-P-FACd5s.js.map +0 -1
- package/dist/_chunks/PurchaseReviewWorkflows-zGnRRqrC.mjs +0 -51
- package/dist/_chunks/PurchaseReviewWorkflows-zGnRRqrC.mjs.map +0 -1
- package/dist/_chunks/PurchaseSingleSignOn-BQ5PU-6E.mjs +0 -51
- package/dist/_chunks/PurchaseSingleSignOn-BQ5PU-6E.mjs.map +0 -1
- package/dist/_chunks/PurchaseSingleSignOn-m2pnP9Ou.js +0 -51
- package/dist/_chunks/PurchaseSingleSignOn-m2pnP9Ou.js.map +0 -1
- package/dist/_chunks/ReviewWorkflowsColumn-Ancp7-x3.js +0 -33
- package/dist/_chunks/ReviewWorkflowsColumn-Ancp7-x3.js.map +0 -1
- package/dist/_chunks/ReviewWorkflowsColumn-WzYpj2O3.mjs +0 -33
- package/dist/_chunks/ReviewWorkflowsColumn-WzYpj2O3.mjs.map +0 -1
- package/dist/_chunks/SSOProviders-GvoeZh35.mjs +0 -58
- package/dist/_chunks/SSOProviders-GvoeZh35.mjs.map +0 -1
- package/dist/_chunks/SSOProviders-Z6IAEre2.js +0 -59
- package/dist/_chunks/SSOProviders-Z6IAEre2.js.map +0 -1
- package/dist/_chunks/SelectRoles-Dxz_rAaT.mjs +0 -103
- package/dist/_chunks/SelectRoles-Dxz_rAaT.mjs.map +0 -1
- package/dist/_chunks/SelectRoles-Pr2wqehq.js +0 -104
- package/dist/_chunks/SelectRoles-Pr2wqehq.js.map +0 -1
- package/dist/_chunks/SingleSignOnPage-4dK4id8H.js +0 -260
- package/dist/_chunks/SingleSignOnPage-4dK4id8H.js.map +0 -1
- package/dist/_chunks/SingleSignOnPage-gxgIeURz.mjs +0 -241
- package/dist/_chunks/SingleSignOnPage-gxgIeURz.mjs.map +0 -1
- package/dist/_chunks/Table-NiTkS4IC.mjs +0 -164
- package/dist/_chunks/Table-NiTkS4IC.mjs.map +0 -1
- package/dist/_chunks/Table-_9gVkGGi.js +0 -184
- package/dist/_chunks/Table-_9gVkGGi.js.map +0 -1
- package/dist/_chunks/TokenTypeSelect-3aWUm1cW.js +0 -373
- package/dist/_chunks/TokenTypeSelect-3aWUm1cW.js.map +0 -1
- package/dist/_chunks/TokenTypeSelect-jtfCyMMZ.mjs +0 -354
- package/dist/_chunks/TokenTypeSelect-jtfCyMMZ.mjs.map +0 -1
- package/dist/_chunks/UseCasePage-0qXYZ8kt.mjs +0 -148
- package/dist/_chunks/UseCasePage-0qXYZ8kt.mjs.map +0 -1
- package/dist/_chunks/UseCasePage-QK-B8FfM.js +0 -169
- package/dist/_chunks/UseCasePage-QK-B8FfM.js.map +0 -1
- package/dist/_chunks/apiTokens-DO6vkoyd.mjs +0 -60
- package/dist/_chunks/apiTokens-DO6vkoyd.mjs.map +0 -1
- package/dist/_chunks/apiTokens-TayNdk_V.js +0 -59
- package/dist/_chunks/apiTokens-TayNdk_V.js.map +0 -1
- package/dist/_chunks/ar-QC-k5ddo.js +0 -936
- package/dist/_chunks/ar-QC-k5ddo.js.map +0 -1
- package/dist/_chunks/ar-Z3BD7TXr.mjs +0 -936
- package/dist/_chunks/ar-Z3BD7TXr.mjs.map +0 -1
- package/dist/_chunks/ca-aXWlXG9g.mjs +0 -724
- package/dist/_chunks/ca-aXWlXG9g.mjs.map +0 -1
- package/dist/_chunks/ca-pKSR4Q9q.js +0 -724
- package/dist/_chunks/ca-pKSR4Q9q.js.map +0 -1
- package/dist/_chunks/constants-FEW7x2Od.mjs +0 -50
- package/dist/_chunks/constants-FEW7x2Od.mjs.map +0 -1
- package/dist/_chunks/constants-RMqZXSqh.js +0 -6
- package/dist/_chunks/constants-RMqZXSqh.js.map +0 -1
- package/dist/_chunks/constants-RZp8o_c4.js +0 -52
- package/dist/_chunks/constants-RZp8o_c4.js.map +0 -1
- package/dist/_chunks/constants-WbeIIlk3.js +0 -11
- package/dist/_chunks/constants-WbeIIlk3.js.map +0 -1
- package/dist/_chunks/constants-Xd-X3SCR.js +0 -188
- package/dist/_chunks/constants-Xd-X3SCR.js.map +0 -1
- package/dist/_chunks/constants-_8pVvG0H.mjs +0 -11
- package/dist/_chunks/constants-_8pVvG0H.mjs.map +0 -1
- package/dist/_chunks/constants-_T5uxsuv.mjs +0 -169
- package/dist/_chunks/constants-_T5uxsuv.mjs.map +0 -1
- package/dist/_chunks/constants-fJt30IoY.mjs +0 -7
- package/dist/_chunks/constants-fJt30IoY.mjs.map +0 -1
- package/dist/_chunks/cs-6sDi2LJs.js +0 -291
- package/dist/_chunks/cs-6sDi2LJs.js.map +0 -1
- package/dist/_chunks/cs-zUoPZI4s.mjs +0 -291
- package/dist/_chunks/cs-zUoPZI4s.mjs.map +0 -1
- package/dist/_chunks/de-MMN7NdI0.js +0 -716
- package/dist/_chunks/de-MMN7NdI0.js.map +0 -1
- package/dist/_chunks/de-ek6cDDK8.mjs +0 -716
- package/dist/_chunks/de-ek6cDDK8.mjs.map +0 -1
- package/dist/_chunks/dk-BdUx8cFW.js +0 -634
- package/dist/_chunks/dk-BdUx8cFW.js.map +0 -1
- package/dist/_chunks/dk-opXY5SME.mjs +0 -634
- package/dist/_chunks/dk-opXY5SME.mjs.map +0 -1
- package/dist/_chunks/en-9q9Qw4Vl.js +0 -1065
- package/dist/_chunks/en-9q9Qw4Vl.js.map +0 -1
- package/dist/_chunks/en-YVPg1Mvo.mjs +0 -1065
- package/dist/_chunks/en-YVPg1Mvo.mjs.map +0 -1
- package/dist/_chunks/es-9imfnBIU.js +0 -796
- package/dist/_chunks/es-9imfnBIU.js.map +0 -1
- package/dist/_chunks/es-qWS0DuB6.mjs +0 -796
- package/dist/_chunks/es-qWS0DuB6.mjs.map +0 -1
- package/dist/_chunks/eu-LBdMNPpr.mjs +0 -832
- package/dist/_chunks/eu-LBdMNPpr.mjs.map +0 -1
- package/dist/_chunks/eu-aAvfsPGu.js +0 -832
- package/dist/_chunks/eu-aAvfsPGu.js.map +0 -1
- package/dist/_chunks/fr-KXfw9S0F.js +0 -762
- package/dist/_chunks/fr-KXfw9S0F.js.map +0 -1
- package/dist/_chunks/fr-jPBjKfV_.mjs +0 -762
- package/dist/_chunks/fr-jPBjKfV_.mjs.map +0 -1
- package/dist/_chunks/gu-Y0z1LfFv.js +0 -623
- package/dist/_chunks/gu-Y0z1LfFv.js.map +0 -1
- package/dist/_chunks/gu-bURNBu5c.mjs +0 -623
- package/dist/_chunks/gu-bURNBu5c.mjs.map +0 -1
- package/dist/_chunks/he-RmtdSWtw.js +0 -326
- package/dist/_chunks/he-RmtdSWtw.js.map +0 -1
- package/dist/_chunks/he-SUOZnrPI.mjs +0 -326
- package/dist/_chunks/he-SUOZnrPI.mjs.map +0 -1
- package/dist/_chunks/hi-MbNfZZA_.js +0 -722
- package/dist/_chunks/hi-MbNfZZA_.js.map +0 -1
- package/dist/_chunks/hi-s7B600dI.mjs +0 -722
- package/dist/_chunks/hi-s7B600dI.mjs.map +0 -1
- package/dist/_chunks/hu-HZwWiL3b.mjs +0 -832
- package/dist/_chunks/hu-HZwWiL3b.mjs.map +0 -1
- package/dist/_chunks/hu-QV5uhOW9.js +0 -832
- package/dist/_chunks/hu-QV5uhOW9.js.map +0 -1
- package/dist/_chunks/id-bByqKITV.mjs +0 -448
- package/dist/_chunks/id-bByqKITV.mjs.map +0 -1
- package/dist/_chunks/id-kFCOSN99.js +0 -448
- package/dist/_chunks/id-kFCOSN99.js.map +0 -1
- package/dist/_chunks/index-ejSDPT-T.js +0 -10831
- package/dist/_chunks/index-ejSDPT-T.js.map +0 -1
- package/dist/_chunks/index-hjUhNUvw.mjs +0 -10795
- package/dist/_chunks/index-hjUhNUvw.mjs.map +0 -1
- package/dist/_chunks/it-7xUr74VQ.mjs +0 -459
- package/dist/_chunks/it-7xUr74VQ.mjs.map +0 -1
- package/dist/_chunks/it-XZ_jYkVh.js +0 -459
- package/dist/_chunks/it-XZ_jYkVh.js.map +0 -1
- package/dist/_chunks/ja-Thwj6BLp.js +0 -633
- package/dist/_chunks/ja-Thwj6BLp.js.map +0 -1
- package/dist/_chunks/ja-uYLwB0aQ.mjs +0 -633
- package/dist/_chunks/ja-uYLwB0aQ.mjs.map +0 -1
- package/dist/_chunks/ko-_jJKWFgE.js +0 -631
- package/dist/_chunks/ko-_jJKWFgE.js.map +0 -1
- package/dist/_chunks/ko-s0EMd2R_.mjs +0 -631
- package/dist/_chunks/ko-s0EMd2R_.mjs.map +0 -1
- package/dist/_chunks/ml-J8WVOGJw.mjs +0 -722
- package/dist/_chunks/ml-J8WVOGJw.mjs.map +0 -1
- package/dist/_chunks/ml-dV8cEwE9.js +0 -722
- package/dist/_chunks/ml-dV8cEwE9.js.map +0 -1
- package/dist/_chunks/ms--jlrw42b.js +0 -342
- package/dist/_chunks/ms--jlrw42b.js.map +0 -1
- package/dist/_chunks/ms-HMf2TlIb.mjs +0 -342
- package/dist/_chunks/ms-HMf2TlIb.mjs.map +0 -1
- package/dist/_chunks/nl-dZtP9mID.js +0 -828
- package/dist/_chunks/nl-dZtP9mID.js.map +0 -1
- package/dist/_chunks/nl-r6_qFslC.mjs +0 -828
- package/dist/_chunks/nl-r6_qFslC.mjs.map +0 -1
- package/dist/_chunks/no-9cS1N6hE.mjs +0 -310
- package/dist/_chunks/no-9cS1N6hE.mjs.map +0 -1
- package/dist/_chunks/no-l_d9yAQN.js +0 -310
- package/dist/_chunks/no-l_d9yAQN.js.map +0 -1
- package/dist/_chunks/pl-SIHRdWWc.js +0 -721
- package/dist/_chunks/pl-SIHRdWWc.js.map +0 -1
- package/dist/_chunks/pl-clhbpDNh.mjs +0 -721
- package/dist/_chunks/pl-clhbpDNh.mjs.map +0 -1
- package/dist/_chunks/pt-BR-hWKoFXkw.js +0 -794
- package/dist/_chunks/pt-BR-hWKoFXkw.js.map +0 -1
- package/dist/_chunks/pt-BR-punxoRa2.mjs +0 -794
- package/dist/_chunks/pt-BR-punxoRa2.mjs.map +0 -1
- package/dist/_chunks/pt-Cf1BVWpH.mjs +0 -296
- package/dist/_chunks/pt-Cf1BVWpH.mjs.map +0 -1
- package/dist/_chunks/pt-_KgwbYMU.js +0 -296
- package/dist/_chunks/pt-_KgwbYMU.js.map +0 -1
- package/dist/_chunks/ru-6Tk_GR-j.mjs +0 -993
- package/dist/_chunks/ru-6Tk_GR-j.mjs.map +0 -1
- package/dist/_chunks/ru-UwdNMjzX.js +0 -993
- package/dist/_chunks/ru-UwdNMjzX.js.map +0 -1
- package/dist/_chunks/sa--IWI9QIC.mjs +0 -722
- package/dist/_chunks/sa--IWI9QIC.mjs.map +0 -1
- package/dist/_chunks/sa-EHIMiiE5.js +0 -722
- package/dist/_chunks/sa-EHIMiiE5.js.map +0 -1
- package/dist/_chunks/selectors-T2YIN4Fb.js +0 -5
- package/dist/_chunks/selectors-T2YIN4Fb.js.map +0 -1
- package/dist/_chunks/selectors-uLWxH-jN.mjs +0 -6
- package/dist/_chunks/selectors-uLWxH-jN.mjs.map +0 -1
- package/dist/_chunks/sk-O6d4eSB_.mjs +0 -690
- package/dist/_chunks/sk-O6d4eSB_.mjs.map +0 -1
- package/dist/_chunks/sk-mQumWjau.js +0 -690
- package/dist/_chunks/sk-mQumWjau.js.map +0 -1
- package/dist/_chunks/sv-20Po9yTX.mjs +0 -827
- package/dist/_chunks/sv-20Po9yTX.mjs.map +0 -1
- package/dist/_chunks/sv-9DHr5qSx.js +0 -827
- package/dist/_chunks/sv-9DHr5qSx.js.map +0 -1
- package/dist/_chunks/th-D3uMSMTb.mjs +0 -430
- package/dist/_chunks/th-D3uMSMTb.mjs.map +0 -1
- package/dist/_chunks/th-R7ewxEfd.js +0 -430
- package/dist/_chunks/th-R7ewxEfd.js.map +0 -1
- package/dist/_chunks/tr-3lPrmNK_.js +0 -785
- package/dist/_chunks/tr-3lPrmNK_.js.map +0 -1
- package/dist/_chunks/tr-yKDN9Q8W.mjs +0 -785
- package/dist/_chunks/tr-yKDN9Q8W.mjs.map +0 -1
- package/dist/_chunks/transferTokens-T-kGMb3U.js +0 -62
- package/dist/_chunks/transferTokens-T-kGMb3U.js.map +0 -1
- package/dist/_chunks/transferTokens-jdkk-sPx.mjs +0 -63
- package/dist/_chunks/transferTokens-jdkk-sPx.mjs.map +0 -1
- package/dist/_chunks/uk-jXdJMxUf.mjs +0 -343
- package/dist/_chunks/uk-jXdJMxUf.mjs.map +0 -1
- package/dist/_chunks/uk-w5sI8yln.js +0 -343
- package/dist/_chunks/uk-w5sI8yln.js.map +0 -1
- package/dist/_chunks/useAdminRoles-QJQS1BCd.mjs +0 -28
- package/dist/_chunks/useAdminRoles-QJQS1BCd.mjs.map +0 -1
- package/dist/_chunks/useAdminRoles-SnzC_mvy.js +0 -46
- package/dist/_chunks/useAdminRoles-SnzC_mvy.js.map +0 -1
- package/dist/_chunks/useContentTypes-Lpg-eJmK.js +0 -69
- package/dist/_chunks/useContentTypes-Lpg-eJmK.js.map +0 -1
- package/dist/_chunks/useContentTypes-U-n1-lz0.mjs +0 -51
- package/dist/_chunks/useContentTypes-U-n1-lz0.mjs.map +0 -1
- package/dist/_chunks/useDebounce-GrNR3exx.mjs +0 -17
- package/dist/_chunks/useDebounce-GrNR3exx.mjs.map +0 -1
- package/dist/_chunks/useDebounce-nLQfrFAo.js +0 -35
- package/dist/_chunks/useDebounce-nLQfrFAo.js.map +0 -1
- package/dist/_chunks/useLicenseLimitNotification-Hjv_LKmp.js +0 -100
- package/dist/_chunks/useLicenseLimitNotification-Hjv_LKmp.js.map +0 -1
- package/dist/_chunks/useLicenseLimitNotification-yJHxF4YO.mjs +0 -80
- package/dist/_chunks/useLicenseLimitNotification-yJHxF4YO.mjs.map +0 -1
- package/dist/_chunks/useOnce-BuAUYuau.mjs +0 -7
- package/dist/_chunks/useOnce-BuAUYuau.mjs.map +0 -1
- package/dist/_chunks/useOnce-eIxJr0o-.js +0 -25
- package/dist/_chunks/useOnce-eIxJr0o-.js.map +0 -1
- package/dist/_chunks/useReviewWorkflows-0rQx2KxS.mjs +0 -27
- package/dist/_chunks/useReviewWorkflows-0rQx2KxS.mjs.map +0 -1
- package/dist/_chunks/useReviewWorkflows-QoSEilRp.js +0 -26
- package/dist/_chunks/useReviewWorkflows-QoSEilRp.js.map +0 -1
- package/dist/_chunks/useSyncRbac-hZJWbmmY.js +0 -57
- package/dist/_chunks/useSyncRbac-hZJWbmmY.js.map +0 -1
- package/dist/_chunks/useSyncRbac-wVgN6XIc.mjs +0 -39
- package/dist/_chunks/useSyncRbac-wVgN6XIc.mjs.map +0 -1
- package/dist/_chunks/useWebhooks-1ZG0V0Mc.js +0 -89
- package/dist/_chunks/useWebhooks-1ZG0V0Mc.js.map +0 -1
- package/dist/_chunks/useWebhooks-WBwti5Jl.mjs +0 -90
- package/dist/_chunks/useWebhooks-WBwti5Jl.mjs.map +0 -1
- package/dist/_chunks/validateWorkflow-23kb45Oa.mjs +0 -1042
- package/dist/_chunks/validateWorkflow-23kb45Oa.mjs.map +0 -1
- package/dist/_chunks/validateWorkflow-MaEpFiHz.js +0 -1065
- package/dist/_chunks/validateWorkflow-MaEpFiHz.js.map +0 -1
- package/dist/_chunks/validation-7cD0kJHF.js +0 -61
- package/dist/_chunks/validation-7cD0kJHF.js.map +0 -1
- package/dist/_chunks/validation-rilbXPnt.mjs +0 -43
- package/dist/_chunks/validation-rilbXPnt.mjs.map +0 -1
- package/dist/_chunks/vi-kY-om6ai.mjs +0 -298
- package/dist/_chunks/vi-kY-om6ai.mjs.map +0 -1
- package/dist/_chunks/vi-t8uM5szE.js +0 -298
- package/dist/_chunks/vi-t8uM5szE.js.map +0 -1
- package/dist/_chunks/zh-Hans-RfPwVDfv.js +0 -957
- package/dist/_chunks/zh-Hans-RfPwVDfv.js.map +0 -1
- package/dist/_chunks/zh-Hans-xf4WJxoN.mjs +0 -957
- package/dist/_chunks/zh-Hans-xf4WJxoN.mjs.map +0 -1
- package/dist/_chunks/zh-NcXD6EU3.js +0 -836
- package/dist/_chunks/zh-NcXD6EU3.js.map +0 -1
- package/dist/_chunks/zh-fRA5e8rP.mjs +0 -836
- package/dist/_chunks/zh-fRA5e8rP.mjs.map +0 -1
- package/dist/admin/src/components/RBACProvider.d.ts +0 -27
- package/dist/admin/src/types/errors.d.ts +0 -2
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Permissions-a0IZJ8dM.js","sources":["../../admin/src/pages/Settings/pages/Roles/hooks/usePermissionsDataManager.ts","../../admin/src/pages/Settings/pages/Roles/utils/difference.ts","../../admin/src/utils/arrays.ts","../../admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.ts","../../admin/src/pages/Settings/pages/Roles/utils/permissions.ts","../../admin/src/pages/Settings/pages/Roles/utils/forms.ts","../../admin/src/pages/Settings/pages/Roles/utils/layouts.ts","../../admin/src/pages/Settings/pages/Roles/utils/updateConditionsToFalse.ts","../../admin/src/pages/Settings/pages/Roles/utils/updateValues.ts","../../admin/src/pages/Settings/pages/Roles/utils/constants.ts","../../admin/src/pages/Settings/pages/Roles/utils/removeConditionKeyFromData.ts","../../admin/src/pages/Settings/pages/Roles/utils/getCheckboxState.ts","../../admin/src/pages/Settings/pages/Roles/components/CollapseLabel.tsx","../../admin/src/pages/Settings/pages/Roles/components/HiddenAction.tsx","../../admin/src/pages/Settings/pages/Roles/components/RequiredSign.tsx","../../admin/src/pages/Settings/pages/Roles/components/RowLabelWithCheckbox.tsx","../../admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.tsx","../../admin/src/pages/Settings/pages/Roles/components/ConditionsButton.tsx","../../admin/src/pages/Settings/pages/Roles/components/ConditionsModal.tsx","../../admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.tsx","../../admin/src/pages/Settings/pages/Roles/components/GlobalActions.tsx","../../admin/src/pages/Settings/pages/Roles/components/ContentTypes.tsx","../../admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.tsx","../../admin/src/pages/Settings/pages/Roles/components/Permissions.tsx"],"sourcesContent":["import { createContext } from '@radix-ui/react-context';\n\nimport { Condition } from '../../../../../../../shared/contracts/permissions';\n\nimport type {\n OnChangeCollectionTypeGlobalActionCheckboxAction,\n OnChangeCollectionTypeRowLeftCheckboxAction,\n OnChangeConditionsAction,\n State,\n} from '../components/Permissions';\n\n// Note: I had to guess most of these types based on the name and usage, but I actually don't\n// know if they are correct, because the usage is very generic. Feel free to correct them if\n// they create problems.\nexport interface PermissionsDataManagerContextValue extends Pick<State, 'modifiedData'> {\n availableConditions: Condition[];\n onChangeCollectionTypeLeftActionRowCheckbox: (\n pathToCollectionType: OnChangeCollectionTypeRowLeftCheckboxAction['pathToCollectionType'],\n propertyName: OnChangeCollectionTypeRowLeftCheckboxAction['propertyName'],\n rowName: OnChangeCollectionTypeRowLeftCheckboxAction['rowName'],\n value: OnChangeCollectionTypeRowLeftCheckboxAction['value']\n ) => void;\n onChangeConditions: (conditions: OnChangeConditionsAction['conditions']) => void;\n onChangeSimpleCheckbox: (event: { target: { name: string; value: boolean } }) => void;\n onChangeParentCheckbox: (event: { target: { name: string; value: boolean } }) => void;\n onChangeCollectionTypeGlobalActionCheckbox: (\n collectionTypeKind: OnChangeCollectionTypeGlobalActionCheckboxAction['collectionTypeKind'],\n actionId: OnChangeCollectionTypeGlobalActionCheckboxAction['actionId'],\n value: OnChangeCollectionTypeGlobalActionCheckboxAction['value']\n ) => void;\n}\n\nconst [PermissionsDataManagerProvider, usePermissionsDataManagerContext] =\n createContext<PermissionsDataManagerContextValue>('PermissionsDataManager');\n\nexport const usePermissionsDataManager = () =>\n usePermissionsDataManagerContext('usePermissionsDataManager');\n\nexport { PermissionsDataManagerProvider };\n","import isEqual from 'lodash/isEqual';\nimport isObject from 'lodash/isObject';\nimport transform from 'lodash/transform';\n\ntype ObjectDiff<T> = {\n [P in keyof T]?: T[P] extends Record<string, unknown> ? ObjectDiff<T[P]> : T[P];\n};\n\nfunction difference<T extends Record<string, unknown>>(object: T, base: T): ObjectDiff<T> {\n function changes(object: T, base: T): ObjectDiff<T> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return transform(object, (result, value: any, key: keyof ObjectDiff<T>) => {\n if (!isEqual(value, base[key])) {\n result[key] =\n isObject(value) && isObject(base[key]) ? changes(value as T, base[key] as T) : value;\n }\n return result;\n });\n }\n\n return changes(object, base);\n}\n\nexport { difference };\n","/**\n * @internal\n * @description Mutates a value to be a union of flat values, no arrays allowed.\n */\ntype Flat<T> = T extends string ? T : T extends ArrayLike<any> ? never : T;\n\n/**\n * @internal\n */\ninterface RecursiveArray<T> extends Array<T | RecursiveArray<T>> {}\n/**\n * @internal\n */\ninterface ArrayOfRecursiveArraysOrValues<T> extends ArrayLike<T | RecursiveArray<T>> {}\n\n/**\n * @internal\n *\n * @description Flattens an array recursively.\n */\nconst flattenDeep = <T>(\n array?: ArrayOfRecursiveArraysOrValues<T> | null | undefined\n): Array<Flat<T>> => {\n if (Array.isArray(array)) {\n return array.reduce((acc, value) => {\n if (Array.isArray(value)) {\n acc.push(...flattenDeep(value));\n } else {\n acc.push(value);\n }\n\n return acc;\n }, [] as Array<Flat<T>>);\n } else {\n return [];\n }\n};\n\nexport { flattenDeep };\nexport type { Flat, RecursiveArray, ArrayOfRecursiveArraysOrValues };\n","import { Flat, flattenDeep } from '../../../../../utils/arrays';\nimport { isObject } from '../../../../../utils/objects';\n\nconst createArrayOfValues = <TData>(obj: unknown): Array<Flat<TData>> => {\n if (!isObject(obj)) {\n return [];\n }\n\n return flattenDeep(\n Object.values(obj).map((value) => {\n if (isObject(value)) {\n return createArrayOfValues(value);\n }\n\n return value;\n })\n );\n};\n\nexport { createArrayOfValues };\n","import { isObject } from '../../../../../utils/objects';\n\nimport { createArrayOfValues } from './createArrayOfValues';\n\nimport type { ConditionForm, Form, PropertyChildForm } from './forms';\nimport type { UpdatePermissions } from '../../../../../../../shared/contracts/roles';\nimport type { Permission } from '../../../../../../../shared/contracts/shared';\nimport type { PermissionsDataManagerContextValue } from '../hooks/usePermissionsDataManager';\n\ntype PermissionApiBody = UpdatePermissions.Request['body']['permissions'];\n\n/**\n * @description Given a users permissions array we find the first one that matches a provided subject & action\n */\nconst findMatchingPermission = (\n permissions: Permission[],\n action: string,\n subject: string | null\n) => permissions.find((perm) => perm.action === action && perm.subject === subject);\n\nconst formatPermissionsForAPI = (\n modifiedData: PermissionsDataManagerContextValue['modifiedData']\n): PermissionApiBody => {\n const pluginsPermissions = formatSettingsPermissions(modifiedData.plugins);\n const settingsPermissions = formatSettingsPermissions(modifiedData.settings);\n const collectionTypesPermissions = formatContentTypesPermissions(modifiedData.collectionTypes);\n const singleTypesPermissions = formatContentTypesPermissions(modifiedData.singleTypes);\n\n return [\n ...pluginsPermissions,\n ...settingsPermissions,\n ...collectionTypesPermissions,\n ...singleTypesPermissions,\n ];\n};\n\nconst formatSettingsPermissions = (\n settingsPermissionsObject:\n | PermissionsDataManagerContextValue['modifiedData']['plugins']\n | PermissionsDataManagerContextValue['modifiedData']['settings']\n): PermissionApiBody => {\n return Object.values(settingsPermissionsObject).reduce<PermissionApiBody>((formAcc, form) => {\n const currentCategoryPermissions = Object.values(form).reduce<PermissionApiBody>(\n (childFormAcc, childForm) => {\n const permissions = Object.entries(childForm).reduce<PermissionApiBody>(\n (\n responsesAcc,\n [\n actionName,\n {\n conditions,\n properties: { enabled },\n },\n ]\n ) => {\n if (!enabled) {\n return responsesAcc;\n }\n\n responsesAcc.push({\n action: actionName,\n subject: null,\n conditions: createConditionsArray(conditions),\n properties: {},\n });\n\n return responsesAcc;\n },\n []\n );\n\n return [...childFormAcc, ...permissions];\n },\n []\n );\n\n return [...formAcc, ...currentCategoryPermissions];\n }, []);\n};\n\nconst formatContentTypesPermissions = (contentTypesPermissions: Form): PermissionApiBody => {\n const permissions = Object.entries(contentTypesPermissions).reduce<PermissionApiBody>(\n (allPermissions, current) => {\n const [subject, currentSubjectActions] = current;\n\n const permissions = Object.entries(currentSubjectActions).reduce<PermissionApiBody>(\n (acc, current) => {\n const [actionName, permissions] = current;\n const shouldCreatePermission = createArrayOfValues(permissions).some((val) => val);\n\n if (!shouldCreatePermission) {\n return acc;\n }\n\n if (!permissions?.properties?.enabled) {\n const createdPermissionsArray = Object.entries(permissions.properties).reduce<\n PermissionApiBody[number]\n >(\n (acc, current) => {\n const [propertyName, propertyValue] = current;\n\n // @ts-expect-error – `propertyValue` can be boolean or an object, but we don't account for it...\n acc.properties[propertyName] = createPropertyArray(propertyValue);\n\n return acc;\n },\n {\n action: actionName,\n subject,\n conditions: createConditionsArray(permissions.conditions),\n properties: {},\n }\n );\n\n return [...acc, createdPermissionsArray];\n }\n\n if (!permissions.properties.enabled) {\n return acc;\n }\n\n acc.push({\n action: actionName,\n subject,\n properties: {},\n conditions: createConditionsArray(permissions.conditions),\n });\n\n return acc;\n },\n []\n );\n\n return [...allPermissions, ...permissions];\n },\n []\n );\n\n return permissions;\n};\n\nconst createPropertyArray = (propertyValue: PropertyChildForm, prefix = ''): string[] => {\n return Object.entries(propertyValue).reduce<string[]>((acc, current) => {\n const [name, value] = current;\n\n if (isObject(value)) {\n return [...acc, ...createPropertyArray(value, `${prefix}${name}.`)];\n }\n\n if (value && !isObject(value)) {\n acc.push(`${prefix}${name}`);\n }\n\n return acc;\n }, []);\n};\n\nconst createConditionsArray = (conditions: ConditionForm) =>\n Object.entries(conditions)\n .filter(([, conditionValue]) => {\n return conditionValue;\n })\n .map(([conditionName]) => conditionName);\n\nexport { findMatchingPermission, formatPermissionsForAPI };\n","import isEmpty from 'lodash/isEmpty';\nimport merge from 'lodash/merge';\n\nimport { findMatchingPermission } from './permissions';\n\nimport type { GenericLayout } from './layouts';\nimport type {\n Condition,\n SettingPermission,\n ContentPermission,\n Subject,\n SubjectProperty,\n} from '../../../../../../../shared/contracts/permissions';\nimport type { Permission } from '../../../../../../../shared/contracts/shared';\n\ntype ConditionForm = Record<string, boolean>;\n\n/**\n * Creates the default condition form: { [conditionId]: false }\n */\nconst createDefaultConditionsForm = (\n conditions: Condition[],\n initialConditions: Permission['conditions'] = []\n): ConditionForm =>\n conditions.reduce<ConditionForm>((acc, current) => {\n acc[current.id] = initialConditions.indexOf(current.id) !== -1;\n\n return acc;\n }, {});\n\ninterface SubCategoryForm {\n properties: {\n enabled: boolean;\n };\n conditions: ConditionForm;\n}\n\ntype ChildrenForm = Record<\n string,\n SubCategoryForm | (Omit<SubCategoryForm, 'properties'> & PropertyForm)\n>;\n\ntype Form = Record<string, ChildrenForm>;\n\nconst createDefaultForm = <TLayout extends Omit<SettingPermission, 'category'>>(\n layout: GenericLayout<TLayout>[],\n conditions: Condition[],\n initialPermissions: Permission[] = []\n) => {\n return layout.reduce<Record<string, Form>>((acc, { categoryId, childrenForm }) => {\n const childrenDefaultForm = childrenForm.reduce<Form>((acc, current) => {\n acc[current.subCategoryId] = current.actions.reduce<ChildrenForm>((acc, current) => {\n const foundMatchingPermission = findMatchingPermission(\n initialPermissions,\n current.action,\n null\n );\n\n acc[current.action] = {\n properties: {\n enabled: foundMatchingPermission !== undefined,\n },\n conditions: createDefaultConditionsForm(\n conditions,\n foundMatchingPermission?.conditions ?? []\n ),\n };\n\n return acc;\n }, {});\n\n return acc;\n }, {});\n\n acc[categoryId] = childrenDefaultForm;\n\n return acc;\n }, {});\n};\n\ninterface PropertyChildForm extends Record<string, boolean | PropertyChildForm> {}\n\ninterface PropertyForm {\n properties: PropertyChildForm;\n}\n\n/**\n * Creates the default form for all the properties found in a content type's layout\n */\nconst createDefaultPropertiesForm = (\n properties: string[],\n subject: Subject,\n matchingPermission?: Permission\n): PropertyForm => {\n const recursivelyCreatePropertyForm = (\n { children = [] }: SubjectProperty,\n propertyValues: string[],\n prefix = ''\n ): PropertyChildForm => {\n return children.reduce<PropertyChildForm>((acc, current) => {\n if (current.children) {\n return {\n ...acc,\n [current.value]: recursivelyCreatePropertyForm(\n current,\n propertyValues,\n `${prefix}${current.value}.`\n ),\n };\n }\n\n const hasProperty = propertyValues.indexOf(`${prefix}${current.value}`) !== -1;\n\n acc[current.value] = hasProperty;\n\n return acc;\n }, {});\n };\n\n return properties.reduce<PropertyForm>(\n (acc, currentPropertyName) => {\n const foundProperty = subject.properties.find(({ value }) => value === currentPropertyName);\n\n if (foundProperty) {\n const matchingPermissionPropertyValues =\n matchingPermission?.properties[foundProperty.value] ?? [];\n\n const propertyForm = recursivelyCreatePropertyForm(\n foundProperty,\n matchingPermissionPropertyValues\n );\n\n acc.properties[currentPropertyName] = propertyForm;\n }\n\n return acc;\n },\n { properties: {} }\n );\n};\n\n/**\n * Creates the default for for a content type\n */\nconst createDefaultCTForm = (\n { subjects, actions = [] }: ContentPermission,\n conditions: Condition[],\n initialPermissions: Permission[] = []\n) => {\n return actions.reduce<Form>((defaultForm, action) => {\n type SubjectLayouts = Record<string, Subject>;\n\n const subjectLayouts = action.subjects.reduce<SubjectLayouts>((acc, current) => {\n const foundLayout = subjects.find(({ uid }) => uid === current) || null;\n\n if (foundLayout) {\n acc[current] = foundLayout;\n }\n\n return acc;\n }, {});\n\n // This can happen when an action is not related to a content type\n // for instance the D&P permission is applied only with the cts that\n // have the D&P features enabled\n if (isEmpty(subjectLayouts)) {\n return defaultForm;\n }\n\n // The object has the following shape: { [ctUID]: { [actionId]: { [property]: { enabled: false } } } }\n const contentTypesActions = Object.keys(subjectLayouts).reduce<Form>((acc, currentCTUID) => {\n const { actionId, applyToProperties } = action;\n const currentSubjectLayout = subjectLayouts[currentCTUID];\n const properties = currentSubjectLayout.properties.map(({ value }) => value);\n const doesNothaveProperty = properties.every(\n (property) => (applyToProperties || []).indexOf(property) === -1\n );\n\n const matchingPermission = findMatchingPermission(initialPermissions, actionId, currentCTUID);\n const conditionsForm = createDefaultConditionsForm(\n conditions,\n matchingPermission?.conditions ?? []\n );\n\n if (!acc[currentCTUID]) {\n acc[currentCTUID] = {};\n }\n\n if (isEmpty(applyToProperties) || doesNothaveProperty) {\n acc[currentCTUID][actionId] = {\n properties: {\n enabled: matchingPermission !== undefined,\n },\n conditions: conditionsForm,\n };\n\n return acc;\n }\n\n const propertiesForm = createDefaultPropertiesForm(\n applyToProperties,\n subjectLayouts[currentCTUID],\n matchingPermission\n );\n\n acc[currentCTUID][actionId] = { ...propertiesForm, conditions: conditionsForm };\n\n return acc;\n }, {});\n\n return merge(defaultForm, contentTypesActions);\n }, {});\n};\n\nexport { createDefaultConditionsForm, createDefaultForm, createDefaultCTForm };\nexport type { ConditionForm, Form, PropertyForm, SubCategoryForm, ChildrenForm, PropertyChildForm };\n","import groupBy from 'lodash/groupBy';\n\nimport { SettingPermission } from '../../../../../../../shared/contracts/permissions';\n\ninterface GenericLayout<TLayout> {\n category: string;\n categoryId: string;\n childrenForm: Array<{\n subCategoryName: string;\n subCategoryId: string;\n actions: TLayout[];\n }>;\n}\n\nconst formatLayout = <TLayout extends Omit<SettingPermission, 'category'>>(\n layout: TLayout[],\n groupByKey: keyof TLayout\n): GenericLayout<TLayout>[] => {\n return Object.entries(groupBy(layout, groupByKey)).map(([itemName, item]) => ({\n category: itemName,\n categoryId: itemName.split(' ').join('-'),\n childrenForm: Object.entries(groupBy(item, 'subCategory')).map(\n ([subCategoryName, actions]) => ({\n subCategoryName,\n subCategoryId: subCategoryName.split(' ').join('-'),\n actions,\n })\n ),\n }));\n};\n\nexport { formatLayout };\nexport type { GenericLayout };\n","import has from 'lodash/has';\nimport omit from 'lodash/omit';\n\nimport { isObject } from '../../../../../utils/objects';\n\nimport { createArrayOfValues } from './createArrayOfValues';\n/**\n * Changes all the conditions leaf when the properties are all falsy\n */\nconst updateConditionsToFalse = (obj: object): object => {\n return Object.keys(obj).reduce((acc, current) => {\n // @ts-expect-error – TODO: type better\n const currentValue = obj[current];\n\n if (isObject(currentValue) && !has(currentValue, 'conditions')) {\n return { ...acc, [current]: updateConditionsToFalse(currentValue) };\n }\n\n if (isObject(currentValue) && has(currentValue, 'conditions')) {\n const isActionEnabled = createArrayOfValues(omit(currentValue, 'conditions')).some(\n (val) => val\n );\n\n if (!isActionEnabled) {\n // @ts-expect-error – TODO: type better\n const updatedConditions = Object.keys(currentValue.conditions).reduce((acc1, current) => {\n // @ts-expect-error – TODO: type better\n acc1[current] = false;\n\n return acc1;\n }, {});\n\n return { ...acc, [current]: { ...currentValue, conditions: updatedConditions } };\n }\n }\n\n // @ts-expect-error – TODO: type better\n acc[current] = currentValue;\n\n return acc;\n }, {});\n};\n\nexport { updateConditionsToFalse };\n","import { isObject } from '../../../../../utils/objects';\n\n/**\n * Sets all the none object values of an object to the given one\n * It preserves the shape of the object, it only modifies the leafs\n * of an object.\n * This utility is very helpful when dealing with parent<>children checkboxes\n */\nconst updateValues = (obj: object, valueToSet: boolean, isFieldUpdate = false): object => {\n return Object.keys(obj).reduce((acc, current) => {\n const currentValue = obj[current as keyof object];\n\n if (current === 'conditions' && !isFieldUpdate) {\n // @ts-expect-error – TODO: type better\n acc[current] = currentValue;\n\n return acc;\n }\n\n if (isObject(currentValue)) {\n return { ...acc, [current]: updateValues(currentValue, valueToSet, current === 'fields') };\n }\n\n // @ts-expect-error – TODO: type better\n acc[current] = valueToSet;\n\n return acc;\n }, {});\n};\n\nexport { updateValues };\n","export const cellWidth = `${120 / 16}rem`;\nexport const firstRowWidth = `${200 / 16}rem`;\nexport const rowHeight = `${53 / 16}rem`;\n","type DataWithoutCondition<TData extends { conditions?: unknown }> = Omit<TData, 'conditions'>;\n\nconst removeConditionKeyFromData = <TData extends { conditions?: unknown }>(\n obj?: TData\n): DataWithoutCondition<TData> | null => {\n if (!obj) {\n return null;\n }\n\n return Object.entries(obj).reduce((acc, [key, value]) => {\n if (key !== 'conditions') {\n // @ts-expect-error – TODO: fix this type error correctly.\n acc[key] = value;\n }\n\n return acc;\n }, {} as DataWithoutCondition<TData>);\n};\n\nexport { removeConditionKeyFromData };\nexport type { DataWithoutCondition };\n","import { createArrayOfValues } from './createArrayOfValues';\nimport { removeConditionKeyFromData } from './removeConditionKeyFromData';\n\ninterface RecursiveRecordOfBooleans extends Record<string, boolean | RecursiveRecordOfBooleans> {}\n\nconst getCheckboxState = (dataObj: RecursiveRecordOfBooleans) => {\n const dataWithoutCondition = removeConditionKeyFromData(dataObj);\n\n const arrayOfValues = createArrayOfValues(dataWithoutCondition);\n\n if (!arrayOfValues.length) {\n return { hasAllActionsSelected: false, hasSomeActionsSelected: false };\n }\n\n const hasAllActionsSelected = arrayOfValues.every((val) => val);\n const hasSomeActionsSelected = arrayOfValues.some((val) => val) && !hasAllActionsSelected;\n\n return { hasAllActionsSelected, hasSomeActionsSelected };\n};\n\nexport { getCheckboxState };\nexport type { RecursiveRecordOfBooleans };\n","import { Flex } from '@strapi/design-system';\nimport styled from 'styled-components';\n\nconst CollapseLabel = styled(Flex)<{ isCollapsable: boolean }>`\n padding-right: ${({ theme }) => theme.spaces[2]};\n overflow: hidden;\n flex: 1;\n ${({ isCollapsable }) => isCollapsable && 'cursor: pointer;'}\n`;\n\nexport { CollapseLabel };\n","import styled from 'styled-components';\n\nimport { cellWidth } from '../utils/constants';\n\nconst HiddenAction = styled.div`\n width: ${cellWidth};\n`;\n\nexport { HiddenAction };\n","import { Box } from '@strapi/design-system';\n\nconst RequiredSign = () => (\n <Box color=\"danger700\" paddingLeft={1}>\n *\n </Box>\n);\n\nexport { RequiredSign };\n","import * as React from 'react';\n\nimport { BaseCheckbox, Box, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { capitalise } from '../../../../../utils/strings';\nimport { PermissionsDataManagerContextValue } from '../hooks/usePermissionsDataManager';\nimport { firstRowWidth } from '../utils/constants';\n\nimport { CollapseLabel } from './CollapseLabel';\n\ninterface RowLabelWithCheckboxProps {\n children: React.ReactNode;\n checkboxName?: string;\n isActive?: boolean;\n isCollapsable?: boolean;\n isFormDisabled?: boolean;\n label: string;\n onChange: PermissionsDataManagerContextValue['onChangeParentCheckbox'];\n onClick: () => void;\n someChecked?: boolean;\n value: boolean;\n}\n\nconst RowLabelWithCheckbox = ({\n checkboxName = '',\n children,\n isActive = false,\n isCollapsable = false,\n isFormDisabled = false,\n label,\n onChange,\n onClick,\n someChecked = false,\n value,\n}: RowLabelWithCheckboxProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex alignItems=\"center\" paddingLeft={6} width={firstRowWidth} shrink={0}>\n <Box paddingRight={2}>\n <BaseCheckbox\n name={checkboxName}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-all-by-permission`,\n defaultMessage: 'Select all {label} permissions',\n },\n { label }\n )}\n disabled={isFormDisabled}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) =>\n onChange({\n target: {\n name: checkboxName,\n value,\n },\n })\n }\n indeterminate={someChecked}\n value={value}\n />\n </Box>\n <CollapseLabel\n title={label}\n alignItems=\"center\"\n isCollapsable={isCollapsable}\n {...(isCollapsable && {\n onClick,\n 'aria-expanded': isActive,\n onKeyDown: ({ key }) => (key === 'Enter' || key === ' ') && onClick(),\n tabIndex: 0,\n role: 'button',\n })}\n >\n <Typography\n fontWeight={isActive ? 'bold' : undefined}\n textColor={isActive ? 'primary600' : 'neutral800'}\n ellipsis\n >\n {capitalise(label)}\n </Typography>\n {children}\n </CollapseLabel>\n </Flex>\n );\n};\n\nexport { RowLabelWithCheckbox };\nexport type { RowLabelWithCheckboxProps };\n","import React, { useMemo } from 'react';\n\nimport { BaseCheckbox, Box, Flex, Typography } from '@strapi/design-system';\nimport { CarretDown } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { useIntl } from 'react-intl';\nimport styled, { DefaultTheme, css } from 'styled-components';\n\nimport { Action, SubjectProperty } from '../../../../../../../shared/contracts/permissions';\nimport { capitalise } from '../../../../../utils/strings';\nimport {\n PermissionsDataManagerContextValue,\n usePermissionsDataManager,\n} from '../hooks/usePermissionsDataManager';\nimport { cellWidth, firstRowWidth, rowHeight } from '../utils/constants';\nimport { getCheckboxState } from '../utils/getCheckboxState';\n\nimport { CollapseLabel } from './CollapseLabel';\nimport { HiddenAction } from './HiddenAction';\nimport { RequiredSign } from './RequiredSign';\nimport { RowLabelWithCheckbox, RowLabelWithCheckboxProps } from './RowLabelWithCheckbox';\n\n/* -------------------------------------------------------------------------------------------------\n * CollapsePropertyMatrix\n * -----------------------------------------------------------------------------------------------*/\n\ninterface CollapsePropertyMatrixProps\n extends Pick<\n ActionRowProps,\n 'childrenForm' | 'isFormDisabled' | 'label' | 'pathToData' | 'propertyName'\n > {\n availableActions?: Array<Action & { isDisplayed: boolean }>;\n}\n\ninterface PropertyAction {\n label: string;\n actionId: string;\n isActionRelatedToCurrentProperty: boolean;\n}\n\nconst CollapsePropertyMatrix = ({\n availableActions = [],\n childrenForm = [],\n isFormDisabled,\n label,\n pathToData,\n propertyName,\n}: CollapsePropertyMatrixProps) => {\n const propertyActions = useMemo(\n () =>\n availableActions.map((action) => {\n const isActionRelatedToCurrentProperty =\n Array.isArray(action.applyToProperties) &&\n action.applyToProperties.indexOf(propertyName) !== -1 &&\n action.isDisplayed;\n\n return { label: action.label, actionId: action.actionId, isActionRelatedToCurrentProperty };\n }) satisfies PropertyAction[],\n [availableActions, propertyName]\n );\n\n return (\n <Flex display=\"inline-flex\" direction=\"column\" minWidth={0}>\n <Header label={label} headers={propertyActions} />\n <Box>\n {childrenForm.map(({ children: childrenForm, label, value, required }, i) => (\n <ActionRow\n childrenForm={childrenForm}\n key={value}\n label={label}\n isFormDisabled={isFormDisabled}\n name={value}\n required={required}\n propertyActions={propertyActions}\n pathToData={pathToData}\n propertyName={propertyName}\n isOdd={i % 2 === 0}\n />\n ))}\n </Box>\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ActionRow\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ActionRowProps\n extends Pick<\n SubActionRowProps,\n 'childrenForm' | 'isFormDisabled' | 'propertyActions' | 'propertyName'\n > {\n label: string;\n name: string;\n required?: boolean;\n pathToData: string;\n isOdd?: boolean;\n}\n\nconst ActionRow = ({\n childrenForm = [],\n label,\n isFormDisabled = false,\n name,\n required = false,\n pathToData,\n propertyActions,\n propertyName,\n isOdd = false,\n}: ActionRowProps) => {\n const { formatMessage } = useIntl();\n const [rowToOpen, setRowToOpen] = React.useState<string | null>(null);\n const {\n modifiedData,\n onChangeCollectionTypeLeftActionRowCheckbox,\n onChangeParentCheckbox,\n onChangeSimpleCheckbox,\n } = usePermissionsDataManager();\n\n const isActive = rowToOpen === name;\n\n const recursiveChildren = useMemo(() => {\n if (!Array.isArray(childrenForm)) {\n return [];\n }\n\n return childrenForm;\n }, [childrenForm]);\n\n const isCollapsable = recursiveChildren.length > 0;\n\n const handleClick = React.useCallback(() => {\n if (isCollapsable) {\n setRowToOpen((prev) => {\n if (prev === name) {\n return null;\n }\n\n return name;\n });\n }\n }, [isCollapsable, name]);\n\n const handleChangeLeftRowCheckbox: RowLabelWithCheckboxProps['onChange'] = ({\n target: { value },\n }) => {\n onChangeCollectionTypeLeftActionRowCheckbox(pathToData, propertyName, name, value);\n };\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = useMemo(() => {\n return getRowLabelCheckboxState(propertyActions, modifiedData, pathToData, propertyName, name);\n }, [propertyActions, modifiedData, pathToData, propertyName, name]);\n\n return (\n <>\n <Wrapper\n alignItems=\"center\"\n isCollapsable={isCollapsable}\n isActive={isActive}\n background={isOdd ? 'neutral100' : 'neutral0'}\n >\n <Flex>\n <RowLabelWithCheckbox\n onChange={handleChangeLeftRowCheckbox}\n onClick={handleClick}\n isCollapsable={isCollapsable}\n isFormDisabled={isFormDisabled}\n label={label}\n someChecked={hasSomeActionsSelected}\n value={hasAllActionsSelected}\n isActive={isActive}\n >\n {required && <RequiredSign />}\n <CarretIcon $isActive={isActive} />\n </RowLabelWithCheckbox>\n <Flex>\n {propertyActions.map(({ label, isActionRelatedToCurrentProperty, actionId }) => {\n if (!isActionRelatedToCurrentProperty) {\n return <HiddenAction key={label} />;\n }\n\n const checkboxName = [\n ...pathToData.split('..'),\n actionId,\n 'properties',\n propertyName,\n name,\n ];\n\n if (!isCollapsable) {\n const checkboxValue = get(modifiedData, checkboxName, false);\n\n return (\n <Flex\n key={actionId}\n width={cellWidth}\n position=\"relative\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <BaseCheckbox\n disabled={isFormDisabled}\n name={checkboxName.join('..')}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-by-permission`,\n defaultMessage: 'Select {label} permission',\n },\n { label: `${name} ${label}` }\n )}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName.join('..'),\n value,\n },\n });\n }}\n value={checkboxValue}\n />\n </Flex>\n );\n }\n\n const data = get(modifiedData, checkboxName, {});\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(data);\n\n return (\n <Flex\n key={label}\n width={cellWidth}\n position=\"relative\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <BaseCheckbox\n disabled={isFormDisabled}\n name={checkboxName.join('..')}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: checkboxName.join('..'),\n value,\n },\n });\n }}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-by-permission`,\n defaultMessage: 'Select {label} permission',\n },\n { label: `${name} ${label}` }\n )}\n value={hasAllActionsSelected}\n indeterminate={hasSomeActionsSelected}\n />\n </Flex>\n );\n })}\n </Flex>\n </Flex>\n </Wrapper>\n {isActive && (\n <SubActionRow\n childrenForm={recursiveChildren}\n isFormDisabled={isFormDisabled}\n parentName={name}\n pathToDataFromActionRow={pathToData}\n propertyName={propertyName}\n propertyActions={propertyActions}\n recursiveLevel={0}\n />\n )}\n </>\n );\n};\n\n/**\n *\n * Returns the state of the left checkbox of a ActionRow main checkbox\n */\nconst getRowLabelCheckboxState = (\n propertyActions: PropertyAction[],\n modifiedData: PermissionsDataManagerContextValue['modifiedData'],\n pathToContentType: string,\n propertyToCheck: string,\n targetKey: string\n) => {\n const actionIds = propertyActions.reduce<string[]>((acc, current) => {\n if (current.isActionRelatedToCurrentProperty) {\n acc.push(current.actionId);\n }\n\n return acc;\n }, []);\n\n const data = actionIds.reduce<Record<string, boolean>>((acc, current) => {\n const mainData = get(\n modifiedData,\n [...pathToContentType.split('..'), current, 'properties', propertyToCheck, targetKey],\n false\n );\n\n acc[current] = mainData;\n\n return acc;\n }, {});\n\n return getCheckboxState(data);\n};\n\nconst Wrapper = styled(Flex)<{ isCollapsable?: boolean; isActive?: boolean }>`\n height: ${rowHeight};\n flex: 1;\n\n ${({ isCollapsable, theme }) =>\n isCollapsable &&\n `\n ${CarretIcon} {\n display: block;\n color: ${theme.colors.neutral100};\n }\n &:hover {\n ${activeStyle(theme)}\n }\n `}\n ${({ isActive, theme }) => isActive && activeStyle(theme)};\n`;\n\nconst CarretIcon = styled(CarretDown)<{ $isActive: boolean }>`\n display: none;\n width: ${10 / 16}rem;\n transform: rotate(${({ $isActive }) => ($isActive ? '180' : '0')}deg);\n margin-left: ${({ theme }) => theme.spaces[2]};\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * SubActionRow\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SubActionRowProps {\n childrenForm: SubjectProperty['children'];\n isFormDisabled?: boolean;\n parentName: string;\n pathToDataFromActionRow: string;\n propertyActions: PropertyAction[];\n propertyName: string;\n recursiveLevel: number;\n}\n\nconst SubActionRow = ({\n childrenForm = [],\n isFormDisabled,\n recursiveLevel,\n pathToDataFromActionRow,\n propertyActions,\n parentName,\n propertyName,\n}: SubActionRowProps) => {\n const { formatMessage } = useIntl();\n const { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } =\n usePermissionsDataManager();\n const [rowToOpen, setRowToOpen] = React.useState<string | null>(null);\n\n const handleClickToggleSubLevel = (name: string) => {\n setRowToOpen((prev) => {\n if (prev === name) {\n return null;\n }\n\n return name;\n });\n };\n\n const displayedRecursiveChildren = useMemo(() => {\n if (!rowToOpen) {\n return null;\n }\n\n return childrenForm.find(({ value }) => value === rowToOpen);\n }, [rowToOpen, childrenForm]);\n\n return (\n <Box paddingLeft={`2rem`}>\n <TopTimeline />\n {childrenForm.map(({ label, value, required, children: subChildrenForm }, index) => {\n const isVisible = index + 1 < childrenForm.length;\n const isArrayType = Array.isArray(subChildrenForm);\n const isActive = rowToOpen === value;\n\n return (\n <LeftBorderTimeline key={value} isVisible={isVisible}>\n <Flex height={rowHeight}>\n <StyledBox>\n <Svg\n width=\"20\"\n height=\"23\"\n viewBox=\"0 0 20 23\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n color=\"primary200\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n 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\"\n fill=\"#D9D8FF\"\n />\n </Svg>\n </StyledBox>\n <Flex style={{ flex: 1 }}>\n <RowStyle level={recursiveLevel} isActive={isActive} isCollapsable={isArrayType}>\n <CollapseLabel\n alignItems=\"center\"\n isCollapsable={isArrayType}\n {...(isArrayType && {\n onClick: () => handleClickToggleSubLevel(value),\n 'aria-expanded': isActive,\n onKeyDown: ({ key }) =>\n (key === 'Enter' || key === ' ') && handleClickToggleSubLevel(value),\n tabIndex: 0,\n role: 'button',\n })}\n title={label}\n >\n <Typography ellipsis>{capitalise(label)}</Typography>\n {required && <RequiredSign />}\n <CarretIcon $isActive={isActive} />\n </CollapseLabel>\n </RowStyle>\n <Flex style={{ flex: 1 }}>\n {propertyActions.map(\n ({ actionId, label: propertyLabel, isActionRelatedToCurrentProperty }) => {\n if (!isActionRelatedToCurrentProperty) {\n return <HiddenAction key={actionId} />;\n }\n /*\n * Usually we use a 'dot' in order to know the key path of an object for which we want to change the value.\n * Since an action and a subject are both separated by '.' or '::' we chose to use the '..' separators\n */\n const checkboxName = [\n ...pathToDataFromActionRow.split('..'),\n actionId,\n 'properties',\n propertyName,\n ...parentName.split('..'),\n value,\n ];\n\n const checkboxValue = get(modifiedData, checkboxName, false);\n\n if (!subChildrenForm) {\n return (\n <Flex\n key={propertyLabel}\n position=\"relative\"\n width={cellWidth}\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <BaseCheckbox\n disabled={isFormDisabled}\n name={checkboxName.join('..')}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-by-permission`,\n defaultMessage: 'Select {label} permission',\n },\n { label: `${parentName} ${label} ${propertyLabel}` }\n )}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName.join('..'),\n value,\n },\n });\n }}\n value={checkboxValue}\n />\n </Flex>\n );\n }\n\n const { hasAllActionsSelected, hasSomeActionsSelected } =\n getCheckboxState(checkboxValue);\n\n return (\n <Flex\n key={propertyLabel}\n position=\"relative\"\n width={cellWidth}\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <BaseCheckbox\n key={propertyLabel}\n disabled={isFormDisabled}\n name={checkboxName.join('..')}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-by-permission`,\n defaultMessage: 'Select {label} permission',\n },\n { label: `${parentName} ${label} ${propertyLabel}` }\n )}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: checkboxName.join('..'),\n value,\n },\n });\n }}\n value={hasAllActionsSelected}\n indeterminate={hasSomeActionsSelected}\n />\n </Flex>\n );\n }\n )}\n </Flex>\n </Flex>\n </Flex>\n {displayedRecursiveChildren && isActive && (\n <Box paddingBottom={2}>\n <SubActionRow\n isFormDisabled={isFormDisabled}\n parentName={`${parentName}..${value}`}\n pathToDataFromActionRow={pathToDataFromActionRow}\n propertyActions={propertyActions}\n propertyName={propertyName}\n recursiveLevel={recursiveLevel + 1}\n childrenForm={displayedRecursiveChildren.children}\n />\n </Box>\n )}\n </LeftBorderTimeline>\n );\n })}\n </Box>\n );\n};\n\nconst LeftBorderTimeline = styled(Box)<{ isVisible?: boolean }>`\n border-left: ${({ isVisible, theme }) =>\n isVisible ? `4px solid ${theme.colors.primary200}` : '4px solid transparent'};\n`;\n\nconst RowStyle = styled(Flex)<{ level: number; isCollapsable?: boolean; isActive?: boolean }>`\n padding-left: ${({ theme }) => theme.spaces[4]};\n width: ${({ level }) => 145 - level * 36}px;\n\n ${({ isCollapsable, theme }) =>\n isCollapsable &&\n `\n ${CarretIcon} {\n display: block;\n color: ${theme.colors.neutral100};\n }\n &:hover {\n ${activeStyle(theme)}\n }\n `}\n ${({ isActive, theme }) => isActive && activeStyle(theme)};\n`;\n\nconst TopTimeline = styled.div`\n padding-top: ${({ theme }) => theme.spaces[2]};\n margin-top: ${({ theme }) => theme.spaces[2]};\n width: ${4 / 16}rem;\n background-color: ${({ theme }) => theme.colors.primary200};\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n`;\n\nconst StyledBox = styled(Box)`\n transform: translate(-4px, -12px);\n\n &:before {\n content: '';\n width: ${4 / 16}rem;\n height: ${12 / 16}rem;\n background: ${({ theme }) => theme.colors.primary200};\n display: block;\n }\n`;\n\nconst Svg = styled.svg<{ color: keyof DefaultTheme['colors'] }>`\n position: relative;\n flex-shrink: 0;\n transform: translate(-0.5px, -1px);\n\n * {\n fill: ${({ theme, color }) => theme.colors[color]};\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderProps {\n headers?: PropertyAction[];\n label: string;\n}\n\nconst Header = ({ headers = [], label }: HeaderProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex>\n <Flex width={firstRowWidth} height={rowHeight} shrink={0} alignItems=\"center\" paddingLeft={6}>\n <Typography variant=\"sigma\" textColor=\"neutral500\">\n {formatMessage(\n {\n id: 'Settings.roles.form.permission.property-label',\n defaultMessage: '{label} permissions',\n },\n { label }\n )}\n </Typography>\n </Flex>\n {headers.map((header) => {\n if (!header.isActionRelatedToCurrentProperty) {\n return <Flex width={cellWidth} shrink={0} key={header.label} />;\n }\n\n return (\n <Flex width={cellWidth} shrink={0} justifyContent=\"center\" key={header.label}>\n <Typography variant=\"sigma\" textColor=\"neutral500\">\n {formatMessage({\n id: `Settings.roles.form.permissions.${header.label.toLowerCase()}`,\n defaultMessage: header.label,\n })}\n </Typography>\n </Flex>\n );\n })}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * activeStyle (util)\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal\n */\nconst activeStyle = (theme: DefaultTheme) => css`\n ${Typography} {\n color: ${theme.colors.primary600};\n font-weight: ${theme.fontWeights.bold};\n }\n ${CarretIcon} {\n display: block;\n\n path {\n fill: ${theme.colors.primary600};\n }\n }\n`;\n\nexport { activeStyle as _internalActiveStyle };\nexport { CollapsePropertyMatrix };\n","import { Box, Button, ButtonProps } from '@strapi/design-system';\nimport { Cog } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\ninterface ConditionsButtonProps extends Pick<ButtonProps, 'className' | 'onClick' | 'variant'> {\n hasConditions?: boolean;\n}\n\nconst ConditionsButtonImpl = ({\n onClick,\n className,\n hasConditions = false,\n variant = 'tertiary',\n}: ConditionsButtonProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <ButtonContainer hasConditions={hasConditions} className={className}>\n <Button variant={variant} startIcon={<Cog />} onClick={onClick}>\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Button>\n </ButtonContainer>\n );\n};\n\ninterface ButtonContainerProps extends Pick<ConditionsButtonProps, 'hasConditions'> {\n disabled?: boolean;\n}\n\nconst ButtonContainer = styled(Box)<ButtonContainerProps>`\n ${({ hasConditions, disabled, theme }) =>\n hasConditions &&\n `\n &:before {\n content: '';\n position: absolute;\n top: -3px;\n left: -10px;\n width: 6px;\n height: 6px;\n border-radius: ${20 / 16}rem;;\n background: ${disabled ? theme.colors.neutral100 : theme.colors.primary600};\n }\n `}\n`;\n\n/**\n * We reference the component directly in other styled-components\n * and as such we need it to have a className already assigned.\n * Therefore we wrapped the implementation in a styled function.\n */\nconst ConditionsButton = styled(ConditionsButtonImpl)``;\n\nexport { ConditionsButton };\nexport type { ConditionsButtonProps };\n","import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalLayout,\n ModalLayoutProps,\n MultiSelectNested,\n MultiSelectNestedProps,\n Typography,\n} from '@strapi/design-system';\nimport { Breadcrumbs, Crumb } from '@strapi/design-system/v2';\nimport produce from 'immer';\nimport get from 'lodash/get';\nimport groupBy from 'lodash/groupBy';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\n\nimport { capitalise } from '../../../../../utils/strings';\nimport {\n PermissionsDataManagerContextValue,\n usePermissionsDataManager,\n} from '../hooks/usePermissionsDataManager';\n\nimport type { HiddenCheckboxAction, VisibleCheckboxAction } from './ContentTypeCollapses';\nimport type { ConditionForm } from '../utils/forms';\n\n/* -------------------------------------------------------------------------------------------------\n * ConditionsModal\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ConditionAction extends Pick<ActionRowProps, 'label'> {\n actionId: string;\n isDisplayed: boolean;\n hasSomeActionsSelected?: boolean;\n hasAllActionsSelected?: boolean;\n pathToConditionsObject: string[];\n}\n\ninterface ConditionsModalProps extends Pick<ActionRowProps, 'isFormDisabled'> {\n actions?: Array<ConditionAction | HiddenCheckboxAction | VisibleCheckboxAction>;\n headerBreadCrumbs?: string[];\n onClosed: ModalLayoutProps['onClose'];\n onToggle: () => void;\n}\n\nconst ConditionsModal = ({\n actions = [],\n headerBreadCrumbs = [],\n isFormDisabled,\n onClosed,\n onToggle,\n}: ConditionsModalProps) => {\n const { formatMessage } = useIntl();\n const { availableConditions, modifiedData, onChangeConditions } = usePermissionsDataManager();\n\n const arrayOfOptionsGroupedByCategory = React.useMemo(() => {\n return Object.entries(groupBy(availableConditions, 'category'));\n }, [availableConditions]);\n\n const actionsToDisplay = actions.filter<VisibleCheckboxAction | ConditionAction>(\n // @ts-expect-error – TODO: fix this type issue\n ({ isDisplayed, hasSomeActionsSelected, hasAllActionsSelected }) =>\n isDisplayed && Boolean(hasSomeActionsSelected || hasAllActionsSelected)\n );\n\n const [state, setState] = React.useState(\n createDefaultConditionsForm(actionsToDisplay, modifiedData, arrayOfOptionsGroupedByCategory)\n );\n\n const handleChange = (name: string, values: ConditionForm) => {\n setState(\n produce((draft) => {\n if (!draft[name]) {\n draft[name] = {};\n }\n\n if (!draft[name].default) {\n draft[name].default = {};\n }\n\n draft[name].default = values;\n })\n );\n };\n\n const handleSubmit = () => {\n const conditionsWithoutCategory = Object.entries(state).reduce<Record<string, ConditionForm>>(\n (acc, current) => {\n const [key, value] = current;\n\n const merged = Object.values(value).reduce((acc1, current1) => {\n return { ...acc1, ...current1 };\n }, {});\n\n acc[key] = merged;\n\n return acc;\n },\n {}\n );\n\n onChangeConditions(conditionsWithoutCategory);\n onToggle();\n };\n\n return (\n <ModalLayout labelledBy=\"condition-modal-breadcrumbs\" onClose={onClosed}>\n <ModalHeader>\n <Breadcrumbs id=\"condition-modal-breadcrumbs\" label={headerBreadCrumbs.join(', ')}>\n {headerBreadCrumbs.map((label, index, arr) => (\n <Crumb isCurrent={index === arr.length - 1} key={label}>\n {upperFirst(\n formatMessage({\n id: label,\n defaultMessage: label,\n })\n )}\n </Crumb>\n ))}\n </Breadcrumbs>\n </ModalHeader>\n <ModalBody>\n {actionsToDisplay.length === 0 && (\n <Typography>\n {formatMessage({\n id: 'Settings.permissions.conditions.no-actions',\n defaultMessage:\n 'You first need to select actions (create, read, update, ...) before defining conditions on them.',\n })}\n </Typography>\n )}\n <ul>\n {actionsToDisplay.map(({ actionId, label, pathToConditionsObject }, index) => {\n const name = pathToConditionsObject.join('..');\n\n return (\n <ActionRow\n key={actionId}\n arrayOfOptionsGroupedByCategory={arrayOfOptionsGroupedByCategory}\n label={label}\n isFormDisabled={isFormDisabled}\n isGrey={index % 2 === 0}\n name={name}\n onChange={handleChange}\n value={get(state, name, {})}\n />\n );\n })}\n </ul>\n </ModalBody>\n <ModalFooter\n startActions={\n <Button variant=\"tertiary\" onClick={onToggle}>\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n }\n endActions={\n <Button onClick={handleSubmit}>\n {formatMessage({\n id: 'Settings.permissions.conditions.apply',\n defaultMessage: 'Apply',\n })}\n </Button>\n }\n />\n </ModalLayout>\n );\n};\n\nconst createDefaultConditionsForm = (\n actionsToDisplay: Array<ConditionAction | VisibleCheckboxAction>,\n modifiedData: PermissionsDataManagerContextValue['modifiedData'],\n arrayOfOptionsGroupedByCategory: ActionRowProps['arrayOfOptionsGroupedByCategory']\n) => {\n return actionsToDisplay.reduce<Record<string, Record<string, ConditionForm>>>((acc, current) => {\n const valueFromModifiedData: ConditionForm = get(\n modifiedData,\n [...current.pathToConditionsObject, 'conditions'],\n {}\n );\n\n const categoryDefaultForm = arrayOfOptionsGroupedByCategory.reduce<\n Record<string, ConditionForm>\n >((acc, current) => {\n const [categoryName, relatedConditions] = current;\n\n const conditionsForm = relatedConditions.reduce<ConditionForm>((acc, current) => {\n acc[current.id] = get(valueFromModifiedData, current.id, false);\n\n return acc;\n }, {});\n\n acc[categoryName] = conditionsForm;\n\n return acc;\n }, {});\n\n acc[current.pathToConditionsObject.join('..')] = categoryDefaultForm;\n\n return acc;\n }, {});\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ActionRow\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ActionRowProps {\n arrayOfOptionsGroupedByCategory: Array<\n [string, PermissionsDataManagerContextValue['availableConditions']]\n >;\n isFormDisabled?: boolean;\n isGrey?: boolean;\n label: string;\n name: string;\n onChange?: (name: string, values: Record<string, boolean>) => void;\n value: Record<string, ConditionForm>;\n}\n\nconst ActionRow = ({\n arrayOfOptionsGroupedByCategory,\n isFormDisabled = false,\n isGrey = false,\n label,\n name,\n onChange,\n value,\n}: ActionRowProps) => {\n const { formatMessage } = useIntl();\n\n const handleChange: MultiSelectNestedProps['onChange'] = (val) => {\n if (onChange) {\n onChange(name, getNewStateFromChangedValues(arrayOfOptionsGroupedByCategory, val));\n }\n };\n\n return (\n <Flex as=\"li\" background={isGrey ? 'neutral100' : 'neutral0'} paddingBottom={3} paddingTop={3}>\n <Flex paddingLeft={6} style={{ width: 180 }}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.permissions.conditions.can',\n defaultMessage: 'Can',\n })}\n \n </Typography>\n <Typography variant=\"sigma\" title={label} textColor=\"primary600\" ellipsis>\n {formatMessage({\n id: `Settings.roles.form.permissions.${label.toLowerCase()}`,\n defaultMessage: label,\n })}\n </Typography>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n \n {formatMessage({\n id: 'Settings.permissions.conditions.when',\n defaultMessage: 'When',\n })}\n </Typography>\n </Flex>\n <Box style={{ maxWidth: 430, width: '100%' }}>\n {/* @ts-expect-error – fix this label issue */}\n <MultiSelectNested\n id={name}\n customizeContent={(values = []) => `${values.length} currently selected`}\n onChange={handleChange}\n value={getSelectedValues(value)}\n options={getNestedOptions(arrayOfOptionsGroupedByCategory)}\n disabled={isFormDisabled}\n />\n </Box>\n </Flex>\n );\n};\n\nconst getSelectedValues = (rawValue: Record<string, ConditionForm>): string[] =>\n Object.values(rawValue)\n .map((x) =>\n Object.entries(x)\n .filter(([, value]) => value)\n .map(([key]) => key)\n )\n .flat();\n\nconst getNestedOptions = (options: ActionRowProps['arrayOfOptionsGroupedByCategory']) =>\n options.reduce<MultiSelectNestedProps['options']>((acc, [label, children]) => {\n acc.push({\n label: capitalise(label),\n children: children.map((child) => ({\n label: child.displayName,\n value: child.id,\n })),\n });\n\n return acc;\n }, []);\n\nconst getNewStateFromChangedValues = (\n options: ActionRowProps['arrayOfOptionsGroupedByCategory'],\n changedValues: string[]\n) =>\n options\n .map(([, values]) => values)\n .flat()\n .reduce<Record<string, boolean>>(\n (acc, curr) => ({ [curr.id]: changedValues.includes(curr.id), ...acc }),\n {}\n );\n\nexport { ConditionsModal };\nexport type { ConditionsModalProps };\n","import * as React from 'react';\n\nimport { BaseCheckbox, Box, Flex } from '@strapi/design-system';\nimport { ChevronDown, ChevronUp } from '@strapi/icons';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport omit from 'lodash/omit';\nimport { useIntl } from 'react-intl';\nimport styled, { DefaultTheme } from 'styled-components';\n\nimport { Action, Subject } from '../../../../../../../shared/contracts/permissions';\nimport {\n PermissionsDataManagerContextValue,\n usePermissionsDataManager,\n} from '../hooks/usePermissionsDataManager';\nimport { cellWidth, rowHeight } from '../utils/constants';\nimport { createArrayOfValues } from '../utils/createArrayOfValues';\nimport { ConditionForm } from '../utils/forms';\nimport { getCheckboxState } from '../utils/getCheckboxState';\n\nimport { CollapsePropertyMatrix, _internalActiveStyle } from './CollapsePropertyMatrix';\nimport { ConditionsButton } from './ConditionsButton';\nimport { ConditionsModal } from './ConditionsModal';\nimport { HiddenAction } from './HiddenAction';\nimport { RowLabelWithCheckbox, RowLabelWithCheckboxProps } from './RowLabelWithCheckbox';\n\n/* -------------------------------------------------------------------------------------------------\n * ContentTypeCollapses\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ContentTypeCollapsesProps extends Pick<CollapseProps, 'pathToData'> {\n actions?: Action[];\n isFormDisabled?: boolean;\n subjects?: Subject[];\n}\n\nconst ContentTypeCollapses = ({\n actions = [],\n isFormDisabled,\n pathToData,\n subjects = [],\n}: ContentTypeCollapsesProps) => {\n const [collapseToOpen, setCollapseToOpen] = React.useState<string | null>(null);\n\n const handleClickToggleCollapse = (collapseName: string) => () => {\n const nextCollapseToOpen = collapseToOpen === collapseName ? null : collapseName;\n\n setCollapseToOpen(nextCollapseToOpen);\n };\n\n return (\n <>\n {subjects.map(({ uid, label, properties }, index) => {\n const isActive = collapseToOpen === uid;\n const availableActions = actions.map((action) => ({\n ...action,\n isDisplayed: Array.isArray(action.subjects) && action.subjects.indexOf(uid) !== -1,\n }));\n return (\n <Flex\n key={uid}\n direction=\"column\"\n display=\"inline-flex\"\n minWidth=\"100%\"\n borderColor=\"primary600\"\n borderWidth={isActive ? 1 : 0}\n >\n <Collapse\n availableActions={availableActions}\n isActive={isActive}\n isGrey={index % 2 === 0}\n isFormDisabled={isFormDisabled}\n label={label}\n onClickToggle={handleClickToggleCollapse(uid)}\n pathToData={[pathToData, uid].join('..')}\n />\n {isActive &&\n properties.map(({ label: propertyLabel, value, children: childrenForm }) => {\n return (\n <CollapsePropertyMatrix\n availableActions={availableActions}\n childrenForm={childrenForm}\n isFormDisabled={isFormDisabled}\n label={propertyLabel}\n pathToData={[pathToData, uid].join('..')}\n propertyName={value}\n key={value}\n />\n );\n })}\n </Flex>\n );\n })}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Collapse\n * -----------------------------------------------------------------------------------------------*/\n\ninterface CollapseProps\n extends Pick<RowLabelWithCheckboxProps, 'isActive' | 'isFormDisabled' | 'label'> {\n availableActions?: Array<Action & { isDisplayed: boolean }>;\n isGrey?: boolean;\n onClickToggle: RowLabelWithCheckboxProps['onClick'];\n pathToData: string;\n}\n\nconst Collapse = ({\n availableActions = [],\n isActive = false,\n isGrey = false,\n isFormDisabled = false,\n label,\n onClickToggle,\n pathToData,\n}: CollapseProps) => {\n const [isModalOpen, setModalOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n const { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } =\n usePermissionsDataManager();\n\n const handleToggleModalIsOpen = () => {\n setModalOpen((s) => !s);\n };\n\n const handleModalClose = () => {\n setModalOpen(false);\n };\n\n // This corresponds to the data related to the CT left checkbox\n // modifiedData: { collectionTypes: { [ctuid]: {create: {properties: { fields: {f1: true} }, update: {}, ... } } } }\n const mainData = get(modifiedData, pathToData.split('..'), {});\n // The utils we are using: getCheckboxState, retrieves all the boolean leafs of an object in order\n // to return the state of checkbox. Since the conditions are not related to the property we need to remove the key from the object.\n const dataWithoutCondition = React.useMemo(() => {\n return Object.keys(mainData).reduce<Record<string, ConditionForm>>((acc, current) => {\n acc[current] = omit(mainData[current], 'conditions');\n\n return acc;\n }, {});\n }, [mainData]);\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(dataWithoutCondition);\n\n // Here we create an array of <checkbox>, since the state of each one of them is used in\n // order to know if whether or not we need to display the associated action in\n // the <ConditionsModal />\n const checkboxesActions = React.useMemo(() => {\n return generateCheckboxesActions(availableActions, modifiedData, pathToData);\n }, [availableActions, modifiedData, pathToData]);\n\n // @ts-expect-error – hasConditions does not exist on all versions of checkboxesActions.\n const doesConditionButtonHasConditions = checkboxesActions.some((action) => action.hasConditions);\n\n return (\n <BoxWrapper isActive={isActive}>\n <Wrapper\n height={rowHeight}\n flex={1}\n alignItems=\"center\"\n background={isGrey ? 'neutral100' : 'neutral0'}\n >\n <RowLabelWithCheckbox\n isCollapsable\n isFormDisabled={isFormDisabled}\n label={label}\n checkboxName={pathToData}\n onChange={onChangeParentCheckbox}\n onClick={onClickToggle}\n someChecked={hasSomeActionsSelected}\n value={hasAllActionsSelected}\n isActive={isActive}\n >\n <Chevron paddingLeft={2}>{isActive ? <ChevronUp /> : <ChevronDown />}</Chevron>\n </RowLabelWithCheckbox>\n\n <Flex style={{ flex: 1 }}>\n {checkboxesActions.map(\n ({ actionId, hasSomeActionsSelected, isDisplayed, ...restAction }) => {\n if (!isDisplayed) {\n return <HiddenAction key={actionId} />;\n }\n\n const {\n hasConditions,\n hasAllActionsSelected,\n isParentCheckbox,\n checkboxName,\n label: permissionLabel,\n } = restAction as VisibleCheckboxAction;\n\n if (isParentCheckbox) {\n return (\n <Cell key={actionId} justifyContent=\"center\" alignItems=\"center\">\n {hasConditions && (\n <Box\n as=\"span\"\n position=\"absolute\"\n top=\"-6px\"\n left=\"37px\"\n width=\"6px\"\n height=\"6px\"\n borderRadius=\"20px\"\n background=\"primary600\"\n />\n )}\n <BaseCheckbox\n disabled={isFormDisabled}\n name={checkboxName}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-by-permission`,\n defaultMessage: 'Select {label} permission',\n },\n { label: `${permissionLabel} ${label}` }\n )}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: checkboxName,\n value,\n },\n });\n }}\n indeterminate={hasSomeActionsSelected}\n value={hasAllActionsSelected}\n />\n </Cell>\n );\n }\n\n return (\n <Cell key={actionId} justifyContent=\"center\" alignItems=\"center\">\n {hasConditions && (\n <Box\n as=\"span\"\n position=\"absolute\"\n top=\"-6px\"\n left=\"37px\"\n width=\"6px\"\n height=\"6px\"\n borderRadius=\"20px\"\n background=\"primary600\"\n />\n )}\n <BaseCheckbox\n disabled={isFormDisabled}\n indeterminate={hasConditions}\n name={checkboxName}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName,\n value,\n },\n });\n }}\n value={hasAllActionsSelected}\n />\n </Cell>\n );\n }\n )}\n </Flex>\n {isModalOpen && (\n <ConditionsModal\n headerBreadCrumbs={[label, 'Settings.permissions.conditions.conditions']}\n actions={checkboxesActions}\n isFormDisabled={isFormDisabled}\n onClosed={handleModalClose}\n onToggle={handleToggleModalIsOpen}\n />\n )}\n </Wrapper>\n <Box transform=\"translateY(10px)\" right=\"9px\" position=\"absolute\">\n <ConditionsButton\n onClick={handleToggleModalIsOpen}\n hasConditions={doesConditionButtonHasConditions}\n />\n </Box>\n </BoxWrapper>\n );\n};\n\ninterface VisibleCheckboxAction {\n actionId: string;\n hasAllActionsSelected: boolean;\n hasSomeActionsSelected: boolean;\n isDisplayed: true;\n isParentCheckbox: boolean;\n checkboxName: string;\n label: string;\n hasConditions: boolean;\n pathToConditionsObject: string[];\n}\n\ninterface HiddenCheckboxAction {\n actionId: string;\n isDisplayed: false;\n hasAllActionsSelected?: never;\n hasSomeActionsSelected: boolean;\n}\n\nconst generateCheckboxesActions = (\n availableActions: Array<Action & { isDisplayed: boolean }>,\n modifiedData: PermissionsDataManagerContextValue['modifiedData'],\n pathToData: string\n): Array<VisibleCheckboxAction | HiddenCheckboxAction> => {\n return availableActions.map(({ actionId, isDisplayed, applyToProperties, label }) => {\n if (!isDisplayed) {\n return { actionId, hasSomeActionsSelected: false, isDisplayed };\n }\n\n const baseCheckboxNameArray = [...pathToData.split('..'), actionId];\n const checkboxNameArray = isEmpty(applyToProperties)\n ? [...baseCheckboxNameArray, 'properties', 'enabled']\n : baseCheckboxNameArray;\n const conditionsValue = get(modifiedData, [...baseCheckboxNameArray, 'conditions'], null);\n\n const baseCheckboxAction = {\n actionId,\n checkboxName: checkboxNameArray.join('..'),\n hasConditions: createArrayOfValues(conditionsValue).some((val) => val),\n isDisplayed,\n label,\n pathToConditionsObject: baseCheckboxNameArray,\n };\n\n if (isEmpty(applyToProperties)) {\n const value = get(modifiedData, checkboxNameArray, false);\n\n // Since applyToProperties is empty it is not a parent checkbox, therefore hasAllActionsSelected is\n // equal to hasSomeActionsSelected\n return {\n ...baseCheckboxAction,\n hasAllActionsSelected: value,\n hasSomeActionsSelected: value,\n isParentCheckbox: false,\n };\n }\n\n const mainData = get(modifiedData, checkboxNameArray, null);\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(mainData);\n\n return {\n ...baseCheckboxAction,\n hasAllActionsSelected,\n hasSomeActionsSelected,\n isParentCheckbox: true,\n };\n });\n};\n\nconst activeRowStyle = (theme: DefaultTheme, isActive?: boolean): string => `\n ${Wrapper} {\n background-color: ${theme.colors.primary100};\n color: ${theme.colors.primary600};\n border-radius: ${isActive ? '2px 2px 0 0' : '2px'};\n }\n ${Chevron} {\n display: flex;\n }\n ${ConditionsButton} {\n display: block;\n }\n &:hover {\n ${_internalActiveStyle(theme)}\n }\n\n &:focus-within {\n ${() => activeRowStyle(theme, isActive)}\n }\n`;\n\nconst Wrapper = styled(Flex)`\n border: 1px solid transparent;\n`;\n\nconst BoxWrapper = styled.div<{ isActive: boolean }>`\n display: inline-flex;\n min-width: 100%;\n\n ${ConditionsButton} {\n display: none;\n }\n ${({ isActive, theme }) => isActive && activeRowStyle(theme, isActive)}\n &:hover {\n ${({ theme, isActive }) => activeRowStyle(theme, isActive)}\n }\n`;\n\nconst Cell = styled(Flex)`\n width: ${cellWidth};\n position: relative;\n`;\n\nconst Chevron = styled(Box)`\n display: none;\n svg {\n width: 11px;\n }\n * {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n`;\n\nexport { ContentTypeCollapses };\nexport type { ContentTypeCollapsesProps, HiddenCheckboxAction, VisibleCheckboxAction };\n","import * as React from 'react';\n\nimport { BaseCheckbox, Box, Flex, Typography } from '@strapi/design-system';\nimport get from 'lodash/get';\nimport { useIntl } from 'react-intl';\n\nimport { Action } from '../../../../../../../shared/contracts/permissions';\nimport {\n PermissionsDataManagerContextValue,\n usePermissionsDataManager,\n} from '../hooks/usePermissionsDataManager';\nimport { cellWidth, firstRowWidth } from '../utils/constants';\nimport { RecursiveRecordOfBooleans, getCheckboxState } from '../utils/getCheckboxState';\nimport { removeConditionKeyFromData } from '../utils/removeConditionKeyFromData';\n\ninterface GlobalActionsProps {\n actions: Action[];\n isFormDisabled?: boolean;\n kind: Extract<keyof PermissionsDataManagerContextValue['modifiedData'], `${string}Types`>;\n}\n\nconst GlobalActions = ({ actions = [], isFormDisabled, kind }: GlobalActionsProps) => {\n const { formatMessage } = useIntl();\n const { modifiedData, onChangeCollectionTypeGlobalActionCheckbox } = usePermissionsDataManager();\n\n const displayedActions = actions.filter(({ subjects }) => subjects && subjects.length);\n\n const checkboxesState = React.useMemo(() => {\n const actionsIds = displayedActions.map(({ actionId }) => actionId);\n\n const data = modifiedData[kind];\n\n const relatedActionsData = actionsIds.reduce<Record<string, RecursiveRecordOfBooleans>>(\n (acc, actionId) => {\n Object.keys(data).forEach((ctUid) => {\n const actionIdData = get(data, [ctUid, actionId]);\n\n const actionIdState = { [ctUid]: removeConditionKeyFromData(actionIdData)! };\n\n if (!acc[actionId]) {\n acc[actionId] = actionIdState;\n } else {\n acc[actionId] = { ...acc[actionId], ...actionIdState };\n }\n });\n\n return acc;\n },\n {}\n );\n\n const checkboxesState = Object.keys(relatedActionsData).reduce<\n Record<\n string,\n {\n hasAllActionsSelected: boolean;\n hasSomeActionsSelected: boolean;\n }\n >\n >((acc, current) => {\n acc[current] = getCheckboxState(relatedActionsData[current]);\n\n return acc;\n }, {});\n\n return checkboxesState;\n }, [modifiedData, displayedActions, kind]);\n\n return (\n <Box paddingBottom={4} paddingTop={6} style={{ paddingLeft: firstRowWidth }}>\n <Flex gap={0}>\n {displayedActions.map(({ label, actionId }) => {\n return (\n <Flex\n shrink={0}\n width={cellWidth}\n direction=\"column\"\n alignItems=\"center\"\n justifyContent=\"center\"\n key={actionId}\n gap={3}\n >\n <Typography variant=\"sigma\" textColor=\"neutral500\">\n {formatMessage({\n id: `Settings.roles.form.permissions.${label.toLowerCase()}`,\n defaultMessage: label,\n })}\n </Typography>\n <BaseCheckbox\n disabled={isFormDisabled}\n onValueChange={(value) => {\n onChangeCollectionTypeGlobalActionCheckbox(kind, actionId, value);\n }}\n name={actionId}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-all-by-permission`,\n defaultMessage: 'Select all {label} permissions',\n },\n {\n label: formatMessage({\n id: `Settings.roles.form.permissions.${label.toLowerCase()}`,\n defaultMessage: label,\n }),\n }\n )}\n value={get(checkboxesState, [actionId, 'hasAllActionsSelected'], false)}\n indeterminate={get(checkboxesState, [actionId, 'hasSomeActionsSelected'], false)}\n />\n </Flex>\n );\n })}\n </Flex>\n </Box>\n );\n};\n\nexport { GlobalActions };\nexport type { GlobalActionsProps };\n","import { Box } from '@strapi/design-system';\nimport styled from 'styled-components';\n\nimport { ContentPermission } from '../../../../../../../shared/contracts/permissions';\n\nimport { ContentTypeCollapses } from './ContentTypeCollapses';\nimport { GlobalActions, GlobalActionsProps } from './GlobalActions';\n\ninterface ContentTypesProps extends Pick<GlobalActionsProps, 'kind'> {\n isFormDisabled?: boolean;\n layout: ContentPermission;\n}\n\nconst ContentTypes = ({\n isFormDisabled,\n kind,\n layout: { actions, subjects },\n}: ContentTypesProps) => {\n const sortedSubjects = [...subjects].sort((a, b) => a.label.localeCompare(b.label));\n\n return (\n <StyledBox background=\"neutral0\">\n <GlobalActions actions={actions} kind={kind} isFormDisabled={isFormDisabled} />\n <ContentTypeCollapses\n actions={actions}\n isFormDisabled={isFormDisabled}\n pathToData={kind}\n subjects={sortedSubjects}\n />\n </StyledBox>\n );\n};\n\nconst StyledBox = styled(Box)`\n overflow-x: auto;\n`;\n\nexport { ContentTypes };\n","import * as React from 'react';\n\nimport {\n Accordion,\n AccordionContent,\n AccordionToggle,\n Box,\n Checkbox,\n Flex,\n Grid,\n GridItem,\n Typography,\n} from '@strapi/design-system';\nimport get from 'lodash/get';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport {\n SettingPermission,\n PluginPermission,\n} from '../../../../../../../shared/contracts/permissions';\nimport { capitalise } from '../../../../../utils/strings';\nimport {\n PermissionsDataManagerContextValue,\n usePermissionsDataManager,\n} from '../hooks/usePermissionsDataManager';\nimport { createArrayOfValues } from '../utils/createArrayOfValues';\nimport { ChildrenForm, ConditionForm } from '../utils/forms';\nimport { RecursiveRecordOfBooleans, getCheckboxState } from '../utils/getCheckboxState';\nimport { removeConditionKeyFromData } from '../utils/removeConditionKeyFromData';\n\nimport { ConditionsButton } from './ConditionsButton';\nimport { ConditionsModal } from './ConditionsModal';\n\nimport type { GenericLayout } from '../utils/layouts';\n\n/* -------------------------------------------------------------------------------------------------\n * PluginsAndSettingsPermissions\n * -----------------------------------------------------------------------------------------------*/\n\ntype Layout = GenericLayout<SettingPermission | PluginPermission>[];\n\ninterface PluginsAndSettingsPermissionsProps extends Pick<RowProps, 'kind' | 'isFormDisabled'> {\n layout: Layout;\n}\n\nconst PluginsAndSettingsPermissions = ({\n layout,\n ...restProps\n}: PluginsAndSettingsPermissionsProps) => {\n const [openedCategory, setOpenedCategory] = React.useState<string | null>(null);\n\n const handleOpenCategory = (categoryName: string) => {\n setOpenedCategory(categoryName === openedCategory ? null : categoryName);\n };\n\n return (\n <Box padding={6} background=\"neutral0\">\n {layout.map(({ category, categoryId, childrenForm }, index) => {\n return (\n <Row\n key={category}\n childrenForm={childrenForm}\n isOpen={openedCategory === category}\n isWhite={index % 2 === 1}\n name={category}\n onOpenCategory={handleOpenCategory}\n pathToData={[restProps.kind, categoryId]}\n {...restProps}\n />\n );\n })}\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Row\n * -----------------------------------------------------------------------------------------------*/\n\ninterface RowProps extends Pick<Layout[number], 'childrenForm'> {\n kind: Exclude<keyof PermissionsDataManagerContextValue['modifiedData'], `${string}Types`>;\n name: string;\n isFormDisabled?: boolean;\n isOpen?: boolean;\n isWhite?: boolean;\n onOpenCategory: (categoryName: string) => void;\n pathToData: string[];\n}\n\nconst Row = ({\n childrenForm,\n kind,\n name,\n isOpen = false,\n isFormDisabled = false,\n isWhite,\n onOpenCategory,\n pathToData,\n}: RowProps) => {\n const { formatMessage } = useIntl();\n const handleClick = () => {\n onOpenCategory(name);\n };\n\n const categoryName = name.split('::').pop() ?? '';\n\n return (\n <Accordion\n expanded={isOpen}\n onToggle={handleClick}\n id={`accordion-${name}`}\n variant={isWhite ? 'primary' : 'secondary'}\n >\n <AccordionToggle\n title={capitalise(categoryName)}\n description={`${formatMessage(\n { id: 'Settings.permissions.category', defaultMessage: categoryName },\n { category: categoryName }\n )} ${kind === 'plugins' ? 'plugin' : kind}`}\n />\n\n <AccordionContent>\n <Box padding={6}>\n {childrenForm.map(({ actions, subCategoryName, subCategoryId }) => (\n <SubCategory\n key={subCategoryName}\n actions={actions}\n categoryName={categoryName}\n isFormDisabled={isFormDisabled}\n subCategoryName={subCategoryName}\n pathToData={[...pathToData, subCategoryId]}\n />\n ))}\n </Box>\n </AccordionContent>\n </Accordion>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * SubCategory\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SubCategoryProps {\n actions?: Array<SettingPermission | PluginPermission>;\n categoryName: string;\n isFormDisabled?: boolean;\n subCategoryName: string;\n pathToData: string[];\n}\n\nconst SubCategory = ({\n actions = [],\n categoryName,\n isFormDisabled,\n subCategoryName,\n pathToData,\n}: SubCategoryProps) => {\n const [isModalOpen, setModalOpen] = React.useState(false);\n const { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } =\n usePermissionsDataManager();\n const { formatMessage } = useIntl();\n\n const mainData = get(modifiedData, pathToData, {});\n\n const dataWithoutCondition = React.useMemo(() => {\n return Object.keys(mainData).reduce<RecursiveRecordOfBooleans>((acc, current) => {\n acc[current] = removeConditionKeyFromData(mainData[current])!;\n\n return acc;\n }, {});\n }, [mainData]);\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(dataWithoutCondition);\n\n const handleToggleModalIsOpen = () => {\n setModalOpen((s) => !s);\n };\n\n const handleModalClose = () => {\n setModalOpen(false);\n };\n // We need to format the actions so it matches the shape of the ConditionsModal actions props\n const formattedActions = React.useMemo(() => {\n return actions.map((action) => {\n const checkboxName = [...pathToData, action.action, 'properties', 'enabled'];\n const checkboxValue = get(modifiedData, checkboxName, false);\n const conditionValue = get(modifiedData, [...pathToData, action.action, 'conditions'], {});\n const hasConditions = createArrayOfValues(conditionValue).some((val) => val);\n\n return {\n ...action,\n isDisplayed: checkboxValue,\n checkboxName: checkboxName.join('..'),\n hasSomeActionsSelected: checkboxValue,\n value: checkboxValue,\n hasConditions,\n label: action.displayName,\n actionId: action.action,\n pathToConditionsObject: [...pathToData, action.action],\n };\n });\n }, [actions, modifiedData, pathToData]);\n\n const datum: ChildrenForm = get(modifiedData, [...pathToData], {});\n\n const doesButtonHasCondition = createArrayOfValues(\n Object.entries(datum).reduce<Record<string, ConditionForm>>((acc, current) => {\n const [catName, { conditions }] = current;\n\n acc[catName] = conditions;\n\n return acc;\n }, {})\n ).some((val) => val);\n\n return (\n <>\n <Box>\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Box paddingRight={4}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {subCategoryName}\n </Typography>\n </Box>\n <Border flex={1} />\n <Box paddingLeft={4}>\n <Checkbox\n name={pathToData.join('..')}\n disabled={isFormDisabled}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: pathToData.join('..'),\n value,\n },\n });\n }}\n indeterminate={hasSomeActionsSelected}\n value={hasAllActionsSelected}\n >\n {formatMessage({ id: 'app.utils.select-all', defaultMessage: 'Select all' })}\n </Checkbox>\n </Box>\n </Flex>\n <Flex paddingTop={6} paddingBottom={6}>\n <Grid gap={2} style={{ flex: 1 }}>\n {formattedActions.map(({ checkboxName, value, action, displayName, hasConditions }) => {\n return (\n <GridItem col={3} key={action}>\n <CheckboxWrapper disabled={isFormDisabled} hasConditions={hasConditions}>\n <Checkbox\n name={checkboxName}\n disabled={isFormDisabled}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName,\n value,\n },\n });\n }}\n value={value}\n >\n {displayName}\n </Checkbox>\n </CheckboxWrapper>\n </GridItem>\n );\n })}\n </Grid>\n <ConditionsButton\n hasConditions={doesButtonHasCondition}\n onClick={handleToggleModalIsOpen}\n />\n </Flex>\n </Box>\n {isModalOpen && (\n <ConditionsModal\n headerBreadCrumbs={[categoryName, subCategoryName]}\n actions={formattedActions}\n isFormDisabled={isFormDisabled}\n onClosed={handleModalClose}\n onToggle={handleToggleModalIsOpen}\n />\n )}\n </>\n );\n};\n\nconst Border = styled(Box)`\n align-self: center;\n border-top: 1px solid ${({ theme }) => theme.colors.neutral150};\n`;\n\nconst CheckboxWrapper = styled.div<{ hasConditions?: boolean; disabled?: boolean }>`\n position: relative;\n word-break: keep-all;\n ${({ hasConditions, disabled, theme }) =>\n hasConditions &&\n `\n &:before {\n content: '';\n position: absolute;\n top: ${-4 / 16}rem;\n left: ${-8 / 16}rem;\n width: ${6 / 16}rem;\n height: ${6 / 16}rem;\n border-radius: ${20 / 16}rem;\n background: ${disabled ? theme.colors.neutral100 : theme.colors.primary600};\n }\n `}\n`;\n\nexport { PluginsAndSettingsPermissions };\n","import * as React from 'react';\n\nimport { Tab, TabGroup, TabPanel, TabPanels, Tabs } from '@strapi/design-system';\nimport produce from 'immer';\nimport cloneDeep from 'lodash/cloneDeep';\nimport get from 'lodash/get';\nimport has from 'lodash/has';\nimport isEmpty from 'lodash/isEmpty';\nimport set from 'lodash/set';\nimport { useIntl } from 'react-intl';\n\nimport * as PermissonContracts from '../../../../../../../shared/contracts/permissions';\nimport { Permission } from '../../../../../../../shared/contracts/shared';\nimport { isObject } from '../../../../../utils/objects';\nimport {\n PermissionsDataManagerContextValue,\n PermissionsDataManagerProvider,\n} from '../hooks/usePermissionsDataManager';\nimport { difference } from '../utils/difference';\nimport { ConditionForm, Form, createDefaultCTForm, createDefaultForm } from '../utils/forms';\nimport { GenericLayout, formatLayout } from '../utils/layouts';\nimport { formatPermissionsForAPI } from '../utils/permissions';\nimport { updateConditionsToFalse } from '../utils/updateConditionsToFalse';\nimport { updateValues } from '../utils/updateValues';\n\nimport { ContentTypes } from './ContentTypes';\nimport { PluginsAndSettingsPermissions } from './PluginsAndSettings';\n\nconst TAB_LABELS = [\n {\n labelId: 'app.components.LeftMenuLinkContainer.collectionTypes',\n defaultMessage: 'Collection Types',\n id: 'collectionTypes',\n },\n {\n labelId: 'app.components.LeftMenuLinkContainer.singleTypes',\n id: 'singleTypes',\n defaultMessage: 'Single Types',\n },\n {\n labelId: 'app.components.LeftMenuLinkContainer.plugins',\n defaultMessage: 'Plugins',\n id: 'plugins',\n },\n {\n labelId: 'app.components.LeftMenuLinkContainer.settings',\n defaultMessage: 'Settings',\n id: 'settings',\n },\n] as const;\n\n/* -------------------------------------------------------------------------------------------------\n * Permissions\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface PermissionsAPI {\n getPermissions: () => {\n didUpdateConditions: boolean;\n permissionsToSend: Omit<Permission, 'id' | 'createdAt' | 'updatedAt' | 'actionParameters'>[];\n };\n resetForm: () => void;\n setFormAfterSubmit: () => void;\n}\n\ninterface PermissionsProps {\n isFormDisabled?: boolean;\n permissions?: Permission[];\n layout: PermissonContracts.GetAll.Response['data'];\n}\n\nconst Permissions = React.forwardRef<PermissionsAPI, PermissionsProps>(\n ({ layout, isFormDisabled, permissions = [] }, api) => {\n const [{ initialData, layouts, modifiedData }, dispatch] = React.useReducer(\n reducer,\n initialState,\n () => init(layout, permissions)\n );\n const { formatMessage } = useIntl();\n\n React.useImperativeHandle(api, () => {\n return {\n getPermissions() {\n const collectionTypesDiff = difference(\n initialData.collectionTypes,\n modifiedData.collectionTypes\n );\n const singleTypesDiff = difference(initialData.singleTypes, modifiedData.singleTypes);\n\n const contentTypesDiff = { ...collectionTypesDiff, ...singleTypesDiff };\n\n let didUpdateConditions;\n\n if (isEmpty(contentTypesDiff)) {\n didUpdateConditions = false;\n } else {\n didUpdateConditions = Object.values(contentTypesDiff).some((permission = {}) => {\n return Object.values(permission).some((permissionValue) =>\n has(permissionValue, 'conditions')\n );\n });\n }\n\n return { permissionsToSend: formatPermissionsForAPI(modifiedData), didUpdateConditions };\n },\n resetForm() {\n dispatch({ type: 'RESET_FORM' });\n },\n setFormAfterSubmit() {\n dispatch({ type: 'SET_FORM_AFTER_SUBMIT' });\n },\n } satisfies PermissionsAPI;\n });\n\n const handleChangeCollectionTypeLeftActionRowCheckbox = (\n pathToCollectionType: OnChangeCollectionTypeRowLeftCheckboxAction['pathToCollectionType'],\n propertyName: OnChangeCollectionTypeRowLeftCheckboxAction['propertyName'],\n rowName: OnChangeCollectionTypeRowLeftCheckboxAction['rowName'],\n value: OnChangeCollectionTypeRowLeftCheckboxAction['value']\n ) => {\n dispatch({\n type: 'ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX',\n pathToCollectionType,\n propertyName,\n rowName,\n value,\n });\n };\n\n const handleChangeCollectionTypeGlobalActionCheckbox = (\n collectionTypeKind: OnChangeCollectionTypeGlobalActionCheckboxAction['collectionTypeKind'],\n actionId: OnChangeCollectionTypeGlobalActionCheckboxAction['actionId'],\n value: OnChangeCollectionTypeGlobalActionCheckboxAction['value']\n ) => {\n dispatch({\n type: 'ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX',\n collectionTypeKind,\n actionId,\n value,\n });\n };\n\n const handleChangeConditions = (conditions: OnChangeConditionsAction['conditions']) => {\n dispatch({ type: 'ON_CHANGE_CONDITIONS', conditions });\n };\n\n const handleChangeSimpleCheckbox: PermissionsDataManagerContextValue['onChangeSimpleCheckbox'] =\n React.useCallback(({ target: { name, value } }) => {\n dispatch({\n type: 'ON_CHANGE_SIMPLE_CHECKBOX',\n keys: name,\n value,\n });\n }, []);\n\n const handleChangeParentCheckbox: PermissionsDataManagerContextValue['onChangeParentCheckbox'] =\n React.useCallback(({ target: { name, value } }) => {\n dispatch({\n type: 'ON_CHANGE_TOGGLE_PARENT_CHECKBOX',\n keys: name,\n value,\n });\n }, []);\n\n return (\n <PermissionsDataManagerProvider\n availableConditions={layout.conditions}\n modifiedData={modifiedData}\n onChangeConditions={handleChangeConditions}\n onChangeSimpleCheckbox={handleChangeSimpleCheckbox}\n onChangeParentCheckbox={handleChangeParentCheckbox}\n onChangeCollectionTypeLeftActionRowCheckbox={\n handleChangeCollectionTypeLeftActionRowCheckbox\n }\n onChangeCollectionTypeGlobalActionCheckbox={handleChangeCollectionTypeGlobalActionCheckbox}\n >\n <TabGroup\n id=\"tabs\"\n label={formatMessage({\n id: 'Settings.permissions.users.tabs.label',\n defaultMessage: 'Tabs Permissions',\n })}\n >\n <Tabs>\n {TAB_LABELS.map((tabLabel) => (\n <Tab key={tabLabel.id}>\n {formatMessage({ id: tabLabel.labelId, defaultMessage: tabLabel.defaultMessage })}\n </Tab>\n ))}\n </Tabs>\n <TabPanels style={{ position: 'relative' }}>\n <TabPanel>\n <ContentTypes\n layout={layouts.collectionTypes}\n kind=\"collectionTypes\"\n isFormDisabled={isFormDisabled}\n />\n </TabPanel>\n <TabPanel>\n <ContentTypes\n layout={layouts.singleTypes}\n kind=\"singleTypes\"\n isFormDisabled={isFormDisabled}\n />\n </TabPanel>\n <TabPanel>\n <PluginsAndSettingsPermissions\n layout={layouts.plugins}\n kind=\"plugins\"\n isFormDisabled={isFormDisabled}\n />\n </TabPanel>\n <TabPanel>\n <PluginsAndSettingsPermissions\n layout={layouts.settings}\n kind=\"settings\"\n isFormDisabled={isFormDisabled}\n />\n </TabPanel>\n </TabPanels>\n </TabGroup>\n </PermissionsDataManagerProvider>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * reducer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PermissionForms {\n collectionTypes: Form;\n plugins: Record<string, Form>;\n settings: Record<string, Form>;\n singleTypes: Form;\n}\n\ninterface State {\n initialData: PermissionForms;\n modifiedData: PermissionForms;\n layouts: {\n collectionTypes: PermissonContracts.ContentPermission;\n singleTypes: PermissonContracts.ContentPermission;\n plugins: GenericLayout<PermissonContracts.PluginPermission>[];\n settings: GenericLayout<PermissonContracts.SettingPermission>[];\n };\n}\n\nconst initialState = {\n initialData: {},\n modifiedData: {},\n layouts: {},\n};\n\ninterface OnChangeCollectionTypeGlobalActionCheckboxAction {\n type: 'ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX';\n collectionTypeKind: keyof PermissionForms;\n actionId: string;\n value: boolean;\n}\n\ninterface OnChangeCollectionTypeRowLeftCheckboxAction {\n type: 'ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX';\n pathToCollectionType: string;\n propertyName: string;\n rowName: string;\n value: boolean;\n}\n\ninterface OnChangeConditionsAction {\n type: 'ON_CHANGE_CONDITIONS';\n conditions: Record<string, ConditionForm>;\n}\n\ninterface OnChangeSimpleCheckboxAction {\n type: 'ON_CHANGE_SIMPLE_CHECKBOX';\n keys: string;\n value: boolean;\n}\n\ninterface OnChangeToggleParentCheckbox {\n type: 'ON_CHANGE_TOGGLE_PARENT_CHECKBOX';\n keys: string;\n value: boolean;\n}\n\ninterface ResetFormAction {\n type: 'RESET_FORM';\n}\n\ninterface SetFormAfterSubmitAction {\n type: 'SET_FORM_AFTER_SUBMIT';\n}\n\ntype Action =\n | OnChangeCollectionTypeGlobalActionCheckboxAction\n | OnChangeCollectionTypeRowLeftCheckboxAction\n | OnChangeConditionsAction\n | OnChangeSimpleCheckboxAction\n | OnChangeToggleParentCheckbox\n | ResetFormAction\n | SetFormAfterSubmitAction;\n\n/* eslint-disable consistent-return */\nconst reducer = (state: State, action: Action) =>\n produce(state, (draftState) => {\n switch (action.type) {\n // This action is called when a checkbox in the <GlobalActions />\n // changes\n case 'ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX': {\n const { collectionTypeKind, actionId, value } = action;\n const pathToData = ['modifiedData', collectionTypeKind];\n\n Object.keys(get(state, pathToData)).forEach((collectionType) => {\n const collectionTypeActionData = get(\n state,\n [...pathToData, collectionType, actionId],\n undefined\n );\n\n if (collectionTypeActionData) {\n let updatedValues = updateValues(collectionTypeActionData, value);\n\n // We need to remove the applied conditions\n // @ts-expect-error – TODO: type better\n if (!value && updatedValues.conditions) {\n // @ts-expect-error – TODO: type better\n const updatedConditions = updateValues(updatedValues.conditions, false);\n\n updatedValues = { ...updatedValues, conditions: updatedConditions };\n }\n\n set(draftState, [...pathToData, collectionType, actionId], updatedValues);\n }\n });\n\n break;\n }\n case 'ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX': {\n const { pathToCollectionType, propertyName, rowName, value } = action;\n let nextModifiedDataState = cloneDeep(state.modifiedData);\n const pathToModifiedDataCollectionType = pathToCollectionType.split('..');\n\n const objToUpdate = get(nextModifiedDataState, pathToModifiedDataCollectionType, {});\n\n Object.keys(objToUpdate).forEach((actionId) => {\n // When a ct has multiple properties (ex: locales, field)\n // We need to make sure that we add any new property to the modifiedData\n // object.\n if (has(objToUpdate[actionId], `properties.${propertyName}`)) {\n const objValue = get(objToUpdate, [actionId, 'properties', propertyName, rowName]);\n const pathToDataToSet = [\n ...pathToModifiedDataCollectionType,\n actionId,\n 'properties',\n propertyName,\n rowName,\n ];\n\n if (!isObject(objValue)) {\n set(nextModifiedDataState, pathToDataToSet, value);\n } else {\n const updatedValue = updateValues(objValue, value);\n\n set(nextModifiedDataState, pathToDataToSet, updatedValue);\n }\n }\n });\n\n // When we uncheck a row, we need to check if we also need to disable the conditions\n if (!value) {\n // @ts-expect-error – TODO: type better\n nextModifiedDataState = updateConditionsToFalse(nextModifiedDataState);\n }\n\n set(draftState, 'modifiedData', nextModifiedDataState);\n\n break;\n }\n case 'ON_CHANGE_CONDITIONS': {\n Object.entries(action.conditions).forEach((array) => {\n const [stringPathToData, conditionsToUpdate] = array;\n\n set(\n draftState,\n ['modifiedData', ...stringPathToData.split('..'), 'conditions'],\n conditionsToUpdate\n );\n });\n\n break;\n }\n case 'ON_CHANGE_SIMPLE_CHECKBOX': {\n let nextModifiedDataState = cloneDeep(state.modifiedData);\n\n set(nextModifiedDataState, [...action.keys.split('..')], action.value);\n\n // When we uncheck a single checkbox we need to remove the conditions from the parent\n if (!action.value) {\n // @ts-expect-error – TODO: type better\n nextModifiedDataState = updateConditionsToFalse(nextModifiedDataState);\n }\n\n set(draftState, 'modifiedData', nextModifiedDataState);\n\n break;\n }\n /*\n * Here the idea is to retrieve a specific value of the modifiedObject\n * then update all the boolean values of the retrieved one\n * and update the drafState.\n *\n * For instance in order to enable create action for all the fields and locales\n * of the restaurant content type we need to :\n * 1. Retrieve the modifiedData.collectionTypes.restaurant.create object\n * 2. Toggle all the end boolean values to the desired one\n * 3. Update the draftState\n *\n * Since the case works well in order to update what we called \"parent\" checkbox. We can\n * reuse the action when we need to toggle change all the values that depends on this one.\n * A parent checkbox is a checkbox which value is not a boolean but depends on its children ones, therefore,\n * a parent checkbox does not have a represented value in the draftState, they are just helpers.\n *\n * Given the following data:\n *\n * const data = {\n * restaurant: {\n * create: {\n * fields: { name: true },\n * locales: { en: false }\n * }\n * }\n * }\n *\n * The value of the create checkbox for the restaurant will be ƒalse since not all its children have\n * truthy values and in order to set its value to true when need to have all the values of its children set to true.\n *\n * Similarly, we can reuse the logic for the components attributes\n *\n */\n case 'ON_CHANGE_TOGGLE_PARENT_CHECKBOX': {\n const { keys, value } = action;\n const pathToValue = [...keys.split('..')];\n let nextModifiedDataState = cloneDeep(state.modifiedData);\n const oldValues = get(nextModifiedDataState, pathToValue, {});\n\n const updatedValues = updateValues(oldValues, value);\n set(nextModifiedDataState, pathToValue, updatedValues);\n\n // When we uncheck a parent checkbox we need to remove the associated conditions\n if (!value) {\n // @ts-expect-error – TODO: type better\n nextModifiedDataState = updateConditionsToFalse(nextModifiedDataState);\n }\n\n set(draftState, ['modifiedData'], nextModifiedDataState);\n\n break;\n }\n case 'RESET_FORM': {\n draftState.modifiedData = state.initialData;\n break;\n }\n case 'SET_FORM_AFTER_SUBMIT': {\n draftState.initialData = state.modifiedData;\n break;\n }\n default:\n return draftState;\n }\n });\n\n/* -------------------------------------------------------------------------------------------------\n * init (reducer)\n * -----------------------------------------------------------------------------------------------*/\n\nconst init = (\n layout: PermissionsProps['layout'],\n permissions: PermissionsProps['permissions']\n): State => {\n const {\n conditions,\n sections: { collectionTypes, singleTypes, plugins, settings },\n } = layout;\n\n const layouts = {\n collectionTypes,\n singleTypes,\n plugins: formatLayout(plugins, 'plugin'),\n settings: formatLayout(settings, 'category'),\n };\n\n const defaultForm = {\n collectionTypes: createDefaultCTForm(collectionTypes, conditions, permissions),\n singleTypes: createDefaultCTForm(singleTypes, conditions, permissions),\n plugins: createDefaultForm(layouts.plugins, conditions, permissions),\n settings: createDefaultForm(layouts.settings, conditions, permissions),\n };\n\n return {\n initialData: defaultForm,\n modifiedData: defaultForm,\n layouts,\n };\n};\n\nexport { Permissions };\nexport type {\n State,\n OnChangeCollectionTypeRowLeftCheckboxAction,\n OnChangeConditionsAction,\n OnChangeCollectionTypeGlobalActionCheckboxAction,\n};\n"],"names":["createContext","object","base","transform","isEqual","isObject","permissions","current","acc","createDefaultConditionsForm","isEmpty","merge","groupBy","has","omit","styled","Flex","jsx","Box","useIntl","jsxs","BaseCheckbox","value","Typography","useMemo","childrenForm","label","ActionRow","React","Fragment","Wrapper","get","hasAllActionsSelected","hasSomeActionsSelected","CarretDown","index","StyledBox","capitalise","css","Button","Cog","produce","ModalLayout","ModalHeader","Breadcrumbs","Crumb","upperFirst","ModalBody","ModalFooter","MultiSelectNested","ChevronUp","ChevronDown","_internalActiveStyle","checkboxesState","Accordion","AccordionToggle","AccordionContent","Checkbox","Grid","GridItem","TabGroup","Tabs","Tab","TabPanels","TabPanel","set","cloneDeep"],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const jsxRuntime = require("react/jsx-runtime");
|
|
3
|
-
const reactRouterDom = require("react-router-dom");
|
|
4
|
-
const index = require("./index-ejSDPT-T.js");
|
|
5
|
-
const PrivateRoute = ({ children }) => {
|
|
6
|
-
const token = index.useAuth("PrivateRoute", (state) => state.token);
|
|
7
|
-
const { pathname, search } = reactRouterDom.useLocation();
|
|
8
|
-
return token !== null ? children : /* @__PURE__ */ jsxRuntime.jsx(
|
|
9
|
-
reactRouterDom.Navigate,
|
|
10
|
-
{
|
|
11
|
-
to: {
|
|
12
|
-
pathname: "/auth/login",
|
|
13
|
-
search: pathname !== "/" ? `?redirectTo=${encodeURIComponent(`${pathname}${search}`)}` : void 0
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
);
|
|
17
|
-
};
|
|
18
|
-
exports.PrivateRoute = PrivateRoute;
|
|
19
|
-
//# sourceMappingURL=PrivateRoute-KGxyTa5b.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PrivateRoute-KGxyTa5b.js","sources":["../../admin/src/components/PrivateRoute.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Navigate, useLocation } from 'react-router-dom';\n\nimport { useAuth } from '../features/Auth';\n\ninterface PrivateRouteProps {\n children: React.ReactNode;\n}\n\nconst PrivateRoute = ({ children }: PrivateRouteProps) => {\n const token = useAuth('PrivateRoute', (state) => state.token);\n const { pathname, search } = useLocation();\n\n return token !== null ? (\n children\n ) : (\n <Navigate\n to={{\n pathname: '/auth/login',\n search:\n pathname !== '/'\n ? `?redirectTo=${encodeURIComponent(`${pathname}${search}`)}`\n : undefined,\n }}\n />\n );\n};\n\nexport { PrivateRoute };\n"],"names":["useAuth","useLocation","jsx","Navigate"],"mappings":";;;;AAUA,MAAM,eAAe,CAAC,EAAE,eAAkC;AACxD,QAAM,QAAQA,MAAAA,QAAQ,gBAAgB,CAAC,UAAU,MAAM,KAAK;AAC5D,QAAM,EAAE,UAAU,OAAO,IAAIC,eAAY,YAAA;AAElC,SAAA,UAAU,OACf,WAEAC,2BAAA;AAAA,IAACC,eAAA;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,UAAU;AAAA,QACV,QACE,aAAa,MACT,eAAe,mBAAmB,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAC,KACzD;AAAA,MACR;AAAA,IAAA;AAAA,EAAA;AAGN;;"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useLocation, Navigate } from "react-router-dom";
|
|
3
|
-
import { u as useAuth } from "./index-hjUhNUvw.mjs";
|
|
4
|
-
const PrivateRoute = ({ children }) => {
|
|
5
|
-
const token = useAuth("PrivateRoute", (state) => state.token);
|
|
6
|
-
const { pathname, search } = useLocation();
|
|
7
|
-
return token !== null ? children : /* @__PURE__ */ jsx(
|
|
8
|
-
Navigate,
|
|
9
|
-
{
|
|
10
|
-
to: {
|
|
11
|
-
pathname: "/auth/login",
|
|
12
|
-
search: pathname !== "/" ? `?redirectTo=${encodeURIComponent(`${pathname}${search}`)}` : void 0
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
);
|
|
16
|
-
};
|
|
17
|
-
export {
|
|
18
|
-
PrivateRoute as P
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=PrivateRoute-eP4-pBby.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PrivateRoute-eP4-pBby.mjs","sources":["../../admin/src/components/PrivateRoute.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Navigate, useLocation } from 'react-router-dom';\n\nimport { useAuth } from '../features/Auth';\n\ninterface PrivateRouteProps {\n children: React.ReactNode;\n}\n\nconst PrivateRoute = ({ children }: PrivateRouteProps) => {\n const token = useAuth('PrivateRoute', (state) => state.token);\n const { pathname, search } = useLocation();\n\n return token !== null ? (\n children\n ) : (\n <Navigate\n to={{\n pathname: '/auth/login',\n search:\n pathname !== '/'\n ? `?redirectTo=${encodeURIComponent(`${pathname}${search}`)}`\n : undefined,\n }}\n />\n );\n};\n\nexport { PrivateRoute };\n"],"names":[],"mappings":";;;AAUA,MAAM,eAAe,CAAC,EAAE,eAAkC;AACxD,QAAM,QAAQ,QAAQ,gBAAgB,CAAC,UAAU,MAAM,KAAK;AAC5D,QAAM,EAAE,UAAU,OAAO,IAAI,YAAY;AAElC,SAAA,UAAU,OACf,WAEA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,UAAU;AAAA,QACV,QACE,aAAa,MACT,eAAe,mBAAmB,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAC,KACzD;AAAA,MACR;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|