@strapi/admin 5.0.0-beta.1 → 5.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/AdminSeatInfo-H5eNy3Gq.js +105 -0
- package/dist/admin/AdminSeatInfo-H5eNy3Gq.js.map +1 -0
- package/dist/admin/AdminSeatInfo-jPH1stsB.mjs +101 -0
- package/dist/admin/AdminSeatInfo-jPH1stsB.mjs.map +1 -0
- package/dist/admin/ApplicationInfoPage-QiVVy6LS.mjs +664 -0
- package/dist/admin/ApplicationInfoPage-QiVVy6LS.mjs.map +1 -0
- package/dist/admin/ApplicationInfoPage-leY1AEgo.js +692 -0
- package/dist/admin/ApplicationInfoPage-leY1AEgo.js.map +1 -0
- package/dist/admin/AuthResponse-5G-7aJDM.mjs +43 -0
- package/dist/admin/AuthResponse-5G-7aJDM.mjs.map +1 -0
- package/dist/admin/AuthResponse-kdo9DYPT.js +70 -0
- package/dist/admin/AuthResponse-kdo9DYPT.js.map +1 -0
- package/dist/admin/AuthenticatedLayout-1x0WC6c6.js +1121 -0
- package/dist/admin/AuthenticatedLayout-1x0WC6c6.js.map +1 -0
- package/dist/admin/AuthenticatedLayout-zaOd05gw.mjs +1088 -0
- package/dist/admin/AuthenticatedLayout-zaOd05gw.mjs.map +1 -0
- package/dist/admin/CreateActionEE-2DKYzbq_.js +61 -0
- package/dist/admin/CreateActionEE-2DKYzbq_.js.map +1 -0
- package/dist/admin/CreateActionEE-TcGdWjIN.mjs +53 -0
- package/dist/admin/CreateActionEE-TcGdWjIN.mjs.map +1 -0
- package/dist/admin/CreatePage-J84OUqE4.js +269 -0
- package/dist/admin/CreatePage-J84OUqE4.js.map +1 -0
- package/dist/admin/CreatePage-gSoe3n8A.mjs +13 -0
- package/dist/admin/CreatePage-gSoe3n8A.mjs.map +1 -0
- package/dist/admin/CreatePage-pniatTP-.mjs +240 -0
- package/dist/admin/CreatePage-pniatTP-.mjs.map +1 -0
- package/dist/admin/CreatePage-z4ERqv1R.js +18 -0
- package/dist/admin/CreatePage-z4ERqv1R.js.map +1 -0
- package/dist/admin/CreateView-BdO0Pvex.mjs +13 -0
- package/dist/admin/CreateView-BdO0Pvex.mjs.map +1 -0
- package/dist/admin/CreateView-JNmfRawb.js +17 -0
- package/dist/admin/CreateView-JNmfRawb.js.map +1 -0
- package/dist/admin/CreateView-NwMXZjDh.js +17 -0
- package/dist/admin/CreateView-NwMXZjDh.js.map +1 -0
- package/dist/admin/CreateView-sFb3ySEj.mjs +13 -0
- package/dist/admin/CreateView-sFb3ySEj.mjs.map +1 -0
- package/dist/admin/EditPage-3wx6NJgA.mjs +790 -0
- package/dist/admin/EditPage-3wx6NJgA.mjs.map +1 -0
- package/dist/admin/EditPage-IQRLHMer.mjs +322 -0
- package/dist/admin/EditPage-IQRLHMer.mjs.map +1 -0
- package/dist/admin/EditPage-dAyJwJfs.js +351 -0
- package/dist/admin/EditPage-dAyJwJfs.js.map +1 -0
- package/dist/admin/EditPage-eR6riBsR.js +818 -0
- package/dist/admin/EditPage-eR6riBsR.js.map +1 -0
- package/dist/admin/EditPage-rdOE18EC.js +281 -0
- package/dist/admin/EditPage-rdOE18EC.js.map +1 -0
- package/dist/admin/EditPage-yztdPcnM.mjs +255 -0
- package/dist/admin/EditPage-yztdPcnM.mjs.map +1 -0
- package/dist/admin/EditView-fbzip_S8.mjs +332 -0
- package/dist/admin/EditView-fbzip_S8.mjs.map +1 -0
- package/dist/admin/EditView-oyHNBKvL.js +358 -0
- package/dist/admin/EditView-oyHNBKvL.js.map +1 -0
- package/dist/admin/EditViewPage-LdDGNi6d.js +875 -0
- package/dist/admin/EditViewPage-LdDGNi6d.js.map +1 -0
- package/dist/admin/EditViewPage-rDgxiutd.mjs +842 -0
- package/dist/admin/EditViewPage-rDgxiutd.mjs.map +1 -0
- package/dist/admin/EventsTable--peC0Geq.js +36 -0
- package/dist/admin/EventsTable--peC0Geq.js.map +1 -0
- package/dist/admin/EventsTable-rNMPq-X1.mjs +32 -0
- package/dist/admin/EventsTable-rNMPq-X1.mjs.map +1 -0
- package/dist/admin/HomePage-14WM2hIE.js +15 -0
- package/dist/admin/HomePage-14WM2hIE.js.map +1 -0
- package/dist/admin/HomePage-e2Bs6Kar.js +591 -0
- package/dist/admin/HomePage-e2Bs6Kar.js.map +1 -0
- package/dist/admin/HomePage-qgAro8dS.mjs +563 -0
- package/dist/admin/HomePage-qgAro8dS.mjs.map +1 -0
- package/dist/admin/HomePage-zQ7HL9y6.mjs +11 -0
- package/dist/admin/HomePage-zQ7HL9y6.mjs.map +1 -0
- package/dist/admin/InstalledPluginsPage-ZIPyDrzh.js +121 -0
- package/dist/admin/InstalledPluginsPage-ZIPyDrzh.js.map +1 -0
- package/dist/admin/InstalledPluginsPage-s_PGIc3_.mjs +96 -0
- package/dist/admin/InstalledPluginsPage-s_PGIc3_.mjs.map +1 -0
- package/dist/admin/Layout-KAX2c8wc.js +232 -0
- package/dist/admin/Layout-KAX2c8wc.js.map +1 -0
- package/dist/admin/Layout-mEj5c1Bi.mjs +204 -0
- package/dist/admin/Layout-mEj5c1Bi.mjs.map +1 -0
- package/dist/admin/ListPage-AI8neqxV.mjs +332 -0
- package/dist/admin/ListPage-AI8neqxV.mjs.map +1 -0
- package/dist/admin/ListPage-ARW72ceH.js +357 -0
- package/dist/admin/ListPage-ARW72ceH.js.map +1 -0
- package/dist/admin/ListPage-AUimd0cK.js +563 -0
- package/dist/admin/ListPage-AUimd0cK.js.map +1 -0
- package/dist/admin/ListPage-BIpKdUdv.mjs +486 -0
- package/dist/admin/ListPage-BIpKdUdv.mjs.map +1 -0
- package/dist/admin/ListPage-DxI49fdQ.js +307 -0
- package/dist/admin/ListPage-DxI49fdQ.js.map +1 -0
- package/dist/admin/ListPage-MvgbZlgc.js +15 -0
- package/dist/admin/ListPage-MvgbZlgc.js.map +1 -0
- package/dist/admin/ListPage-ZDEeaYvm.mjs +11 -0
- package/dist/admin/ListPage-ZDEeaYvm.mjs.map +1 -0
- package/dist/admin/ListPage-asZ9aDzG.mjs +282 -0
- package/dist/admin/ListPage-asZ9aDzG.mjs.map +1 -0
- package/dist/admin/ListPage-romICg1Z.js +514 -0
- package/dist/admin/ListPage-romICg1Z.js.map +1 -0
- package/dist/admin/ListPage-tniramRN.mjs +535 -0
- package/dist/admin/ListPage-tniramRN.mjs.map +1 -0
- package/dist/admin/ListView-1VRmjfh8.js +232 -0
- package/dist/admin/ListView-1VRmjfh8.js.map +1 -0
- package/dist/admin/ListView-6hlTFx5H.mjs +197 -0
- package/dist/admin/ListView-6hlTFx5H.mjs.map +1 -0
- package/dist/admin/ListView-GYuN24HV.mjs +206 -0
- package/dist/admin/ListView-GYuN24HV.mjs.map +1 -0
- package/dist/admin/ListView-ph55AtDF.js +223 -0
- package/dist/admin/ListView-ph55AtDF.js.map +1 -0
- package/dist/admin/Login-LxE58baP.mjs +31 -0
- package/dist/admin/Login-LxE58baP.mjs.map +1 -0
- package/dist/admin/Login-WeDT3kAj.js +39 -0
- package/dist/admin/Login-WeDT3kAj.js.map +1 -0
- package/dist/admin/MagicLinkEE-AO_SBYi5.mjs +27 -0
- package/dist/admin/MagicLinkEE-AO_SBYi5.mjs.map +1 -0
- package/dist/admin/MagicLinkEE-_fUwHKdf.js +31 -0
- package/dist/admin/MagicLinkEE-_fUwHKdf.js.map +1 -0
- package/dist/admin/MarketplacePage-26cUn4e5.mjs +1020 -0
- package/dist/admin/MarketplacePage-26cUn4e5.mjs.map +1 -0
- package/dist/admin/MarketplacePage-m8Lf3adM.js +1051 -0
- package/dist/admin/MarketplacePage-m8Lf3adM.js.map +1 -0
- package/dist/admin/Ornaments-RhzFP9rf.js +214 -0
- package/dist/admin/Ornaments-RhzFP9rf.js.map +1 -0
- package/dist/admin/Permissions-NRzJqZEr.js +2086 -0
- package/dist/admin/Permissions-NRzJqZEr.js.map +1 -0
- package/dist/admin/Permissions-VzklM1ie.mjs +2050 -0
- package/dist/admin/Permissions-VzklM1ie.mjs.map +1 -0
- package/dist/admin/PrivateRoute-KAM10GGM.js +22 -0
- package/dist/admin/PrivateRoute-KAM10GGM.js.map +1 -0
- package/dist/admin/PrivateRoute-wDu6Vo0N.mjs +20 -0
- package/dist/admin/PrivateRoute-wDu6Vo0N.mjs.map +1 -0
- package/dist/admin/ProfilePage-0d-k7mtP.mjs +387 -0
- package/dist/admin/ProfilePage-0d-k7mtP.mjs.map +1 -0
- package/dist/admin/ProfilePage-oSih4pcL.js +415 -0
- package/dist/admin/ProfilePage-oSih4pcL.js.map +1 -0
- package/dist/admin/PurchaseAuditLogs-8_4PcW7P.mjs +48 -0
- package/dist/admin/PurchaseAuditLogs-8_4PcW7P.mjs.map +1 -0
- package/dist/admin/PurchaseAuditLogs-tS_tVSGI.js +52 -0
- package/dist/admin/PurchaseAuditLogs-tS_tVSGI.js.map +1 -0
- package/dist/admin/PurchaseSingleSignOn--gblfVu6.mjs +51 -0
- package/dist/admin/PurchaseSingleSignOn--gblfVu6.mjs.map +1 -0
- package/dist/admin/PurchaseSingleSignOn-9SV6-fYs.js +55 -0
- package/dist/admin/PurchaseSingleSignOn-9SV6-fYs.js.map +1 -0
- package/dist/admin/SelectRoles-V_PZUtVT.mjs +106 -0
- package/dist/admin/SelectRoles-V_PZUtVT.mjs.map +1 -0
- package/dist/admin/SelectRoles-ZsRUnSdr.js +114 -0
- package/dist/admin/SelectRoles-ZsRUnSdr.js.map +1 -0
- package/dist/admin/SingleSignOnPage-jtjy4_4U.js +259 -0
- package/dist/admin/SingleSignOnPage-jtjy4_4U.js.map +1 -0
- package/dist/admin/SingleSignOnPage-kbLz1A_y.mjs +234 -0
- package/dist/admin/SingleSignOnPage-kbLz1A_y.mjs.map +1 -0
- package/dist/admin/Table-ZFyORhH3.mjs +196 -0
- package/dist/admin/Table-ZFyORhH3.mjs.map +1 -0
- package/dist/admin/Table-kMt3jQ2g.js +221 -0
- package/dist/admin/Table-kMt3jQ2g.js.map +1 -0
- package/dist/admin/TokenTypeSelect-Ngz4ONEL.js +386 -0
- package/dist/admin/TokenTypeSelect-Ngz4ONEL.js.map +1 -0
- package/dist/admin/TokenTypeSelect-oOKwvsQ2.mjs +358 -0
- package/dist/admin/TokenTypeSelect-oOKwvsQ2.mjs.map +1 -0
- package/dist/admin/UseCasePage-2wum_xzS.mjs +146 -0
- package/dist/admin/UseCasePage-2wum_xzS.mjs.map +1 -0
- package/dist/admin/UseCasePage-qrhHiF5S.js +175 -0
- package/dist/admin/UseCasePage-qrhHiF5S.js.map +1 -0
- package/dist/admin/admin-DUKhYsmP.mjs +256 -0
- package/dist/admin/admin-DUKhYsmP.mjs.map +1 -0
- package/dist/admin/admin-vlKSOeHB.js +274 -0
- package/dist/admin/admin-vlKSOeHB.js.map +1 -0
- package/dist/admin/apiTokens-dBRuo1wd.mjs +56 -0
- package/dist/admin/apiTokens-dBRuo1wd.mjs.map +1 -0
- package/dist/admin/apiTokens-lXn03No3.js +62 -0
- package/dist/admin/apiTokens-lXn03No3.js.map +1 -0
- package/dist/admin/ar-74XpZHjA.js +853 -0
- package/dist/admin/ar-74XpZHjA.js.map +1 -0
- package/dist/admin/ar-gTQs8p7A.mjs +832 -0
- package/dist/admin/ar-gTQs8p7A.mjs.map +1 -0
- package/dist/admin/ca-A-U5stlG.mjs +520 -0
- package/dist/admin/ca-A-U5stlG.mjs.map +1 -0
- package/dist/admin/ca-tfhzbe_0.js +538 -0
- package/dist/admin/ca-tfhzbe_0.js.map +1 -0
- package/dist/admin/constants-enREoOEa.mjs +52 -0
- package/dist/admin/constants-enREoOEa.mjs.map +1 -0
- package/dist/admin/constants-jQFnBWVd.js +60 -0
- package/dist/admin/constants-jQFnBWVd.js.map +1 -0
- package/dist/admin/cs-iYqoHUVt.mjs +166 -0
- package/dist/admin/cs-iYqoHUVt.mjs.map +1 -0
- package/dist/admin/cs-sS-228vY.js +179 -0
- package/dist/admin/cs-sS-228vY.js.map +1 -0
- package/dist/admin/de-og0YSnla.js +532 -0
- package/dist/admin/de-og0YSnla.js.map +1 -0
- package/dist/admin/de-uZBjRd6a.mjs +514 -0
- package/dist/admin/de-uZBjRd6a.mjs.map +1 -0
- package/dist/admin/dk-GtDhDxRc.js +452 -0
- package/dist/admin/dk-GtDhDxRc.js.map +1 -0
- package/dist/admin/dk-nXAO32DE.mjs +434 -0
- package/dist/admin/dk-nXAO32DE.mjs.map +1 -0
- package/dist/admin/ee.js +12 -0
- package/dist/admin/ee.js.map +1 -0
- package/dist/admin/ee.mjs +3 -0
- package/dist/admin/ee.mjs.map +1 -0
- package/dist/admin/en-2FB7x9Rq.js +804 -0
- package/dist/admin/en-2FB7x9Rq.js.map +1 -0
- package/dist/admin/en-qvX6GTOD.mjs +783 -0
- package/dist/admin/en-qvX6GTOD.mjs.map +1 -0
- package/dist/admin/es-TQtY4G8X.js +615 -0
- package/dist/admin/es-TQtY4G8X.js.map +1 -0
- package/dist/admin/es-i0dEHPPQ.mjs +595 -0
- package/dist/admin/es-i0dEHPPQ.mjs.map +1 -0
- package/dist/admin/eu-SRdPRyQu.js +645 -0
- package/dist/admin/eu-SRdPRyQu.js.map +1 -0
- package/dist/admin/eu-wFmYHERY.mjs +625 -0
- package/dist/admin/eu-wFmYHERY.mjs.map +1 -0
- package/dist/admin/fr-GW5-kEO9.js +571 -0
- package/dist/admin/fr-GW5-kEO9.js.map +1 -0
- package/dist/admin/fr-OI7VyC_k.mjs +550 -0
- package/dist/admin/fr-OI7VyC_k.mjs.map +1 -0
- package/dist/admin/gu-z6qqOLRh.js +438 -0
- package/dist/admin/gu-z6qqOLRh.js.map +1 -0
- package/dist/admin/gu-zSaMc-a6.mjs +429 -0
- package/dist/admin/gu-zSaMc-a6.mjs.map +1 -0
- package/dist/admin/he-CLdZZ_n1.js +329 -0
- package/dist/admin/he-CLdZZ_n1.js.map +1 -0
- package/dist/admin/he-YzAGShlQ.mjs +315 -0
- package/dist/admin/he-YzAGShlQ.mjs.map +1 -0
- package/dist/admin/hi-3pMoYe6q.js +537 -0
- package/dist/admin/hi-3pMoYe6q.js.map +1 -0
- package/dist/admin/hi-ZQ4t6UdY.mjs +519 -0
- package/dist/admin/hi-ZQ4t6UdY.mjs.map +1 -0
- package/dist/admin/hu-O1FJoY8c.mjs +625 -0
- package/dist/admin/hu-O1FJoY8c.mjs.map +1 -0
- package/dist/admin/hu-VxIqV1X0.js +645 -0
- package/dist/admin/hu-VxIqV1X0.js.map +1 -0
- package/dist/admin/id-Lb_0kPQU.mjs +290 -0
- package/dist/admin/id-Lb_0kPQU.mjs.map +1 -0
- package/dist/admin/id-cUUpuxZO.js +303 -0
- package/dist/admin/id-cUUpuxZO.js.map +1 -0
- package/dist/admin/index-dcaxfEDi.js +5241 -0
- package/dist/admin/index-dcaxfEDi.js.map +1 -0
- package/dist/admin/index-oBxjGftZ.mjs +5163 -0
- package/dist/admin/index-oBxjGftZ.mjs.map +1 -0
- package/dist/admin/index.js +26 -27
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +3 -3
- package/dist/admin/it-136monzD.mjs +299 -0
- package/dist/admin/it-136monzD.mjs.map +1 -0
- package/dist/admin/it-m8H0rXTP.js +312 -0
- package/dist/admin/it-m8H0rXTP.js.map +1 -0
- package/dist/admin/ja-0-FUC0T4.mjs +434 -0
- package/dist/admin/ja-0-FUC0T4.mjs.map +1 -0
- package/dist/admin/ja-jhqUhh7F.js +452 -0
- package/dist/admin/ja-jhqUhh7F.js.map +1 -0
- package/dist/admin/ko-Fq49QS3z.js +451 -0
- package/dist/admin/ko-Fq49QS3z.js.map +1 -0
- package/dist/admin/ko-H3Y8GpnD.mjs +433 -0
- package/dist/admin/ko-H3Y8GpnD.mjs.map +1 -0
- package/dist/admin/ml-NPdcpJoN.mjs +519 -0
- package/dist/admin/ml-NPdcpJoN.mjs.map +1 -0
- package/dist/admin/ml-mLJM4sQP.js +537 -0
- package/dist/admin/ml-mLJM4sQP.js.map +1 -0
- package/dist/admin/ms-NDmpSkMY.js +213 -0
- package/dist/admin/ms-NDmpSkMY.js.map +1 -0
- package/dist/admin/ms-v9c434YI.mjs +200 -0
- package/dist/admin/ms-v9c434YI.mjs.map +1 -0
- package/dist/admin/nl-RREi1JAg.js +641 -0
- package/dist/admin/nl-RREi1JAg.js.map +1 -0
- package/dist/admin/nl-qHmOt3d1.mjs +621 -0
- package/dist/admin/nl-qHmOt3d1.mjs.map +1 -0
- package/dist/admin/no-2wT9Jd9n.js +313 -0
- package/dist/admin/no-2wT9Jd9n.js.map +1 -0
- package/dist/admin/no-XGZQN-Ji.mjs +300 -0
- package/dist/admin/no-XGZQN-Ji.mjs.map +1 -0
- package/dist/admin/pl-Id5YX-Pw.mjs +519 -0
- package/dist/admin/pl-Id5YX-Pw.mjs.map +1 -0
- package/dist/admin/pl-kU2npCRO.js +537 -0
- package/dist/admin/pl-kU2npCRO.js.map +1 -0
- package/dist/admin/pt-BR-0o0Gf-P8.mjs +588 -0
- package/dist/admin/pt-BR-0o0Gf-P8.mjs.map +1 -0
- package/dist/admin/pt-BR-R-dMJxPL.js +608 -0
- package/dist/admin/pt-BR-R-dMJxPL.js.map +1 -0
- package/dist/admin/pt-IygqsPYv.js +212 -0
- package/dist/admin/pt-IygqsPYv.js.map +1 -0
- package/dist/admin/pt-f52AXrxz.mjs +200 -0
- package/dist/admin/pt-f52AXrxz.mjs.map +1 -0
- package/dist/admin/rbac-WZsv1761.js +1237 -0
- package/dist/admin/rbac-WZsv1761.js.map +1 -0
- package/dist/admin/rbac-sYT_mXH0.mjs +1171 -0
- package/dist/admin/rbac-sYT_mXH0.mjs.map +1 -0
- package/dist/admin/ru-5TBoMH_2.js +766 -0
- package/dist/admin/ru-5TBoMH_2.js.map +1 -0
- package/dist/admin/ru-FpmG9SEf.mjs +745 -0
- package/dist/admin/ru-FpmG9SEf.mjs.map +1 -0
- package/dist/admin/sa-KUwV8aRB.mjs +519 -0
- package/dist/admin/sa-KUwV8aRB.mjs.map +1 -0
- package/dist/admin/sa-KmwTiEO5.js +537 -0
- package/dist/admin/sa-KmwTiEO5.js.map +1 -0
- package/dist/admin/selectors-3gRe5pAj.mjs +6 -0
- package/dist/admin/selectors-3gRe5pAj.mjs.map +1 -0
- package/dist/admin/selectors-CiTVxP8O.js +8 -0
- package/dist/admin/selectors-CiTVxP8O.js.map +1 -0
- package/dist/admin/sk-IV2uPmXo.js +503 -0
- package/dist/admin/sk-IV2uPmXo.js.map +1 -0
- package/dist/admin/sk-g_1C955P.mjs +483 -0
- package/dist/admin/sk-g_1C955P.mjs.map +1 -0
- package/dist/admin/src/StrapiApp.d.ts +12 -41
- package/dist/admin/src/components/Context.d.ts +6 -0
- package/dist/admin/src/components/Filters.d.ts +6 -1
- package/dist/admin/src/components/Form.d.ts +10 -1
- package/dist/admin/src/components/PageHelpers.d.ts +4 -0
- package/dist/admin/src/core/apis/rbac.d.ts +24 -0
- package/dist/admin/src/core/store/configure.d.ts +7 -18
- package/dist/admin/src/core/store/hooks.d.ts +6 -21
- package/dist/admin/src/ee.d.ts +5 -0
- package/dist/admin/src/features/Auth.d.ts +14 -3
- package/dist/admin/src/features/StrapiApp.d.ts +3 -1
- package/dist/admin/src/hooks/useAdminRoles.d.ts +1 -1
- package/dist/admin/src/hooks/useContentTypes.d.ts +3 -3
- package/dist/admin/src/hooks/useRBAC.d.ts +33 -1
- package/dist/admin/src/index.d.ts +8 -4
- package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +2 -2
- package/dist/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +4 -4
- package/dist/admin/src/selectors.d.ts +4 -14
- package/dist/admin/src/services/admin.d.ts +5 -5
- package/dist/admin/src/services/api.d.ts +3 -3
- package/dist/admin/src/services/apiTokens.d.ts +1 -1
- package/dist/admin/src/services/auth.d.ts +10 -10
- package/dist/admin/src/services/contentApi.d.ts +1 -1
- package/dist/admin/src/services/contentManager.d.ts +2 -2
- package/dist/admin/src/services/transferTokens.d.ts +1 -1
- package/dist/admin/src/services/users.d.ts +8 -8
- package/dist/admin/src/services/webhooks.d.ts +2 -2
- package/dist/admin/src/utils/once.d.ts +1 -0
- package/dist/admin/src/utils/urls.d.ts +7 -1
- package/dist/admin/src/utils/users.d.ts +4 -4
- package/dist/admin/sv-Uv9nW9cN.js +640 -0
- package/dist/admin/sv-Uv9nW9cN.js.map +1 -0
- package/dist/admin/sv-lzyY1dsz.mjs +620 -0
- package/dist/admin/sv-lzyY1dsz.mjs.map +1 -0
- package/dist/admin/test.js +170 -2649
- package/dist/admin/test.js.map +1 -1
- package/dist/admin/test.mjs +166 -2645
- package/dist/admin/test.mjs.map +1 -1
- package/dist/admin/tests/mockData.d.ts +0 -1065
- package/dist/admin/tests/store.d.ts +0 -169
- package/dist/admin/tests/utils.d.ts +2 -176
- package/dist/admin/th-7LJ9Y8EL.mjs +284 -0
- package/dist/admin/th-7LJ9Y8EL.mjs.map +1 -0
- package/dist/admin/th-SXQwWjv6.js +297 -0
- package/dist/admin/th-SXQwWjv6.js.map +1 -0
- package/dist/admin/tr-09v-DLMg.mjs +581 -0
- package/dist/admin/tr-09v-DLMg.mjs.map +1 -0
- package/dist/admin/tr-RBQM-Vq5.js +601 -0
- package/dist/admin/tr-RBQM-Vq5.js.map +1 -0
- package/dist/admin/transferTokens-5qQjIKFd.js +65 -0
- package/dist/admin/transferTokens-5qQjIKFd.js.map +1 -0
- package/dist/admin/transferTokens-OLPKYcY_.mjs +59 -0
- package/dist/admin/transferTokens-OLPKYcY_.mjs.map +1 -0
- package/dist/admin/uk-38IblmOr.mjs +201 -0
- package/dist/admin/uk-38IblmOr.mjs.map +1 -0
- package/dist/admin/uk-5T4XFIKm.js +214 -0
- package/dist/admin/uk-5T4XFIKm.js.map +1 -0
- package/dist/admin/useAdminRoles-HWIbyk2Z.mjs +28 -0
- package/dist/admin/useAdminRoles-HWIbyk2Z.mjs.map +1 -0
- package/dist/admin/useAdminRoles-Q2BxHs4o.js +50 -0
- package/dist/admin/useAdminRoles-Q2BxHs4o.js.map +1 -0
- package/dist/admin/useEnterprise-DUs6BYlP.js +50 -0
- package/dist/admin/useEnterprise-DUs6BYlP.js.map +1 -0
- package/dist/admin/useEnterprise-jpsYZWzn.mjs +28 -0
- package/dist/admin/useEnterprise-jpsYZWzn.mjs.map +1 -0
- package/dist/admin/useLicenseLimitNotification-0UWeCY_u.js +105 -0
- package/dist/admin/useLicenseLimitNotification-0UWeCY_u.js.map +1 -0
- package/dist/admin/useLicenseLimitNotification-aTNbD3xK.mjs +80 -0
- package/dist/admin/useLicenseLimitNotification-aTNbD3xK.mjs.map +1 -0
- package/dist/admin/useLicenseLimits-F7K-YWAE.mjs +23 -0
- package/dist/admin/useLicenseLimits-F7K-YWAE.mjs.map +1 -0
- package/dist/admin/useLicenseLimits-m11DOu9p.js +45 -0
- package/dist/admin/useLicenseLimits-m11DOu9p.js.map +1 -0
- package/dist/admin/useWebhooks-7BXPSMHG.mjs +91 -0
- package/dist/admin/useWebhooks-7BXPSMHG.mjs.map +1 -0
- package/dist/admin/useWebhooks-oZ5DKtvz.js +93 -0
- package/dist/admin/useWebhooks-oZ5DKtvz.js.map +1 -0
- package/dist/admin/users-R5A0kUOV.js +33 -0
- package/dist/admin/users-R5A0kUOV.js.map +1 -0
- package/dist/admin/users-a4KTyEyc.mjs +30 -0
- package/dist/admin/users-a4KTyEyc.mjs.map +1 -0
- package/dist/admin/validation-2MGgF10o.js +65 -0
- package/dist/admin/validation-2MGgF10o.js.map +1 -0
- package/dist/admin/validation-gH-06ERZ.mjs +43 -0
- package/dist/admin/validation-gH-06ERZ.mjs.map +1 -0
- package/dist/admin/vi-mj-Smy3d.js +200 -0
- package/dist/admin/vi-mj-Smy3d.js.map +1 -0
- package/dist/admin/vi-ryNZtXtk.mjs +187 -0
- package/dist/admin/vi-ryNZtXtk.mjs.map +1 -0
- package/dist/admin/zh-6qF5HCOo.js +642 -0
- package/dist/admin/zh-6qF5HCOo.js.map +1 -0
- package/dist/admin/zh-Hans-HlxDUeVA.mjs +716 -0
- package/dist/admin/zh-Hans-HlxDUeVA.mjs.map +1 -0
- package/dist/admin/zh-Hans-eWSoi9-X.js +737 -0
- package/dist/admin/zh-Hans-eWSoi9-X.js.map +1 -0
- package/dist/admin/zh-WEteLuNm.mjs +622 -0
- package/dist/admin/zh-WEteLuNm.mjs.map +1 -0
- package/dist/ee/admin/src/hooks/useLicenseLimits.d.ts +1 -1
- package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
- package/dist/ee/server/index.js +20 -31
- package/dist/ee/server/index.js.map +1 -1
- package/dist/ee/server/index.mjs +21 -32
- package/dist/ee/server/index.mjs.map +1 -1
- package/dist/package.json.d.ts +24 -33
- package/dist/server/index.js +51 -55
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +52 -56
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/controllers/admin.d.ts.map +1 -1
- package/dist/server/src/controllers/webhooks.d.ts.map +1 -1
- package/dist/server/src/services/passport.d.ts.map +1 -1
- package/dist/server/src/validation/project-settings.d.ts +52 -6
- package/dist/server/src/validation/project-settings.d.ts.map +1 -1
- package/dist/shared/contracts/content-types.d.ts +5 -0
- package/dist/shared/contracts/content-types.d.ts.map +1 -0
- package/package.json +25 -34
- package/dist/admin/AdminSeatInfo-Gp4BFR1_.js +0 -105
- package/dist/admin/AdminSeatInfo-Gp4BFR1_.js.map +0 -1
- package/dist/admin/AdminSeatInfo-dDgFBcLY.mjs +0 -101
- package/dist/admin/AdminSeatInfo-dDgFBcLY.mjs.map +0 -1
- package/dist/admin/ApplicationInfoPage-GQLKLk5T.mjs +0 -670
- package/dist/admin/ApplicationInfoPage-GQLKLk5T.mjs.map +0 -1
- package/dist/admin/ApplicationInfoPage-e_sOqQMh.js +0 -698
- package/dist/admin/ApplicationInfoPage-e_sOqQMh.js.map +0 -1
- package/dist/admin/AuthResponse-gf-zZkxm.mjs +0 -43
- package/dist/admin/AuthResponse-gf-zZkxm.mjs.map +0 -1
- package/dist/admin/AuthResponse-l5QiAAK7.js +0 -70
- package/dist/admin/AuthResponse-l5QiAAK7.js.map +0 -1
- package/dist/admin/AuthenticatedLayout-3fYM18Xy.mjs +0 -1115
- package/dist/admin/AuthenticatedLayout-3fYM18Xy.mjs.map +0 -1
- package/dist/admin/AuthenticatedLayout-gGQYIisy.js +0 -1148
- package/dist/admin/AuthenticatedLayout-gGQYIisy.js.map +0 -1
- package/dist/admin/ComponentConfigurationPage-0kf7a5LK.mjs +0 -237
- package/dist/admin/ComponentConfigurationPage-0kf7a5LK.mjs.map +0 -1
- package/dist/admin/ComponentConfigurationPage-U7RcNJFs.js +0 -262
- package/dist/admin/ComponentConfigurationPage-U7RcNJFs.js.map +0 -1
- package/dist/admin/ComponentIcon-AkrHxAkm.mjs +0 -158
- package/dist/admin/ComponentIcon-AkrHxAkm.mjs.map +0 -1
- package/dist/admin/ComponentIcon-wcNWpdCz.js +0 -180
- package/dist/admin/ComponentIcon-wcNWpdCz.js.map +0 -1
- package/dist/admin/CreateActionEE-HO-FmNjw.js +0 -61
- package/dist/admin/CreateActionEE-HO-FmNjw.js.map +0 -1
- package/dist/admin/CreateActionEE-OscS6KZj.mjs +0 -53
- package/dist/admin/CreateActionEE-OscS6KZj.mjs.map +0 -1
- package/dist/admin/CreatePage-1a_Nb-RK.mjs +0 -248
- package/dist/admin/CreatePage-1a_Nb-RK.mjs.map +0 -1
- package/dist/admin/CreatePage-8rG8fSZv.mjs +0 -245
- package/dist/admin/CreatePage-8rG8fSZv.mjs.map +0 -1
- package/dist/admin/CreatePage-B0kLot_Q.js +0 -18
- package/dist/admin/CreatePage-B0kLot_Q.js.map +0 -1
- package/dist/admin/CreatePage-c92hDTE3.mjs +0 -13
- package/dist/admin/CreatePage-c92hDTE3.mjs.map +0 -1
- package/dist/admin/CreatePage-h9gJgINE.js +0 -274
- package/dist/admin/CreatePage-h9gJgINE.js.map +0 -1
- package/dist/admin/CreatePage-pN8WcSWM.js +0 -272
- package/dist/admin/CreatePage-pN8WcSWM.js.map +0 -1
- package/dist/admin/CreateView-Gd7sLphf.js +0 -17
- package/dist/admin/CreateView-Gd7sLphf.js.map +0 -1
- package/dist/admin/CreateView-PIPvgwa8.mjs +0 -13
- package/dist/admin/CreateView-PIPvgwa8.mjs.map +0 -1
- package/dist/admin/CreateView-kVD9MjAf.js +0 -17
- package/dist/admin/CreateView-kVD9MjAf.js.map +0 -1
- package/dist/admin/CreateView-nXkGgZTO.mjs +0 -13
- package/dist/admin/CreateView-nXkGgZTO.mjs.map +0 -1
- package/dist/admin/EditConfigurationPage-YAS-MAtE.js +0 -155
- package/dist/admin/EditConfigurationPage-YAS-MAtE.js.map +0 -1
- package/dist/admin/EditConfigurationPage-jugWslla.mjs +0 -130
- package/dist/admin/EditConfigurationPage-jugWslla.mjs.map +0 -1
- package/dist/admin/EditPage-6pGLGlrZ.mjs +0 -794
- package/dist/admin/EditPage-6pGLGlrZ.mjs.map +0 -1
- package/dist/admin/EditPage-I99-ASjb.mjs +0 -325
- package/dist/admin/EditPage-I99-ASjb.mjs.map +0 -1
- package/dist/admin/EditPage-NrM8ZRAf.mjs +0 -303
- package/dist/admin/EditPage-NrM8ZRAf.mjs.map +0 -1
- package/dist/admin/EditPage-ci9fcWte.js +0 -327
- package/dist/admin/EditPage-ci9fcWte.js.map +0 -1
- package/dist/admin/EditPage-fT6nuOwT.mjs +0 -260
- package/dist/admin/EditPage-fT6nuOwT.mjs.map +0 -1
- package/dist/admin/EditPage-hEDFGDcC.js +0 -822
- package/dist/admin/EditPage-hEDFGDcC.js.map +0 -1
- package/dist/admin/EditPage-m5HVhxC-.js +0 -286
- package/dist/admin/EditPage-m5HVhxC-.js.map +0 -1
- package/dist/admin/EditPage-um8Yysr-.js +0 -354
- package/dist/admin/EditPage-um8Yysr-.js.map +0 -1
- package/dist/admin/EditView-79rujo0b.mjs +0 -336
- package/dist/admin/EditView-79rujo0b.mjs.map +0 -1
- package/dist/admin/EditView-zEf-a-YM.js +0 -362
- package/dist/admin/EditView-zEf-a-YM.js.map +0 -1
- package/dist/admin/EditViewPage-BJdNfzBZ.mjs +0 -198
- package/dist/admin/EditViewPage-BJdNfzBZ.mjs.map +0 -1
- package/dist/admin/EditViewPage-Y67V7K7l.js +0 -226
- package/dist/admin/EditViewPage-Y67V7K7l.js.map +0 -1
- package/dist/admin/EditViewPage-iuq_KY3C.mjs +0 -846
- package/dist/admin/EditViewPage-iuq_KY3C.mjs.map +0 -1
- package/dist/admin/EditViewPage-vrE8FNb1.js +0 -879
- package/dist/admin/EditViewPage-vrE8FNb1.js.map +0 -1
- package/dist/admin/EventsTable-LOh2EX0N.mjs +0 -32
- package/dist/admin/EventsTable-LOh2EX0N.mjs.map +0 -1
- package/dist/admin/EventsTable-bm16Pj4a.js +0 -36
- package/dist/admin/EventsTable-bm16Pj4a.js.map +0 -1
- package/dist/admin/FieldTypeIcon-SCwhXPf6.mjs +0 -50
- package/dist/admin/FieldTypeIcon-SCwhXPf6.mjs.map +0 -1
- package/dist/admin/FieldTypeIcon-u9dTaLwb.js +0 -52
- package/dist/admin/FieldTypeIcon-u9dTaLwb.js.map +0 -1
- package/dist/admin/Filters-5FAHd62q.js +0 -511
- package/dist/admin/Filters-5FAHd62q.js.map +0 -1
- package/dist/admin/Filters-hYfcsahl.mjs +0 -489
- package/dist/admin/Filters-hYfcsahl.mjs.map +0 -1
- package/dist/admin/Form-7gccxUtH.mjs +0 -739
- package/dist/admin/Form-7gccxUtH.mjs.map +0 -1
- package/dist/admin/Form-m0qUJusG.js +0 -767
- package/dist/admin/Form-m0qUJusG.js.map +0 -1
- package/dist/admin/History-UVk6YZaL.js +0 -456
- package/dist/admin/History-UVk6YZaL.js.map +0 -1
- package/dist/admin/History-gNttF1-u.mjs +0 -430
- package/dist/admin/History-gNttF1-u.mjs.map +0 -1
- package/dist/admin/HomePage-2q7ngwX4.mjs +0 -11
- package/dist/admin/HomePage-2q7ngwX4.mjs.map +0 -1
- package/dist/admin/HomePage-_eHszm7N.mjs +0 -521
- package/dist/admin/HomePage-_eHszm7N.mjs.map +0 -1
- package/dist/admin/HomePage-jwm3AAzI.js +0 -530
- package/dist/admin/HomePage-jwm3AAzI.js.map +0 -1
- package/dist/admin/HomePage-ozwWqZdZ.js +0 -15
- package/dist/admin/HomePage-ozwWqZdZ.js.map +0 -1
- package/dist/admin/InputRenderer-tdeZayqM.js +0 -5345
- package/dist/admin/InputRenderer-tdeZayqM.js.map +0 -1
- package/dist/admin/InputRenderer-uXGu-VvL.mjs +0 -5304
- package/dist/admin/InputRenderer-uXGu-VvL.mjs.map +0 -1
- package/dist/admin/InstalledPluginsPage-rGp1BINi.mjs +0 -101
- package/dist/admin/InstalledPluginsPage-rGp1BINi.mjs.map +0 -1
- package/dist/admin/InstalledPluginsPage-relNbZiA.js +0 -126
- package/dist/admin/InstalledPluginsPage-relNbZiA.js.map +0 -1
- package/dist/admin/Layout-JSg7Wwnx.mjs +0 -89
- package/dist/admin/Layout-JSg7Wwnx.mjs.map +0 -1
- package/dist/admin/Layout-gqm-mRb2.mjs +0 -209
- package/dist/admin/Layout-gqm-mRb2.mjs.map +0 -1
- package/dist/admin/Layout-rp7YlCuF.js +0 -237
- package/dist/admin/Layout-rp7YlCuF.js.map +0 -1
- package/dist/admin/Layout-tPXv8ts4.js +0 -97
- package/dist/admin/Layout-tPXv8ts4.js.map +0 -1
- package/dist/admin/ListConfigurationPage-1JkDop6y.mjs +0 -651
- package/dist/admin/ListConfigurationPage-1JkDop6y.mjs.map +0 -1
- package/dist/admin/ListConfigurationPage-egv99PTx.js +0 -679
- package/dist/admin/ListConfigurationPage-egv99PTx.js.map +0 -1
- package/dist/admin/ListPage-5VIwPlnG.js +0 -520
- package/dist/admin/ListPage-5VIwPlnG.js.map +0 -1
- package/dist/admin/ListPage-85XB15gk.js +0 -305
- package/dist/admin/ListPage-85XB15gk.js.map +0 -1
- package/dist/admin/ListPage-NG7c9Zx-.js +0 -313
- package/dist/admin/ListPage-NG7c9Zx-.js.map +0 -1
- package/dist/admin/ListPage-Wf8HxliA.js +0 -15
- package/dist/admin/ListPage-Wf8HxliA.js.map +0 -1
- package/dist/admin/ListPage-Y0vGfxO1.mjs +0 -492
- package/dist/admin/ListPage-Y0vGfxO1.mjs.map +0 -1
- package/dist/admin/ListPage-_1MCPNWC.mjs +0 -11
- package/dist/admin/ListPage-_1MCPNWC.mjs.map +0 -1
- package/dist/admin/ListPage-bdblB4wE.mjs +0 -338
- package/dist/admin/ListPage-bdblB4wE.mjs.map +0 -1
- package/dist/admin/ListPage-d0uTS6lH.js +0 -363
- package/dist/admin/ListPage-d0uTS6lH.js.map +0 -1
- package/dist/admin/ListPage-e0975Wh-.js +0 -568
- package/dist/admin/ListPage-e0975Wh-.js.map +0 -1
- package/dist/admin/ListPage-eMKRFxzM.mjs +0 -288
- package/dist/admin/ListPage-eMKRFxzM.mjs.map +0 -1
- package/dist/admin/ListPage-tFqx6zb_.mjs +0 -540
- package/dist/admin/ListPage-tFqx6zb_.mjs.map +0 -1
- package/dist/admin/ListPage-v07yRAHk.mjs +0 -277
- package/dist/admin/ListPage-v07yRAHk.mjs.map +0 -1
- package/dist/admin/ListView-9shnR2xp.mjs +0 -212
- package/dist/admin/ListView-9shnR2xp.mjs.map +0 -1
- package/dist/admin/ListView-IaEe1_Uy.js +0 -238
- package/dist/admin/ListView-IaEe1_Uy.js.map +0 -1
- package/dist/admin/ListView-_EZZ571X.js +0 -228
- package/dist/admin/ListView-_EZZ571X.js.map +0 -1
- package/dist/admin/ListView-z9G1Eash.mjs +0 -202
- package/dist/admin/ListView-z9G1Eash.mjs.map +0 -1
- package/dist/admin/ListViewPage-FE12IpwT.mjs +0 -925
- package/dist/admin/ListViewPage-FE12IpwT.mjs.map +0 -1
- package/dist/admin/ListViewPage-u5WSF93L.js +0 -957
- package/dist/admin/ListViewPage-u5WSF93L.js.map +0 -1
- package/dist/admin/Login-9iKNSYCJ.mjs +0 -31
- package/dist/admin/Login-9iKNSYCJ.mjs.map +0 -1
- package/dist/admin/Login-ug0ICazL.js +0 -39
- package/dist/admin/Login-ug0ICazL.js.map +0 -1
- package/dist/admin/MagicLinkEE-3a4aj5bM.mjs +0 -27
- package/dist/admin/MagicLinkEE-3a4aj5bM.mjs.map +0 -1
- package/dist/admin/MagicLinkEE-TlpYCgSF.js +0 -31
- package/dist/admin/MagicLinkEE-TlpYCgSF.js.map +0 -1
- package/dist/admin/MarketplacePage-BBs4GMeX.mjs +0 -1014
- package/dist/admin/MarketplacePage-BBs4GMeX.mjs.map +0 -1
- package/dist/admin/MarketplacePage-GuZItQkJ.js +0 -1045
- package/dist/admin/MarketplacePage-GuZItQkJ.js.map +0 -1
- package/dist/admin/NoContentTypePage-MI-TNgDm.mjs +0 -50
- package/dist/admin/NoContentTypePage-MI-TNgDm.mjs.map +0 -1
- package/dist/admin/NoContentTypePage-WM9PSeKc.js +0 -54
- package/dist/admin/NoContentTypePage-WM9PSeKc.js.map +0 -1
- package/dist/admin/NoPermissionsPage-K6eIf5zl.mjs +0 -23
- package/dist/admin/NoPermissionsPage-K6eIf5zl.mjs.map +0 -1
- package/dist/admin/NoPermissionsPage-PP92ItBk.js +0 -27
- package/dist/admin/NoPermissionsPage-PP92ItBk.js.map +0 -1
- package/dist/admin/NotAllowed-9d8xvtvI.mjs +0 -36
- package/dist/admin/NotAllowed-9d8xvtvI.mjs.map +0 -1
- package/dist/admin/NotAllowed-FmDlK9I3.js +0 -42
- package/dist/admin/NotAllowed-FmDlK9I3.js.map +0 -1
- package/dist/admin/Ornaments-fHu7120M.js +0 -214
- package/dist/admin/Ornaments-fHu7120M.js.map +0 -1
- package/dist/admin/Permissions-jsl-R7bI.js +0 -2082
- package/dist/admin/Permissions-jsl-R7bI.js.map +0 -1
- package/dist/admin/Permissions-v99MLjbi.mjs +0 -2046
- package/dist/admin/Permissions-v99MLjbi.mjs.map +0 -1
- package/dist/admin/PrivateRoute-AFoVG5Bk.js +0 -22
- package/dist/admin/PrivateRoute-AFoVG5Bk.js.map +0 -1
- package/dist/admin/PrivateRoute-XiRz2oSq.mjs +0 -20
- package/dist/admin/PrivateRoute-XiRz2oSq.mjs.map +0 -1
- package/dist/admin/ProfilePage-HjJiMiTt.mjs +0 -391
- package/dist/admin/ProfilePage-HjJiMiTt.mjs.map +0 -1
- package/dist/admin/ProfilePage-wGM1mvXn.js +0 -419
- package/dist/admin/ProfilePage-wGM1mvXn.js.map +0 -1
- package/dist/admin/PurchaseAuditLogs-Rrl9r1j8.mjs +0 -48
- package/dist/admin/PurchaseAuditLogs-Rrl9r1j8.mjs.map +0 -1
- package/dist/admin/PurchaseAuditLogs-couRts7-.js +0 -52
- package/dist/admin/PurchaseAuditLogs-couRts7-.js.map +0 -1
- package/dist/admin/PurchaseReviewWorkflows--btlOW_J.mjs +0 -51
- package/dist/admin/PurchaseReviewWorkflows--btlOW_J.mjs.map +0 -1
- package/dist/admin/PurchaseReviewWorkflows-iyB5BJRO.js +0 -55
- package/dist/admin/PurchaseReviewWorkflows-iyB5BJRO.js.map +0 -1
- package/dist/admin/PurchaseSingleSignOn-L8l1HqSb.mjs +0 -51
- package/dist/admin/PurchaseSingleSignOn-L8l1HqSb.mjs.map +0 -1
- package/dist/admin/PurchaseSingleSignOn-oXrB5aDz.js +0 -55
- package/dist/admin/PurchaseSingleSignOn-oXrB5aDz.js.map +0 -1
- package/dist/admin/ReviewWorkflowsColumn-NUu47oVz.mjs +0 -34
- package/dist/admin/ReviewWorkflowsColumn-NUu47oVz.mjs.map +0 -1
- package/dist/admin/ReviewWorkflowsColumn-uIqJfjyd.js +0 -39
- package/dist/admin/ReviewWorkflowsColumn-uIqJfjyd.js.map +0 -1
- package/dist/admin/SelectRoles-5vr-vXOm.js +0 -114
- package/dist/admin/SelectRoles-5vr-vXOm.js.map +0 -1
- package/dist/admin/SelectRoles-ytHc3di2.mjs +0 -106
- package/dist/admin/SelectRoles-ytHc3di2.mjs.map +0 -1
- package/dist/admin/SingleSignOnPage-1Wqj_7y-.js +0 -263
- package/dist/admin/SingleSignOnPage-1Wqj_7y-.js.map +0 -1
- package/dist/admin/SingleSignOnPage-7oJES3UH.mjs +0 -238
- package/dist/admin/SingleSignOnPage-7oJES3UH.mjs.map +0 -1
- package/dist/admin/Table-LQhGojNx.mjs +0 -165
- package/dist/admin/Table-LQhGojNx.mjs.map +0 -1
- package/dist/admin/Table-M5UsBfFs.js +0 -190
- package/dist/admin/Table-M5UsBfFs.js.map +0 -1
- package/dist/admin/TokenTypeSelect-5o9mvFd7.mjs +0 -357
- package/dist/admin/TokenTypeSelect-5o9mvFd7.mjs.map +0 -1
- package/dist/admin/TokenTypeSelect-ZBDI26vJ.js +0 -385
- package/dist/admin/TokenTypeSelect-ZBDI26vJ.js.map +0 -1
- package/dist/admin/UseCasePage-e7rn-aW-.mjs +0 -146
- package/dist/admin/UseCasePage-e7rn-aW-.mjs.map +0 -1
- package/dist/admin/UseCasePage-q3u-xs7F.js +0 -175
- package/dist/admin/UseCasePage-q3u-xs7F.js.map +0 -1
- package/dist/admin/apiTokens-_gKUBKPQ.js +0 -62
- package/dist/admin/apiTokens-_gKUBKPQ.js.map +0 -1
- package/dist/admin/apiTokens-nD8zbNlc.mjs +0 -56
- package/dist/admin/apiTokens-nD8zbNlc.mjs.map +0 -1
- package/dist/admin/ar-i6ait0_Z.js +0 -939
- package/dist/admin/ar-i6ait0_Z.js.map +0 -1
- package/dist/admin/ar-lYsknZVT.mjs +0 -918
- package/dist/admin/ar-lYsknZVT.mjs.map +0 -1
- package/dist/admin/ca-1Cl4eOmr.js +0 -727
- package/dist/admin/ca-1Cl4eOmr.js.map +0 -1
- package/dist/admin/ca-ruPjUw52.mjs +0 -709
- package/dist/admin/ca-ruPjUw52.mjs.map +0 -1
- package/dist/admin/constants-6E1OwHx7.js +0 -197
- package/dist/admin/constants-6E1OwHx7.js.map +0 -1
- package/dist/admin/constants-AdKxCt0x.mjs +0 -52
- package/dist/admin/constants-AdKxCt0x.mjs.map +0 -1
- package/dist/admin/constants-D6NLEhwu.mjs +0 -172
- package/dist/admin/constants-D6NLEhwu.mjs.map +0 -1
- package/dist/admin/constants-DxpaZFhM.mjs +0 -10
- package/dist/admin/constants-DxpaZFhM.mjs.map +0 -1
- package/dist/admin/constants-ZZWbRAQT.js +0 -60
- package/dist/admin/constants-ZZWbRAQT.js.map +0 -1
- package/dist/admin/constants-wsN7Fj5H.js +0 -14
- package/dist/admin/constants-wsN7Fj5H.js.map +0 -1
- package/dist/admin/cs-MneRs5g8.js +0 -294
- package/dist/admin/cs-MneRs5g8.js.map +0 -1
- package/dist/admin/cs-cEW7Jgll.mjs +0 -281
- package/dist/admin/cs-cEW7Jgll.mjs.map +0 -1
- package/dist/admin/de-vPJQw5Tm.js +0 -719
- package/dist/admin/de-vPJQw5Tm.js.map +0 -1
- package/dist/admin/de-xZr3TXsT.mjs +0 -701
- package/dist/admin/de-xZr3TXsT.mjs.map +0 -1
- package/dist/admin/dk-_Fh6kypZ.js +0 -637
- package/dist/admin/dk-_Fh6kypZ.js.map +0 -1
- package/dist/admin/dk-nqK-ugFb.mjs +0 -619
- package/dist/admin/dk-nqK-ugFb.mjs.map +0 -1
- package/dist/admin/en-X84kQxpg.js +0 -1068
- package/dist/admin/en-X84kQxpg.js.map +0 -1
- package/dist/admin/en-qxG24n4z.mjs +0 -1047
- package/dist/admin/en-qxG24n4z.mjs.map +0 -1
- package/dist/admin/es-6dicYJQA.mjs +0 -779
- package/dist/admin/es-6dicYJQA.mjs.map +0 -1
- package/dist/admin/es-FC_8jlK7.js +0 -799
- package/dist/admin/es-FC_8jlK7.js.map +0 -1
- package/dist/admin/eu-Pzqod2VF.js +0 -835
- package/dist/admin/eu-Pzqod2VF.js.map +0 -1
- package/dist/admin/eu-l9nvfvQj.mjs +0 -815
- package/dist/admin/eu-l9nvfvQj.mjs.map +0 -1
- package/dist/admin/fr-8h2tzs3Z.js +0 -765
- package/dist/admin/fr-8h2tzs3Z.js.map +0 -1
- package/dist/admin/fr-97oVHDGZ.mjs +0 -744
- package/dist/admin/fr-97oVHDGZ.mjs.map +0 -1
- package/dist/admin/gu-YXP9LW1p.mjs +0 -617
- package/dist/admin/gu-YXP9LW1p.mjs.map +0 -1
- package/dist/admin/gu-fkXeW5oU.js +0 -626
- package/dist/admin/gu-fkXeW5oU.js.map +0 -1
- package/dist/admin/he-Rnd0orlz.mjs +0 -315
- package/dist/admin/he-Rnd0orlz.mjs.map +0 -1
- package/dist/admin/he-YNZzVWgP.js +0 -329
- package/dist/admin/he-YNZzVWgP.js.map +0 -1
- package/dist/admin/hi-42LJgJV1.mjs +0 -707
- package/dist/admin/hi-42LJgJV1.mjs.map +0 -1
- package/dist/admin/hi-ubgoUzQ0.js +0 -725
- package/dist/admin/hi-ubgoUzQ0.js.map +0 -1
- package/dist/admin/hu-oHJgjivB.js +0 -835
- package/dist/admin/hu-oHJgjivB.js.map +0 -1
- package/dist/admin/hu-xsansjmF.mjs +0 -815
- package/dist/admin/hu-xsansjmF.mjs.map +0 -1
- package/dist/admin/id-JurRr0gC.mjs +0 -438
- package/dist/admin/id-JurRr0gC.mjs.map +0 -1
- package/dist/admin/id-T2ge96wh.js +0 -451
- package/dist/admin/id-T2ge96wh.js.map +0 -1
- package/dist/admin/index-1NFAbkxM.mjs +0 -5927
- package/dist/admin/index-1NFAbkxM.mjs.map +0 -1
- package/dist/admin/index-mQQPK-ix.js +0 -6023
- package/dist/admin/index-mQQPK-ix.js.map +0 -1
- package/dist/admin/it-890_w-P3.mjs +0 -449
- package/dist/admin/it-890_w-P3.mjs.map +0 -1
- package/dist/admin/it-uWPMs24z.js +0 -462
- package/dist/admin/it-uWPMs24z.js.map +0 -1
- package/dist/admin/ja-F61alnK1.mjs +0 -618
- package/dist/admin/ja-F61alnK1.mjs.map +0 -1
- package/dist/admin/ja-pw-zE8MH.js +0 -636
- package/dist/admin/ja-pw-zE8MH.js.map +0 -1
- package/dist/admin/ko-DfQWK5T3.mjs +0 -616
- package/dist/admin/ko-DfQWK5T3.mjs.map +0 -1
- package/dist/admin/ko-XhK2FY3_.js +0 -634
- package/dist/admin/ko-XhK2FY3_.js.map +0 -1
- package/dist/admin/ml-EVaVYywL.mjs +0 -707
- package/dist/admin/ml-EVaVYywL.mjs.map +0 -1
- package/dist/admin/ml-hT2VI8JA.js +0 -725
- package/dist/admin/ml-hT2VI8JA.js.map +0 -1
- package/dist/admin/ms-CzgcVrsY.mjs +0 -332
- package/dist/admin/ms-CzgcVrsY.mjs.map +0 -1
- package/dist/admin/ms-DoMJCZ42.js +0 -345
- package/dist/admin/ms-DoMJCZ42.js.map +0 -1
- package/dist/admin/nl-LLi_sx9P.js +0 -831
- package/dist/admin/nl-LLi_sx9P.js.map +0 -1
- package/dist/admin/nl-XNqQYx_K.mjs +0 -811
- package/dist/admin/nl-XNqQYx_K.mjs.map +0 -1
- package/dist/admin/no-JwA1Lt4Y.mjs +0 -300
- package/dist/admin/no-JwA1Lt4Y.mjs.map +0 -1
- package/dist/admin/no-wmtVIVuz.js +0 -313
- package/dist/admin/no-wmtVIVuz.js.map +0 -1
- package/dist/admin/pl-05ncDTwZ.js +0 -724
- package/dist/admin/pl-05ncDTwZ.js.map +0 -1
- package/dist/admin/pl-euPz4n1g.mjs +0 -706
- package/dist/admin/pl-euPz4n1g.mjs.map +0 -1
- package/dist/admin/pt-BR-vpbGYSYw.mjs +0 -777
- package/dist/admin/pt-BR-vpbGYSYw.mjs.map +0 -1
- package/dist/admin/pt-BR-xA4J5pi2.js +0 -797
- package/dist/admin/pt-BR-xA4J5pi2.js.map +0 -1
- package/dist/admin/pt-RlnkaSdF.mjs +0 -287
- package/dist/admin/pt-RlnkaSdF.mjs.map +0 -1
- package/dist/admin/pt-yArB6nEx.js +0 -299
- package/dist/admin/pt-yArB6nEx.js.map +0 -1
- package/dist/admin/reducers-IQWvK_9L.mjs +0 -4617
- package/dist/admin/reducers-IQWvK_9L.mjs.map +0 -1
- package/dist/admin/reducers-wZUQqmNX.js +0 -4764
- package/dist/admin/reducers-wZUQqmNX.js.map +0 -1
- package/dist/admin/ru-4bDDGI3o.js +0 -996
- package/dist/admin/ru-4bDDGI3o.js.map +0 -1
- package/dist/admin/ru-tyoEF5X6.mjs +0 -975
- package/dist/admin/ru-tyoEF5X6.mjs.map +0 -1
- package/dist/admin/sa-OOEUNg5o.js +0 -725
- package/dist/admin/sa-OOEUNg5o.js.map +0 -1
- package/dist/admin/sa-s-WVHU-Y.mjs +0 -707
- package/dist/admin/sa-s-WVHU-Y.mjs.map +0 -1
- package/dist/admin/selectors-PTHjHMQi.js +0 -8
- package/dist/admin/selectors-PTHjHMQi.js.map +0 -1
- package/dist/admin/selectors-nn3C3YKE.mjs +0 -6
- package/dist/admin/selectors-nn3C3YKE.mjs.map +0 -1
- package/dist/admin/sk-1sQSF-r2.js +0 -693
- package/dist/admin/sk-1sQSF-r2.js.map +0 -1
- package/dist/admin/sk-5bIrjuCN.mjs +0 -673
- package/dist/admin/sk-5bIrjuCN.mjs.map +0 -1
- package/dist/admin/src/components/InjectionZone.d.ts +0 -59
- package/dist/admin/src/content-manager/components/ComponentIcon.d.ts +0 -8
- package/dist/admin/src/content-manager/components/ConfigurationForm/EditFieldForm.d.ts +0 -9
- package/dist/admin/src/content-manager/components/ConfigurationForm/Fields.d.ts +0 -21
- package/dist/admin/src/content-manager/components/ConfigurationForm/Form.d.ts +0 -32
- package/dist/admin/src/content-manager/components/DragPreviews/CardDragPreview.d.ts +0 -7
- package/dist/admin/src/content-manager/components/DragPreviews/ComponentDragPreview.d.ts +0 -6
- package/dist/admin/src/content-manager/components/DragPreviews/RelationDragPreview.d.ts +0 -11
- package/dist/admin/src/content-manager/components/FieldTypeIcon.d.ts +0 -9
- package/dist/admin/src/content-manager/components/LeftMenu.d.ts +0 -2
- package/dist/admin/src/content-manager/constants/attributes.d.ts +0 -14
- package/dist/admin/src/content-manager/constants/collections.d.ts +0 -3
- package/dist/admin/src/content-manager/constants/dragAndDrop.d.ts +0 -8
- package/dist/admin/src/content-manager/exports.d.ts +0 -10
- package/dist/admin/src/content-manager/features/DocumentRBAC.d.ts +0 -36
- package/dist/admin/src/content-manager/history/components/HistoryAction.d.ts +0 -3
- package/dist/admin/src/content-manager/history/components/VersionContent.d.ts +0 -2
- package/dist/admin/src/content-manager/history/components/VersionHeader.d.ts +0 -5
- package/dist/admin/src/content-manager/history/components/VersionsList.d.ts +0 -2
- package/dist/admin/src/content-manager/history/pages/History.d.ts +0 -25
- package/dist/admin/src/content-manager/history/routes.d.ts +0 -11
- package/dist/admin/src/content-manager/history/services/historyVersion.d.ts +0 -7
- package/dist/admin/src/content-manager/hooks/useContentManagerInitData.d.ts +0 -15
- package/dist/admin/src/content-manager/hooks/useContentTypeSchema.d.ts +0 -24
- package/dist/admin/src/content-manager/hooks/useDocument.d.ts +0 -89
- package/dist/admin/src/content-manager/hooks/useDocumentActions.d.ts +0 -102
- package/dist/admin/src/content-manager/hooks/useDocumentLayout.d.ts +0 -138
- package/dist/admin/src/content-manager/hooks/useDragAndDrop.d.ts +0 -51
- package/dist/admin/src/content-manager/hooks/useKeyboardDragAndDrop.d.ts +0 -14
- package/dist/admin/src/content-manager/hooks/useLazyComponents.d.ts +0 -13
- package/dist/admin/src/content-manager/hooks/useSyncRbac.d.ts +0 -15
- package/dist/admin/src/content-manager/layout.d.ts +0 -16
- package/dist/admin/src/content-manager/modules/rbac.d.ts +0 -14
- package/dist/admin/src/content-manager/modules/reducers.d.ts +0 -4
- package/dist/admin/src/content-manager/pages/ComponentConfigurationPage.d.ts +0 -3
- package/dist/admin/src/content-manager/pages/EditConfigurationPage.d.ts +0 -3
- package/dist/admin/src/content-manager/pages/EditView/EditViewPage.d.ts +0 -3
- package/dist/admin/src/content-manager/pages/EditView/components/DocumentActions.d.ts +0 -69
- package/dist/admin/src/content-manager/pages/EditView/components/DocumentStatus.d.ts +0 -16
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +0 -3
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.d.ts +0 -3
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.d.ts +0 -3
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.d.ts +0 -3
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.d.ts +0 -3
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.d.ts +0 -3
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.d.ts +0 -3
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.d.ts +0 -6
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.d.ts +0 -61
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.d.ts +0 -10
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.d.ts +0 -10
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.d.ts +0 -10
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/Modifiers.d.ts +0 -16
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/plugins/withImages.d.ts +0 -11
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/plugins/withLinks.d.ts +0 -9
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.d.ts +0 -8
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.d.ts +0 -13
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.d.ts +0 -6
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/utils/links.d.ts +0 -10
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/utils/types.d.ts +0 -10
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Component/Initializer.d.ts +0 -9
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Component/Input.d.ts +0 -9
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Component/NonRepeatable.d.ts +0 -6
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Component/Repeatable.d.ts +0 -6
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/ComponentContext.d.ts +0 -42
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.d.ts +0 -11
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/DynamicZone/ComponentCard.d.ts +0 -9
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.d.ts +0 -17
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.d.ts +0 -9
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.d.ts +0 -14
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.d.ts +0 -12
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +0 -13
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/NotAllowed.d.ts +0 -7
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Relations.d.ts +0 -26
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/UID.d.ts +0 -9
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Wysiwyg/Editor.d.ts +0 -18
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +0 -59
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Wysiwyg/Field.d.ts +0 -11
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.d.ts +0 -5
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.d.ts +0 -7
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.d.ts +0 -17
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +0 -54
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.d.ts +0 -5
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.d.ts +0 -4
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.d.ts +0 -16
- package/dist/admin/src/content-manager/pages/EditView/components/FormLayout.d.ts +0 -5
- package/dist/admin/src/content-manager/pages/EditView/components/Header.d.ts +0 -35
- package/dist/admin/src/content-manager/pages/EditView/components/InputRenderer.d.ts +0 -14
- package/dist/admin/src/content-manager/pages/EditView/components/Panels.d.ts +0 -10
- package/dist/admin/src/content-manager/pages/EditView/utils/data.d.ts +0 -20
- package/dist/admin/src/content-manager/pages/EditView/utils/forms.d.ts +0 -9
- package/dist/admin/src/content-manager/pages/ListConfiguration/ListConfigurationPage.d.ts +0 -10
- package/dist/admin/src/content-manager/pages/ListConfiguration/components/DraggableCard.d.ts +0 -12
- package/dist/admin/src/content-manager/pages/ListConfiguration/components/EditFieldForm.d.ts +0 -8
- package/dist/admin/src/content-manager/pages/ListConfiguration/components/Header.d.ts +0 -8
- package/dist/admin/src/content-manager/pages/ListConfiguration/components/Settings.d.ts +0 -5
- package/dist/admin/src/content-manager/pages/ListConfiguration/components/SortDisplayedFields.d.ts +0 -6
- package/dist/admin/src/content-manager/pages/ListView/ListViewPage.d.ts +0 -3
- package/dist/admin/src/content-manager/pages/ListView/components/AutoCloneFailureModal.d.ts +0 -8
- package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/Actions.d.ts +0 -52
- package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +0 -15
- package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/PublishAction.d.ts +0 -31
- package/dist/admin/src/content-manager/pages/ListView/components/Filters.d.ts +0 -8
- package/dist/admin/src/content-manager/pages/ListView/components/InjectionZoneList.d.ts +0 -7
- package/dist/admin/src/content-manager/pages/ListView/components/TableActions.d.ts +0 -8
- package/dist/admin/src/content-manager/pages/ListView/components/TableCells/CellContent.d.ts +0 -9
- package/dist/admin/src/content-manager/pages/ListView/components/TableCells/CellValue.d.ts +0 -8
- package/dist/admin/src/content-manager/pages/ListView/components/TableCells/Components.d.ts +0 -12
- package/dist/admin/src/content-manager/pages/ListView/components/TableCells/Media.d.ts +0 -23
- package/dist/admin/src/content-manager/pages/ListView/components/TableCells/Relations.d.ts +0 -12
- package/dist/admin/src/content-manager/pages/ListView/components/ViewSettingsMenu.d.ts +0 -10
- package/dist/admin/src/content-manager/pages/NoContentTypePage.d.ts +0 -2
- package/dist/admin/src/content-manager/pages/NoPermissionsPage.d.ts +0 -2
- package/dist/admin/src/content-manager/router.d.ts +0 -5
- package/dist/admin/src/content-manager/services/api.d.ts +0 -3
- package/dist/admin/src/content-manager/services/components.d.ts +0 -6
- package/dist/admin/src/content-manager/services/contentTypes.d.ts +0 -18
- package/dist/admin/src/content-manager/services/documents.d.ts +0 -94
- package/dist/admin/src/content-manager/services/init.d.ts +0 -10
- package/dist/admin/src/content-manager/services/relations.d.ts +0 -49
- package/dist/admin/src/content-manager/services/uid.d.ts +0 -32
- package/dist/admin/src/content-manager/utils/api.d.ts +0 -19
- package/dist/admin/src/content-manager/utils/attributes.d.ts +0 -19
- package/dist/admin/src/content-manager/utils/relations.d.ts +0 -12
- package/dist/admin/src/content-manager/utils/translations.d.ts +0 -2
- package/dist/admin/src/content-manager/utils/validation.d.ts +0 -7
- package/dist/admin/src/core/apis/content-manager.d.ts +0 -126
- package/dist/admin/src/hooks/useInjectionZone.d.ts +0 -2
- package/dist/admin/src/pages/Settings/pages/PurchaseReviewWorkflows.d.ts +0 -2
- package/dist/admin/src/utils/getYupInnerErrors.d.ts +0 -7
- package/dist/admin/src/utils/hashAdminUserEmail.d.ts +0 -6
- package/dist/admin/sv-JVgQU2PS.mjs +0 -810
- package/dist/admin/sv-JVgQU2PS.mjs.map +0 -1
- package/dist/admin/sv-d0rqYiHZ.js +0 -830
- package/dist/admin/sv-d0rqYiHZ.js.map +0 -1
- package/dist/admin/th-er8qvbeL.mjs +0 -420
- package/dist/admin/th-er8qvbeL.mjs.map +0 -1
- package/dist/admin/th-mqExIzdv.js +0 -433
- package/dist/admin/th-mqExIzdv.js.map +0 -1
- package/dist/admin/tr-aYPucbUC.js +0 -788
- package/dist/admin/tr-aYPucbUC.js.map +0 -1
- package/dist/admin/tr-b2vrBJ49.mjs +0 -768
- package/dist/admin/tr-b2vrBJ49.mjs.map +0 -1
- package/dist/admin/transferTokens-P5z1yVh2.js +0 -65
- package/dist/admin/transferTokens-P5z1yVh2.js.map +0 -1
- package/dist/admin/transferTokens-PlBVZdw3.mjs +0 -59
- package/dist/admin/transferTokens-PlBVZdw3.mjs.map +0 -1
- package/dist/admin/uk-1c7KIaI6.js +0 -346
- package/dist/admin/uk-1c7KIaI6.js.map +0 -1
- package/dist/admin/uk-RfkbT49M.mjs +0 -333
- package/dist/admin/uk-RfkbT49M.mjs.map +0 -1
- package/dist/admin/useAdminRoles-BG7b996L.mjs +0 -28
- package/dist/admin/useAdminRoles-BG7b996L.mjs.map +0 -1
- package/dist/admin/useAdminRoles-THWXour6.js +0 -50
- package/dist/admin/useAdminRoles-THWXour6.js.map +0 -1
- package/dist/admin/useContentTypes-PEGh0Cg-.mjs +0 -51
- package/dist/admin/useContentTypes-PEGh0Cg-.mjs.map +0 -1
- package/dist/admin/useContentTypes-RoSvxizj.js +0 -73
- package/dist/admin/useContentTypes-RoSvxizj.js.map +0 -1
- package/dist/admin/useDebounce-OnUygPz6.mjs +0 -17
- package/dist/admin/useDebounce-OnUygPz6.mjs.map +0 -1
- package/dist/admin/useDebounce-tz5EMJbt.js +0 -39
- package/dist/admin/useDebounce-tz5EMJbt.js.map +0 -1
- package/dist/admin/useDocumentLayout-4trWL6Jz.mjs +0 -732
- package/dist/admin/useDocumentLayout-4trWL6Jz.mjs.map +0 -1
- package/dist/admin/useDocumentLayout-V_N5dUwQ.js +0 -764
- package/dist/admin/useDocumentLayout-V_N5dUwQ.js.map +0 -1
- package/dist/admin/useLicenseLimitNotification-9DqSZuyc.mjs +0 -80
- package/dist/admin/useLicenseLimitNotification-9DqSZuyc.mjs.map +0 -1
- package/dist/admin/useLicenseLimitNotification-SiWQ5LGo.js +0 -105
- package/dist/admin/useLicenseLimitNotification-SiWQ5LGo.js.map +0 -1
- package/dist/admin/useReviewWorkflows-0ty4mwQd.js +0 -29
- package/dist/admin/useReviewWorkflows-0ty4mwQd.js.map +0 -1
- package/dist/admin/useReviewWorkflows-HwyFyit7.mjs +0 -27
- package/dist/admin/useReviewWorkflows-HwyFyit7.mjs.map +0 -1
- package/dist/admin/useSyncRbac-LNOzRXJ5.mjs +0 -45
- package/dist/admin/useSyncRbac-LNOzRXJ5.mjs.map +0 -1
- package/dist/admin/useSyncRbac-vkWgDJTE.js +0 -67
- package/dist/admin/useSyncRbac-vkWgDJTE.js.map +0 -1
- package/dist/admin/useWebhooks-DmGNXCdi.js +0 -93
- package/dist/admin/useWebhooks-DmGNXCdi.js.map +0 -1
- package/dist/admin/useWebhooks-dOVyaYlw.mjs +0 -91
- package/dist/admin/useWebhooks-dOVyaYlw.mjs.map +0 -1
- package/dist/admin/validateWorkflow-99y3bkNx.js +0 -1077
- package/dist/admin/validateWorkflow-99y3bkNx.js.map +0 -1
- package/dist/admin/validateWorkflow-ubLwZqCK.mjs +0 -1033
- package/dist/admin/validateWorkflow-ubLwZqCK.mjs.map +0 -1
- package/dist/admin/validation-cpJKCQz1.mjs +0 -43
- package/dist/admin/validation-cpJKCQz1.mjs.map +0 -1
- package/dist/admin/validation-lIVymZ0n.js +0 -65
- package/dist/admin/validation-lIVymZ0n.js.map +0 -1
- package/dist/admin/vi-Rg9es0FD.js +0 -301
- package/dist/admin/vi-Rg9es0FD.js.map +0 -1
- package/dist/admin/vi-pyngavdo.mjs +0 -288
- package/dist/admin/vi-pyngavdo.mjs.map +0 -1
- package/dist/admin/zh-Hans-Gbpdme1Q.mjs +0 -939
- package/dist/admin/zh-Hans-Gbpdme1Q.mjs.map +0 -1
- package/dist/admin/zh-Hans-SgnidiuG.js +0 -960
- package/dist/admin/zh-Hans-SgnidiuG.js.map +0 -1
- package/dist/admin/zh-ONWhjzCj.js +0 -839
- package/dist/admin/zh-ONWhjzCj.js.map +0 -1
- package/dist/admin/zh-fMjW2qMl.mjs +0 -819
- package/dist/admin/zh-fMjW2qMl.mjs.map +0 -1
- package/dist/ee/admin/src/content-manager/pages/EditView/components/AssigneeSelect.d.ts +0 -2
- package/dist/ee/admin/src/content-manager/pages/EditView/components/ReviewWorkflowsPanel.d.ts +0 -3
- package/dist/ee/admin/src/content-manager/pages/EditView/components/StageSelect.d.ts +0 -1
- package/dist/ee/admin/src/content-manager/pages/EditView/components/constants.d.ts +0 -2
- package/dist/ee/admin/src/content-manager/pages/ListSettingsView/constants.d.ts +0 -7
- package/dist/ee/admin/src/content-manager/pages/ListView/components/AssigneeFilter.d.ts +0 -7
- package/dist/ee/admin/src/content-manager/pages/ListView/components/ReviewWorkflowsAssigneeEE.d.ts +0 -7
- package/dist/ee/admin/src/content-manager/pages/ListView/components/ReviewWorkflowsColumn.d.ts +0 -2
- package/dist/ee/admin/src/content-manager/pages/ListView/components/ReviewWorkflowsStageEE.d.ts +0 -7
- package/dist/ee/admin/src/content-manager/pages/ListView/components/StageFilter.d.ts +0 -8
- package/dist/ee/admin/src/content-manager/pages/ListView/constants.d.ts +0 -69
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/CreatePage.d.ts +0 -1
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/EditPage.d.ts +0 -1
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/ListPage.d.ts +0 -2
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/actions.d.ts +0 -86
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage.d.ts +0 -2
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Layout.d.ts +0 -12
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal.d.ts +0 -15
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Stage.d.ts +0 -10
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/StageDragPreview.d.ts +0 -4
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Stages.d.ts +0 -7
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/WorkflowAttributes.d.ts +0 -4
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/constants.d.ts +0 -20
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.d.ts +0 -15
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/reducer.d.ts +0 -38
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/selectors.d.ts +0 -62
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/utils/colors.d.ts +0 -8
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/utils/validateWorkflow.d.ts +0 -5
- package/dist/ee/admin/src/services/reviewWorkflows.d.ts +0 -39
- package/dist/shared/contracts/review-workflows.d.ts +0 -83
- package/dist/shared/contracts/review-workflows.d.ts.map +0 -1
- /package/dist/admin/src/{content-manager/hooks → hooks}/usePrev.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rbac-sYT_mXH0.mjs","sources":["../../admin/src/components/Context.tsx","../../admin/src/core/store/hooks.ts","../../admin/src/features/StrapiApp.tsx","../../admin/src/reducer.ts","../../admin/src/services/auth.ts","../../admin/src/features/Auth.tsx","../../admin/src/features/Notifications.tsx","../../admin/src/utils/getPrefixedId.ts","../../admin/src/utils/normalizeAPIError.ts","../../admin/src/hooks/useAPIErrorHandler.ts","../../admin/src/components/PageHelpers.tsx","../../admin/src/utils/once.ts","../../admin/src/utils/strings.ts","../../admin/src/hooks/usePrev.ts","../../admin/src/hooks/useRBAC.ts","../../admin/src/features/AppInfo.tsx","../../admin/src/features/Tracking.tsx","../../admin/src/features/Configuration.tsx","../../admin/src/components/LanguageProvider.tsx","../../admin/src/components/Theme.tsx","../../admin/src/core/apis/rbac.ts"],"sourcesContent":["import * as React from 'react';\n\nimport * as ContextSelector from 'use-context-selector';\n\n/**\n * @experimental\n * @description Create a context provider and a hook to consume the context.\n *\n * @warning this may be removed to the design-system instead of becoming stable.\n */\nfunction createContext<ContextValueType extends object | null>(\n rootComponentName: string,\n defaultContext?: ContextValueType\n) {\n const Context = ContextSelector.createContext<ContextValueType | undefined>(defaultContext);\n\n const Provider = (props: ContextValueType & { children: React.ReactNode }) => {\n const { children, ...context } = props;\n // Only re-memoize when prop values change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const value = React.useMemo(() => context, Object.values(context)) as ContextValueType;\n return <Context.Provider value={value}>{children}</Context.Provider>;\n };\n\n const useContext = <Selected,>(\n consumerName: string,\n selector: (value: ContextValueType) => Selected\n ): Selected =>\n ContextSelector.useContextSelector(Context, (ctx) => {\n if (ctx) return selector(ctx);\n // it's a required context.\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n });\n\n Provider.displayName = rootComponentName + 'Provider';\n\n return [Provider, useContext] as const;\n}\n\nexport { createContext };\n","import { createSelector, Selector } from '@reduxjs/toolkit';\nimport { useDispatch, useStore, TypedUseSelectorHook, useSelector } from 'react-redux';\n\nimport type { RootState, Store } from './configure';\n\ntype AppDispatch = Store['dispatch'];\n\nconst useTypedDispatch: () => AppDispatch = useDispatch;\nconst useTypedStore = useStore as () => Store;\nconst useTypedSelector: TypedUseSelectorHook<RootState> = useSelector;\n\nconst createTypedSelector = <TResult>(selector: Selector<RootState, TResult>) =>\n createSelector((state: RootState) => state, selector);\n\nexport { useTypedDispatch, useTypedStore, useTypedSelector, createTypedSelector };\n","import { createContext } from '../components/Context';\nimport { RBAC } from '../core/apis/rbac';\n\nimport type { StrapiApp } from '../StrapiApp';\n\n/* -------------------------------------------------------------------------------------------------\n * StrapiApp\n * -----------------------------------------------------------------------------------------------*/\ninterface StrapiAppContextValue\n extends Pick<\n StrapiApp,\n | 'customFields'\n | 'menu'\n | 'getPlugin'\n | 'getAdminInjectedComponents'\n | 'plugins'\n | 'runHookParallel'\n | 'runHookSeries'\n | 'settings'\n > {\n components: StrapiApp['library']['components'];\n fields: StrapiApp['library']['fields'];\n rbac: RBAC;\n runHookWaterfall: <TData>(\n name: Parameters<StrapiApp['runHookWaterfall']>[0],\n initialValue: TData\n ) => TData;\n}\n\nconst [StrapiAppProvider, useStrapiApp] = createContext<StrapiAppContextValue>('StrapiApp');\n\nexport { StrapiAppProvider, useStrapiApp };\nexport type { StrapiAppContextValue };\n","import { createSlice } from '@reduxjs/toolkit';\n\nimport { PermissionMap } from './types/permissions';\n\nimport type { PayloadAction } from '@reduxjs/toolkit';\n\ntype ThemeName = 'light' | 'dark' | 'system';\n\ninterface AppState {\n language: {\n locale: string;\n localeNames: Record<string, string>;\n };\n permissions: Partial<PermissionMap>;\n theme: {\n currentTheme: ThemeName;\n availableThemes: string[];\n };\n}\n\nconst THEME_LOCAL_STORAGE_KEY = 'STRAPI_THEME';\nconst LANGUAGE_LOCAL_STORAGE_KEY = 'strapi-admin-language';\n\nconst adminSlice = createSlice({\n name: 'admin',\n initialState: () => {\n return {\n language: {\n locale: 'en',\n localeNames: { en: 'English' },\n },\n permissions: {},\n theme: {\n availableThemes: [],\n currentTheme: localStorage.getItem(THEME_LOCAL_STORAGE_KEY) || 'system',\n },\n } as AppState;\n },\n reducers: {\n setAppTheme(state, action: PayloadAction<ThemeName>) {\n state.theme.currentTheme = action.payload;\n window.localStorage.setItem(THEME_LOCAL_STORAGE_KEY, action.payload);\n },\n setAvailableThemes(state, action: PayloadAction<AppState['theme']['availableThemes']>) {\n state.theme.availableThemes = action.payload;\n },\n setLocale(state, action: PayloadAction<string>) {\n state.language.locale = action.payload;\n\n window.localStorage.setItem(LANGUAGE_LOCAL_STORAGE_KEY, action.payload);\n document.documentElement.setAttribute('lang', action.payload);\n },\n },\n});\n\nconst reducer = adminSlice.reducer;\n\nconst { setAppTheme, setAvailableThemes, setLocale } = adminSlice.actions;\n\nexport {\n reducer,\n setAppTheme,\n setAvailableThemes,\n setLocale,\n THEME_LOCAL_STORAGE_KEY,\n LANGUAGE_LOCAL_STORAGE_KEY,\n};\nexport type { AppState, ThemeName };\n","import { ProvidersOptions } from '../../../shared/contracts/admin';\nimport {\n type RenewToken,\n type Login,\n type ResetPassword,\n type RegisterAdmin,\n type Register,\n type RegistrationInfo,\n ForgotPassword,\n} from '../../../shared/contracts/authentication';\nimport { Check } from '../../../shared/contracts/permissions';\nimport { GetProviders, IsSSOLocked } from '../../../shared/contracts/providers';\nimport { type GetOwnPermissions, type GetMe, type UpdateMe } from '../../../shared/contracts/users';\n\nimport { adminApi } from './api';\n\nconst authService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n /**\n * ME\n */\n getMe: builder.query<GetMe.Response['data'], void>({\n query: () => ({\n method: 'GET',\n url: '/admin/users/me',\n }),\n transformResponse(res: GetMe.Response) {\n return res.data;\n },\n providesTags: (res) => (res ? ['Me', { type: 'User', id: res.id }] : ['Me']),\n }),\n getMyPermissions: builder.query<GetOwnPermissions.Response['data'], void>({\n query: () => ({\n method: 'GET',\n url: '/admin/users/me/permissions',\n }),\n transformResponse(res: GetOwnPermissions.Response) {\n return res.data;\n },\n }),\n updateMe: builder.mutation<UpdateMe.Response['data'], UpdateMe.Request['body']>({\n query: (body) => ({\n method: 'PUT',\n url: '/admin/users/me',\n data: body,\n }),\n transformResponse(res: UpdateMe.Response) {\n return res.data;\n },\n invalidatesTags: ['Me'],\n }),\n /**\n * Permissions\n */\n checkPermissions: builder.query<Check.Response, Check.Request['body']>({\n query: (permissions) => ({\n method: 'POST',\n url: '/admin/permissions/check',\n data: permissions,\n }),\n }),\n /**\n * Auth methods\n */\n login: builder.mutation<Login.Response['data'], Login.Request['body']>({\n query: (body) => ({\n method: 'POST',\n url: '/admin/login',\n data: body,\n }),\n transformResponse(res: Login.Response) {\n return res.data;\n },\n invalidatesTags: ['Me'],\n }),\n logout: builder.mutation<void, void>({\n query: () => ({\n method: 'POST',\n url: '/admin/logout',\n }),\n }),\n resetPassword: builder.mutation<ResetPassword.Response['data'], ResetPassword.Request['body']>({\n query: (body) => ({\n method: 'POST',\n url: '/admin/reset-password',\n data: body,\n }),\n transformResponse(res: ResetPassword.Response) {\n return res.data;\n },\n }),\n renewToken: builder.mutation<RenewToken.Response['data'], RenewToken.Request['body']>({\n query: (body) => ({\n method: 'POST',\n url: '/admin/renew-token',\n data: body,\n }),\n transformResponse(res: RenewToken.Response) {\n return res.data;\n },\n }),\n getRegistrationInfo: builder.query<\n RegistrationInfo.Response['data'],\n RegistrationInfo.Request['query']['registrationToken']\n >({\n query: (registrationToken) => ({\n url: '/admin/registration-info',\n method: 'GET',\n config: {\n params: {\n registrationToken,\n },\n },\n }),\n transformResponse(res: RegistrationInfo.Response) {\n return res.data;\n },\n }),\n registerAdmin: builder.mutation<RegisterAdmin.Response['data'], RegisterAdmin.Request['body']>({\n query: (body) => ({\n method: 'POST',\n url: '/admin/register-admin',\n data: body,\n }),\n transformResponse(res: RegisterAdmin.Response) {\n return res.data;\n },\n }),\n registerUser: builder.mutation<Register.Response['data'], Register.Request['body']>({\n query: (body) => ({\n method: 'POST',\n url: '/admin/register',\n data: body,\n }),\n transformResponse(res: Register.Response) {\n return res.data;\n },\n }),\n forgotPassword: builder.mutation<ForgotPassword.Response, ForgotPassword.Request['body']>({\n query: (body) => ({\n url: '/admin/forgot-password',\n method: 'POST',\n data: body,\n }),\n }),\n isSSOLocked: builder.query<IsSSOLocked.Response['data'], void>({\n query: () => ({\n url: '/admin/providers/isSSOLocked',\n method: 'GET',\n }),\n transformResponse(res: IsSSOLocked.Response) {\n return res.data;\n },\n }),\n getProviders: builder.query<GetProviders.Response, void>({\n query: () => ({\n url: '/admin/providers',\n method: 'GET',\n }),\n }),\n getProviderOptions: builder.query<ProvidersOptions.Response['data'], void>({\n query: () => ({\n url: '/admin/providers/options',\n method: 'GET',\n }),\n transformResponse(res: ProvidersOptions.Response) {\n return res.data;\n },\n providesTags: ['ProvidersOptions'],\n }),\n updateProviderOptions: builder.mutation<\n ProvidersOptions.Response['data'],\n ProvidersOptions.Request['body']\n >({\n query: (body) => ({\n url: '/admin/providers/options',\n method: 'PUT',\n data: body,\n }),\n transformResponse(res: ProvidersOptions.Response) {\n return res.data;\n },\n invalidatesTags: ['ProvidersOptions'],\n }),\n }),\n overrideExisting: false,\n});\n\nconst {\n useCheckPermissionsQuery,\n useLazyCheckPermissionsQuery,\n useGetMeQuery,\n useLoginMutation,\n useRenewTokenMutation,\n useLogoutMutation,\n useUpdateMeMutation,\n useResetPasswordMutation,\n useRegisterAdminMutation,\n useRegisterUserMutation,\n useGetRegistrationInfoQuery,\n useForgotPasswordMutation,\n useGetMyPermissionsQuery,\n useIsSSOLockedQuery,\n useGetProvidersQuery,\n useGetProviderOptionsQuery,\n useUpdateProviderOptionsMutation,\n} = authService;\n\nexport {\n useCheckPermissionsQuery,\n useLazyCheckPermissionsQuery,\n useGetMeQuery,\n useLoginMutation,\n useRenewTokenMutation,\n useLogoutMutation,\n useUpdateMeMutation,\n useResetPasswordMutation,\n useRegisterAdminMutation,\n useRegisterUserMutation,\n useGetRegistrationInfoQuery,\n useForgotPasswordMutation,\n useGetMyPermissionsQuery,\n useIsSSOLockedQuery,\n useGetProvidersQuery,\n useGetProviderOptionsQuery,\n useUpdateProviderOptionsMutation,\n};\n","import * as React from 'react';\n\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { Login } from '../../../shared/contracts/authentication';\nimport { createContext } from '../components/Context';\nimport { useTypedDispatch } from '../core/store/hooks';\nimport { useStrapiApp } from '../features/StrapiApp';\nimport { setLocale } from '../reducer';\nimport {\n useGetMeQuery,\n useGetMyPermissionsQuery,\n useLazyCheckPermissionsQuery,\n useLoginMutation,\n useLogoutMutation,\n useRenewTokenMutation,\n} from '../services/auth';\n\nimport type {\n Permission as PermissionContract,\n SanitizedAdminUser,\n} from '../../../shared/contracts/shared';\n\ninterface Permission\n extends Pick<PermissionContract, 'action' | 'subject'>,\n Partial<Omit<PermissionContract, 'action' | 'subject'>> {}\n\ninterface User\n extends Pick<SanitizedAdminUser, 'email' | 'firstname' | 'lastname' | 'username' | 'roles'>,\n Partial<Omit<SanitizedAdminUser, 'email' | 'firstname' | 'lastname' | 'username' | 'roles'>> {}\n\ninterface AuthContextValue {\n login: (\n body: Login.Request['body'] & { rememberMe: boolean }\n ) => Promise<Awaited<ReturnType<ReturnType<typeof useLoginMutation>[0]>>>;\n logout: () => Promise<void>;\n /**\n * @alpha\n * @description given a list of permissions, this function checks\n * those against the current user's permissions or those passed as\n * the second argument, if the user has those permissions the complete\n * permission object form the API is returned. Therefore, if the list is\n * empty, the user does not have any of those permissions.\n */\n checkUserHasPermissions: (\n permissions?: Permission[],\n passedPermissions?: Permission[]\n ) => Promise<Permission[]>;\n isLoading: boolean;\n permissions: Permission[];\n refetchPermissions: () => Promise<void>;\n setToken: (token: string | null) => void;\n token: string | null;\n user?: User;\n}\n\nconst [Provider, useAuth] = createContext<AuthContextValue>('Auth');\n\ninterface AuthProviderProps {\n children: React.ReactNode;\n /**\n * @internal could be removed at any time.\n */\n _defaultPermissions?: Permission[];\n}\n\nconst STORAGE_KEYS = {\n TOKEN: 'jwtToken',\n USER: 'userInfo',\n};\n\nconst AuthProvider = ({ children, _defaultPermissions = [] }: AuthProviderProps) => {\n const dispatch = useTypedDispatch();\n const runRbacMiddleware = useStrapiApp('AuthProvider', (state) => state.rbac.run);\n const location = useLocation();\n const [token, setToken] = React.useState<string | null>(() => {\n const token =\n localStorage.getItem(STORAGE_KEYS.TOKEN) ?? sessionStorage.getItem(STORAGE_KEYS.TOKEN);\n\n if (typeof token === 'string') {\n return JSON.parse(token);\n }\n\n return null;\n });\n\n const { data: user, isLoading: isLoadingUser } = useGetMeQuery(undefined, {\n /**\n * If there's no token, we don't try to fetch\n * the user data because it will fail.\n */\n skip: !token,\n });\n const {\n data: userPermissions = _defaultPermissions,\n refetch,\n isUninitialized,\n isLoading: isLoadingPermissions,\n } = useGetMyPermissionsQuery(undefined, {\n skip: !token,\n });\n\n const navigate = useNavigate();\n\n const [loginMutation] = useLoginMutation();\n const [renewTokenMutation] = useRenewTokenMutation();\n const [logoutMutation] = useLogoutMutation();\n\n const clearStorage = React.useCallback(() => {\n localStorage.removeItem(STORAGE_KEYS.TOKEN);\n localStorage.removeItem(STORAGE_KEYS.USER);\n sessionStorage.removeItem(STORAGE_KEYS.TOKEN);\n sessionStorage.removeItem(STORAGE_KEYS.USER);\n setToken(null);\n }, []);\n\n /**\n * Fetch data from storages on mount and store it in our state.\n * It's not normally stored in session storage unless the user\n * does click \"remember me\" when they login. We also need to renew the token.\n */\n React.useEffect(() => {\n const token =\n localStorage.getItem(STORAGE_KEYS.TOKEN) ?? sessionStorage.getItem(STORAGE_KEYS.TOKEN);\n\n if (token) {\n renewTokenMutation({ token: JSON.parse(token) }).then((res) => {\n if ('data' in res) {\n setToken(res.data.token);\n } else {\n clearStorage();\n navigate('/auth/login');\n }\n });\n }\n }, [renewTokenMutation, clearStorage, navigate]);\n\n React.useEffect(() => {\n if (user) {\n if (user.preferedLanguage) {\n dispatch(setLocale(user.preferedLanguage));\n }\n }\n }, [dispatch, user]);\n\n React.useEffect(() => {\n if (token) {\n storeToken(token, false);\n }\n }, [token]);\n\n React.useEffect(() => {\n /**\n * This will log a user out of all tabs if they log out in one tab.\n */\n const handleUserStorageChange = (event: StorageEvent) => {\n if (event.key === STORAGE_KEYS.USER && event.newValue === null) {\n clearStorage();\n navigate('/auth/login');\n }\n };\n\n window.addEventListener('storage', handleUserStorageChange);\n\n return () => {\n window.removeEventListener('storage', handleUserStorageChange);\n };\n });\n\n const login = React.useCallback<AuthContextValue['login']>(\n async ({ rememberMe, ...body }) => {\n const res = await loginMutation(body);\n\n /**\n * There will always be a `data` key in the response\n * because if something fails, it will throw an error.\n */\n if ('data' in res) {\n const { token } = res.data;\n\n storeToken(token, rememberMe);\n setToken(token);\n }\n\n return res;\n },\n [loginMutation]\n );\n\n const logout = React.useCallback(async () => {\n await logoutMutation();\n clearStorage();\n navigate('/auth/login');\n }, [clearStorage, logoutMutation, navigate]);\n\n const refetchPermissions = React.useCallback(async () => {\n if (!isUninitialized) {\n await refetch();\n }\n }, [isUninitialized, refetch]);\n\n const [checkPermissions] = useLazyCheckPermissionsQuery();\n const checkUserHasPermissions: AuthContextValue['checkUserHasPermissions'] = React.useCallback(\n async (permissions, passedPermissions) => {\n /**\n * If there's no permissions to check, then we allow it to\n * pass to preserve existing behaviours.\n *\n * TODO: should we review this? it feels more dangerous than useful.\n */\n if (!permissions || permissions.length === 0) {\n return [{ action: '', subject: '' }];\n }\n\n /**\n * Given the provided permissions, return the permissions from either passedPermissions\n * or userPermissions as this is expected to be the full permission entity.\n */\n const actualUserPermissions = passedPermissions ?? userPermissions;\n\n const matchingPermissions = actualUserPermissions.filter(\n (permission) =>\n permissions.findIndex(\n (perm) => perm.action === permission.action && perm.subject === permission.subject\n ) >= 0\n );\n\n const middlewaredPermissions = await runRbacMiddleware(\n {\n user,\n permissions: userPermissions,\n pathname: location.pathname,\n search: location.search.split('?')[1] ?? '',\n },\n matchingPermissions\n );\n\n const shouldCheckConditions = middlewaredPermissions.some(\n (perm) => Array.isArray(perm.conditions) && perm.conditions.length > 0\n );\n\n if (!shouldCheckConditions) {\n return middlewaredPermissions;\n }\n\n const { data, error } = await checkPermissions({\n permissions: middlewaredPermissions.map((perm) => ({\n action: perm.action,\n subject: perm.subject,\n })),\n });\n\n if (error) {\n throw error;\n } else {\n return middlewaredPermissions.filter((_, index) => data?.data[index] === true);\n }\n },\n [checkPermissions, location.pathname, location.search, runRbacMiddleware, user, userPermissions]\n );\n\n const isLoading = isLoadingUser || isLoadingPermissions;\n\n return (\n <Provider\n token={token}\n user={user}\n login={login}\n logout={logout}\n permissions={userPermissions}\n checkUserHasPermissions={checkUserHasPermissions}\n refetchPermissions={refetchPermissions}\n setToken={setToken}\n isLoading={isLoading}\n >\n {children}\n </Provider>\n );\n};\n\nconst storeToken = (token: string, persist?: boolean) => {\n if (!persist) {\n return window.sessionStorage.setItem(STORAGE_KEYS.TOKEN, JSON.stringify(token));\n }\n return window.localStorage.setItem(STORAGE_KEYS.TOKEN, JSON.stringify(token));\n};\n\nexport { AuthProvider, useAuth, STORAGE_KEYS };\nexport type { AuthContextValue, Permission, User };\n","import * as React from 'react';\n\nimport { Alert, AlertVariant, Flex, useCallbackRef } from '@strapi/design-system';\nimport { Link } from '@strapi/design-system/v2';\nimport { useIntl } from 'react-intl';\n\ninterface NotificationLink {\n label: string;\n target?: string;\n url: string;\n}\n\ninterface NotificationConfig {\n blockTransition?: boolean;\n link?: NotificationLink;\n message?: string;\n onClose?: () => void;\n timeout?: number;\n title?: string;\n type?: 'info' | 'warning' | 'danger' | 'success';\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Context\n * -----------------------------------------------------------------------------------------------*/\n\ninterface NotificationsContextValue {\n /**\n * Toggles a notification, wrapped in `useCallback` for a stable identity.\n */\n toggleNotification: (config: NotificationConfig) => void;\n}\n\nconst NotificationsContext = React.createContext<NotificationsContextValue>({\n toggleNotification: () => {},\n});\n\n/* -------------------------------------------------------------------------------------------------\n * Provider\n * -----------------------------------------------------------------------------------------------*/\n\ninterface NotificationsProviderProps {\n children: React.ReactNode;\n}\ninterface Notification extends NotificationConfig {\n id: number;\n}\n\n/**\n * @internal\n * @description DO NOT USE. This will be removed before stable release of v5.\n */\nconst NotificationsProvider = ({ children }: NotificationsProviderProps) => {\n const notificationIdRef = React.useRef(0);\n\n const [notifications, setNotifications] = React.useState<Notification[]>([]);\n\n const toggleNotification = React.useCallback(\n ({ type, message, link, timeout, blockTransition, onClose, title }: NotificationConfig) => {\n setNotifications((s) => [\n ...s,\n {\n id: notificationIdRef.current++,\n type,\n message,\n link,\n timeout,\n blockTransition,\n onClose,\n title,\n },\n ]);\n },\n []\n );\n\n const clearNotification = React.useCallback((id: number) => {\n setNotifications((s) => s.filter((n) => n.id !== id));\n }, []);\n\n const value = React.useMemo(() => ({ toggleNotification }), [toggleNotification]);\n\n return (\n <NotificationsContext.Provider value={value}>\n <Flex\n left=\"50%\"\n marginLeft=\"-250px\"\n position=\"fixed\"\n direction=\"column\"\n alignItems=\"stretch\"\n gap={2}\n top={`${46 / 16}rem`}\n width={`${500 / 16}rem`}\n zIndex={10}\n >\n {notifications.map((notification) => {\n return (\n <Notification\n key={notification.id}\n {...notification}\n clearNotification={clearNotification}\n />\n );\n })}\n </Flex>\n {children}\n </NotificationsContext.Provider>\n );\n};\n\ninterface NotificationProps extends Notification {\n clearNotification: (id: number) => void;\n}\n\nconst Notification = ({\n clearNotification,\n blockTransition = false,\n id,\n link,\n message,\n onClose,\n timeout = 2500,\n title,\n type,\n}: NotificationProps) => {\n const { formatMessage } = useIntl();\n /**\n * Chances are `onClose` won't be classed as stabilised,\n * so we use `useCallbackRef` to avoid make it stable.\n */\n const onCloseCallback = useCallbackRef(onClose);\n\n const handleClose = React.useCallback(() => {\n onCloseCallback();\n\n clearNotification(id);\n }, [clearNotification, id, onCloseCallback]);\n\n // eslint-disable-next-line consistent-return\n React.useEffect(() => {\n if (!blockTransition) {\n const timeoutReference = setTimeout(() => {\n handleClose();\n }, timeout);\n\n return () => {\n clearTimeout(timeoutReference);\n };\n }\n }, [blockTransition, handleClose, timeout]);\n\n let variant: AlertVariant;\n let alertTitle: string;\n\n if (type === 'info') {\n variant = 'default';\n alertTitle = formatMessage({\n id: 'notification.default.title',\n defaultMessage: 'Information:',\n });\n } else if (type === 'danger') {\n variant = 'danger';\n alertTitle = formatMessage({\n id: 'notification.warning.title',\n defaultMessage: 'Warning:',\n });\n } else if (type === 'warning') {\n variant = 'warning';\n alertTitle = formatMessage({\n id: 'notification.warning.title',\n defaultMessage: 'Warning:',\n });\n } else {\n variant = 'success';\n alertTitle = formatMessage({\n id: 'notification.success.title',\n defaultMessage: 'Success:',\n });\n }\n\n if (title) {\n alertTitle = title;\n }\n\n return (\n <Alert\n action={\n link ? (\n <Link href={link.url} isExternal>\n {link.label}\n </Link>\n ) : undefined\n }\n onClose={handleClose}\n closeLabel={formatMessage({\n id: 'global.close',\n defaultMessage: 'Close',\n })}\n title={alertTitle}\n variant={variant}\n >\n {message}\n </Alert>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Hook\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @preserve\n * @description Returns an object to interact with the notification\n * system. The callbacks are wrapped in `useCallback` for a stable\n * identity.\n *\n * @example\n * ```tsx\n * import { useNotification } from '@strapi/strapi/admin';\n *\n * const MyComponent = () => {\n * const { toggleNotification } = useNotification();\n *\n * return <button onClick={() => toggleNotification({ message: 'Hello world!' })}>Click me</button>;\n */\nconst useNotification = () => React.useContext(NotificationsContext);\n\nexport { NotificationsProvider, useNotification };\nexport type { NotificationConfig, NotificationsContextValue };\n","/**\n * Prefix message with 'apiError.'\n */\nexport function getPrefixedId(message: string, callback?: (prefixedMessage: string) => string) {\n const prefixedMessage = `apiError.${message}`;\n\n // if a prefix function has been passed in it is used to\n // prefix the id, e.g. to allow an error message to be\n // set only for a localization namespace\n if (typeof callback === 'function') {\n return callback(prefixedMessage);\n }\n\n return prefixedMessage;\n}\n","import { getPrefixedId } from './getPrefixedId';\n\nimport type { ApiError } from '../hooks/useAPIErrorHandler';\nimport type { errors } from '@strapi/utils';\nimport type { AxiosError } from 'axios';\n\nexport interface NormalizeErrorOptions {\n name?: string;\n intlMessagePrefixCallback?: (id: string) => string;\n}\n\ninterface NormalizeErrorReturn {\n id: string;\n defaultMessage: string;\n name?: string;\n values: Record<'path', string> | Record<string, never>;\n}\n\ninterface YupFormattedError {\n path: string[];\n message: string;\n name: string;\n}\n\nfunction normalizeError(\n error: ApiError | YupFormattedError,\n { name, intlMessagePrefixCallback }: NormalizeErrorOptions\n): NormalizeErrorReturn {\n const { message } = error;\n\n const normalizedError = {\n id: getPrefixedId(message, intlMessagePrefixCallback),\n defaultMessage: message,\n name: error.name ?? name,\n values: {},\n };\n\n if ('path' in error) {\n normalizedError.values = { path: error.path.join('.') };\n }\n\n return normalizedError;\n}\n\nconst validateErrorIsYupValidationError = (\n err: ApiError\n): err is errors.YupValidationError & { details: { errors: YupFormattedError[] } } =>\n typeof err.details === 'object' && err.details !== null && 'errors' in err.details;\n\n/**\n * Normalize the format of `ResponseError`\n * in places where the hook `useAPIErrorHandler` can not called\n * (e.g. outside of a React component).\n */\nexport function normalizeAPIError(\n apiError: AxiosError<{ error: ApiError }>,\n intlMessagePrefixCallback?: NormalizeErrorOptions['intlMessagePrefixCallback']\n):\n | NormalizeErrorReturn\n | { name: string; message: string | null; errors: NormalizeErrorReturn[] }\n | null {\n const error = apiError.response?.data.error;\n\n if (error) {\n // some errors carry multiple errors (such as ValidationError)\n if (validateErrorIsYupValidationError(error)) {\n return {\n name: error.name,\n message: error?.message || null,\n errors: error.details.errors.map((err) =>\n normalizeError(err, { name: error.name, intlMessagePrefixCallback })\n ),\n };\n }\n\n return normalizeError(error, { intlMessagePrefixCallback });\n }\n\n return null;\n}\n","import * as React from 'react';\n\nimport { AxiosError } from 'axios';\nimport { IntlFormatters, useIntl } from 'react-intl';\n\nimport { getPrefixedId } from '../utils/getPrefixedId';\nimport { NormalizeErrorOptions, normalizeAPIError } from '../utils/normalizeAPIError';\n\nimport type { errors } from '@strapi/utils';\n\ntype ApiError =\n | errors.ApplicationError\n | errors.ForbiddenError\n | errors.NotFoundError\n | errors.NotImplementedError\n | errors.PaginationError\n | errors.PayloadTooLargeError\n | errors.PolicyError\n | errors.RateLimitError\n | errors.UnauthorizedError\n | errors.ValidationError\n | errors.YupValidationError;\n\ninterface UnknownApiError {\n /**\n * The name of the ApiError, is always a static value.\n */\n name: 'UnknownError';\n /**\n * The error message.\n */\n message: string;\n /**\n * The error details.\n */\n details?: unknown;\n /**\n * The HTTP status code of the error.\n */\n status?: number;\n}\n\n/**\n * The last item is the fallback error SerializedError which\n * typically comes from redux-toolkit itself.\n */\ninterface SerializedError {\n /**\n * The name of the error.\n */\n name?: string;\n /**\n * The error message that explains what went wrong.\n */\n message?: string;\n /**\n * The stack trace of the error.\n */\n stack?: string;\n /**\n * A specific error code associated with the error.\n */\n code?: string;\n}\n\n/**\n * These are the types or errors we return\n * from the redux-toolkit data-fetching setup.\n */\ntype BaseQueryError = ApiError | UnknownApiError | SerializedError;\n\ninterface YupFormattedError {\n /**\n * An array representing the path to the field where the validation error occurred.\n */\n path: string[];\n /**\n * The error message describing the validation failure.\n */\n message: string;\n /**\n * The name of the error, typically identifies the type of validation error that occurred.\n */\n name: string;\n}\n\n/**\n * @public\n * @description The purpose of this hook is to offer a unified way to handle errors thrown by API endpoints, regardless of the type of error (`ValidationError`, `ApplicationErrror` ...)\nthat has been thrown.\n * @example\n * ```tsx\n * import * as React from 'react';\n * import { useFetchClient, useAPIErrorHandler, useNotification } from '@strapi/admin/admin';\n *\n * const MyComponent = () => {\n * const { get } = useFetchClient();\n * const { formatAPIError } = useAPIErrorHandler(getTrad);\n * const { toggleNotification } = useNotification();\n * \n * const handleDeleteItem = async () => {\n * try {\n * return await get('/admin');\n * } catch (error) {\n * toggleNotification({\n * type: 'danger',\n * message: formatAPIError(error),\n * });\n * }\n * };\n * return <button onClick={handleDeleteItem}>Delete item</button>;\n * };\n * ```\n */\nexport function useAPIErrorHandler(\n intlMessagePrefixCallback?: FormatAPIErrorOptions['intlMessagePrefixCallback']\n) {\n const { formatMessage } = useIntl();\n\n /**\n * @description This method try to normalize the passed error\n * and then call formatAPIError to stringify the ResponseObject\n * into a string. If it fails it will call formatAxiosError and\n * return the error message.\n */\n const formatError = React.useCallback(\n (error: AxiosError<{ error: ApiError }>) => {\n // Try to normalize the passed error first. This will fail for e.g. network\n // errors which are thrown by Axios directly.\n try {\n const formattedErr = formatAPIError(error, { intlMessagePrefixCallback, formatMessage });\n\n if (!formattedErr) {\n return formatAxiosError(error, { intlMessagePrefixCallback, formatMessage });\n }\n\n return formattedErr;\n } catch (_) {\n throw new Error('formatAPIError: Unknown error:', error);\n }\n },\n [formatMessage, intlMessagePrefixCallback]\n );\n\n return {\n /**\n * @alpha\n * Convert ValidationErrors from the API into an object that can be used by forms.\n */\n _unstableFormatValidationErrors: React.useCallback(\n (error: Extract<BaseQueryError, { name: 'ValidationError' }>): Record<string, string> => {\n if (typeof error.details === 'object' && error.details !== null) {\n if ('errors' in error.details && Array.isArray(error.details.errors)) {\n const validationErrors = error.details.errors as YupFormattedError[];\n\n return validationErrors.reduce((acc, err) => {\n const { path, message } = err;\n\n return {\n ...acc,\n [path.join('.')]: message,\n };\n }, {});\n } else {\n const details = error.details as Record<string, string[]>;\n\n return Object.keys(details).reduce((acc, key) => {\n const messages = details[key];\n\n return {\n ...acc,\n [key]: messages.join(', '),\n };\n }, {});\n }\n } else {\n return {};\n }\n },\n []\n ),\n /**\n * @alpha\n * This handles the errors given from `redux-toolkit`'s axios based baseQuery function.\n */\n _unstableFormatAPIError: React.useCallback(\n (error: BaseQueryError) => {\n const err = {\n response: {\n data: {\n error,\n },\n },\n } as AxiosError<{ error: BaseQueryError }>;\n\n /**\n * There's a chance with SerializedErrors that the message is not set.\n * In that case we return a generic error message.\n */\n if (!error.message) {\n return 'Unknown error occured.';\n }\n\n // @ts-expect-error – UnknownApiError is in the same shape as ApiError, but we don't want to expose this to users yet.\n return formatError(err);\n },\n [formatError]\n ),\n formatAPIError: formatError,\n };\n}\n\nfunction formatAxiosError(\n error: AxiosError<unknown>,\n { intlMessagePrefixCallback, formatMessage }: FormatAPIErrorOptions\n) {\n const { code, message } = error;\n\n return formatMessage(\n {\n id: getPrefixedId(message, intlMessagePrefixCallback),\n defaultMessage: message,\n },\n {\n code,\n }\n );\n}\n\ntype FormatAPIErrorOptions = Partial<Pick<NormalizeErrorOptions, 'intlMessagePrefixCallback'>> &\n Pick<IntlFormatters, 'formatMessage'>;\n\n/**\n * @description This method stringifies the `ResponseObject` into\n * a string. If multiple errors are thrown by the API, which\n * happens e.g.in the case of a `ValidationError`, all errors\n * will bo concatenated into a single string.\n */\nfunction formatAPIError(\n error: AxiosError<{ error: ApiError }>,\n { formatMessage, intlMessagePrefixCallback }: FormatAPIErrorOptions\n) {\n if (!formatMessage) {\n throw new Error('The formatMessage callback is a mandatory argument.');\n }\n\n const normalizedError = normalizeAPIError(error, intlMessagePrefixCallback);\n\n if (!normalizedError) {\n return null;\n }\n\n if ('message' in normalizedError && normalizedError.message !== null) {\n return normalizedError.message;\n }\n\n // stringify multiple errors\n if ('errors' in normalizedError) {\n return normalizedError.errors\n .map(({ id, defaultMessage, values }) => formatMessage({ id, defaultMessage }, values))\n .join('\\n');\n }\n\n return formatMessage(normalizedError);\n}\n\nexport type { ApiError };\n","import * as React from 'react';\n\nimport {\n Box,\n EmptyStateLayout,\n type EmptyStateLayoutProps,\n Flex,\n Icon,\n Loader,\n Main,\n MainProps,\n} from '@strapi/design-system';\nimport { EmptyPermissions, ExclamationMarkCircle, EmptyDocuments } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useAuth, Permission } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { useAPIErrorHandler } from '../hooks/useAPIErrorHandler';\nimport { useCheckPermissionsQuery } from '../services/auth';\n\n/* -------------------------------------------------------------------------------------------------\n * Main\n * -----------------------------------------------------------------------------------------------*/\ninterface PageMainProps extends MainProps {\n children: React.ReactNode;\n}\n\nconst PageMain = ({ children, ...restProps }: PageMainProps) => {\n return <Main {...restProps}>{children}</Main>;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Loading\n * -----------------------------------------------------------------------------------------------*/\ninterface LoadingProps {\n /**\n * @default 'Loading content.'\n */\n children?: React.ReactNode;\n}\n\n/**\n * @public\n * @description A loading component that should be rendered as the page\n * whilst you load the content for the aforementioned page.\n */\nconst Loading = ({ children = 'Loading content.' }: LoadingProps) => {\n return (\n <PageMain height=\"100vh\" aria-busy={true}>\n <Flex alignItems=\"center\" height=\"100%\" justifyContent=\"center\">\n <Loader>{children}</Loader>\n </Flex>\n </PageMain>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Error\n * -----------------------------------------------------------------------------------------------*/\ninterface ErrorProps extends Partial<EmptyStateLayoutProps> {}\n\n/**\n * TODO: should we start passing our errors here so they're persisted on the screen?\n * This could follow something similar to how the global app error works...?\n */\n\n/**\n * @public\n * @description An error component that should be rendered as the page\n * when an error occurs.\n */\nconst Error = (props: ErrorProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <PageMain height=\"100%\">\n <Flex alignItems=\"center\" height=\"100%\" justifyContent=\"center\">\n <EmptyStateLayout\n icon={<Icon as={ExclamationMarkCircle} width=\"10rem\" />}\n content={formatMessage({\n id: 'anErrorOccurred',\n defaultMessage: 'Woops! Something went wrong. Please, try again.',\n })}\n {...props}\n />\n </Flex>\n </PageMain>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * NoPermissions\n * -----------------------------------------------------------------------------------------------*/\ninterface NoPermissionsProps extends Partial<EmptyStateLayoutProps> {}\n\n/**\n * @public\n * @description A component that should be rendered as the page\n * when the user does not have the permissions to access the content.\n * This component does not check any permissions, it's up to you to decide\n * when it should be rendered.\n */\nconst NoPermissions = (props: NoPermissionsProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <PageMain height=\"100%\">\n <Flex alignItems=\"center\" height=\"100%\" justifyContent=\"center\">\n <Box minWidth=\"50%\">\n <EmptyStateLayout\n icon={<EmptyPermissions width=\"10rem\" />}\n content={formatMessage({\n id: 'app.components.EmptyStateLayout.content-permissions',\n defaultMessage: \"You don't have the permissions to access that content\",\n })}\n {...props}\n />\n </Box>\n </Flex>\n </PageMain>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * NoData\n * -----------------------------------------------------------------------------------------------*/\ninterface NoDataProps extends Partial<EmptyStateLayoutProps> {}\n\n/**\n * @public\n * @description A component that should be rendered as the page\n * when there is no data available to display.\n * This component does not check any permissions, it's up to you to decide\n * when it should be rendered.\n */\nconst NoData = (props: NoDataProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <PageMain height=\"100%\">\n <Flex alignItems=\"center\" height=\"100%\" width=\"100%\" justifyContent=\"center\">\n <Box minWidth=\"50%\">\n <EmptyStateLayout\n icon={<EmptyDocuments width=\"10rem\" />}\n content={formatMessage({\n id: 'app.components.EmptyStateLayout.content-document',\n defaultMessage: 'No content found',\n })}\n {...props}\n />\n </Box>\n </Flex>\n </PageMain>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Protect\n * -----------------------------------------------------------------------------------------------*/\nexport interface ProtectProps {\n /**\n * The children to render if the user has the required permissions.\n * If providing a function, it will be called with an object containing\n * the permissions the user has based on the array you passed to the component.\n */\n children: React.ReactNode | ((args: { permissions: Permission[] }) => React.ReactNode);\n /**\n * The permissions the user needs to have to access the content.\n */\n permissions?: Array<Omit<Partial<Permission>, 'action'> & Pick<Permission, 'action'>>;\n}\n\n/**\n * @public\n * @description A wrapper component that should be used to protect a page. It will check the permissions\n * you pass to it and render the children if the user has the required permissions. If a user does not have ALL\n * the required permissions, it will redirect the user to the home page. Whilst these checks happen it will render\n * the loading component and should the check fail it will render the error component with a notification.\n */\nconst Protect = ({ permissions = [], children }: ProtectProps) => {\n const userPermissions = useAuth('Protect', (state) => state.permissions);\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const matchingPermissions = userPermissions.filter(\n (permission) =>\n permissions.findIndex(\n (perm) => perm.action === permission.action && perm.subject === permission.subject\n ) >= 0\n );\n\n const shouldCheckConditions = matchingPermissions.some(\n (perm) => Array.isArray(perm.conditions) && perm.conditions.length > 0\n );\n\n const { isLoading, error, data } = useCheckPermissionsQuery(\n {\n permissions: matchingPermissions.map((perm) => ({\n action: perm.action,\n subject: perm.subject,\n })),\n },\n {\n skip: !shouldCheckConditions,\n }\n );\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n if (isLoading) {\n return <Loading />;\n }\n\n if (error) {\n return <Error />;\n }\n\n const { data: permissionsData } = data || {};\n\n const canAccess =\n shouldCheckConditions && permissionsData\n ? !permissionsData.includes(false)\n : matchingPermissions.length > 0;\n\n if (!canAccess) {\n return <NoPermissions />;\n }\n\n return typeof children === 'function' ? children({ permissions: matchingPermissions }) : children;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Title\n * -----------------------------------------------------------------------------------------------*/\nexport interface TitleProps {\n children: string;\n}\n\n/**\n * @public\n * @description This component takes the children (must be a string) and sets\n * it as the title of the html.\n */\nconst Title = ({ children: title }: TitleProps) => {\n React.useEffect(() => {\n document.title = `${title} | Strapi`;\n }, [title]);\n\n return null;\n};\n\nconst Page = {\n Error,\n Loading,\n NoPermissions,\n Protect,\n NoData,\n Main: PageMain,\n Title,\n};\n\nexport { Page };\nexport type { ErrorProps, LoadingProps, NoPermissionsProps, PageMainProps as MainProps };\n","export const once = <TFunc extends (...args: any) => any>(fn: TFunc) => {\n const func = fn;\n let called = false;\n\n if (typeof func !== 'function') {\n throw new TypeError(`once requires a function parameter`);\n }\n\n return (...args: any) => {\n if (!called && process.env.NODE_ENV === 'development') {\n func(...args);\n called = true;\n }\n };\n};\n","const capitalise = (str: string): string => str.charAt(0).toUpperCase() + str.slice(1);\n\nexport { capitalise };\n","import { useEffect, useRef } from 'react';\n\nexport const usePrev = <T>(value: T): T | undefined => {\n const ref = useRef<T>();\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n};\n","import { useEffect, useMemo, useState } from 'react';\n\nimport isEqual from 'lodash/isEqual';\n\nimport { useAuth, Permission } from '../features/Auth';\nimport { once } from '../utils/once';\nimport { capitalise } from '../utils/strings';\n\nimport { usePrev } from './usePrev';\n\ntype AllowedActions = Record<string, boolean>;\n\n/**\n * @public\n * @description This hooks takes an object or array of permissions (the latter preferred) and\n * runs through them to match against the current user's permissions as well as the RBAC middleware\n * system checking any conditions that may be present. It returns the filtered permissions as the complete\n * object from the API and a set of actions that can be performed. An action is derived from the last part\n * of the permission action e.g. `admin::roles.create` would be `canCreate`. If there's a hyphen in the action\n * this is removed and capitalised e.g `admin::roles.create-draft` would be `canCreateDraft`.\n * @example\n * ```tsx\n * import { Page, useRBAC } from '@strapi/strapi/admin'\n *\n * const MyProtectedPage = () => {\n * const { allowedActions, isLoading, error, permissions } = useRBAC([{ action: 'admin::roles.create' }])\n *\n * if(isLoading) {\n * return <Page.Loading />\n * }\n *\n * if(error){\n * return <Page.Error />\n * }\n *\n * if(!allowedActions.canCreate) {\n * return null\n * }\n *\n * return <MyPage permissions={permissions} />\n * }\n * ```\n */\nconst useRBAC = (\n permissionsToCheck: Record<string, Permission[]> | Permission[] = [],\n passedPermissions?: Permission[]\n): {\n allowedActions: AllowedActions;\n isLoading: boolean;\n error?: unknown;\n permissions: Permission[];\n} => {\n const isLoadingAuth = useAuth('useRBAC', (state) => state.isLoading);\n const [isLoading, setIsLoading] = useState(true);\n const [error, setError] = useState<unknown>();\n const [data, setData] = useState<Record<string, boolean>>();\n\n const warnOnce = useMemo(() => once(console.warn), []);\n\n const actualPermissionsToCheck: Permission[] = useMemo(() => {\n if (Array.isArray(permissionsToCheck)) {\n return permissionsToCheck;\n } else {\n warnOnce(\n 'useRBAC: The first argument should be an array of permissions, not an object. This will be deprecated in the future.'\n );\n\n return Object.values(permissionsToCheck).flat();\n }\n }, [permissionsToCheck, warnOnce]);\n\n /**\n * This is the default value we return until the queryResults[i].data\n * are all resolved with data. This preserves the original behaviour.\n */\n const defaultAllowedActions = useMemo(() => {\n return actualPermissionsToCheck.reduce<Record<string, boolean>>((acc, permission) => {\n return {\n ...acc,\n [getActionName(permission)]: false,\n };\n }, {});\n }, [actualPermissionsToCheck]);\n\n const checkUserHasPermissions = useAuth('useRBAC', (state) => state.checkUserHasPermissions);\n\n const permssionsChecked = usePrev(actualPermissionsToCheck);\n useEffect(() => {\n if (!isEqual(permssionsChecked, actualPermissionsToCheck)) {\n setIsLoading(true);\n setData(undefined);\n setError(undefined);\n\n checkUserHasPermissions(actualPermissionsToCheck, passedPermissions)\n .then((res) => {\n if (res) {\n setData(\n res.reduce<Record<string, boolean>>((acc, permission) => {\n return {\n ...acc,\n [getActionName(permission)]: true,\n };\n }, {})\n );\n }\n })\n .catch((err) => {\n setError(err);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }\n }, [\n actualPermissionsToCheck,\n checkUserHasPermissions,\n passedPermissions,\n permissionsToCheck,\n permssionsChecked,\n ]);\n\n /**\n * This hook originally would not return allowedActions\n * until all the checks were complete.\n */\n const allowedActions = Object.entries({\n ...defaultAllowedActions,\n ...data,\n }).reduce((acc, [name, allowed]) => {\n acc[`can${capitalise(name)}`] = allowed;\n\n return acc;\n }, {} as AllowedActions);\n\n return {\n allowedActions,\n permissions: actualPermissionsToCheck,\n isLoading: isLoading || isLoadingAuth,\n error,\n };\n};\n\nconst getActionName = (permission: Permission): string => {\n const [action = ''] = permission.action.split('.').slice(-1);\n return action.split('-').map(capitalise).join('');\n};\n\nexport { useRBAC };\nexport type { AllowedActions };\n","import { createContext } from '../components/Context';\n\ninterface AppInfoContextValue {\n autoReload?: boolean;\n communityEdition?: boolean;\n currentEnvironment?: string;\n dependencies?: Record<string, string>;\n latestStrapiReleaseTag?: string;\n nodeVersion?: string;\n projectId?: string | null;\n shouldUpdateStrapi?: boolean;\n strapiVersion?: string | null;\n useYarn?: boolean;\n userId?: string;\n}\n\nconst [AppInfoProvider, useAppInfo] = createContext<AppInfoContextValue>('AppInfo', {});\n\nexport { AppInfoProvider, useAppInfo };\n\nexport type { AppInfoContextValue };\n","import * as React from 'react';\n\nimport axios, { AxiosResponse } from 'axios';\n\nimport { useInitQuery, useTelemetryPropertiesQuery } from '../services/admin';\n\nimport { useAppInfo } from './AppInfo';\nimport { useAuth } from './Auth';\n\nexport interface TelemetryProperties {\n useTypescriptOnServer?: boolean;\n useTypescriptOnAdmin?: boolean;\n isHostedOnStrapiCloud?: boolean;\n numberOfAllContentTypes?: number;\n numberOfComponents?: number;\n numberOfDynamicZones?: number;\n}\n\nexport interface TrackingContextValue {\n uuid?: string | boolean;\n telemetryProperties?: TelemetryProperties;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Context\n * -----------------------------------------------------------------------------------------------*/\n\nconst TrackingContext = React.createContext<TrackingContextValue>({\n uuid: false,\n});\n\n/* -------------------------------------------------------------------------------------------------\n * Provider\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface TrackingProviderProps {\n children: React.ReactNode;\n}\n\nconst TrackingProvider = ({ children }: TrackingProviderProps) => {\n const token = useAuth('App', (state) => state.token);\n const { data: initData } = useInitQuery();\n const { uuid } = initData ?? {};\n\n const { data } = useTelemetryPropertiesQuery(undefined, {\n skip: !initData?.uuid || !token,\n });\n\n React.useEffect(() => {\n if (uuid && data) {\n const event = 'didInitializeAdministration';\n try {\n fetch('https://analytics.strapi.io/api/v2/track', {\n method: 'POST',\n body: JSON.stringify({\n // This event is anonymous\n event,\n userId: '',\n eventPropeties: {},\n groupProperties: { ...data, projectId: uuid },\n }),\n headers: {\n 'Content-Type': 'application/json',\n 'X-Strapi-Event': event,\n },\n });\n } catch {\n // silence is golden\n }\n }\n }, [data, uuid]);\n\n const value = React.useMemo(\n () => ({\n uuid,\n telemetryProperties: data,\n }),\n [uuid, data]\n );\n\n return <TrackingContext.Provider value={value}>{children}</TrackingContext.Provider>;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Hook\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * We can group these events together because none have properties so there's no benefit\n * to having them as separate types.\n *\n * Meanwhile those with properties have different property shapes corresponding to the specific\n * event so understanding which properties go with which event is very helpful.\n */\ninterface EventWithoutProperties {\n name:\n | 'changeComponentsOrder'\n | 'didAccessAuthenticatedAdministration'\n | 'didAddComponentToDynamicZone'\n | 'didBulkDeleteEntries'\n | 'didChangeDisplayedFields'\n | 'didCheckDraftRelations'\n | 'didClickGuidedTourHomepageApiTokens'\n | 'didClickGuidedTourHomepageContentManager'\n | 'didClickGuidedTourHomepageContentTypeBuilder'\n | 'didClickGuidedTourStep1CollectionType'\n | 'didClickGuidedTourStep2ContentManager'\n | 'didClickGuidedTourStep3ApiTokens'\n | 'didClickonBlogSection'\n | 'didClickonCodeExampleSection'\n | 'didClickonReadTheDocumentationSection'\n | 'didClickOnTryStrapiCloudSection'\n | 'didClickonTutorialSection'\n | 'didCreateGuidedTourCollectionType'\n | 'didCreateGuidedTourEntry'\n | 'didCreateNewRole'\n | 'didCreateRole'\n | 'didDeleteToken'\n | 'didDuplicateRole'\n | 'didEditEditSettings'\n | 'didEditEmailTemplates'\n | 'didEditFieldNameOnContentType'\n | 'didEditListSettings'\n | 'didEditMediaLibraryConfig'\n | 'didEditNameOfContentType'\n | 'didGenerateGuidedTourApiTokens'\n | 'didGoToMarketplace'\n | 'didLaunchGuidedtour'\n | 'didMissMarketplacePlugin'\n | 'didNotCreateFirstAdmin'\n | 'didNotSaveComponent'\n | 'didPluginLearnMore'\n | 'didPublishEntry'\n | 'didUnpublishEntry'\n | 'didSaveComponent'\n | 'didSaveContentType'\n | 'didSearch'\n | 'didSkipGuidedtour'\n | 'didSubmitPlugin'\n | 'didSubmitProvider'\n | 'didUpdateConditions'\n | 'didSelectAllMediaLibraryElements'\n | 'didSelectContentTypeFieldSettings'\n | 'didSelectContentTypeSettings'\n | 'didEditAuthenticationProvider'\n | 'hasClickedCTBAddFieldBanner'\n | 'removeComponentFromDynamicZone'\n | 'willAddMoreFieldToContentType'\n | 'willBulkDeleteEntries'\n | 'willBulkUnpublishEntries'\n | 'willChangeNumberOfEntriesPerPage'\n | 'willCheckDraftRelations'\n | 'willCreateComponent'\n | 'willCreateComponentFromAttributesModal'\n | 'willCreateContentType'\n | 'willCreateFirstAdmin'\n | 'willCreateNewRole'\n | 'willCreateRole'\n | 'willCreateSingleType'\n | 'willCreateStage'\n | 'willCreateWorkflow'\n | 'willDeleteEntryFromList'\n | 'willDeleteFieldOfContentType'\n | 'willDuplicateRole'\n | 'willEditEditLayout'\n | 'willEditEmailTemplates'\n | 'willEditEntryFromButton'\n | 'willEditEntryFromList'\n | 'willEditFieldOfContentType'\n | 'willEditMediaLibraryConfig'\n | 'willEditNameOfContentType'\n | 'willEditNameOfSingleType'\n | 'willEditAuthenticationProvider'\n | 'willEditFieldNameOnContentType'\n | 'willEditStage'\n | 'willFilterEntries'\n | 'willInstallPlugin'\n | 'willPublishEntry'\n | 'willUnpublishEntry'\n | 'willSaveComponent'\n | 'willSaveContentType'\n | 'willSaveContentTypeLayout'\n | 'didEditFieldNameOnContentType'\n | 'didCreateRelease';\n properties?: never;\n}\n\ninterface DidFilterMediaLibraryElementsEvent {\n name: 'didFilterMediaLibraryElements';\n properties: MediaEvents['properties'] & {\n filter: string;\n };\n}\n\ninterface DidSortMediaLibraryElementsEvent {\n name: 'didSortMediaLibraryElements';\n properties: MediaEvents['properties'] & {\n sort: string;\n };\n}\n\ninterface DidCropFileEvent {\n name: 'didCropFile';\n properties: MediaEvents['properties'] & {\n duplicatedFile: null | boolean;\n };\n}\n\ninterface DidSelectFile {\n name: 'didSelectFile';\n properties: MediaEvents['properties'] & {\n source: 'url' | 'computer';\n };\n}\n\ninterface DidEditMediaLibraryElementsEvent {\n name: 'didEditMediaLibraryElements';\n properties: MediaEvents['properties'] & {\n type: string;\n changeLocation: string;\n };\n}\n\ninterface MediaEvents {\n name:\n | 'didSearchMediaLibraryElements'\n | 'didReplaceMedia'\n | 'didAddMediaLibraryFolders'\n | 'willAddMediaLibraryAssets';\n properties: {\n location: string;\n };\n}\n\ninterface DidSelectContentTypeFieldTypeEvent {\n name: 'didSelectContentTypeFieldType';\n properties: {\n type?: string;\n };\n}\n\ninterface DidChangeModeEvent {\n name: 'didChangeMode';\n properties: {\n newMode: string;\n };\n}\ninterface DidSubmitWithErrorsFirstAdminEvent {\n name: 'didSubmitWithErrorsFirstAdmin';\n properties: {\n count: string;\n };\n}\n\ninterface WillNavigateEvent {\n name: 'willNavigate';\n properties: {\n from: string;\n to: string;\n };\n}\n\ninterface DidAccessTokenListEvent {\n name: 'didAccessTokenList';\n properties: {\n tokenType: TokenEvents['properties']['tokenType'];\n number: number;\n };\n}\ninterface LogoEvent {\n name: 'didChangeLogo' | 'didClickResetLogo';\n properties: {\n logo: 'menu' | 'auth';\n };\n}\n\ninterface TokenEvents {\n name:\n | 'didCopyTokenKey'\n | 'didAddTokenFromList'\n | 'didEditTokenFromList'\n | 'willAccessTokenList'\n | 'willAddTokenFromList'\n | 'willCreateToken'\n | 'willDeleteToken'\n | 'willEditToken'\n | 'willEditTokenFromList';\n properties: {\n tokenType: 'api-token' | 'transfer-token';\n };\n}\n\ninterface WillModifyTokenEvent {\n name: 'didCreateToken' | 'didEditToken';\n properties: {\n tokenType: TokenEvents['properties']['tokenType'];\n type: 'custom' | 'full-access' | 'read-only' | Array<'push' | 'pull' | 'push-pull'>;\n };\n}\n\ninterface DeleteEntryEvents {\n name: 'willDeleteEntry' | 'didDeleteEntry' | 'didNotDeleteEntry';\n properties: {\n status?: string;\n error?: unknown;\n };\n}\n\ninterface CreateEntryEvents {\n name: 'willCreateEntry' | 'didCreateEntry' | 'didNotCreateEntry';\n properties: {\n status?: string;\n error?: unknown;\n };\n}\n\ninterface UpdateEntryEvents {\n name: 'willEditEntry' | 'didEditEntry' | 'didNotEditEntry';\n properties: {\n status?: string;\n error?: unknown;\n };\n}\n\ninterface DidFilterEntriesEvent {\n name: 'didFilterEntries';\n properties: {\n useRelation: boolean;\n };\n}\n\ninterface DidPublishRelease {\n name: 'didPublishRelease';\n properties: {\n totalEntries: number;\n totalPublishedEntries: number;\n totalUnpublishedEntries: number;\n };\n}\n\ntype EventsWithProperties =\n | CreateEntryEvents\n | DidAccessTokenListEvent\n | DidChangeModeEvent\n | DidCropFileEvent\n | DeleteEntryEvents\n | DidEditMediaLibraryElementsEvent\n | DidFilterMediaLibraryElementsEvent\n | DidFilterEntriesEvent\n | DidSelectContentTypeFieldTypeEvent\n | DidSelectFile\n | DidSortMediaLibraryElementsEvent\n | DidSubmitWithErrorsFirstAdminEvent\n | LogoEvent\n | TokenEvents\n | UpdateEntryEvents\n | WillModifyTokenEvent\n | WillNavigateEvent\n | DidPublishRelease;\n\nexport type TrackingEvent = EventWithoutProperties | EventsWithProperties;\nexport interface UseTrackingReturn {\n /**\n * This type helps show all the available event names before you start typing,\n * however autocomplete isn't great.\n */\n trackUsage<TEvent extends TrackingEvent>(\n event: TEvent['name'],\n properties: TEvent['properties']\n ): Promise<null | AxiosResponse<string>>;\n trackUsage<TEvent extends Extract<TrackingEvent, { properties?: never }>>(\n event: TEvent['name'],\n properties?: never\n ): Promise<null | AxiosResponse<string>>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n trackUsage<TEvent extends Extract<TrackingEvent, { properties: object }>>(\n event: TEvent['name'],\n properties: TEvent['properties']\n ): Promise<null | AxiosResponse<string>>;\n}\n\n/**\n * @description Used to send amplitude events to the Strapi Tracking hub.\n *\n * @example\n * ```tsx\n * import { useTracking } from '@strapi/strapi/admin';\n *\n * const MyComponent = () => {\n * const { trackUsage } = useTracking();\n *\n * const handleClick = () => {\n * trackUsage('my-event', { myProperty: 'myValue' });\n * }\n *\n * return <button onClick={handleClick}>Send Event</button>\n * }\n * ```\n */\nconst useTracking = (): UseTrackingReturn => {\n const { uuid, telemetryProperties } = React.useContext(TrackingContext);\n const userId = useAppInfo('useTracking', (state) => state.userId);\n const trackUsage = React.useCallback(\n async <TEvent extends TrackingEvent>(\n event: TEvent['name'],\n properties?: TEvent['properties']\n ) => {\n try {\n if (uuid && !window.strapi.telemetryDisabled) {\n const res = await axios.post<string>(\n 'https://analytics.strapi.io/api/v2/track',\n {\n event,\n userId,\n eventProperties: { ...properties },\n userProperties: {},\n groupProperties: {\n ...telemetryProperties,\n projectId: uuid,\n projectType: window.strapi.projectType,\n },\n },\n {\n headers: {\n 'Content-Type': 'application/json',\n 'X-Strapi-Event': event,\n },\n }\n );\n\n return res;\n }\n } catch (err) {\n // Silence is golden\n }\n\n return null;\n },\n [telemetryProperties, userId, uuid]\n );\n\n return { trackUsage };\n};\n\nexport { TrackingProvider, useTracking };\n","import * as React from 'react';\n\nimport { createContext } from '@radix-ui/react-context';\nimport { useIntl } from 'react-intl';\n\nimport { UpdateProjectSettings } from '../../../shared/contracts/admin';\nimport { Page } from '../components/PageHelpers';\nimport { useTypedSelector } from '../core/store/hooks';\nimport { useAPIErrorHandler } from '../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../hooks/useRBAC';\nimport {\n ConfigurationLogo,\n useInitQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n} from '../services/admin';\n\nimport { useAuth } from './Auth';\nimport { useNotification } from './Notifications';\nimport { useTracking } from './Tracking';\n\nimport type { StrapiApp } from '../StrapiApp';\n\n/* -------------------------------------------------------------------------------------------------\n * Configuration Context\n * -----------------------------------------------------------------------------------------------*/\n\ninterface UpdateProjectSettingsBody {\n authLogo:\n | ((UpdateProjectSettings.Request['body']['authLogo'] | ConfigurationLogo['custom']) & {\n rawFile?: File;\n })\n | null;\n menuLogo:\n | ((UpdateProjectSettings.Request['body']['menuLogo'] | ConfigurationLogo['custom']) & {\n rawFile?: File;\n })\n | null;\n}\n\ninterface ConfigurationContextValue {\n logos: {\n auth: ConfigurationLogo;\n menu: ConfigurationLogo;\n };\n showTutorials: boolean;\n showReleaseNotification: boolean;\n updateProjectSettings: (body: UpdateProjectSettingsBody) => Promise<void>;\n}\n\nconst [ConfigurationContextProvider, useConfiguration] =\n createContext<ConfigurationContextValue>('ConfigurationContext');\n\n/* -------------------------------------------------------------------------------------------------\n * ConfigurationProvider\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ConfigurationProviderProps {\n children: React.ReactNode;\n defaultAuthLogo: StrapiApp['configurations']['authLogo'];\n defaultMenuLogo: StrapiApp['configurations']['menuLogo'];\n showReleaseNotification?: boolean;\n showTutorials?: boolean;\n}\n\nconst ConfigurationProvider = ({\n children,\n defaultAuthLogo,\n defaultMenuLogo,\n showReleaseNotification = false,\n showTutorials = false,\n}: ConfigurationProviderProps) => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['project-settings']\n );\n const token = useAuth('ConfigurationProvider', (state) => state.token);\n const {\n allowedActions: { canRead },\n } = useRBAC(permissions);\n\n const {\n data: { authLogo: customAuthLogo, menuLogo: customMenuLogo } = {},\n error,\n isLoading,\n } = useInitQuery();\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'app.containers.App.notification.error.init' }),\n });\n }\n }, [error, formatMessage, toggleNotification]);\n\n const { data, isSuccess } = useProjectSettingsQuery(undefined, {\n skip: !token || !canRead,\n });\n\n const [updateProjectSettingsMutation] = useUpdateProjectSettingsMutation();\n\n const updateProjectSettings = React.useCallback(\n async (body: UpdateProjectSettingsBody) => {\n const formData = new FormData();\n\n /**\n * We either only send files or we send null values.\n * Null removes the logo. If you don't want to effect\n * an existing logo, don't send anything.\n */\n Object.entries(body).forEach(([key, value]) => {\n if (value?.rawFile) {\n formData.append(key, value.rawFile);\n } else if (value === null) {\n formData.append(key, JSON.stringify(value));\n }\n });\n\n const res = await updateProjectSettingsMutation(formData);\n\n if ('data' in res) {\n const updatedMenuLogo = !!res.data.menuLogo && !!body.menuLogo?.rawFile;\n const updatedAuthLogo = !!res.data.authLogo && !!body.authLogo?.rawFile;\n\n if (updatedMenuLogo) {\n trackUsage('didChangeLogo', {\n logo: 'menu',\n });\n }\n\n if (updatedAuthLogo) {\n trackUsage('didChangeLogo', {\n logo: 'auth',\n });\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'app', defaultMessage: 'Saved' }),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n },\n [formatAPIError, formatMessage, toggleNotification, trackUsage, updateProjectSettingsMutation]\n );\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <ConfigurationContextProvider\n showReleaseNotification={showReleaseNotification}\n showTutorials={showTutorials}\n logos={{\n menu: {\n custom: isSuccess\n ? data?.menuLogo\n : {\n url: customMenuLogo ?? '',\n },\n default: defaultMenuLogo,\n },\n auth: {\n custom: isSuccess\n ? data?.authLogo\n : {\n url: customAuthLogo ?? '',\n },\n default: defaultAuthLogo,\n },\n }}\n updateProjectSettings={updateProjectSettings}\n >\n {children}\n </ConfigurationContextProvider>\n );\n};\n\nexport {\n ConfigurationContextProvider as _internalConfigurationContextProvider,\n ConfigurationProvider,\n useConfiguration,\n};\nexport type {\n ConfigurationProviderProps,\n ConfigurationContextValue,\n ConfigurationLogo,\n UpdateProjectSettingsBody,\n};\n","import * as React from 'react';\n\nimport defaultsDeep from 'lodash/defaultsDeep';\nimport { IntlProvider } from 'react-intl';\n\nimport { useTypedSelector } from '../core/store/hooks';\n\n/* -------------------------------------------------------------------------------------------------\n * LanguageProvider\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LanguageProviderProps {\n children: React.ReactNode;\n messages: Record<string, Record<string, string>>;\n}\n\nconst LanguageProvider = ({ children, messages }: LanguageProviderProps) => {\n const locale = useTypedSelector((state) => state.admin_app.language.locale);\n const appMessages = defaultsDeep(messages[locale], messages.en);\n\n return (\n <IntlProvider locale={locale} defaultLocale=\"en\" messages={appMessages} textComponent=\"span\">\n {children}\n </IntlProvider>\n );\n};\n\nexport { LanguageProvider };\nexport type { LanguageProviderProps };\n","import * as React from 'react';\n\nimport { DesignSystemProvider } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useDispatch } from 'react-redux';\nimport { DefaultTheme, createGlobalStyle } from 'styled-components';\n\nimport { useTypedSelector } from '../core/store/hooks';\nimport { setAvailableThemes } from '../reducer';\n\ninterface ThemeProps {\n children: React.ReactNode;\n themes: {\n dark: DefaultTheme;\n light: DefaultTheme;\n };\n}\n\nconst Theme = ({ children, themes }: ThemeProps) => {\n const { currentTheme } = useTypedSelector((state) => state.admin_app.theme);\n const [systemTheme, setSystemTheme] = React.useState<'light' | 'dark'>();\n const { locale } = useIntl();\n const dispatch = useDispatch();\n\n // Listen to changes in the system theme\n React.useEffect(() => {\n const themeWatcher = window.matchMedia('(prefers-color-scheme: dark)');\n setSystemTheme(themeWatcher.matches ? 'dark' : 'light');\n\n const listener = (event: MediaQueryListEvent) => {\n setSystemTheme(event.matches ? 'dark' : 'light');\n };\n themeWatcher.addEventListener('change', listener);\n\n // Remove listener on cleanup\n return () => {\n themeWatcher.removeEventListener('change', listener);\n };\n }, []);\n\n React.useEffect(() => {\n dispatch(setAvailableThemes(Object.keys(themes)));\n }, [dispatch, themes]);\n\n const computedThemeName = currentTheme === 'system' ? systemTheme : currentTheme;\n\n return (\n <DesignSystemProvider\n locale={locale}\n /**\n * TODO: could we make this neater i.e. by setting up the context to throw\n * if it can't find it, that way the type is always fully defined and we're\n * not checking it all the time...\n */\n theme={themes?.[computedThemeName || 'light']}\n >\n {children}\n <GlobalStyle />\n </DesignSystemProvider>\n );\n};\n\nconst GlobalStyle = createGlobalStyle`\n body {\n background: ${({ theme }) => theme.colors.neutral100};\n }\n`;\n\nexport { Theme };\nexport type { ThemeProps };\n","import { Location } from 'react-router-dom';\n\nimport type { Permission, User } from '../../features/Auth';\n\ninterface RBACContext extends Pick<Location, 'pathname' | 'search'> {\n /**\n * The current user.\n */\n user?: User;\n /**\n * The permissions of the current user.\n */\n permissions: Permission[];\n}\n\ninterface RBACMiddleware {\n (\n ctx: RBACContext\n ): (\n next: (permissions: Permission[]) => Promise<Permission[]> | Permission[]\n ) => (permissions: Permission[]) => Promise<Permission[]> | Permission[];\n}\n\nclass RBAC {\n private middlewares: RBACMiddleware[] = [];\n\n constructor() {}\n\n use(middleware: RBACMiddleware[]): void;\n use(middleware: RBACMiddleware): void;\n use(middleware: RBACMiddleware | RBACMiddleware[]): void {\n if (Array.isArray(middleware)) {\n this.middlewares.push(...middleware);\n } else {\n this.middlewares.push(middleware);\n }\n }\n\n run = async (ctx: RBACContext, permissions: Permission[]): Promise<Permission[]> => {\n let index = 0;\n\n const middlewaresToRun = this.middlewares.map((middleware) => middleware(ctx));\n\n const next = async (permissions: Permission[]) => {\n if (index < this.middlewares.length) {\n return middlewaresToRun[index++](next)(permissions);\n }\n\n return permissions;\n };\n\n return next(permissions);\n };\n}\n\nexport { RBAC };\nexport type { RBACMiddleware, RBACContext };\n"],"names":["token","Error","createContext","permissions"],"mappings":"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"}
|