@strapi/admin 4.26.0 → 4.26.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/AdminSeatInfo-BbgXdZXt.mjs +101 -0
- package/dist/_chunks/AdminSeatInfo-BbgXdZXt.mjs.map +1 -0
- package/dist/_chunks/AdminSeatInfo-Dd9igGNy.js +101 -0
- package/dist/_chunks/AdminSeatInfo-Dd9igGNy.js.map +1 -0
- package/dist/_chunks/AuthenticatedApp-VeEtpPSd.js +1225 -0
- package/dist/_chunks/AuthenticatedApp-VeEtpPSd.js.map +1 -0
- package/dist/_chunks/AuthenticatedApp-q6ueY2uL.mjs +1200 -0
- package/dist/_chunks/AuthenticatedApp-q6ueY2uL.mjs.map +1 -0
- package/dist/_chunks/CreateActionEE-Cp6JMqwN.js +60 -0
- package/dist/_chunks/CreateActionEE-Cp6JMqwN.js.map +1 -0
- package/dist/_chunks/CreateActionEE-D05ARL9y.mjs +57 -0
- package/dist/_chunks/CreateActionEE-D05ARL9y.mjs.map +1 -0
- package/dist/_chunks/CreatePage-BvtbICHq.mjs +251 -0
- package/dist/_chunks/CreatePage-BvtbICHq.mjs.map +1 -0
- package/dist/_chunks/CreatePage-D8BL6dmo.js +14 -0
- package/dist/_chunks/CreatePage-D8BL6dmo.js.map +1 -0
- package/dist/_chunks/CreatePage-DN0tiD0-.mjs +244 -0
- package/dist/_chunks/CreatePage-DN0tiD0-.mjs.map +1 -0
- package/dist/_chunks/CreatePage-DNBwF5h3.js +269 -0
- package/dist/_chunks/CreatePage-DNBwF5h3.js.map +1 -0
- package/dist/_chunks/CreatePage-DaaQGr8P.mjs +14 -0
- package/dist/_chunks/CreatePage-DaaQGr8P.mjs.map +1 -0
- package/dist/_chunks/CreatePage-UkEK_9I8.js +265 -0
- package/dist/_chunks/CreatePage-UkEK_9I8.js.map +1 -0
- package/dist/_chunks/CreateView-4Ndbk7Ff.mjs +13 -0
- package/dist/_chunks/CreateView-4Ndbk7Ff.mjs.map +1 -0
- package/dist/_chunks/CreateView-Cr_Lq0_U.mjs +13 -0
- package/dist/_chunks/CreateView-Cr_Lq0_U.mjs.map +1 -0
- package/dist/_chunks/CreateView-DtQ1hRDi.js +13 -0
- package/dist/_chunks/CreateView-DtQ1hRDi.js.map +1 -0
- package/dist/_chunks/CreateView-WmUj7GDL.js +13 -0
- package/dist/_chunks/CreateView-WmUj7GDL.js.map +1 -0
- package/dist/_chunks/EditPage--c1d8vU7.js +809 -0
- package/dist/_chunks/EditPage--c1d8vU7.js.map +1 -0
- package/dist/_chunks/EditPage-3pFiNfGd.js +285 -0
- package/dist/_chunks/EditPage-3pFiNfGd.js.map +1 -0
- package/dist/_chunks/EditPage-BDeF9TPm.js +433 -0
- package/dist/_chunks/EditPage-BDeF9TPm.js.map +1 -0
- package/dist/_chunks/EditPage-BZEXsrpa.mjs +789 -0
- package/dist/_chunks/EditPage-BZEXsrpa.mjs.map +1 -0
- package/dist/_chunks/EditPage-Buhw1Cgq.js +325 -0
- package/dist/_chunks/EditPage-Buhw1Cgq.js.map +1 -0
- package/dist/_chunks/EditPage-C5rSJwer.mjs +412 -0
- package/dist/_chunks/EditPage-C5rSJwer.mjs.map +1 -0
- package/dist/_chunks/EditPage-C7w2S3qa.mjs +266 -0
- package/dist/_chunks/EditPage-C7w2S3qa.mjs.map +1 -0
- package/dist/_chunks/EditPage-Dg0hL_D7.mjs +307 -0
- package/dist/_chunks/EditPage-Dg0hL_D7.mjs.map +1 -0
- package/dist/_chunks/EditView-BX8smWlt.js +369 -0
- package/dist/_chunks/EditView-BX8smWlt.js.map +1 -0
- package/dist/_chunks/EditView-Cg14XTI6.mjs +350 -0
- package/dist/_chunks/EditView-Cg14XTI6.mjs.map +1 -0
- package/dist/_chunks/EditViewPage-jmcfHxza.js +875 -0
- package/dist/_chunks/EditViewPage-jmcfHxza.js.map +1 -0
- package/dist/_chunks/EditViewPage-lGH8coe7.mjs +849 -0
- package/dist/_chunks/EditViewPage-lGH8coe7.mjs.map +1 -0
- package/dist/_chunks/EventsTable-BwmPmmWr.js +32 -0
- package/dist/_chunks/EventsTable-BwmPmmWr.js.map +1 -0
- package/dist/_chunks/EventsTable-hX7i3BLp.mjs +32 -0
- package/dist/_chunks/EventsTable-hX7i3BLp.mjs.map +1 -0
- package/dist/_chunks/Filters-B9RQvqbL.mjs +43 -0
- package/dist/_chunks/Filters-B9RQvqbL.mjs.map +1 -0
- package/dist/_chunks/Filters-Br1w7f5b.js +60 -0
- package/dist/_chunks/Filters-Br1w7f5b.js.map +1 -0
- package/dist/_chunks/HomePage-CQ6qFlEc.js +537 -0
- package/dist/_chunks/HomePage-CQ6qFlEc.js.map +1 -0
- package/dist/_chunks/HomePage-CXQ1bdgi.mjs +517 -0
- package/dist/_chunks/HomePage-CXQ1bdgi.mjs.map +1 -0
- package/dist/_chunks/HomePage-CpSSac-m.mjs +11 -0
- package/dist/_chunks/HomePage-CpSSac-m.mjs.map +1 -0
- package/dist/_chunks/HomePage-WeUUm-HF.js +11 -0
- package/dist/_chunks/HomePage-WeUUm-HF.js.map +1 -0
- package/dist/_chunks/InformationBoxEE-BX7l_qDt.mjs +275 -0
- package/dist/_chunks/InformationBoxEE-BX7l_qDt.mjs.map +1 -0
- package/dist/_chunks/InformationBoxEE-CDmKrsLo.js +293 -0
- package/dist/_chunks/InformationBoxEE-CDmKrsLo.js.map +1 -0
- package/dist/_chunks/InstalledPluginsPage-BrxNFD5S.js +122 -0
- package/dist/_chunks/InstalledPluginsPage-BrxNFD5S.js.map +1 -0
- package/dist/_chunks/InstalledPluginsPage-D4ieZMEq.mjs +104 -0
- package/dist/_chunks/InstalledPluginsPage-D4ieZMEq.mjs.map +1 -0
- package/dist/_chunks/InternalErrorPage-BjU_jwcO.js +41 -0
- package/dist/_chunks/InternalErrorPage-BjU_jwcO.js.map +1 -0
- package/dist/_chunks/InternalErrorPage-CMTg0WcA.mjs +41 -0
- package/dist/_chunks/InternalErrorPage-CMTg0WcA.mjs.map +1 -0
- package/dist/_chunks/Layout-B1VcCCiT.js +88 -0
- package/dist/_chunks/Layout-B1VcCCiT.js.map +1 -0
- package/dist/_chunks/Layout-B_l-uK27.mjs +87 -0
- package/dist/_chunks/Layout-B_l-uK27.mjs.map +1 -0
- package/dist/_chunks/LimitsModal-5HFqiYwo.js +75 -0
- package/dist/_chunks/LimitsModal-5HFqiYwo.js.map +1 -0
- package/dist/_chunks/LimitsModal-BvLQGCI-.mjs +74 -0
- package/dist/_chunks/LimitsModal-BvLQGCI-.mjs.map +1 -0
- package/dist/_chunks/ListPage-BAO-yXBr.js +341 -0
- package/dist/_chunks/ListPage-BAO-yXBr.js.map +1 -0
- package/dist/_chunks/ListPage-BResWkE0.js +617 -0
- package/dist/_chunks/ListPage-BResWkE0.js.map +1 -0
- package/dist/_chunks/ListPage-BXxsqmvE.mjs +597 -0
- package/dist/_chunks/ListPage-BXxsqmvE.mjs.map +1 -0
- package/dist/_chunks/ListPage-BuHmA1f5.js +555 -0
- package/dist/_chunks/ListPage-BuHmA1f5.js.map +1 -0
- package/dist/_chunks/ListPage-Bv_V83QB.js +305 -0
- package/dist/_chunks/ListPage-Bv_V83QB.js.map +1 -0
- package/dist/_chunks/ListPage-C0btLbOo.js +285 -0
- package/dist/_chunks/ListPage-C0btLbOo.js.map +1 -0
- package/dist/_chunks/ListPage-CnfAB5jH.mjs +282 -0
- package/dist/_chunks/ListPage-CnfAB5jH.mjs.map +1 -0
- package/dist/_chunks/ListPage-CrIttWiF.mjs +534 -0
- package/dist/_chunks/ListPage-CrIttWiF.mjs.map +1 -0
- package/dist/_chunks/ListPage-D50TO1Gl.mjs +11 -0
- package/dist/_chunks/ListPage-D50TO1Gl.mjs.map +1 -0
- package/dist/_chunks/ListPage-Dw64-fPU.mjs +285 -0
- package/dist/_chunks/ListPage-Dw64-fPU.mjs.map +1 -0
- package/dist/_chunks/ListPage-JSoOfrRX.mjs +323 -0
- package/dist/_chunks/ListPage-JSoOfrRX.mjs.map +1 -0
- package/dist/_chunks/ListPage-W4NGNFA2.js +11 -0
- package/dist/_chunks/ListPage-W4NGNFA2.js.map +1 -0
- package/dist/_chunks/ListView--zynaOVn.mjs +208 -0
- package/dist/_chunks/ListView--zynaOVn.mjs.map +1 -0
- package/dist/_chunks/ListView-D97dCnvT.js +228 -0
- package/dist/_chunks/ListView-D97dCnvT.js.map +1 -0
- package/dist/_chunks/ListView-c0wBeXzj.mjs +218 -0
- package/dist/_chunks/ListView-c0wBeXzj.mjs.map +1 -0
- package/dist/_chunks/ListView-rKkUs0mA.js +238 -0
- package/dist/_chunks/ListView-rKkUs0mA.js.map +1 -0
- package/dist/_chunks/Login-CGXHwNnf.mjs +30 -0
- package/dist/_chunks/Login-CGXHwNnf.mjs.map +1 -0
- package/dist/_chunks/Login-Cz5IeBO_.js +32 -0
- package/dist/_chunks/Login-Cz5IeBO_.js.map +1 -0
- package/dist/_chunks/MagicLinkEE-DNJ09-Cl.js +27 -0
- package/dist/_chunks/MagicLinkEE-DNJ09-Cl.js.map +1 -0
- package/dist/_chunks/MagicLinkEE-DwxRiSvx.mjs +27 -0
- package/dist/_chunks/MagicLinkEE-DwxRiSvx.mjs.map +1 -0
- package/dist/_chunks/MarketplacePage-BM-2cxrF.mjs +1001 -0
- package/dist/_chunks/MarketplacePage-BM-2cxrF.mjs.map +1 -0
- package/dist/_chunks/MarketplacePage-DbnvGugk.js +1024 -0
- package/dist/_chunks/MarketplacePage-DbnvGugk.js.map +1 -0
- package/dist/_chunks/ModalForm--GI4cjVu.js +28 -0
- package/dist/_chunks/ModalForm--GI4cjVu.js.map +1 -0
- package/dist/_chunks/ModalForm-J7b3u86M.mjs +28 -0
- package/dist/_chunks/ModalForm-J7b3u86M.mjs.map +1 -0
- package/dist/_chunks/Permissions-BgDbVLII.mjs +2011 -0
- package/dist/_chunks/Permissions-BgDbVLII.mjs.map +1 -0
- package/dist/_chunks/Permissions-DYlD5eqC.js +2039 -0
- package/dist/_chunks/Permissions-DYlD5eqC.js.map +1 -0
- package/dist/_chunks/ProfilePage-Cf0mtGUP.js +606 -0
- package/dist/_chunks/ProfilePage-Cf0mtGUP.js.map +1 -0
- package/dist/_chunks/ProfilePage-tsQTE5CP.mjs +584 -0
- package/dist/_chunks/ProfilePage-tsQTE5CP.mjs.map +1 -0
- package/dist/_chunks/PurchaseAuditLogs-BWYLuIfm.mjs +48 -0
- package/dist/_chunks/PurchaseAuditLogs-BWYLuIfm.mjs.map +1 -0
- package/dist/_chunks/PurchaseAuditLogs-DGjR2gAT.js +48 -0
- package/dist/_chunks/PurchaseAuditLogs-DGjR2gAT.js.map +1 -0
- package/dist/_chunks/PurchaseReviewWorkflows-BRvbD9Sb.mjs +51 -0
- package/dist/_chunks/PurchaseReviewWorkflows-BRvbD9Sb.mjs.map +1 -0
- package/dist/_chunks/PurchaseReviewWorkflows-BvQ-ooJt.js +51 -0
- package/dist/_chunks/PurchaseReviewWorkflows-BvQ-ooJt.js.map +1 -0
- package/dist/_chunks/PurchaseSingleSignOn-BybUr_h7.js +51 -0
- package/dist/_chunks/PurchaseSingleSignOn-BybUr_h7.js.map +1 -0
- package/dist/_chunks/PurchaseSingleSignOn-Yrx7jiC3.mjs +51 -0
- package/dist/_chunks/PurchaseSingleSignOn-Yrx7jiC3.mjs.map +1 -0
- package/dist/_chunks/ReviewWorkflowsColumn-Bv3HsxcV.js +36 -0
- package/dist/_chunks/ReviewWorkflowsColumn-Bv3HsxcV.js.map +1 -0
- package/dist/_chunks/ReviewWorkflowsColumn-WhvmNSc8.mjs +36 -0
- package/dist/_chunks/ReviewWorkflowsColumn-WhvmNSc8.mjs.map +1 -0
- package/dist/_chunks/SSOProviders-BfKYr9fq.js +59 -0
- package/dist/_chunks/SSOProviders-BfKYr9fq.js.map +1 -0
- package/dist/_chunks/SSOProviders-DXiFqVN5.mjs +58 -0
- package/dist/_chunks/SSOProviders-DXiFqVN5.mjs.map +1 -0
- package/dist/_chunks/SelectRoles-BBt0I6mr.js +103 -0
- package/dist/_chunks/SelectRoles-BBt0I6mr.js.map +1 -0
- package/dist/_chunks/SelectRoles-DXP3vxWG.mjs +102 -0
- package/dist/_chunks/SelectRoles-DXP3vxWG.mjs.map +1 -0
- package/dist/_chunks/SettingsPage-BAkaokqb.mjs +1024 -0
- package/dist/_chunks/SettingsPage-BAkaokqb.mjs.map +1 -0
- package/dist/_chunks/SettingsPage-VwSjO4O3.js +1046 -0
- package/dist/_chunks/SettingsPage-VwSjO4O3.js.map +1 -0
- package/dist/_chunks/SingleSignOnPage-C6MKbS7l.mjs +234 -0
- package/dist/_chunks/SingleSignOnPage-C6MKbS7l.mjs.map +1 -0
- package/dist/_chunks/SingleSignOnPage-DM1_Twh4.js +252 -0
- package/dist/_chunks/SingleSignOnPage-DM1_Twh4.js.map +1 -0
- package/dist/_chunks/Table-BNrSUOqz.js +225 -0
- package/dist/_chunks/Table-BNrSUOqz.js.map +1 -0
- package/dist/_chunks/Table-CHhAUD-R.mjs +206 -0
- package/dist/_chunks/Table-CHhAUD-R.mjs.map +1 -0
- package/dist/_chunks/TokenTypeSelect-Imo0yF50.js +371 -0
- package/dist/_chunks/TokenTypeSelect-Imo0yF50.js.map +1 -0
- package/dist/_chunks/TokenTypeSelect-yfDK5Gr1.mjs +353 -0
- package/dist/_chunks/TokenTypeSelect-yfDK5Gr1.mjs.map +1 -0
- package/dist/_chunks/apiTokens-BmQykl0I.mjs +60 -0
- package/dist/_chunks/apiTokens-BmQykl0I.mjs.map +1 -0
- package/dist/_chunks/apiTokens-CVvlDeCp.js +59 -0
- package/dist/_chunks/apiTokens-CVvlDeCp.js.map +1 -0
- package/dist/_chunks/ar-475tDLB5.js +936 -0
- package/dist/_chunks/ar-475tDLB5.js.map +1 -0
- package/dist/_chunks/ar-yiyD4W0L.mjs +936 -0
- package/dist/_chunks/ar-yiyD4W0L.mjs.map +1 -0
- package/dist/_chunks/build-Bhvte6rY.mjs +52 -0
- package/dist/_chunks/build-Bhvte6rY.mjs.map +1 -0
- package/dist/_chunks/build-BkUr8FR6.js +55 -0
- package/dist/_chunks/build-BkUr8FR6.js.map +1 -0
- package/dist/_chunks/build-C9MFjft2.mjs +12 -0
- package/dist/_chunks/build-C9MFjft2.mjs.map +1 -0
- package/dist/_chunks/build-CDfsxW9J.mjs +37 -0
- package/dist/_chunks/build-CDfsxW9J.mjs.map +1 -0
- package/dist/_chunks/build-D3nWISTI.js +34 -0
- package/dist/_chunks/build-D3nWISTI.js.map +1 -0
- package/dist/_chunks/build-MaaG8Zxd.js +39 -0
- package/dist/_chunks/build-MaaG8Zxd.js.map +1 -0
- package/dist/_chunks/ca-DEU1Yunq.js +724 -0
- package/dist/_chunks/ca-DEU1Yunq.js.map +1 -0
- package/dist/_chunks/ca-DW7FjI4m.mjs +724 -0
- package/dist/_chunks/ca-DW7FjI4m.mjs.map +1 -0
- package/dist/_chunks/colors-CYJuPzU8.mjs +34 -0
- package/dist/_chunks/colors-CYJuPzU8.mjs.map +1 -0
- package/dist/_chunks/colors-Cx54zjV2.js +33 -0
- package/dist/_chunks/colors-Cx54zjV2.js.map +1 -0
- package/dist/_chunks/config-1Q69_4nO.mjs +58 -0
- package/dist/_chunks/config-1Q69_4nO.mjs.map +1 -0
- package/dist/_chunks/config-B7_5e67J.mjs +251 -0
- package/dist/_chunks/config-B7_5e67J.mjs.map +1 -0
- package/dist/_chunks/config-BzljZrMA.js +61 -0
- package/dist/_chunks/config-BzljZrMA.js.map +1 -0
- package/dist/_chunks/config-DC9-vqE7.mjs +135 -0
- package/dist/_chunks/config-DC9-vqE7.mjs.map +1 -0
- package/dist/_chunks/config-DMOYjOv7.js +137 -0
- package/dist/_chunks/config-DMOYjOv7.js.map +1 -0
- package/dist/_chunks/config-iJT5VgJy.js +281 -0
- package/dist/_chunks/config-iJT5VgJy.js.map +1 -0
- package/dist/_chunks/constants-3tPTNCcp.mjs +172 -0
- package/dist/_chunks/constants-3tPTNCcp.mjs.map +1 -0
- package/dist/_chunks/constants-3wlcjHhm.js +52 -0
- package/dist/_chunks/constants-3wlcjHhm.js.map +1 -0
- package/dist/_chunks/constants-9M5Gtgs1.mjs +7 -0
- package/dist/_chunks/constants-9M5Gtgs1.mjs.map +1 -0
- package/dist/_chunks/constants-B8jpG_qb.js +172 -0
- package/dist/_chunks/constants-B8jpG_qb.js.map +1 -0
- package/dist/_chunks/constants-B96HK4JR.js +6 -0
- package/dist/_chunks/constants-B96HK4JR.js.map +1 -0
- package/dist/_chunks/constants-BD65-toR.mjs +7 -0
- package/dist/_chunks/constants-BD65-toR.mjs.map +1 -0
- package/dist/_chunks/constants-BQw7t42R.mjs +52 -0
- package/dist/_chunks/constants-BQw7t42R.mjs.map +1 -0
- package/dist/_chunks/constants-BktKMZ88.mjs +103 -0
- package/dist/_chunks/constants-BktKMZ88.mjs.map +1 -0
- package/dist/_chunks/constants-CF9oLY1q.js +52 -0
- package/dist/_chunks/constants-CF9oLY1q.js.map +1 -0
- package/dist/_chunks/constants-CLc-plUk.mjs +11 -0
- package/dist/_chunks/constants-CLc-plUk.mjs.map +1 -0
- package/dist/_chunks/constants-CeIfN9Z8.mjs +59 -0
- package/dist/_chunks/constants-CeIfN9Z8.mjs.map +1 -0
- package/dist/_chunks/constants-D0kt7r3W.js +11 -0
- package/dist/_chunks/constants-D0kt7r3W.js.map +1 -0
- package/dist/_chunks/constants-Do9bkPhf.js +6 -0
- package/dist/_chunks/constants-Do9bkPhf.js.map +1 -0
- package/dist/_chunks/constants-GbF4Y3iU.mjs +50 -0
- package/dist/_chunks/constants-GbF4Y3iU.mjs.map +1 -0
- package/dist/_chunks/constants-R5erIlVZ.js +123 -0
- package/dist/_chunks/constants-R5erIlVZ.js.map +1 -0
- package/dist/_chunks/constants-WJ4DI42l.js +58 -0
- package/dist/_chunks/constants-WJ4DI42l.js.map +1 -0
- package/dist/_chunks/cs-BmXflTzg.mjs +291 -0
- package/dist/_chunks/cs-BmXflTzg.mjs.map +1 -0
- package/dist/_chunks/cs-obL_KC_g.js +291 -0
- package/dist/_chunks/cs-obL_KC_g.js.map +1 -0
- package/dist/_chunks/de-B5VEJATB.js +716 -0
- package/dist/_chunks/de-B5VEJATB.js.map +1 -0
- package/dist/_chunks/de-DgaM7hkG.mjs +716 -0
- package/dist/_chunks/de-DgaM7hkG.mjs.map +1 -0
- package/dist/_chunks/develop-D_aBgHsh.mjs +42 -0
- package/dist/_chunks/develop-D_aBgHsh.mjs.map +1 -0
- package/dist/_chunks/develop-TROO0-95.js +46 -0
- package/dist/_chunks/develop-TROO0-95.js.map +1 -0
- package/dist/_chunks/dk-3vbkx2yD.mjs +634 -0
- package/dist/_chunks/dk-3vbkx2yD.mjs.map +1 -0
- package/dist/_chunks/dk-B9jcYthx.js +634 -0
- package/dist/_chunks/dk-B9jcYthx.js.map +1 -0
- package/dist/_chunks/en-CcKS2FEI.mjs +1035 -0
- package/dist/_chunks/en-CcKS2FEI.mjs.map +1 -0
- package/dist/_chunks/en-FHilPgBw.js +1035 -0
- package/dist/_chunks/en-FHilPgBw.js.map +1 -0
- package/dist/_chunks/es-3RmvCeWF.js +796 -0
- package/dist/_chunks/es-3RmvCeWF.js.map +1 -0
- package/dist/_chunks/es-v9e7b3Ft.mjs +796 -0
- package/dist/_chunks/es-v9e7b3Ft.mjs.map +1 -0
- package/dist/_chunks/eu-BY_rgXEP.mjs +832 -0
- package/dist/_chunks/eu-BY_rgXEP.mjs.map +1 -0
- package/dist/_chunks/eu-CmMUmLzM.js +832 -0
- package/dist/_chunks/eu-CmMUmLzM.js.map +1 -0
- package/dist/_chunks/fr-C0nyZqGl.mjs +762 -0
- package/dist/_chunks/fr-C0nyZqGl.mjs.map +1 -0
- package/dist/_chunks/fr-DzcLq4pR.js +762 -0
- package/dist/_chunks/fr-DzcLq4pR.js.map +1 -0
- package/dist/_chunks/gu-C4Ofeu31.js +623 -0
- package/dist/_chunks/gu-C4Ofeu31.js.map +1 -0
- package/dist/_chunks/gu-Da70F_z_.mjs +623 -0
- package/dist/_chunks/gu-Da70F_z_.mjs.map +1 -0
- package/dist/_chunks/he-D5uZ95em.js +326 -0
- package/dist/_chunks/he-D5uZ95em.js.map +1 -0
- package/dist/_chunks/he-iX4tdMgI.mjs +326 -0
- package/dist/_chunks/he-iX4tdMgI.mjs.map +1 -0
- package/dist/_chunks/hi-BE8LyrZY.mjs +722 -0
- package/dist/_chunks/hi-BE8LyrZY.mjs.map +1 -0
- package/dist/_chunks/hi-BzoOyiI2.js +722 -0
- package/dist/_chunks/hi-BzoOyiI2.js.map +1 -0
- package/dist/_chunks/hr-Di6sXxgh.mjs +1035 -0
- package/dist/_chunks/hr-Di6sXxgh.mjs.map +1 -0
- package/dist/_chunks/hr-DqmGDOJs.js +1035 -0
- package/dist/_chunks/hr-DqmGDOJs.js.map +1 -0
- package/dist/_chunks/hu-BJ1gQ7GZ.js +832 -0
- package/dist/_chunks/hu-BJ1gQ7GZ.js.map +1 -0
- package/dist/_chunks/hu-CWWpyjYF.mjs +832 -0
- package/dist/_chunks/hu-CWWpyjYF.mjs.map +1 -0
- package/dist/_chunks/id-2f-IaYtK.mjs +448 -0
- package/dist/_chunks/id-2f-IaYtK.mjs.map +1 -0
- package/dist/_chunks/id-CDscjFnX.js +448 -0
- package/dist/_chunks/id-CDscjFnX.js.map +1 -0
- package/dist/_chunks/index-24f-Noga.mjs +900 -0
- package/dist/_chunks/index-24f-Noga.mjs.map +1 -0
- package/dist/_chunks/index-BiELGgSr.js +19415 -0
- package/dist/_chunks/index-BiELGgSr.js.map +1 -0
- package/dist/_chunks/index-Cwr9u7_W.mjs +19358 -0
- package/dist/_chunks/index-Cwr9u7_W.mjs.map +1 -0
- package/dist/_chunks/index-WMsbcPLX.js +937 -0
- package/dist/_chunks/index-WMsbcPLX.js.map +1 -0
- package/dist/_chunks/it-BGbX9q0z.mjs +459 -0
- package/dist/_chunks/it-BGbX9q0z.mjs.map +1 -0
- package/dist/_chunks/it-DyvLZQEE.js +459 -0
- package/dist/_chunks/it-DyvLZQEE.js.map +1 -0
- package/dist/_chunks/ja-15kZhZF1.mjs +633 -0
- package/dist/_chunks/ja-15kZhZF1.mjs.map +1 -0
- package/dist/_chunks/ja-BviRY8-H.js +633 -0
- package/dist/_chunks/ja-BviRY8-H.js.map +1 -0
- package/dist/_chunks/ko-BdjaCDT8.js +631 -0
- package/dist/_chunks/ko-BdjaCDT8.js.map +1 -0
- package/dist/_chunks/ko-KD6HlXhy.mjs +631 -0
- package/dist/_chunks/ko-KD6HlXhy.mjs.map +1 -0
- package/dist/_chunks/ml-BEycuyAF.mjs +722 -0
- package/dist/_chunks/ml-BEycuyAF.mjs.map +1 -0
- package/dist/_chunks/ml-DqObrNJ3.js +722 -0
- package/dist/_chunks/ml-DqObrNJ3.js.map +1 -0
- package/dist/_chunks/ms-CkIVNCCl.js +342 -0
- package/dist/_chunks/ms-CkIVNCCl.js.map +1 -0
- package/dist/_chunks/ms-DCPlKxiV.mjs +342 -0
- package/dist/_chunks/ms-DCPlKxiV.mjs.map +1 -0
- package/dist/_chunks/nl-BVA9GAkb.js +828 -0
- package/dist/_chunks/nl-BVA9GAkb.js.map +1 -0
- package/dist/_chunks/nl-CJuiadHk.mjs +828 -0
- package/dist/_chunks/nl-CJuiadHk.mjs.map +1 -0
- package/dist/_chunks/no-Co7fsyMn.js +310 -0
- package/dist/_chunks/no-Co7fsyMn.js.map +1 -0
- package/dist/_chunks/no-f64KSW5p.mjs +310 -0
- package/dist/_chunks/no-f64KSW5p.mjs.map +1 -0
- package/dist/_chunks/pl-Bw9wSyOi.mjs +721 -0
- package/dist/_chunks/pl-Bw9wSyOi.mjs.map +1 -0
- package/dist/_chunks/pl-CYXsVNaz.js +721 -0
- package/dist/_chunks/pl-CYXsVNaz.js.map +1 -0
- package/dist/_chunks/pt-BR-77_6hB4F.mjs +794 -0
- package/dist/_chunks/pt-BR-77_6hB4F.mjs.map +1 -0
- package/dist/_chunks/pt-BR-BpSp_Bh4.js +794 -0
- package/dist/_chunks/pt-BR-BpSp_Bh4.js.map +1 -0
- package/dist/_chunks/pt-DU2MHjbl.js +296 -0
- package/dist/_chunks/pt-DU2MHjbl.js.map +1 -0
- package/dist/_chunks/pt-MLLdm__m.mjs +296 -0
- package/dist/_chunks/pt-MLLdm__m.mjs.map +1 -0
- package/dist/_chunks/reviewWorkflows-Ra5krOSM.mjs +117 -0
- package/dist/_chunks/reviewWorkflows-Ra5krOSM.mjs.map +1 -0
- package/dist/_chunks/reviewWorkflows-kHDJXR8s.js +116 -0
- package/dist/_chunks/reviewWorkflows-kHDJXR8s.js.map +1 -0
- package/dist/_chunks/ru-DFetvmsD.mjs +993 -0
- package/dist/_chunks/ru-DFetvmsD.mjs.map +1 -0
- package/dist/_chunks/ru-Tae8Srzl.js +993 -0
- package/dist/_chunks/ru-Tae8Srzl.js.map +1 -0
- package/dist/_chunks/sa-CNZNSSPD.js +722 -0
- package/dist/_chunks/sa-CNZNSSPD.js.map +1 -0
- package/dist/_chunks/sa-DA4KBKq-.mjs +722 -0
- package/dist/_chunks/sa-DA4KBKq-.mjs.map +1 -0
- package/dist/_chunks/sk-KCpIDfnW.mjs +690 -0
- package/dist/_chunks/sk-KCpIDfnW.mjs.map +1 -0
- package/dist/_chunks/sk-YDwkuBuR.js +690 -0
- package/dist/_chunks/sk-YDwkuBuR.js.map +1 -0
- package/dist/_chunks/sv-B5SG1nkJ.js +827 -0
- package/dist/_chunks/sv-B5SG1nkJ.js.map +1 -0
- package/dist/_chunks/sv-Duc7AD1y.mjs +827 -0
- package/dist/_chunks/sv-Duc7AD1y.mjs.map +1 -0
- package/dist/_chunks/th-DkX5AaJc.mjs +430 -0
- package/dist/_chunks/th-DkX5AaJc.mjs.map +1 -0
- package/dist/_chunks/th-_uBmb8Nm.js +430 -0
- package/dist/_chunks/th-_uBmb8Nm.js.map +1 -0
- package/dist/_chunks/tr-C2mjt6Rp.mjs +785 -0
- package/dist/_chunks/tr-C2mjt6Rp.mjs.map +1 -0
- package/dist/_chunks/tr-DS8cBMj5.js +785 -0
- package/dist/_chunks/tr-DS8cBMj5.js.map +1 -0
- package/dist/_chunks/transferTokens-BUCtB8Vs.mjs +63 -0
- package/dist/_chunks/transferTokens-BUCtB8Vs.mjs.map +1 -0
- package/dist/_chunks/transferTokens-D1Vrg_e3.js +62 -0
- package/dist/_chunks/transferTokens-D1Vrg_e3.js.map +1 -0
- package/dist/_chunks/uk-3lk6xDxv.mjs +343 -0
- package/dist/_chunks/uk-3lk6xDxv.mjs.map +1 -0
- package/dist/_chunks/uk-86pRQVpc.js +343 -0
- package/dist/_chunks/uk-86pRQVpc.js.map +1 -0
- package/dist/_chunks/useAdminRoles-B7eTo_wV.mjs +28 -0
- package/dist/_chunks/useAdminRoles-B7eTo_wV.mjs.map +1 -0
- package/dist/_chunks/useAdminRoles-CgCWq8bE.js +45 -0
- package/dist/_chunks/useAdminRoles-CgCWq8bE.js.map +1 -0
- package/dist/_chunks/useContentTypes-CPA2u-5S.mjs +72 -0
- package/dist/_chunks/useContentTypes-CPA2u-5S.mjs.map +1 -0
- package/dist/_chunks/useContentTypes-DK4waKO7.js +89 -0
- package/dist/_chunks/useContentTypes-DK4waKO7.js.map +1 -0
- package/dist/_chunks/useLicenseLimitNotification-Bv8sFkY4.js +99 -0
- package/dist/_chunks/useLicenseLimitNotification-Bv8sFkY4.js.map +1 -0
- package/dist/_chunks/useLicenseLimitNotification-CYm3C_il.mjs +80 -0
- package/dist/_chunks/useLicenseLimitNotification-CYm3C_il.mjs.map +1 -0
- package/dist/_chunks/useReviewWorkflows-BboRkueC.js +26 -0
- package/dist/_chunks/useReviewWorkflows-BboRkueC.js.map +1 -0
- package/dist/_chunks/useReviewWorkflows-ClfUfdp6.mjs +27 -0
- package/dist/_chunks/useReviewWorkflows-ClfUfdp6.mjs.map +1 -0
- package/dist/_chunks/useWebhooks-C5oul1Ng.mjs +90 -0
- package/dist/_chunks/useWebhooks-C5oul1Ng.mjs.map +1 -0
- package/dist/_chunks/useWebhooks-Dvjo7y6X.js +89 -0
- package/dist/_chunks/useWebhooks-Dvjo7y6X.js.map +1 -0
- package/dist/_chunks/validateWorkflow-BQErFAES.js +1076 -0
- package/dist/_chunks/validateWorkflow-BQErFAES.js.map +1 -0
- package/dist/_chunks/validateWorkflow-qyyD9ZMT.mjs +1054 -0
- package/dist/_chunks/validateWorkflow-qyyD9ZMT.mjs.map +1 -0
- package/dist/_chunks/validation-BRQPW7wR.js +33 -0
- package/dist/_chunks/validation-BRQPW7wR.js.map +1 -0
- package/dist/_chunks/validation-DTw7KFkq.mjs +16 -0
- package/dist/_chunks/validation-DTw7KFkq.mjs.map +1 -0
- package/dist/_chunks/vi-B8EGW0fo.mjs +298 -0
- package/dist/_chunks/vi-B8EGW0fo.mjs.map +1 -0
- package/dist/_chunks/vi-BEwfa_dG.js +298 -0
- package/dist/_chunks/vi-BEwfa_dG.js.map +1 -0
- package/dist/_chunks/watch-9KnH0KbG.js +95 -0
- package/dist/_chunks/watch-9KnH0KbG.js.map +1 -0
- package/dist/_chunks/watch-Bdlhf72v.mjs +90 -0
- package/dist/_chunks/watch-Bdlhf72v.mjs.map +1 -0
- package/dist/_chunks/watch-CIG_ceRy.mjs +54 -0
- package/dist/_chunks/watch-CIG_ceRy.mjs.map +1 -0
- package/dist/_chunks/watch-ZrqwXedv.js +79 -0
- package/dist/_chunks/watch-ZrqwXedv.js.map +1 -0
- package/dist/_chunks/zh-Hans-BD04oDkm.js +957 -0
- package/dist/_chunks/zh-Hans-BD04oDkm.js.map +1 -0
- package/dist/_chunks/zh-Hans-DScrItBN.mjs +957 -0
- package/dist/_chunks/zh-Hans-DScrItBN.mjs.map +1 -0
- package/dist/_chunks/zh-IzjeM_o5.js +836 -0
- package/dist/_chunks/zh-IzjeM_o5.js.map +1 -0
- package/dist/_chunks/zh-twdFdR1U.mjs +836 -0
- package/dist/_chunks/zh-twdFdR1U.mjs.map +1 -0
- package/dist/admin/index.js +1 -71
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +4 -74
- package/dist/admin/index.mjs.map +1 -1
- package/dist/cli.js +1 -28
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +1 -28
- package/dist/cli.mjs.map +1 -1
- package/dist/ee/server/index.js +44 -72
- package/dist/ee/server/index.js.map +1 -1
- package/dist/ee/server/index.mjs +45 -73
- package/dist/ee/server/index.mjs.map +1 -1
- package/dist/server/index.js +157 -91
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +193 -127
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/controllers/authenticated-user.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/validate.d.ts.map +1 -1
- package/dist/server/src/utils/merge-validated-body.d.ts +2 -0
- package/dist/server/src/utils/merge-validated-body.d.ts.map +1 -0
- package/dist/server/src/validation/user.d.ts +4 -4
- package/dist/server/src/validation/user.d.ts.map +1 -1
- package/package.json +19 -19
- package/dist/_chunks/AdminSeatInfo-CcnrDPFr.js +0 -166
- package/dist/_chunks/AdminSeatInfo-CcnrDPFr.js.map +0 -1
- package/dist/_chunks/AdminSeatInfo-gLztRe97.mjs +0 -166
- package/dist/_chunks/AdminSeatInfo-gLztRe97.mjs.map +0 -1
- package/dist/_chunks/AuthenticatedApp-9hmvxLus.mjs +0 -1438
- package/dist/_chunks/AuthenticatedApp-9hmvxLus.mjs.map +0 -1
- package/dist/_chunks/AuthenticatedApp-WZhpPnNK.js +0 -1464
- package/dist/_chunks/AuthenticatedApp-WZhpPnNK.js.map +0 -1
- package/dist/_chunks/CreateActionEE-jpIeNaRY.js +0 -125
- package/dist/_chunks/CreateActionEE-jpIeNaRY.js.map +0 -1
- package/dist/_chunks/CreateActionEE-yjoda5Hb.mjs +0 -122
- package/dist/_chunks/CreateActionEE-yjoda5Hb.mjs.map +0 -1
- package/dist/_chunks/CreatePage-0Mt-xoxO.js +0 -327
- package/dist/_chunks/CreatePage-0Mt-xoxO.js.map +0 -1
- package/dist/_chunks/CreatePage-A08bjELp.js +0 -333
- package/dist/_chunks/CreatePage-A08bjELp.js.map +0 -1
- package/dist/_chunks/CreatePage-_3GFnssV.mjs +0 -305
- package/dist/_chunks/CreatePage-_3GFnssV.mjs.map +0 -1
- package/dist/_chunks/CreatePage-dw59ltG7.js +0 -86
- package/dist/_chunks/CreatePage-dw59ltG7.js.map +0 -1
- package/dist/_chunks/CreatePage-gKmLd90c.mjs +0 -314
- package/dist/_chunks/CreatePage-gKmLd90c.mjs.map +0 -1
- package/dist/_chunks/CreatePage-y2qFb3EW.mjs +0 -86
- package/dist/_chunks/CreatePage-y2qFb3EW.mjs.map +0 -1
- package/dist/_chunks/CreateView-48K591De.mjs +0 -88
- package/dist/_chunks/CreateView-48K591De.mjs.map +0 -1
- package/dist/_chunks/CreateView-icsdK0LP.mjs +0 -92
- package/dist/_chunks/CreateView-icsdK0LP.mjs.map +0 -1
- package/dist/_chunks/CreateView-iw5zdito.js +0 -92
- package/dist/_chunks/CreateView-iw5zdito.js.map +0 -1
- package/dist/_chunks/CreateView-r0wXY7d9.js +0 -88
- package/dist/_chunks/CreateView-r0wXY7d9.js.map +0 -1
- package/dist/_chunks/EditPage-6p8Brxzp.js +0 -496
- package/dist/_chunks/EditPage-6p8Brxzp.js.map +0 -1
- package/dist/_chunks/EditPage-eBgXmlCr.mjs +0 -789
- package/dist/_chunks/EditPage-eBgXmlCr.mjs.map +0 -1
- package/dist/_chunks/EditPage-fuMYcO_D.mjs +0 -371
- package/dist/_chunks/EditPage-fuMYcO_D.mjs.map +0 -1
- package/dist/_chunks/EditPage-jvG5GlJc.mjs +0 -328
- package/dist/_chunks/EditPage-jvG5GlJc.mjs.map +0 -1
- package/dist/_chunks/EditPage-nGqO0c8E.js +0 -348
- package/dist/_chunks/EditPage-nGqO0c8E.js.map +0 -1
- package/dist/_chunks/EditPage-pYEEit-R.js +0 -390
- package/dist/_chunks/EditPage-pYEEit-R.js.map +0 -1
- package/dist/_chunks/EditPage-ps19Ubuk.mjs +0 -474
- package/dist/_chunks/EditPage-ps19Ubuk.mjs.map +0 -1
- package/dist/_chunks/EditPage-rf_a255j.js +0 -810
- package/dist/_chunks/EditPage-rf_a255j.js.map +0 -1
- package/dist/_chunks/EditView-9KEeAO94.js +0 -433
- package/dist/_chunks/EditView-9KEeAO94.js.map +0 -1
- package/dist/_chunks/EditView-Pd1zWX47.mjs +0 -413
- package/dist/_chunks/EditView-Pd1zWX47.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-Jje9Oegz.mjs +0 -909
- package/dist/_chunks/EditViewPage-Jje9Oegz.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-KQhcQtqd.js +0 -936
- package/dist/_chunks/EditViewPage-KQhcQtqd.js.map +0 -1
- package/dist/_chunks/EventsTable-OjN46vKG.mjs +0 -107
- package/dist/_chunks/EventsTable-OjN46vKG.mjs.map +0 -1
- package/dist/_chunks/EventsTable-SMVq4K27.js +0 -107
- package/dist/_chunks/EventsTable-SMVq4K27.js.map +0 -1
- package/dist/_chunks/Filters-Gdnt7qft.js +0 -61
- package/dist/_chunks/Filters-Gdnt7qft.js.map +0 -1
- package/dist/_chunks/Filters-dLXfVnI0.mjs +0 -43
- package/dist/_chunks/Filters-dLXfVnI0.mjs.map +0 -1
- package/dist/_chunks/HomePage-1PlFSGc-.mjs +0 -86
- package/dist/_chunks/HomePage-1PlFSGc-.mjs.map +0 -1
- package/dist/_chunks/HomePage-_OZ837dF.js +0 -600
- package/dist/_chunks/HomePage-_OZ837dF.js.map +0 -1
- package/dist/_chunks/HomePage-iGGPufdI.mjs +0 -579
- package/dist/_chunks/HomePage-iGGPufdI.mjs.map +0 -1
- package/dist/_chunks/HomePage-zkMkOLZy.js +0 -86
- package/dist/_chunks/HomePage-zkMkOLZy.js.map +0 -1
- package/dist/_chunks/InformationBoxEE-RkUQObb9.js +0 -359
- package/dist/_chunks/InformationBoxEE-RkUQObb9.js.map +0 -1
- package/dist/_chunks/InformationBoxEE-Y8w2OZfF.mjs +0 -340
- package/dist/_chunks/InformationBoxEE-Y8w2OZfF.mjs.map +0 -1
- package/dist/_chunks/InstalledPluginsPage-6VEamMx-.js +0 -188
- package/dist/_chunks/InstalledPluginsPage-6VEamMx-.js.map +0 -1
- package/dist/_chunks/InstalledPluginsPage-FLV-i16T.mjs +0 -169
- package/dist/_chunks/InstalledPluginsPage-FLV-i16T.mjs.map +0 -1
- package/dist/_chunks/InternalErrorPage-7JIAF-Ev.mjs +0 -41
- package/dist/_chunks/InternalErrorPage-7JIAF-Ev.mjs.map +0 -1
- package/dist/_chunks/InternalErrorPage-MkOX2w_Q.js +0 -41
- package/dist/_chunks/InternalErrorPage-MkOX2w_Q.js.map +0 -1
- package/dist/_chunks/Layout-BbFzmdA3.mjs +0 -87
- package/dist/_chunks/Layout-BbFzmdA3.mjs.map +0 -1
- package/dist/_chunks/Layout-yDFhMeG0.js +0 -88
- package/dist/_chunks/Layout-yDFhMeG0.js.map +0 -1
- package/dist/_chunks/LimitsModal-gq7jwfap.js +0 -75
- package/dist/_chunks/LimitsModal-gq7jwfap.js.map +0 -1
- package/dist/_chunks/LimitsModal-slvRtty7.mjs +0 -74
- package/dist/_chunks/LimitsModal-slvRtty7.mjs.map +0 -1
- package/dist/_chunks/ListPage-3_Rmx0WL.js +0 -680
- package/dist/_chunks/ListPage-3_Rmx0WL.js.map +0 -1
- package/dist/_chunks/ListPage-59QCcSqZ.mjs +0 -659
- package/dist/_chunks/ListPage-59QCcSqZ.mjs.map +0 -1
- package/dist/_chunks/ListPage-AUecxlA9.js +0 -349
- package/dist/_chunks/ListPage-AUecxlA9.js.map +0 -1
- package/dist/_chunks/ListPage-Lqx57Glr.mjs +0 -88
- package/dist/_chunks/ListPage-Lqx57Glr.mjs.map +0 -1
- package/dist/_chunks/ListPage-QhtuDpJA.js +0 -88
- package/dist/_chunks/ListPage-QhtuDpJA.js.map +0 -1
- package/dist/_chunks/ListPage-WJP01btb.mjs +0 -348
- package/dist/_chunks/ListPage-WJP01btb.mjs.map +0 -1
- package/dist/_chunks/ListPage-Zab_MlPC.js +0 -404
- package/dist/_chunks/ListPage-Zab_MlPC.js.map +0 -1
- package/dist/_chunks/ListPage-iaetHfR8.mjs +0 -346
- package/dist/_chunks/ListPage-iaetHfR8.mjs.map +0 -1
- package/dist/_chunks/ListPage-iiklTiAf.mjs +0 -385
- package/dist/_chunks/ListPage-iiklTiAf.mjs.map +0 -1
- package/dist/_chunks/ListPage-kz10SAjp.js +0 -369
- package/dist/_chunks/ListPage-kz10SAjp.js.map +0 -1
- package/dist/_chunks/ListPage-r1G44Ymw.mjs +0 -595
- package/dist/_chunks/ListPage-r1G44Ymw.mjs.map +0 -1
- package/dist/_chunks/ListPage-zsMQLWZe.js +0 -617
- package/dist/_chunks/ListPage-zsMQLWZe.js.map +0 -1
- package/dist/_chunks/ListView-5XArx3Uw.js +0 -301
- package/dist/_chunks/ListView-5XArx3Uw.js.map +0 -1
- package/dist/_chunks/ListView-baie7EdX.js +0 -291
- package/dist/_chunks/ListView-baie7EdX.js.map +0 -1
- package/dist/_chunks/ListView-dF3W-1qO.mjs +0 -270
- package/dist/_chunks/ListView-dF3W-1qO.mjs.map +0 -1
- package/dist/_chunks/ListView-mKtPXw3S.mjs +0 -280
- package/dist/_chunks/ListView-mKtPXw3S.mjs.map +0 -1
- package/dist/_chunks/Login-fNgnBkZN.mjs +0 -96
- package/dist/_chunks/Login-fNgnBkZN.mjs.map +0 -1
- package/dist/_chunks/Login-xMEWYqb3.js +0 -98
- package/dist/_chunks/Login-xMEWYqb3.js.map +0 -1
- package/dist/_chunks/MagicLinkEE-7ImmXKjt.mjs +0 -96
- package/dist/_chunks/MagicLinkEE-7ImmXKjt.mjs.map +0 -1
- package/dist/_chunks/MagicLinkEE-8eVOHtWs.js +0 -96
- package/dist/_chunks/MagicLinkEE-8eVOHtWs.js.map +0 -1
- package/dist/_chunks/MarketplacePage-9gMDs0VU.mjs +0 -1061
- package/dist/_chunks/MarketplacePage-9gMDs0VU.mjs.map +0 -1
- package/dist/_chunks/MarketplacePage-Xg7mos0Q.js +0 -1085
- package/dist/_chunks/MarketplacePage-Xg7mos0Q.js.map +0 -1
- package/dist/_chunks/ModalForm-W9-dHdzq.mjs +0 -28
- package/dist/_chunks/ModalForm-W9-dHdzq.mjs.map +0 -1
- package/dist/_chunks/ModalForm-cFcYN_zA.js +0 -28
- package/dist/_chunks/ModalForm-cFcYN_zA.js.map +0 -1
- package/dist/_chunks/Permissions-hFoxbU5P.js +0 -2040
- package/dist/_chunks/Permissions-hFoxbU5P.js.map +0 -1
- package/dist/_chunks/Permissions-zCLsoAGa.mjs +0 -2011
- package/dist/_chunks/Permissions-zCLsoAGa.mjs.map +0 -1
- package/dist/_chunks/ProfilePage-31ZnqdJz.mjs +0 -645
- package/dist/_chunks/ProfilePage-31ZnqdJz.mjs.map +0 -1
- package/dist/_chunks/ProfilePage-v0d-63SV.js +0 -668
- package/dist/_chunks/ProfilePage-v0d-63SV.js.map +0 -1
- package/dist/_chunks/PurchaseAuditLogs-KILCZp5x.mjs +0 -48
- package/dist/_chunks/PurchaseAuditLogs-KILCZp5x.mjs.map +0 -1
- package/dist/_chunks/PurchaseAuditLogs-bs-tiD4M.js +0 -48
- package/dist/_chunks/PurchaseAuditLogs-bs-tiD4M.js.map +0 -1
- package/dist/_chunks/PurchaseReviewWorkflows-cdGh-HED.js +0 -51
- package/dist/_chunks/PurchaseReviewWorkflows-cdGh-HED.js.map +0 -1
- package/dist/_chunks/PurchaseReviewWorkflows-rVcCufNv.mjs +0 -51
- package/dist/_chunks/PurchaseReviewWorkflows-rVcCufNv.mjs.map +0 -1
- package/dist/_chunks/PurchaseSingleSignOn-H8KWtk1K.mjs +0 -51
- package/dist/_chunks/PurchaseSingleSignOn-H8KWtk1K.mjs.map +0 -1
- package/dist/_chunks/PurchaseSingleSignOn-OqlM4WkQ.js +0 -51
- package/dist/_chunks/PurchaseSingleSignOn-OqlM4WkQ.js.map +0 -1
- package/dist/_chunks/ReviewWorkflowsColumn-bEpMVnyq.mjs +0 -102
- package/dist/_chunks/ReviewWorkflowsColumn-bEpMVnyq.mjs.map +0 -1
- package/dist/_chunks/ReviewWorkflowsColumn-jFslDSOJ.js +0 -102
- package/dist/_chunks/ReviewWorkflowsColumn-jFslDSOJ.js.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-397jvh3w.mjs +0 -102
- package/dist/_chunks/SelectRoles-397jvh3w.mjs.map +0 -1
- package/dist/_chunks/SelectRoles-zOmfqKL0.js +0 -103
- package/dist/_chunks/SelectRoles-zOmfqKL0.js.map +0 -1
- package/dist/_chunks/SettingsPage-ge7YVBZh.mjs +0 -1082
- package/dist/_chunks/SettingsPage-ge7YVBZh.mjs.map +0 -1
- package/dist/_chunks/SettingsPage-mNt0QiTY.js +0 -1105
- package/dist/_chunks/SettingsPage-mNt0QiTY.js.map +0 -1
- package/dist/_chunks/SingleSignOnPage-LgnrCYCc.mjs +0 -297
- package/dist/_chunks/SingleSignOnPage-LgnrCYCc.mjs.map +0 -1
- package/dist/_chunks/SingleSignOnPage-M8yMsFLO.js +0 -316
- package/dist/_chunks/SingleSignOnPage-M8yMsFLO.js.map +0 -1
- package/dist/_chunks/Table-T-qYlZ1f.js +0 -226
- package/dist/_chunks/Table-T-qYlZ1f.js.map +0 -1
- package/dist/_chunks/Table-nKuv1TlJ.mjs +0 -206
- package/dist/_chunks/Table-nKuv1TlJ.mjs.map +0 -1
- package/dist/_chunks/TokenTypeSelect-5ERmNfP1.mjs +0 -353
- package/dist/_chunks/TokenTypeSelect-5ERmNfP1.mjs.map +0 -1
- package/dist/_chunks/TokenTypeSelect-9HpXl_PF.js +0 -372
- package/dist/_chunks/TokenTypeSelect-9HpXl_PF.js.map +0 -1
- package/dist/_chunks/apiTokens-_zIqFUDl.js +0 -59
- package/dist/_chunks/apiTokens-_zIqFUDl.js.map +0 -1
- package/dist/_chunks/apiTokens-yQ6rHhJk.mjs +0 -60
- package/dist/_chunks/apiTokens-yQ6rHhJk.mjs.map +0 -1
- package/dist/_chunks/ar-jktgflyG.mjs +0 -936
- package/dist/_chunks/ar-jktgflyG.mjs.map +0 -1
- package/dist/_chunks/ar-qfb99PVh.js +0 -936
- package/dist/_chunks/ar-qfb99PVh.js.map +0 -1
- package/dist/_chunks/build-0AXgvQMp.mjs +0 -44
- package/dist/_chunks/build-0AXgvQMp.mjs.map +0 -1
- package/dist/_chunks/build-9nXVhfLu.js +0 -80
- package/dist/_chunks/build-9nXVhfLu.js.map +0 -1
- package/dist/_chunks/build-E4SInTs4.mjs +0 -77
- package/dist/_chunks/build-E4SInTs4.mjs.map +0 -1
- package/dist/_chunks/build-FCRwbJky.js +0 -77
- package/dist/_chunks/build-FCRwbJky.js.map +0 -1
- package/dist/_chunks/build-VuUvCdhF.mjs +0 -75
- package/dist/_chunks/build-VuUvCdhF.mjs.map +0 -1
- package/dist/_chunks/build-dmiF-Zce.js +0 -66
- package/dist/_chunks/build-dmiF-Zce.js.map +0 -1
- package/dist/_chunks/ca-bQs9dsIc.js +0 -724
- package/dist/_chunks/ca-bQs9dsIc.js.map +0 -1
- package/dist/_chunks/ca-g_TZ9Gyb.mjs +0 -724
- package/dist/_chunks/ca-g_TZ9Gyb.mjs.map +0 -1
- package/dist/_chunks/colors-6VKZqnio.js +0 -33
- package/dist/_chunks/colors-6VKZqnio.js.map +0 -1
- package/dist/_chunks/colors-YeFa2BnS.mjs +0 -34
- package/dist/_chunks/colors-YeFa2BnS.mjs.map +0 -1
- package/dist/_chunks/config-4l8LtfkG.js +0 -281
- package/dist/_chunks/config-4l8LtfkG.js.map +0 -1
- package/dist/_chunks/config-Bsnm3Cwl.mjs +0 -135
- package/dist/_chunks/config-Bsnm3Cwl.mjs.map +0 -1
- package/dist/_chunks/config-cxDPa60M.js +0 -137
- package/dist/_chunks/config-cxDPa60M.js.map +0 -1
- package/dist/_chunks/config-hNpp0TvT.mjs +0 -251
- package/dist/_chunks/config-hNpp0TvT.mjs.map +0 -1
- package/dist/_chunks/config-qyiH0Sij.js +0 -61
- package/dist/_chunks/config-qyiH0Sij.js.map +0 -1
- package/dist/_chunks/config-yfY7v_OS.mjs +0 -58
- package/dist/_chunks/config-yfY7v_OS.mjs.map +0 -1
- package/dist/_chunks/constants-1LJYNtJf.js +0 -116
- package/dist/_chunks/constants-1LJYNtJf.js.map +0 -1
- package/dist/_chunks/constants-8sAt6dKz.mjs +0 -59
- package/dist/_chunks/constants-8sAt6dKz.mjs.map +0 -1
- package/dist/_chunks/constants-BRLS-pE4.js +0 -241
- package/dist/_chunks/constants-BRLS-pE4.js.map +0 -1
- package/dist/_chunks/constants-Fs0PGeXa.mjs +0 -241
- package/dist/_chunks/constants-Fs0PGeXa.mjs.map +0 -1
- package/dist/_chunks/constants-GxbFWMRK.mjs +0 -114
- package/dist/_chunks/constants-GxbFWMRK.mjs.map +0 -1
- package/dist/_chunks/constants-HE_pNGiL.mjs +0 -52
- package/dist/_chunks/constants-HE_pNGiL.mjs.map +0 -1
- package/dist/_chunks/constants-L1I-Y-RJ.js +0 -58
- package/dist/_chunks/constants-L1I-Y-RJ.js.map +0 -1
- package/dist/_chunks/constants-ODlahW77.js +0 -189
- package/dist/_chunks/constants-ODlahW77.js.map +0 -1
- package/dist/_chunks/constants-RMqZXSqh.js +0 -6
- package/dist/_chunks/constants-RMqZXSqh.js.map +0 -1
- package/dist/_chunks/constants-T-cuT2Ca.mjs +0 -168
- package/dist/_chunks/constants-T-cuT2Ca.mjs.map +0 -1
- package/dist/_chunks/constants-VC_tKTEj.js +0 -52
- package/dist/_chunks/constants-VC_tKTEj.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-_8pVvG0H.mjs +0 -11
- package/dist/_chunks/constants-_8pVvG0H.mjs.map +0 -1
- package/dist/_chunks/constants-fJt30IoY.mjs +0 -7
- package/dist/_chunks/constants-fJt30IoY.mjs.map +0 -1
- package/dist/_chunks/constants-jzEsxOxr.js +0 -6
- package/dist/_chunks/constants-jzEsxOxr.js.map +0 -1
- package/dist/_chunks/constants-q1-_l5GM.mjs +0 -7
- package/dist/_chunks/constants-q1-_l5GM.mjs.map +0 -1
- package/dist/_chunks/cs-XYXIcfVY.js +0 -291
- package/dist/_chunks/cs-XYXIcfVY.js.map +0 -1
- package/dist/_chunks/cs-pnCQlrWo.mjs +0 -291
- package/dist/_chunks/cs-pnCQlrWo.mjs.map +0 -1
- package/dist/_chunks/de-elBeWdG2.js +0 -716
- package/dist/_chunks/de-elBeWdG2.js.map +0 -1
- package/dist/_chunks/de-uQFFWv6o.mjs +0 -716
- package/dist/_chunks/de-uQFFWv6o.mjs.map +0 -1
- package/dist/_chunks/develop-GhchjR6l.mjs +0 -66
- package/dist/_chunks/develop-GhchjR6l.mjs.map +0 -1
- package/dist/_chunks/develop-dfA-WCq6.js +0 -70
- package/dist/_chunks/develop-dfA-WCq6.js.map +0 -1
- package/dist/_chunks/dk-QgYCviRU.mjs +0 -634
- package/dist/_chunks/dk-QgYCviRU.mjs.map +0 -1
- package/dist/_chunks/dk-qvFj0oFG.js +0 -634
- package/dist/_chunks/dk-qvFj0oFG.js.map +0 -1
- package/dist/_chunks/en-LlTBXie5.mjs +0 -1035
- package/dist/_chunks/en-LlTBXie5.mjs.map +0 -1
- package/dist/_chunks/en-UdTZS0x5.js +0 -1035
- package/dist/_chunks/en-UdTZS0x5.js.map +0 -1
- package/dist/_chunks/es-h5dK2UFx.mjs +0 -796
- package/dist/_chunks/es-h5dK2UFx.mjs.map +0 -1
- package/dist/_chunks/es-hBQ_pL0X.js +0 -796
- package/dist/_chunks/es-hBQ_pL0X.js.map +0 -1
- package/dist/_chunks/eu-7yW2eEOy.mjs +0 -832
- package/dist/_chunks/eu-7yW2eEOy.mjs.map +0 -1
- package/dist/_chunks/eu-VH6nNPXY.js +0 -832
- package/dist/_chunks/eu-VH6nNPXY.js.map +0 -1
- package/dist/_chunks/fr-I-0ckcEU.mjs +0 -762
- package/dist/_chunks/fr-I-0ckcEU.mjs.map +0 -1
- package/dist/_chunks/fr-RVVsyT5B.js +0 -762
- package/dist/_chunks/fr-RVVsyT5B.js.map +0 -1
- package/dist/_chunks/gu-76mTVAc2.js +0 -623
- package/dist/_chunks/gu-76mTVAc2.js.map +0 -1
- package/dist/_chunks/gu-k2JKO75-.mjs +0 -623
- package/dist/_chunks/gu-k2JKO75-.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-eUDhoDjK.mjs +0 -722
- package/dist/_chunks/hi-eUDhoDjK.mjs.map +0 -1
- package/dist/_chunks/hi-zD7tX6HS.js +0 -722
- package/dist/_chunks/hi-zD7tX6HS.js.map +0 -1
- package/dist/_chunks/hr-_CdBFPv8.js +0 -1035
- package/dist/_chunks/hr-_CdBFPv8.js.map +0 -1
- package/dist/_chunks/hr-fj72XD8M.mjs +0 -1035
- package/dist/_chunks/hr-fj72XD8M.mjs.map +0 -1
- package/dist/_chunks/hu-0pmvoLj1.js +0 -832
- package/dist/_chunks/hu-0pmvoLj1.js.map +0 -1
- package/dist/_chunks/hu-Nw7d3QWI.mjs +0 -832
- package/dist/_chunks/hu-Nw7d3QWI.mjs.map +0 -1
- package/dist/_chunks/id-xMqk-8lW.mjs +0 -448
- package/dist/_chunks/id-xMqk-8lW.mjs.map +0 -1
- package/dist/_chunks/id-yQtHASS7.js +0 -448
- package/dist/_chunks/id-yQtHASS7.js.map +0 -1
- package/dist/_chunks/index-KlaImB-Z.mjs +0 -19384
- package/dist/_chunks/index-KlaImB-Z.mjs.map +0 -1
- package/dist/_chunks/index-jOX8WAPL.js +0 -938
- package/dist/_chunks/index-jOX8WAPL.js.map +0 -1
- package/dist/_chunks/index-nzsPp67p.js +0 -19442
- package/dist/_chunks/index-nzsPp67p.js.map +0 -1
- package/dist/_chunks/index-uXEcUT9H.mjs +0 -900
- package/dist/_chunks/index-uXEcUT9H.mjs.map +0 -1
- package/dist/_chunks/it-RPJqQqp3.js +0 -459
- package/dist/_chunks/it-RPJqQqp3.js.map +0 -1
- package/dist/_chunks/it-rHB9s1La.mjs +0 -459
- package/dist/_chunks/it-rHB9s1La.mjs.map +0 -1
- package/dist/_chunks/ja-5uFhM-kW.js +0 -633
- package/dist/_chunks/ja-5uFhM-kW.js.map +0 -1
- package/dist/_chunks/ja-WD-v2aCc.mjs +0 -633
- package/dist/_chunks/ja-WD-v2aCc.mjs.map +0 -1
- package/dist/_chunks/ko-JyirX0Lo.js +0 -631
- package/dist/_chunks/ko-JyirX0Lo.js.map +0 -1
- package/dist/_chunks/ko-bqCJmLX_.mjs +0 -631
- package/dist/_chunks/ko-bqCJmLX_.mjs.map +0 -1
- package/dist/_chunks/ml-NdVWq6KA.mjs +0 -722
- package/dist/_chunks/ml-NdVWq6KA.mjs.map +0 -1
- package/dist/_chunks/ml-QqpcKQgB.js +0 -722
- package/dist/_chunks/ml-QqpcKQgB.js.map +0 -1
- package/dist/_chunks/ms-gansS54r.mjs +0 -342
- package/dist/_chunks/ms-gansS54r.mjs.map +0 -1
- package/dist/_chunks/ms-wbSWdQJ0.js +0 -342
- package/dist/_chunks/ms-wbSWdQJ0.js.map +0 -1
- package/dist/_chunks/nl--_EbnSVw.mjs +0 -828
- package/dist/_chunks/nl--_EbnSVw.mjs.map +0 -1
- package/dist/_chunks/nl-Foqdtl_-.js +0 -828
- package/dist/_chunks/nl-Foqdtl_-.js.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-01EnRFRc.js +0 -721
- package/dist/_chunks/pl-01EnRFRc.js.map +0 -1
- package/dist/_chunks/pl-3EvXSIl8.mjs +0 -721
- package/dist/_chunks/pl-3EvXSIl8.mjs.map +0 -1
- package/dist/_chunks/pt-BR-8-G6vaMo.mjs +0 -794
- package/dist/_chunks/pt-BR-8-G6vaMo.mjs.map +0 -1
- package/dist/_chunks/pt-BR-F3FsQI-D.js +0 -794
- package/dist/_chunks/pt-BR-F3FsQI-D.js.map +0 -1
- package/dist/_chunks/pt-Mve7WzqZ.js +0 -296
- package/dist/_chunks/pt-Mve7WzqZ.js.map +0 -1
- package/dist/_chunks/pt-TrdDLCZ4.mjs +0 -296
- package/dist/_chunks/pt-TrdDLCZ4.mjs.map +0 -1
- package/dist/_chunks/reviewWorkflows-6LYktuSC.js +0 -116
- package/dist/_chunks/reviewWorkflows-6LYktuSC.js.map +0 -1
- package/dist/_chunks/reviewWorkflows-xaCXGNG_.mjs +0 -117
- package/dist/_chunks/reviewWorkflows-xaCXGNG_.mjs.map +0 -1
- package/dist/_chunks/ru-flezEXdc.js +0 -993
- package/dist/_chunks/ru-flezEXdc.js.map +0 -1
- package/dist/_chunks/ru-mivqkjAk.mjs +0 -993
- package/dist/_chunks/ru-mivqkjAk.mjs.map +0 -1
- package/dist/_chunks/sa-AbTtHezl.mjs +0 -722
- package/dist/_chunks/sa-AbTtHezl.mjs.map +0 -1
- package/dist/_chunks/sa-gjKCAmHv.js +0 -722
- package/dist/_chunks/sa-gjKCAmHv.js.map +0 -1
- package/dist/_chunks/sk-IoQ_DY_j.mjs +0 -690
- package/dist/_chunks/sk-IoQ_DY_j.mjs.map +0 -1
- package/dist/_chunks/sk-xA9DPcmq.js +0 -690
- package/dist/_chunks/sk-xA9DPcmq.js.map +0 -1
- package/dist/_chunks/sv-SHJ67uau.mjs +0 -827
- package/dist/_chunks/sv-SHJ67uau.mjs.map +0 -1
- package/dist/_chunks/sv-be1suA3a.js +0 -827
- package/dist/_chunks/sv-be1suA3a.js.map +0 -1
- package/dist/_chunks/th-7ExcBOpr.js +0 -430
- package/dist/_chunks/th-7ExcBOpr.js.map +0 -1
- package/dist/_chunks/th-TrS9p5eO.mjs +0 -430
- package/dist/_chunks/th-TrS9p5eO.mjs.map +0 -1
- package/dist/_chunks/tr-f8ouRTmt.mjs +0 -785
- package/dist/_chunks/tr-f8ouRTmt.mjs.map +0 -1
- package/dist/_chunks/tr-u4e0KNRe.js +0 -785
- package/dist/_chunks/tr-u4e0KNRe.js.map +0 -1
- package/dist/_chunks/transferTokens-2uzdnbMv.js +0 -62
- package/dist/_chunks/transferTokens-2uzdnbMv.js.map +0 -1
- package/dist/_chunks/transferTokens-nEqTmvrl.mjs +0 -63
- package/dist/_chunks/transferTokens-nEqTmvrl.mjs.map +0 -1
- package/dist/_chunks/uk-5Ikxxci1.js +0 -343
- package/dist/_chunks/uk-5Ikxxci1.js.map +0 -1
- package/dist/_chunks/uk-x2flwIlG.mjs +0 -343
- package/dist/_chunks/uk-x2flwIlG.mjs.map +0 -1
- package/dist/_chunks/useAdminRoles-GDWeBZj1.js +0 -46
- package/dist/_chunks/useAdminRoles-GDWeBZj1.js.map +0 -1
- package/dist/_chunks/useAdminRoles-LDuoVSqV.mjs +0 -28
- package/dist/_chunks/useAdminRoles-LDuoVSqV.mjs.map +0 -1
- package/dist/_chunks/useContentTypes-96_zKnV_.mjs +0 -72
- package/dist/_chunks/useContentTypes-96_zKnV_.mjs.map +0 -1
- package/dist/_chunks/useContentTypes-sr3aXJbS.js +0 -90
- package/dist/_chunks/useContentTypes-sr3aXJbS.js.map +0 -1
- package/dist/_chunks/useLicenseLimitNotification-3yitZJCi.js +0 -100
- package/dist/_chunks/useLicenseLimitNotification-3yitZJCi.js.map +0 -1
- package/dist/_chunks/useLicenseLimitNotification-Tb12lIXD.mjs +0 -80
- package/dist/_chunks/useLicenseLimitNotification-Tb12lIXD.mjs.map +0 -1
- package/dist/_chunks/useReviewWorkflows-D7TMsQhe.js +0 -26
- package/dist/_chunks/useReviewWorkflows-D7TMsQhe.js.map +0 -1
- package/dist/_chunks/useReviewWorkflows-sjtDLjeH.mjs +0 -27
- package/dist/_chunks/useReviewWorkflows-sjtDLjeH.mjs.map +0 -1
- package/dist/_chunks/useWebhooks-m2S17Isk.mjs +0 -90
- package/dist/_chunks/useWebhooks-m2S17Isk.mjs.map +0 -1
- package/dist/_chunks/useWebhooks-nFFf0Nl-.js +0 -89
- package/dist/_chunks/useWebhooks-nFFf0Nl-.js.map +0 -1
- package/dist/_chunks/validateWorkflow-3iIakrPp.js +0 -1078
- package/dist/_chunks/validateWorkflow-3iIakrPp.js.map +0 -1
- package/dist/_chunks/validateWorkflow-LfwdPU9V.mjs +0 -1055
- package/dist/_chunks/validateWorkflow-LfwdPU9V.mjs.map +0 -1
- package/dist/_chunks/validation-f9rGWFeU.mjs +0 -16
- package/dist/_chunks/validation-f9rGWFeU.mjs.map +0 -1
- package/dist/_chunks/validation-j25hbp81.js +0 -34
- package/dist/_chunks/validation-j25hbp81.js.map +0 -1
- package/dist/_chunks/vi-BbeHSbqs.mjs +0 -298
- package/dist/_chunks/vi-BbeHSbqs.mjs.map +0 -1
- package/dist/_chunks/vi-SYqVl8vH.js +0 -298
- package/dist/_chunks/vi-SYqVl8vH.js.map +0 -1
- package/dist/_chunks/watch-PcSCwy4F.mjs +0 -129
- package/dist/_chunks/watch-PcSCwy4F.mjs.map +0 -1
- package/dist/_chunks/watch-VFCqBlhs.js +0 -134
- package/dist/_chunks/watch-VFCqBlhs.js.map +0 -1
- package/dist/_chunks/watch-fz6DW2ww.mjs +0 -86
- package/dist/_chunks/watch-fz6DW2ww.mjs.map +0 -1
- package/dist/_chunks/watch-n2QTrRxR.js +0 -111
- package/dist/_chunks/watch-n2QTrRxR.js.map +0 -1
- package/dist/_chunks/zh-9728QXZm.js +0 -836
- package/dist/_chunks/zh-9728QXZm.js.map +0 -1
- package/dist/_chunks/zh-Hans-SHNzD0Zk.js +0 -957
- package/dist/_chunks/zh-Hans-SHNzD0Zk.js.map +0 -1
- package/dist/_chunks/zh-Hans-eY3IWdFB.mjs +0 -957
- package/dist/_chunks/zh-Hans-eY3IWdFB.mjs.map +0 -1
- package/dist/_chunks/zh-cZop7tV1.mjs +0 -836
- package/dist/_chunks/zh-cZop7tV1.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListPage-CnfAB5jH.mjs","sources":["../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/ListPage.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n Flex,\n IconButton,\n Loader,\n Table,\n Thead,\n Tbody,\n Tr,\n Td,\n TFooter,\n Th,\n Typography,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport {\n ConfirmDialog,\n Link,\n LinkButton,\n onRowClick,\n pxToRem,\n useAPIErrorHandler,\n useNotification,\n useRBAC,\n useTracking,\n CheckPagePermissions,\n} from '@strapi/helper-plugin';\nimport { Pencil, Plus, Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useHistory } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useContentTypes } from '../../../../../../../admin/src/hooks/useContentTypes';\nimport { useLicenseLimits } from '../../../../hooks/useLicenseLimits';\n\nimport * as Layout from './components/Layout';\nimport { LimitsModal } from './components/LimitsModal';\nimport { CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME } from './constants';\nimport { useReviewWorkflows } from './hooks/useReviewWorkflows';\n\nconst ActionLink = styled(Link)`\n align-items: center;\n height: ${pxToRem(32)};\n display: flex;\n justify-content: center;\n padding: ${({ theme }) => `${theme.spaces[2]}}`};\n width: ${pxToRem(32)};\n\n svg {\n height: ${pxToRem(12)};\n width: ${pxToRem(12)};\n\n path {\n fill: ${({ theme }) => theme.colors.neutral500};\n }\n }\n\n &:hover,\n &:focus {\n svg {\n path {\n fill: ${({ theme }) => theme.colors.neutral800};\n }\n }\n }\n`;\n\nexport const ReviewWorkflowsListView = () => {\n const { formatMessage } = useIntl();\n const { push } = useHistory();\n const { trackUsage } = useTracking();\n const [workflowToDelete, setWorkflowToDelete] = React.useState<string | null>(null);\n const [showLimitModal, setShowLimitModal] = React.useState<boolean>(false);\n const { collectionTypes, singleTypes, isLoading: isLoadingModels } = useContentTypes();\n const { meta, workflows, isLoading, deleteWorkflow } = useReviewWorkflows();\n const [isDeleting, setIsDeleting] = React.useState(false);\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const { getFeature, isLoading: isLicenseLoading } = useLicenseLimits();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['review-workflows']\n );\n const {\n allowedActions: { canCreate, canDelete },\n } = useRBAC(permissions);\n\n const limits = getFeature('review-workflows');\n const numberOfWorkflows = limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] as string;\n\n const getContentTypeDisplayName = (uid: string) => {\n const contentType = [...collectionTypes, ...singleTypes].find(\n (contentType) => contentType.uid === uid\n );\n\n return contentType?.info.displayName;\n };\n\n const handleDeleteWorkflow = (workflowId: string) => {\n setWorkflowToDelete(workflowId);\n };\n\n const toggleConfirmDeleteDialog = () => {\n setWorkflowToDelete(null);\n };\n\n const handleConfirmDeleteDialog = async () => {\n if (!workflowToDelete) return;\n\n try {\n setIsDeleting(true);\n\n const res = await deleteWorkflow({ id: workflowToDelete });\n\n if ('error' in res) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n setWorkflowToDelete(null);\n\n toggleNotification({\n type: 'success',\n message: { id: 'notification.success.deleted', defaultMessage: 'Deleted' },\n });\n } catch (error) {\n toggleNotification({\n type: 'warning',\n message: {\n id: 'notification.error.unexpected',\n defaultMessage: 'An error occurred',\n },\n });\n } finally {\n setIsDeleting(false);\n }\n };\n\n /**\n * If the current license has a limit:\n * check if the total count of workflows or stages exceeds that limit and display\n * the limits modal on page load. It can be closed by the user, but the\n * API will throw an error in case they try to create a new workflow or update the\n * stages.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now). In case they are trying to create the 201st workflow/ stage\n * the API will throw an error.\n *\n */\n React.useEffect(() => {\n if (!isLoading && !isLicenseLoading) {\n if (numberOfWorkflows && meta && meta?.workflowCount > parseInt(numberOfWorkflows, 10)) {\n setShowLimitModal(true);\n }\n }\n }, [isLicenseLoading, isLoading, meta, meta?.workflowCount, numberOfWorkflows]);\n\n return (\n <>\n <Layout.Header\n primaryAction={\n canCreate && (\n <LinkButton\n startIcon={<Plus />}\n size=\"S\"\n // @ts-expect-error - types are not inferred correctly through the as prop.\n to=\"/settings/review-workflows/create\"\n onClick={(event) => {\n /**\n * If the current license has a workflow limit:\n * check if the total count of workflows exceeds that limit. If so,\n * prevent the navigation and show the limits overlay.\n *\n * If the current license does not have a limit (e.g. offline license):\n * allow the user to navigate to the create-view. In case they exceed the\n * current hard-limit of 200 they will see an error thrown by the API.\n */\n\n if (\n numberOfWorkflows &&\n meta &&\n meta?.workflowCount >= parseInt(numberOfWorkflows, 10)\n ) {\n event.preventDefault();\n setShowLimitModal(true);\n } else {\n trackUsage('willCreateWorkflow');\n }\n }}\n >\n {formatMessage({\n id: 'Settings.review-workflows.list.page.create',\n defaultMessage: 'Create new workflow',\n })}\n </LinkButton>\n )\n }\n subtitle={formatMessage({\n id: 'Settings.review-workflows.list.page.subtitle',\n defaultMessage: 'Manage your content review process',\n })}\n title={formatMessage({\n id: 'Settings.review-workflows.list.page.title',\n defaultMessage: 'Review Workflows',\n })}\n />\n\n <Layout.Root>\n {isLoading || isLoadingModels ? (\n <Flex justifyContent=\"center\">\n <Loader>\n {formatMessage({\n id: 'Settings.review-workflows.page.list.isLoading',\n defaultMessage: 'Workflows are loading',\n })}\n </Loader>\n </Flex>\n ) : (\n <Table\n colCount={3}\n footer={\n // TODO: we should be able to use a link here instead of an (inaccessible onClick) handler\n canCreate && (\n <TFooter\n icon={<Plus />}\n onClick={() => {\n /**\n * If the current license has a workflow limit:\n * check if the total count of workflows exceeds that limit\n *\n * If the current license does not have a limit (e.g. offline license):\n * allow the user to navigate to the create-view. In case they exceed the\n * current hard-limit of 200 they will see an error thrown by the API.\n */\n\n if (\n numberOfWorkflows &&\n meta &&\n meta?.workflowCount >= parseInt(numberOfWorkflows, 10)\n ) {\n setShowLimitModal(true);\n } else {\n push('/settings/review-workflows/create');\n trackUsage('willCreateWorkflow');\n }\n }}\n >\n {formatMessage({\n id: 'Settings.review-workflows.list.page.create',\n defaultMessage: 'Create new workflow',\n })}\n </TFooter>\n )\n }\n rowCount={1}\n >\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\">\n {formatMessage({\n id: 'Settings.review-workflows.list.page.list.column.name.title',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\">\n {formatMessage({\n id: 'Settings.review-workflows.list.page.list.column.stages.title',\n defaultMessage: 'Stages',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\">\n {formatMessage({\n id: 'Settings.review-workflows.list.page.list.column.contentTypes.title',\n defaultMessage: 'Content Types',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'Settings.review-workflows.list.page.list.column.actions.title',\n defaultMessage: 'Actions',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n\n <Tbody>\n {workflows?.map((workflow) => (\n <Tr\n {...onRowClick({\n fn(event) {\n const el = event.target as HTMLElement;\n // Abort row onClick event when the user click on the delete button\n if (el.nodeName === 'BUTTON') {\n return;\n }\n\n push(`/settings/review-workflows/${workflow.id}`);\n },\n })}\n key={`workflow-${workflow.id}`}\n >\n <Td width={pxToRem(250)}>\n <Typography textColor=\"neutral800\" fontWeight=\"bold\" ellipsis>\n {workflow.name}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{workflow.stages.length}</Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">\n {(workflow?.contentTypes ?? []).map(getContentTypeDisplayName).join(', ')}\n </Typography>\n </Td>\n <Td>\n <Flex alignItems=\"center\" justifyContent=\"end\">\n <ActionLink\n to={`/settings/review-workflows/${workflow.id}`}\n aria-label={formatMessage(\n {\n id: 'Settings.review-workflows.list.page.list.column.actions.edit.label',\n defaultMessage: 'Edit {name}',\n },\n { name: workflow.name }\n )}\n >\n <Pencil />\n </ActionLink>\n\n {workflows.length > 1 && canDelete && (\n <IconButton\n aria-label={formatMessage(\n {\n id: 'Settings.review-workflows.list.page.list.column.actions.delete.label',\n defaultMessage: 'Delete {name}',\n },\n { name: 'Default workflow' }\n )}\n icon={<Trash />}\n noBorder\n onClick={() => {\n handleDeleteWorkflow(String(workflow.id));\n }}\n />\n )}\n </Flex>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n )}\n\n <ConfirmDialog\n bodyText={{\n id: 'Settings.review-workflows.list.page.delete.confirm.body',\n defaultMessage:\n 'If you remove this worfklow, all stage-related information will be removed for this content-type. Are you sure you want to remove it?',\n }}\n isConfirmButtonLoading={isDeleting}\n isOpen={!!workflowToDelete}\n onToggleDialog={toggleConfirmDeleteDialog}\n onConfirm={handleConfirmDeleteDialog}\n />\n\n <LimitsModal.Root isOpen={showLimitModal} onClose={() => setShowLimitModal(false)}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'Settings.review-workflows.list.page.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'Settings.review-workflows.list.page.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </Layout.Root>\n </>\n );\n};\n\nexport const ProtectedReviewWorkflowsPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['review-workflows']?.main\n );\n\n return (\n <CheckPagePermissions permissions={permissions}>\n <ReviewWorkflowsListView />\n </CheckPagePermissions>\n );\n};\n"],"names":["React","contentType","Layout.Header","Layout.Root"],"mappings":"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"}
|
|
@@ -0,0 +1,534 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { ModalLayout, ModalHeader, ModalBody, Flex, Loader, Box, Typography, Grid, JSONInput, Tbody, Tr, Td, IconButton, Combobox, ComboboxOption, Layout, ContentLayout, Main, HeaderLayout, ActionLayout } from "@strapi/design-system";
|
|
3
|
+
import { useNotification, useAPIErrorHandler, PageSizeURLQuery, PaginationURLQuery, stopPropagation, onRowClick, useQueryParams, CheckPagePermissions, useRBAC, useFocusWhenNavigate, AnErrorOccurred, SettingsPageTitle, DynamicTable } from "@strapi/helper-plugin";
|
|
4
|
+
import { useIntl } from "react-intl";
|
|
5
|
+
import { n as adminApi, k as useAdminUsers, j as useTypedSelector } from "./index-Cwr9u7_W.mjs";
|
|
6
|
+
import { F as Filters } from "./Filters-B9RQvqbL.mjs";
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import { Breadcrumbs, Crumb } from "@strapi/design-system/v2";
|
|
9
|
+
import parseISO from "date-fns/parseISO";
|
|
10
|
+
import { Eye } from "@strapi/icons";
|
|
11
|
+
import PropTypes from "prop-types";
|
|
12
|
+
const auditLogsService = adminApi.injectEndpoints({
|
|
13
|
+
endpoints: (builder) => ({
|
|
14
|
+
getAuditLogs: builder.query({
|
|
15
|
+
query: (params) => ({
|
|
16
|
+
url: `/admin/audit-logs`,
|
|
17
|
+
config: {
|
|
18
|
+
params
|
|
19
|
+
}
|
|
20
|
+
})
|
|
21
|
+
}),
|
|
22
|
+
getAuditLog: builder.query({
|
|
23
|
+
query: (id) => `/admin/audit-logs/${id}`
|
|
24
|
+
})
|
|
25
|
+
}),
|
|
26
|
+
overrideExisting: false
|
|
27
|
+
});
|
|
28
|
+
const { useGetAuditLogsQuery, useGetAuditLogQuery } = auditLogsService;
|
|
29
|
+
const useFormatTimeStamp = () => {
|
|
30
|
+
const { formatDate } = useIntl();
|
|
31
|
+
const formatTimeStamp = (value) => {
|
|
32
|
+
const date = parseISO(value);
|
|
33
|
+
const formattedDate = formatDate(date, {
|
|
34
|
+
dateStyle: "long"
|
|
35
|
+
});
|
|
36
|
+
const formattedTime = formatDate(date, {
|
|
37
|
+
timeStyle: "medium",
|
|
38
|
+
hourCycle: "h24"
|
|
39
|
+
});
|
|
40
|
+
return `${formattedDate}, ${formattedTime}`;
|
|
41
|
+
};
|
|
42
|
+
return formatTimeStamp;
|
|
43
|
+
};
|
|
44
|
+
const actionTypes = {
|
|
45
|
+
"entry.create": "Create entry{model, select, undefined {} other { ({model})}}",
|
|
46
|
+
"entry.update": "Update entry{model, select, undefined {} other { ({model})}}",
|
|
47
|
+
"entry.delete": "Delete entry{model, select, undefined {} other { ({model})}}",
|
|
48
|
+
"entry.publish": "Publish entry{model, select, undefined {} other { ({model})}}",
|
|
49
|
+
"entry.unpublish": "Unpublish entry{model, select, undefined {} other { ({model})}}",
|
|
50
|
+
"media.create": "Create media",
|
|
51
|
+
"media.update": "Update media",
|
|
52
|
+
"media.delete": "Delete media",
|
|
53
|
+
"media-folder.create": "Create media folder",
|
|
54
|
+
"media-folder.update": "Update media folder",
|
|
55
|
+
"media-folder.delete": "Delete media folder",
|
|
56
|
+
"user.create": "Create user",
|
|
57
|
+
"user.update": "Update user",
|
|
58
|
+
"user.delete": "Delete user",
|
|
59
|
+
"admin.auth.success": "Admin login",
|
|
60
|
+
"admin.logout": "Admin logout",
|
|
61
|
+
"content-type.create": "Create content type",
|
|
62
|
+
"content-type.update": "Update content type",
|
|
63
|
+
"content-type.delete": "Delete content type",
|
|
64
|
+
"component.create": "Create component",
|
|
65
|
+
"component.update": "Update component",
|
|
66
|
+
"component.delete": "Delete component",
|
|
67
|
+
"role.create": "Create role",
|
|
68
|
+
"role.update": "Update role",
|
|
69
|
+
"role.delete": "Delete role",
|
|
70
|
+
"permission.create": "Create permission",
|
|
71
|
+
"permission.update": "Update permission",
|
|
72
|
+
"permission.delete": "Delete permission"
|
|
73
|
+
};
|
|
74
|
+
const getDefaultMessage = (value) => {
|
|
75
|
+
return actionTypes[value] || value;
|
|
76
|
+
};
|
|
77
|
+
const Modal = ({ handleClose, logId }) => {
|
|
78
|
+
const toggleNotification = useNotification();
|
|
79
|
+
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
|
|
80
|
+
const { data, error, isLoading } = useGetAuditLogQuery(logId);
|
|
81
|
+
React.useEffect(() => {
|
|
82
|
+
if (error) {
|
|
83
|
+
toggleNotification({
|
|
84
|
+
type: "warning",
|
|
85
|
+
message: formatAPIError(error)
|
|
86
|
+
});
|
|
87
|
+
handleClose();
|
|
88
|
+
}
|
|
89
|
+
}, [error, formatAPIError, handleClose, toggleNotification]);
|
|
90
|
+
const formatTimeStamp = useFormatTimeStamp();
|
|
91
|
+
const formattedDate = data && "date" in data ? formatTimeStamp(data.date) : "";
|
|
92
|
+
return /* @__PURE__ */ jsxs(ModalLayout, { onClose: handleClose, labelledBy: "title", children: [
|
|
93
|
+
/* @__PURE__ */ jsx(ModalHeader, { children: /* @__PURE__ */ jsx(Breadcrumbs, { label: formattedDate, id: "title", children: /* @__PURE__ */ jsx(Crumb, { isCurrent: true, children: formattedDate }) }) }),
|
|
94
|
+
/* @__PURE__ */ jsx(ModalBody, { children: /* @__PURE__ */ jsx(ActionBody, { isLoading, data, formattedDate }) })
|
|
95
|
+
] });
|
|
96
|
+
};
|
|
97
|
+
const ActionBody = ({ isLoading, data, formattedDate }) => {
|
|
98
|
+
const { formatMessage } = useIntl();
|
|
99
|
+
if (isLoading) {
|
|
100
|
+
return /* @__PURE__ */ jsx(Flex, { padding: 7, justifyContent: "center", alignItems: "center", children: /* @__PURE__ */ jsx(Loader, { children: "Loading content..." }) });
|
|
101
|
+
}
|
|
102
|
+
const { action, user, payload } = data;
|
|
103
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
104
|
+
/* @__PURE__ */ jsx(Box, { marginBottom: 3, children: /* @__PURE__ */ jsx(Typography, { variant: "delta", id: "title", children: formatMessage({
|
|
105
|
+
id: "Settings.permissions.auditLogs.details",
|
|
106
|
+
defaultMessage: "Log Details"
|
|
107
|
+
}) }) }),
|
|
108
|
+
/* @__PURE__ */ jsxs(
|
|
109
|
+
Grid,
|
|
110
|
+
{
|
|
111
|
+
gap: 4,
|
|
112
|
+
gridCols: 2,
|
|
113
|
+
paddingTop: 4,
|
|
114
|
+
paddingBottom: 4,
|
|
115
|
+
paddingLeft: 6,
|
|
116
|
+
paddingRight: 6,
|
|
117
|
+
marginBottom: 4,
|
|
118
|
+
background: "neutral100",
|
|
119
|
+
hasRadius: true,
|
|
120
|
+
children: [
|
|
121
|
+
/* @__PURE__ */ jsx(
|
|
122
|
+
ActionItem,
|
|
123
|
+
{
|
|
124
|
+
actionLabel: formatMessage({
|
|
125
|
+
id: "Settings.permissions.auditLogs.action",
|
|
126
|
+
defaultMessage: "Action"
|
|
127
|
+
}),
|
|
128
|
+
actionName: formatMessage(
|
|
129
|
+
{
|
|
130
|
+
id: `Settings.permissions.auditLogs.${action}`,
|
|
131
|
+
defaultMessage: getDefaultMessage(action)
|
|
132
|
+
},
|
|
133
|
+
// @ts-expect-error - any
|
|
134
|
+
{ model: payload?.model }
|
|
135
|
+
)
|
|
136
|
+
}
|
|
137
|
+
),
|
|
138
|
+
/* @__PURE__ */ jsx(
|
|
139
|
+
ActionItem,
|
|
140
|
+
{
|
|
141
|
+
actionLabel: formatMessage({
|
|
142
|
+
id: "Settings.permissions.auditLogs.date",
|
|
143
|
+
defaultMessage: "Date"
|
|
144
|
+
}),
|
|
145
|
+
actionName: formattedDate
|
|
146
|
+
}
|
|
147
|
+
),
|
|
148
|
+
/* @__PURE__ */ jsx(
|
|
149
|
+
ActionItem,
|
|
150
|
+
{
|
|
151
|
+
actionLabel: formatMessage({
|
|
152
|
+
id: "Settings.permissions.auditLogs.user",
|
|
153
|
+
defaultMessage: "User"
|
|
154
|
+
}),
|
|
155
|
+
actionName: user?.displayName || "-"
|
|
156
|
+
}
|
|
157
|
+
),
|
|
158
|
+
/* @__PURE__ */ jsx(
|
|
159
|
+
ActionItem,
|
|
160
|
+
{
|
|
161
|
+
actionLabel: formatMessage({
|
|
162
|
+
id: "Settings.permissions.auditLogs.userId",
|
|
163
|
+
defaultMessage: "User ID"
|
|
164
|
+
}),
|
|
165
|
+
actionName: user?.id.toString() || "-"
|
|
166
|
+
}
|
|
167
|
+
)
|
|
168
|
+
]
|
|
169
|
+
}
|
|
170
|
+
),
|
|
171
|
+
/* @__PURE__ */ jsx(
|
|
172
|
+
JSONInput,
|
|
173
|
+
{
|
|
174
|
+
value: JSON.stringify(payload, null, 2),
|
|
175
|
+
disabled: true,
|
|
176
|
+
label: formatMessage({
|
|
177
|
+
id: "Settings.permissions.auditLogs.payload",
|
|
178
|
+
defaultMessage: "Payload"
|
|
179
|
+
})
|
|
180
|
+
}
|
|
181
|
+
)
|
|
182
|
+
] });
|
|
183
|
+
};
|
|
184
|
+
const ActionItem = ({ actionLabel, actionName }) => {
|
|
185
|
+
return /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "baseline", gap: 1, children: [
|
|
186
|
+
/* @__PURE__ */ jsx(Typography, { textColor: "neutral600", variant: "sigma", children: actionLabel }),
|
|
187
|
+
/* @__PURE__ */ jsx(Typography, { textColor: "neutral600", children: actionName })
|
|
188
|
+
] });
|
|
189
|
+
};
|
|
190
|
+
const PaginationFooter = ({ pagination } = {
|
|
191
|
+
pagination: {
|
|
192
|
+
page: 1,
|
|
193
|
+
pageCount: 0,
|
|
194
|
+
pageSize: 50,
|
|
195
|
+
total: 0
|
|
196
|
+
}
|
|
197
|
+
}) => {
|
|
198
|
+
return /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsxs(Flex, { alignItems: "flex-end", justifyContent: "space-between", children: [
|
|
199
|
+
/* @__PURE__ */ jsx(PageSizeURLQuery, {}),
|
|
200
|
+
/* @__PURE__ */ jsx(PaginationURLQuery, { pagination })
|
|
201
|
+
] }) });
|
|
202
|
+
};
|
|
203
|
+
const TableRows = ({ headers, rows, onOpenModal }) => {
|
|
204
|
+
const { formatMessage } = useIntl();
|
|
205
|
+
const formatTimeStamp = useFormatTimeStamp();
|
|
206
|
+
const getCellValue = ({ type, value, model }) => {
|
|
207
|
+
if (type === "date") {
|
|
208
|
+
return formatTimeStamp(value);
|
|
209
|
+
}
|
|
210
|
+
if (type === "action") {
|
|
211
|
+
return formatMessage(
|
|
212
|
+
{
|
|
213
|
+
id: `Settings.permissions.auditLogs.${value}`,
|
|
214
|
+
defaultMessage: getDefaultMessage(value)
|
|
215
|
+
},
|
|
216
|
+
// @ts-expect-error - Model
|
|
217
|
+
{ model }
|
|
218
|
+
);
|
|
219
|
+
}
|
|
220
|
+
return value || "-";
|
|
221
|
+
};
|
|
222
|
+
return /* @__PURE__ */ jsx(Tbody, { children: rows.map((data) => {
|
|
223
|
+
return /* @__PURE__ */ jsxs(
|
|
224
|
+
Tr,
|
|
225
|
+
{
|
|
226
|
+
...onRowClick({
|
|
227
|
+
fn: () => onOpenModal(data.id)
|
|
228
|
+
}),
|
|
229
|
+
children: [
|
|
230
|
+
headers?.map(({ key, name, cellFormatter }) => {
|
|
231
|
+
const rowValue = data[name];
|
|
232
|
+
return /* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsx(Typography, { textColor: "neutral800", children: getCellValue({
|
|
233
|
+
type: key,
|
|
234
|
+
value: cellFormatter ? cellFormatter(rowValue) : rowValue,
|
|
235
|
+
model: data.payload?.model
|
|
236
|
+
}) }) }, key);
|
|
237
|
+
}),
|
|
238
|
+
/* @__PURE__ */ jsx(Td, { ...stopPropagation, children: /* @__PURE__ */ jsx(Flex, { justifyContent: "end", children: /* @__PURE__ */ jsx(
|
|
239
|
+
IconButton,
|
|
240
|
+
{
|
|
241
|
+
onClick: () => onOpenModal(data.id),
|
|
242
|
+
"aria-label": formatMessage(
|
|
243
|
+
{ id: "app.component.table.view", defaultMessage: "{target} details" },
|
|
244
|
+
{ target: `${data.action} action` }
|
|
245
|
+
),
|
|
246
|
+
noBorder: true,
|
|
247
|
+
icon: /* @__PURE__ */ jsx(Eye, {})
|
|
248
|
+
}
|
|
249
|
+
) }) })
|
|
250
|
+
]
|
|
251
|
+
},
|
|
252
|
+
data.id
|
|
253
|
+
);
|
|
254
|
+
}) });
|
|
255
|
+
};
|
|
256
|
+
TableRows.defaultProps = {
|
|
257
|
+
rows: []
|
|
258
|
+
};
|
|
259
|
+
TableRows.propTypes = {
|
|
260
|
+
headers: PropTypes.array.isRequired,
|
|
261
|
+
rows: PropTypes.array,
|
|
262
|
+
onOpenModal: PropTypes.func.isRequired
|
|
263
|
+
};
|
|
264
|
+
const useAuditLogsData = ({
|
|
265
|
+
canReadAuditLogs,
|
|
266
|
+
canReadUsers
|
|
267
|
+
}) => {
|
|
268
|
+
const toggleNotification = useNotification();
|
|
269
|
+
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
|
|
270
|
+
const [{ query }] = useQueryParams();
|
|
271
|
+
const {
|
|
272
|
+
data,
|
|
273
|
+
error,
|
|
274
|
+
isError: isUsersError,
|
|
275
|
+
isLoading: isLoadingUsers
|
|
276
|
+
} = useAdminUsers(
|
|
277
|
+
{},
|
|
278
|
+
{
|
|
279
|
+
skip: !canReadUsers,
|
|
280
|
+
refetchOnMountOrArgChange: true
|
|
281
|
+
}
|
|
282
|
+
);
|
|
283
|
+
React.useEffect(() => {
|
|
284
|
+
if (error) {
|
|
285
|
+
toggleNotification({ type: "warning", message: formatAPIError(error) });
|
|
286
|
+
}
|
|
287
|
+
}, [error, toggleNotification, formatAPIError]);
|
|
288
|
+
const {
|
|
289
|
+
data: auditLogs,
|
|
290
|
+
isLoading: isLoadingAuditLogs,
|
|
291
|
+
isError: isAuditLogsError,
|
|
292
|
+
error: auditLogsError
|
|
293
|
+
} = useGetAuditLogsQuery(query, {
|
|
294
|
+
refetchOnMountOrArgChange: true,
|
|
295
|
+
skip: !canReadAuditLogs
|
|
296
|
+
});
|
|
297
|
+
React.useEffect(() => {
|
|
298
|
+
if (auditLogsError) {
|
|
299
|
+
toggleNotification({ type: "warning", message: formatAPIError(auditLogsError) });
|
|
300
|
+
}
|
|
301
|
+
}, [auditLogsError, toggleNotification, formatAPIError]);
|
|
302
|
+
return {
|
|
303
|
+
auditLogs,
|
|
304
|
+
users: data?.users ?? [],
|
|
305
|
+
isLoading: isLoadingUsers || isLoadingAuditLogs,
|
|
306
|
+
hasError: isAuditLogsError || isUsersError
|
|
307
|
+
};
|
|
308
|
+
};
|
|
309
|
+
const ComboboxFilter = ({ value, options, onChange } = {
|
|
310
|
+
value: void 0
|
|
311
|
+
}) => {
|
|
312
|
+
const { formatMessage } = useIntl();
|
|
313
|
+
const ariaLabel = formatMessage({
|
|
314
|
+
id: "Settings.permissions.auditLogs.filter.aria-label",
|
|
315
|
+
defaultMessage: "Search and select an option to filter"
|
|
316
|
+
});
|
|
317
|
+
return /* @__PURE__ */ jsx(Combobox, { "aria-label": ariaLabel, value, onChange, children: options?.map(({ label, customValue }) => {
|
|
318
|
+
return /* @__PURE__ */ jsx(ComboboxOption, { value: customValue, children: label }, customValue);
|
|
319
|
+
}) });
|
|
320
|
+
};
|
|
321
|
+
const customOperators = [
|
|
322
|
+
{
|
|
323
|
+
intlLabel: { id: "components.FilterOptions.FILTER_TYPES.$eq", defaultMessage: "is" },
|
|
324
|
+
value: "$eq"
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
intlLabel: { id: "components.FilterOptions.FILTER_TYPES.$ne", defaultMessage: "is not" },
|
|
328
|
+
value: "$ne"
|
|
329
|
+
}
|
|
330
|
+
];
|
|
331
|
+
const getDisplayedFilters = ({
|
|
332
|
+
formatMessage,
|
|
333
|
+
users,
|
|
334
|
+
canReadUsers
|
|
335
|
+
}) => {
|
|
336
|
+
const filters = [
|
|
337
|
+
{
|
|
338
|
+
name: "action",
|
|
339
|
+
metadatas: {
|
|
340
|
+
customOperators,
|
|
341
|
+
label: formatMessage({
|
|
342
|
+
id: "Settings.permissions.auditLogs.action",
|
|
343
|
+
defaultMessage: "Action"
|
|
344
|
+
}),
|
|
345
|
+
customInput: ComboboxFilter,
|
|
346
|
+
// Default return of Object.keys function is string
|
|
347
|
+
options: Object.keys(actionTypes).map((action) => ({
|
|
348
|
+
label: formatMessage(
|
|
349
|
+
{
|
|
350
|
+
id: `Settings.permissions.auditLogs.${action}`,
|
|
351
|
+
defaultMessage: getDefaultMessage(action)
|
|
352
|
+
},
|
|
353
|
+
{ model: void 0 }
|
|
354
|
+
),
|
|
355
|
+
customValue: action
|
|
356
|
+
}))
|
|
357
|
+
},
|
|
358
|
+
fieldSchema: { type: "enumeration" }
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
name: "date",
|
|
362
|
+
metadatas: {
|
|
363
|
+
label: formatMessage({
|
|
364
|
+
id: "Settings.permissions.auditLogs.date",
|
|
365
|
+
defaultMessage: "Date"
|
|
366
|
+
})
|
|
367
|
+
},
|
|
368
|
+
fieldSchema: { type: "datetime" }
|
|
369
|
+
}
|
|
370
|
+
];
|
|
371
|
+
if (canReadUsers && users) {
|
|
372
|
+
const getDisplayNameFromUser = (user) => {
|
|
373
|
+
if (user.username) {
|
|
374
|
+
return user.username;
|
|
375
|
+
}
|
|
376
|
+
if (user.firstname && user.lastname) {
|
|
377
|
+
return formatMessage(
|
|
378
|
+
{
|
|
379
|
+
id: "Settings.permissions.auditLogs.user.fullname",
|
|
380
|
+
defaultMessage: "{firstname} {lastname}"
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
firstname: user.firstname,
|
|
384
|
+
lastname: user.lastname
|
|
385
|
+
}
|
|
386
|
+
);
|
|
387
|
+
}
|
|
388
|
+
return user.email;
|
|
389
|
+
};
|
|
390
|
+
return [
|
|
391
|
+
...filters,
|
|
392
|
+
{
|
|
393
|
+
name: "user",
|
|
394
|
+
metadatas: {
|
|
395
|
+
customOperators,
|
|
396
|
+
label: formatMessage({
|
|
397
|
+
id: "Settings.permissions.auditLogs.user",
|
|
398
|
+
defaultMessage: "User"
|
|
399
|
+
}),
|
|
400
|
+
options: users.map((user) => ({
|
|
401
|
+
label: getDisplayNameFromUser(user),
|
|
402
|
+
// Combobox expects a string value
|
|
403
|
+
customValue: user.id.toString()
|
|
404
|
+
})),
|
|
405
|
+
customInput: ComboboxFilter
|
|
406
|
+
},
|
|
407
|
+
fieldSchema: { type: "relation", mainField: { name: "id" } }
|
|
408
|
+
}
|
|
409
|
+
];
|
|
410
|
+
}
|
|
411
|
+
return filters;
|
|
412
|
+
};
|
|
413
|
+
const ListPage = () => {
|
|
414
|
+
const { formatMessage } = useIntl();
|
|
415
|
+
const permissions = useTypedSelector((state) => state.admin_app.permissions.settings);
|
|
416
|
+
const {
|
|
417
|
+
allowedActions: { canRead: canReadAuditLogs, canReadUsers },
|
|
418
|
+
isLoading: isLoadingRBAC
|
|
419
|
+
} = useRBAC({
|
|
420
|
+
...permissions?.auditLogs,
|
|
421
|
+
readUsers: permissions?.users.read || []
|
|
422
|
+
});
|
|
423
|
+
const [{ query }, setQuery] = useQueryParams();
|
|
424
|
+
const {
|
|
425
|
+
auditLogs,
|
|
426
|
+
users,
|
|
427
|
+
isLoading: isLoadingData,
|
|
428
|
+
hasError
|
|
429
|
+
} = useAuditLogsData({
|
|
430
|
+
canReadAuditLogs,
|
|
431
|
+
canReadUsers
|
|
432
|
+
});
|
|
433
|
+
useFocusWhenNavigate();
|
|
434
|
+
const displayedFilters = getDisplayedFilters({ formatMessage, users, canReadUsers });
|
|
435
|
+
const headers = [
|
|
436
|
+
{
|
|
437
|
+
name: "action",
|
|
438
|
+
key: "action",
|
|
439
|
+
metadatas: {
|
|
440
|
+
label: formatMessage({
|
|
441
|
+
id: "Settings.permissions.auditLogs.action",
|
|
442
|
+
defaultMessage: "Action"
|
|
443
|
+
}),
|
|
444
|
+
sortable: true
|
|
445
|
+
}
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
name: "date",
|
|
449
|
+
key: "date",
|
|
450
|
+
metadatas: {
|
|
451
|
+
label: formatMessage({
|
|
452
|
+
id: "Settings.permissions.auditLogs.date",
|
|
453
|
+
defaultMessage: "Date"
|
|
454
|
+
}),
|
|
455
|
+
sortable: true
|
|
456
|
+
}
|
|
457
|
+
},
|
|
458
|
+
{
|
|
459
|
+
key: "user",
|
|
460
|
+
name: "user",
|
|
461
|
+
metadatas: {
|
|
462
|
+
label: formatMessage({
|
|
463
|
+
id: "Settings.permissions.auditLogs.user",
|
|
464
|
+
defaultMessage: "User"
|
|
465
|
+
}),
|
|
466
|
+
sortable: false
|
|
467
|
+
},
|
|
468
|
+
// In this case, the passed parameter cannot and shouldn't be something else than User
|
|
469
|
+
cellFormatter: (user) => user ? user.displayName : ""
|
|
470
|
+
}
|
|
471
|
+
];
|
|
472
|
+
if (hasError) {
|
|
473
|
+
return /* @__PURE__ */ jsx(Layout, { children: /* @__PURE__ */ jsx(ContentLayout, { children: /* @__PURE__ */ jsx(Box, { paddingTop: 8, children: /* @__PURE__ */ jsx(AnErrorOccurred, {}) }) }) });
|
|
474
|
+
}
|
|
475
|
+
const isLoading = isLoadingData || isLoadingRBAC;
|
|
476
|
+
return /* @__PURE__ */ jsxs(Main, { "aria-busy": isLoading, children: [
|
|
477
|
+
/* @__PURE__ */ jsx(
|
|
478
|
+
SettingsPageTitle,
|
|
479
|
+
{
|
|
480
|
+
name: formatMessage({
|
|
481
|
+
id: "global.auditLogs",
|
|
482
|
+
defaultMessage: "Audit Logs"
|
|
483
|
+
})
|
|
484
|
+
}
|
|
485
|
+
),
|
|
486
|
+
/* @__PURE__ */ jsx(
|
|
487
|
+
HeaderLayout,
|
|
488
|
+
{
|
|
489
|
+
title: formatMessage({
|
|
490
|
+
id: "global.auditLogs",
|
|
491
|
+
defaultMessage: "Audit Logs"
|
|
492
|
+
}),
|
|
493
|
+
subtitle: formatMessage({
|
|
494
|
+
id: "Settings.permissions.auditLogs.listview.header.subtitle",
|
|
495
|
+
defaultMessage: "Logs of all the activities that happened in your environment"
|
|
496
|
+
})
|
|
497
|
+
}
|
|
498
|
+
),
|
|
499
|
+
/* @__PURE__ */ jsx(ActionLayout, { startActions: /* @__PURE__ */ jsx(Filters, { displayedFilters }) }),
|
|
500
|
+
/* @__PURE__ */ jsxs(ContentLayout, { children: [
|
|
501
|
+
/* @__PURE__ */ jsx(
|
|
502
|
+
DynamicTable,
|
|
503
|
+
{
|
|
504
|
+
contentType: "Audit logs",
|
|
505
|
+
headers,
|
|
506
|
+
rows: auditLogs?.results || [],
|
|
507
|
+
withBulkActions: true,
|
|
508
|
+
isLoading,
|
|
509
|
+
children: /* @__PURE__ */ jsx(
|
|
510
|
+
TableRows,
|
|
511
|
+
{
|
|
512
|
+
headers,
|
|
513
|
+
rows: auditLogs?.results || [],
|
|
514
|
+
onOpenModal: (id) => setQuery({ id: `${id}` })
|
|
515
|
+
}
|
|
516
|
+
)
|
|
517
|
+
}
|
|
518
|
+
),
|
|
519
|
+
auditLogs?.pagination && /* @__PURE__ */ jsx(PaginationFooter, { pagination: auditLogs.pagination })
|
|
520
|
+
] }),
|
|
521
|
+
query?.id && /* @__PURE__ */ jsx(Modal, { handleClose: () => setQuery({ id: null }, "remove"), logId: query.id })
|
|
522
|
+
] });
|
|
523
|
+
};
|
|
524
|
+
const ProtectedListPage = () => {
|
|
525
|
+
const permissions = useTypedSelector(
|
|
526
|
+
(state) => state.admin_app.permissions.settings?.auditLogs?.main
|
|
527
|
+
);
|
|
528
|
+
return /* @__PURE__ */ jsx(CheckPagePermissions, { permissions, children: /* @__PURE__ */ jsx(ListPage, {}) });
|
|
529
|
+
};
|
|
530
|
+
export {
|
|
531
|
+
ListPage,
|
|
532
|
+
ProtectedListPage
|
|
533
|
+
};
|
|
534
|
+
//# sourceMappingURL=ListPage-CrIttWiF.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListPage-CrIttWiF.mjs","sources":["../../ee/admin/src/services/auditLogs.ts","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.ts","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.ts","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.tsx","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/PaginationFooter.tsx","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/TableRows.tsx","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.ts","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.tsx","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.ts","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.tsx"],"sourcesContent":["import { adminApi } from '../../../../admin/src/services/api';\nimport * as AuditLogs from '../../../../shared/contracts/audit-logs';\n\nconst auditLogsService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getAuditLogs: builder.query<AuditLogs.GetAll.Response, AuditLogs.GetAll.Request['query']>({\n query: (params) => ({\n url: `/admin/audit-logs`,\n config: {\n params,\n },\n }),\n }),\n getAuditLog: builder.query<AuditLogs.Get.Response, AuditLogs.Get.Params['id']>({\n query: (id) => `/admin/audit-logs/${id}`,\n }),\n }),\n overrideExisting: false,\n});\n\nconst { useGetAuditLogsQuery, useGetAuditLogQuery } = auditLogsService;\n\nexport { useGetAuditLogsQuery, useGetAuditLogQuery };\n","import parseISO from 'date-fns/parseISO';\nimport { useIntl } from 'react-intl';\n\nexport const useFormatTimeStamp = () => {\n const { formatDate } = useIntl();\n\n const formatTimeStamp = (value: string) => {\n const date = parseISO(value);\n\n const formattedDate = formatDate(date, {\n dateStyle: 'long',\n });\n const formattedTime = formatDate(date, {\n timeStyle: 'medium',\n hourCycle: 'h24',\n });\n\n return `${formattedDate}, ${formattedTime}`;\n };\n\n return formatTimeStamp;\n};\n","export const actionTypes = {\n 'entry.create': 'Create entry{model, select, undefined {} other { ({model})}}',\n 'entry.update': 'Update entry{model, select, undefined {} other { ({model})}}',\n 'entry.delete': 'Delete entry{model, select, undefined {} other { ({model})}}',\n 'entry.publish': 'Publish entry{model, select, undefined {} other { ({model})}}',\n 'entry.unpublish': 'Unpublish entry{model, select, undefined {} other { ({model})}}',\n 'media.create': 'Create media',\n 'media.update': 'Update media',\n 'media.delete': 'Delete media',\n 'media-folder.create': 'Create media folder',\n 'media-folder.update': 'Update media folder',\n 'media-folder.delete': 'Delete media folder',\n 'user.create': 'Create user',\n 'user.update': 'Update user',\n 'user.delete': 'Delete user',\n 'admin.auth.success': 'Admin login',\n 'admin.logout': 'Admin logout',\n 'content-type.create': 'Create content type',\n 'content-type.update': 'Update content type',\n 'content-type.delete': 'Delete content type',\n 'component.create': 'Create component',\n 'component.update': 'Update component',\n 'component.delete': 'Delete component',\n 'role.create': 'Create role',\n 'role.update': 'Update role',\n 'role.delete': 'Delete role',\n 'permission.create': 'Create permission',\n 'permission.update': 'Update permission',\n 'permission.delete': 'Delete permission',\n};\n\nexport const getDefaultMessage = (value: keyof typeof actionTypes) => {\n return actionTypes[value] || value;\n};\n","import * as React from 'react';\n\nimport {\n Box,\n Flex,\n Grid,\n JSONInput,\n Loader,\n ModalBody,\n ModalHeader,\n ModalLayout,\n Typography,\n} from '@strapi/design-system';\nimport { Breadcrumbs, Crumb } from '@strapi/design-system/v2';\nimport { useNotification, useAPIErrorHandler } from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\n\nimport { AuditLog } from '../../../../../../../../shared/contracts/audit-logs';\nimport { useGetAuditLogQuery } from '../../../../../services/auditLogs';\nimport { useFormatTimeStamp } from '../hooks/useFormatTimeStamp';\nimport { actionTypes, getDefaultMessage } from '../utils/getActionTypesDefaultMessages';\n\ninterface ModalProps {\n handleClose: () => void;\n logId: string;\n}\n\nexport const Modal = ({ handleClose, logId }: ModalProps) => {\n const toggleNotification = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { data, error, isLoading } = useGetAuditLogQuery(logId);\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n handleClose();\n }\n }, [error, formatAPIError, handleClose, toggleNotification]);\n\n const formatTimeStamp = useFormatTimeStamp();\n const formattedDate = data && 'date' in data ? formatTimeStamp(data.date) : '';\n\n return (\n <ModalLayout onClose={handleClose} labelledBy=\"title\">\n <ModalHeader>\n {/**\n * TODO: this is not semantically correct and should be amended.\n */}\n <Breadcrumbs label={formattedDate} id=\"title\">\n <Crumb isCurrent>{formattedDate}</Crumb>\n </Breadcrumbs>\n </ModalHeader>\n <ModalBody>\n <ActionBody isLoading={isLoading} data={data as AuditLog} formattedDate={formattedDate} />\n </ModalBody>\n </ModalLayout>\n );\n};\n\ninterface ActionBodyProps {\n isLoading?: boolean;\n data: AuditLog;\n formattedDate: string;\n}\n\nconst ActionBody = ({ isLoading, data, formattedDate }: ActionBodyProps) => {\n const { formatMessage } = useIntl();\n\n if (isLoading) {\n return (\n <Flex padding={7} justifyContent=\"center\" alignItems=\"center\">\n {/**\n * TODO: this will need to be translated.\n */}\n <Loader>Loading content...</Loader>\n </Flex>\n );\n }\n\n const { action, user, payload } = data;\n\n return (\n <>\n <Box marginBottom={3}>\n <Typography variant=\"delta\" id=\"title\">\n {formatMessage({\n id: 'Settings.permissions.auditLogs.details',\n defaultMessage: 'Log Details',\n })}\n </Typography>\n </Box>\n <Grid\n gap={4}\n gridCols={2}\n paddingTop={4}\n paddingBottom={4}\n paddingLeft={6}\n paddingRight={6}\n marginBottom={4}\n background=\"neutral100\"\n hasRadius\n >\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n })}\n actionName={formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action as keyof typeof actionTypes),\n },\n // @ts-expect-error - any\n { model: payload?.model }\n )}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n })}\n actionName={formattedDate}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n })}\n actionName={user?.displayName || '-'}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.userId',\n defaultMessage: 'User ID',\n })}\n actionName={user?.id.toString() || '-'}\n />\n </Grid>\n <JSONInput\n value={JSON.stringify(payload, null, 2)}\n disabled\n label={formatMessage({\n id: 'Settings.permissions.auditLogs.payload',\n defaultMessage: 'Payload',\n })}\n />\n </>\n );\n};\n\ninterface ActionItemProps {\n actionLabel: string;\n actionName: string;\n}\n\nconst ActionItem = ({ actionLabel, actionName }: ActionItemProps) => {\n return (\n <Flex direction=\"column\" alignItems=\"baseline\" gap={1}>\n <Typography textColor=\"neutral600\" variant=\"sigma\">\n {actionLabel}\n </Typography>\n <Typography textColor=\"neutral600\">{actionName}</Typography>\n </Flex>\n );\n};\n","import React from 'react';\n\nimport { Box, Flex } from '@strapi/design-system';\nimport { PageSizeURLQuery, PaginationURLQuery } from '@strapi/helper-plugin';\n\nimport { Pagination } from '../../../../../../../../shared/contracts/shared';\n\ntype PaginationFooterProps = {\n pagination: Pagination;\n};\n\nexport const PaginationFooter = (\n { pagination }: PaginationFooterProps = {\n pagination: {\n page: 1,\n pageCount: 0,\n pageSize: 50,\n total: 0,\n },\n }\n) => {\n return (\n <Box paddingTop={4}>\n <Flex alignItems=\"flex-end\" justifyContent=\"space-between\">\n <PageSizeURLQuery />\n <PaginationURLQuery pagination={pagination} />\n </Flex>\n </Box>\n );\n};\n","import React from 'react';\n\nimport { Flex, IconButton, Tbody, Td, Tr, Typography } from '@strapi/design-system';\nimport { onRowClick, stopPropagation } from '@strapi/helper-plugin';\nimport { Eye } from '@strapi/icons';\nimport { Attribute, Entity } from '@strapi/types';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { ListLayoutRow } from '../../../../../../../../admin/src/content-manager/utils/layouts';\nimport { AuditLog } from '../../../../../../../../shared/contracts/audit-logs';\nimport { useFormatTimeStamp } from '../hooks/useFormatTimeStamp';\nimport { getDefaultMessage } from '../utils/getActionTypesDefaultMessages';\n\nexport interface TableHeader extends Omit<ListLayoutRow, 'metadatas' | 'fieldSchema' | 'name'> {\n metadatas: Omit<ListLayoutRow['metadatas'], 'label'> & {\n label: string;\n };\n name: keyof AuditLog;\n fieldSchema?: Attribute.Any | { type: 'custom' };\n cellFormatter?: (data?: AuditLog[keyof AuditLog]) => React.ReactNode;\n}\n\ntype TableRowsProps = {\n headers: TableHeader[];\n rows: AuditLog[];\n onOpenModal: (id: Entity.ID) => void;\n};\n\nexport const TableRows = ({ headers, rows, onOpenModal }: TableRowsProps) => {\n const { formatMessage } = useIntl();\n const formatTimeStamp = useFormatTimeStamp();\n\n // Not sure that 'value' can be typed properly\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const getCellValue = ({ type, value, model }: { type: string; value: any; model: unknown }) => {\n if (type === 'date') {\n return formatTimeStamp(value);\n }\n\n if (type === 'action') {\n return formatMessage(\n {\n id: `Settings.permissions.auditLogs.${value}`,\n defaultMessage: getDefaultMessage(value),\n },\n // @ts-expect-error - Model\n { model }\n );\n }\n\n return value || '-';\n };\n\n return (\n <Tbody>\n {rows.map((data) => {\n return (\n <Tr\n key={data.id}\n {...onRowClick({\n fn: () => onOpenModal(data.id),\n })}\n >\n {headers?.map(({ key, name, cellFormatter }) => {\n const rowValue = data[name];\n\n return (\n <Td key={key}>\n <Typography textColor=\"neutral800\">\n {getCellValue({\n type: key,\n value: cellFormatter ? cellFormatter(rowValue) : rowValue,\n model: data.payload?.model,\n })}\n </Typography>\n </Td>\n );\n })}\n <Td {...stopPropagation}>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => onOpenModal(data.id)}\n aria-label={formatMessage(\n { id: 'app.component.table.view', defaultMessage: '{target} details' },\n { target: `${data.action} action` }\n )}\n noBorder\n icon={<Eye />}\n />\n </Flex>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n );\n};\n\nTableRows.defaultProps = {\n rows: [],\n};\n\nTableRows.propTypes = {\n headers: PropTypes.array.isRequired,\n rows: PropTypes.array,\n onOpenModal: PropTypes.func.isRequired,\n};\n","import * as React from 'react';\n\nimport { useAPIErrorHandler, useNotification, useQueryParams } from '@strapi/helper-plugin';\n\nimport { useAdminUsers } from '../../../../../../../../admin/src/services/users';\nimport { useGetAuditLogsQuery } from '../../../../../services/auditLogs';\n\nexport const useAuditLogsData = ({\n canReadAuditLogs,\n canReadUsers,\n}: {\n canReadAuditLogs: boolean;\n canReadUsers: boolean;\n}) => {\n const toggleNotification = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const [{ query }] = useQueryParams();\n\n const {\n data,\n error,\n isError: isUsersError,\n isLoading: isLoadingUsers,\n } = useAdminUsers(\n {},\n {\n skip: !canReadUsers,\n refetchOnMountOrArgChange: true,\n }\n );\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({ type: 'warning', message: formatAPIError(error) });\n }\n }, [error, toggleNotification, formatAPIError]);\n\n const {\n data: auditLogs,\n isLoading: isLoadingAuditLogs,\n isError: isAuditLogsError,\n error: auditLogsError,\n } = useGetAuditLogsQuery(query, {\n refetchOnMountOrArgChange: true,\n skip: !canReadAuditLogs,\n });\n\n React.useEffect(() => {\n if (auditLogsError) {\n toggleNotification({ type: 'warning', message: formatAPIError(auditLogsError) });\n }\n }, [auditLogsError, toggleNotification, formatAPIError]);\n\n return {\n auditLogs,\n users: data?.users ?? [],\n isLoading: isLoadingUsers || isLoadingAuditLogs,\n hasError: isAuditLogsError || isUsersError,\n };\n};\n","import { Combobox, ComboboxOption, ComboboxProps } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\ntype ComboboxFilterProps = {\n value?: string;\n options?: { label: string; customValue: string }[];\n onChange?: ComboboxProps['onChange'];\n};\n\nexport const ComboboxFilter = (\n { value, options, onChange }: ComboboxFilterProps = {\n value: undefined,\n }\n) => {\n const { formatMessage } = useIntl();\n const ariaLabel = formatMessage({\n id: 'Settings.permissions.auditLogs.filter.aria-label',\n defaultMessage: 'Search and select an option to filter',\n });\n\n return (\n <Combobox aria-label={ariaLabel} value={value} onChange={onChange}>\n {options?.map(({ label, customValue }) => {\n return (\n <ComboboxOption key={customValue} value={customValue}>\n {label}\n </ComboboxOption>\n );\n })}\n </Combobox>\n );\n};\n","import { FilterData } from '@strapi/helper-plugin';\nimport { IntlShape } from 'react-intl';\n\nimport { SanitizedAdminUser } from '../../../../../../../../shared/contracts/shared';\nimport { ComboboxFilter } from '../components/ComboboxFilter';\n\nimport { actionTypes, getDefaultMessage } from './getActionTypesDefaultMessages';\n\nconst customOperators = [\n {\n intlLabel: { id: 'components.FilterOptions.FILTER_TYPES.$eq', defaultMessage: 'is' },\n value: '$eq',\n },\n {\n intlLabel: { id: 'components.FilterOptions.FILTER_TYPES.$ne', defaultMessage: 'is not' },\n value: '$ne',\n },\n];\n\nexport const getDisplayedFilters = ({\n formatMessage,\n users,\n canReadUsers,\n}: {\n formatMessage: IntlShape['formatMessage'];\n users: SanitizedAdminUser[];\n canReadUsers: boolean;\n}): FilterData[] => {\n const filters = [\n {\n name: 'action',\n metadatas: {\n customOperators,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n customInput: ComboboxFilter,\n // Default return of Object.keys function is string\n options: (Object.keys(actionTypes) as (keyof typeof actionTypes)[]).map((action) => ({\n label: formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action),\n },\n { model: undefined }\n ),\n customValue: action,\n })),\n },\n fieldSchema: { type: 'enumeration' },\n },\n {\n name: 'date',\n metadatas: {\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n },\n fieldSchema: { type: 'datetime' },\n },\n ] satisfies FilterData[];\n\n if (canReadUsers && users) {\n const getDisplayNameFromUser = (user: SanitizedAdminUser) => {\n if (user.username) {\n return user.username;\n }\n\n if (user.firstname && user.lastname) {\n return formatMessage(\n {\n id: 'Settings.permissions.auditLogs.user.fullname',\n defaultMessage: '{firstname} {lastname}',\n },\n {\n firstname: user.firstname,\n lastname: user.lastname,\n }\n );\n }\n\n return user.email;\n };\n\n return [\n ...filters,\n {\n name: 'user',\n metadatas: {\n customOperators,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n options: users.map((user) => ({\n label: getDisplayNameFromUser(user),\n // Combobox expects a string value\n customValue: user.id.toString(),\n })),\n customInput: ComboboxFilter,\n },\n fieldSchema: { type: 'relation', mainField: { name: 'id' } },\n } satisfies FilterData,\n ];\n }\n\n return filters;\n};\n","import {\n ActionLayout,\n Box,\n ContentLayout,\n HeaderLayout,\n Layout,\n Main,\n} from '@strapi/design-system';\nimport {\n AnErrorOccurred,\n DynamicTable,\n SettingsPageTitle,\n useFocusWhenNavigate,\n useQueryParams,\n useRBAC,\n CheckPagePermissions,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\n\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { Filters } from '../../../../../../../admin/src/pages/Settings/components/Filters';\nimport { SanitizedAdminUserForAuditLogs } from '../../../../../../../shared/contracts/audit-logs';\n\nimport { Modal } from './components/Modal';\nimport { PaginationFooter } from './components/PaginationFooter';\nimport { TableHeader, TableRows } from './components/TableRows';\nimport { useAuditLogsData } from './hooks/useAuditLogsData';\nimport { getDisplayedFilters } from './utils/getDisplayedFilters';\n\nconst ListPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings);\n\n const {\n allowedActions: { canRead: canReadAuditLogs, canReadUsers },\n isLoading: isLoadingRBAC,\n } = useRBAC({\n ...permissions?.auditLogs,\n readUsers: permissions?.users.read || [],\n });\n\n const [{ query }, setQuery] = useQueryParams<{ id?: string | null }>();\n const {\n auditLogs,\n users,\n isLoading: isLoadingData,\n hasError,\n } = useAuditLogsData({\n canReadAuditLogs,\n canReadUsers,\n });\n\n useFocusWhenNavigate();\n\n const displayedFilters = getDisplayedFilters({ formatMessage, users, canReadUsers });\n\n const headers = [\n {\n name: 'action',\n key: 'action',\n metadatas: {\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n sortable: true,\n },\n },\n {\n name: 'date',\n key: 'date',\n metadatas: {\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n sortable: true,\n },\n },\n {\n key: 'user',\n name: 'user',\n metadatas: {\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n sortable: false,\n },\n // In this case, the passed parameter cannot and shouldn't be something else than User\n cellFormatter: (user) => (user ? (user as SanitizedAdminUserForAuditLogs).displayName : ''),\n },\n ] satisfies TableHeader[];\n\n if (hasError) {\n return (\n <Layout>\n <ContentLayout>\n <Box paddingTop={8}>\n <AnErrorOccurred />\n </Box>\n </ContentLayout>\n </Layout>\n );\n }\n\n const isLoading = isLoadingData || isLoadingRBAC;\n\n return (\n <Main aria-busy={isLoading}>\n <SettingsPageTitle\n name={formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n })}\n />\n <HeaderLayout\n title={formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n })}\n subtitle={formatMessage({\n id: 'Settings.permissions.auditLogs.listview.header.subtitle',\n defaultMessage: 'Logs of all the activities that happened in your environment',\n })}\n />\n <ActionLayout startActions={<Filters displayedFilters={displayedFilters} />} />\n <ContentLayout>\n <DynamicTable\n contentType=\"Audit logs\"\n headers={headers}\n rows={auditLogs?.results || []}\n withBulkActions\n isLoading={isLoading}\n >\n <TableRows\n headers={headers}\n rows={auditLogs?.results || []}\n onOpenModal={(id) => setQuery({ id: `${id}` })}\n />\n </DynamicTable>\n {auditLogs?.pagination && <PaginationFooter pagination={auditLogs.pagination} />}\n </ContentLayout>\n {query?.id && <Modal handleClose={() => setQuery({ id: null }, 'remove')} logId={query.id} />}\n </Main>\n );\n};\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.auditLogs?.main\n );\n\n return (\n <CheckPagePermissions permissions={permissions}>\n <ListPage />\n </CheckPagePermissions>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":[],"mappings":"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"}
|