@strapi/admin 5.10.2 → 5.10.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/chunks/{AdminSeatInfo-Cw1ujAsZ.mjs → AdminSeatInfo-CQ4w8a3g.mjs} +3 -3
- package/dist/admin/chunks/{AdminSeatInfo-Cw1ujAsZ.mjs.map → AdminSeatInfo-CQ4w8a3g.mjs.map} +1 -1
- package/dist/admin/chunks/{AdminSeatInfo-BfPqdNN0.js → AdminSeatInfo-DZ4hBesy.js} +3 -3
- package/dist/admin/chunks/{AdminSeatInfo-BfPqdNN0.js.map → AdminSeatInfo-DZ4hBesy.js.map} +1 -1
- package/dist/admin/chunks/{ApplicationInfoPage-DIiAE-tT.js → ApplicationInfoPage-CsBvES_c.js} +5 -5
- package/dist/admin/chunks/{ApplicationInfoPage-DIiAE-tT.js.map → ApplicationInfoPage-CsBvES_c.js.map} +1 -1
- package/dist/admin/chunks/{ApplicationInfoPage-Ch6hKH4Y.mjs → ApplicationInfoPage-DiEcqVEU.mjs} +5 -5
- package/dist/admin/chunks/{ApplicationInfoPage-Ch6hKH4Y.mjs.map → ApplicationInfoPage-DiEcqVEU.mjs.map} +1 -1
- package/dist/admin/chunks/{AuthResponse-DI-Q1kQL.js → AuthResponse-Ch0hurir.js} +2 -2
- package/dist/admin/chunks/{AuthResponse-DI-Q1kQL.js.map → AuthResponse-Ch0hurir.js.map} +1 -1
- package/dist/admin/chunks/{AuthResponse-DFS6gVO4.mjs → AuthResponse-Cu7HgPEK.mjs} +2 -2
- package/dist/admin/chunks/{AuthResponse-DFS6gVO4.mjs.map → AuthResponse-Cu7HgPEK.mjs.map} +1 -1
- package/dist/admin/chunks/{AuthenticatedLayout-BNWCtSH2.mjs → AuthenticatedLayout-C9eZ12Ue.mjs} +10 -291
- package/dist/admin/chunks/AuthenticatedLayout-C9eZ12Ue.mjs.map +1 -0
- package/dist/admin/chunks/{AuthenticatedLayout-D067wUoO.js → AuthenticatedLayout-D_VSoB1l.js} +5 -286
- package/dist/admin/chunks/AuthenticatedLayout-D_VSoB1l.js.map +1 -0
- package/dist/admin/chunks/{CreatePage-DojcQqvH.mjs → CreatePage-Cb-ETkOn.mjs} +5 -5
- package/dist/admin/chunks/{CreatePage-DojcQqvH.mjs.map → CreatePage-Cb-ETkOn.mjs.map} +1 -1
- package/dist/admin/chunks/{CreatePage-0PdN9Fyc.mjs → CreatePage-DQDa78K3.mjs} +4 -4
- package/dist/admin/chunks/{CreatePage-0PdN9Fyc.mjs.map → CreatePage-DQDa78K3.mjs.map} +1 -1
- package/dist/admin/chunks/{CreatePage-BK_ivKDk.js → CreatePage-DbmpFjHt.js} +4 -4
- package/dist/admin/chunks/{CreatePage-BK_ivKDk.js.map → CreatePage-DbmpFjHt.js.map} +1 -1
- package/dist/admin/chunks/{CreatePage-C8PMNi_P.js → CreatePage-DkzHz0zk.js} +5 -5
- package/dist/admin/chunks/{CreatePage-C8PMNi_P.js.map → CreatePage-DkzHz0zk.js.map} +1 -1
- package/dist/admin/chunks/{CreateView-DtccbWiR.js → CreateView-CE4-drK6.js} +5 -5
- package/dist/admin/chunks/{CreateView-DtccbWiR.js.map → CreateView-CE4-drK6.js.map} +1 -1
- package/dist/admin/chunks/{CreateView-BuN2a7bo.mjs → CreateView-CmubtWzn.mjs} +5 -5
- package/dist/admin/chunks/{CreateView-BuN2a7bo.mjs.map → CreateView-CmubtWzn.mjs.map} +1 -1
- package/dist/admin/chunks/{CreateView-DB0xD4f5.mjs → CreateView-DZaIevIB.mjs} +5 -5
- package/dist/admin/chunks/{CreateView-DB0xD4f5.mjs.map → CreateView-DZaIevIB.mjs.map} +1 -1
- package/dist/admin/chunks/{CreateView-ITRNGoQ6.js → CreateView-yjsS9KUJ.js} +5 -5
- package/dist/admin/chunks/{CreateView-ITRNGoQ6.js.map → CreateView-yjsS9KUJ.js.map} +1 -1
- package/dist/admin/chunks/{EditPage-BazkPM17.mjs → EditPage-Bjr4f1Bs.mjs} +5 -5
- package/dist/admin/chunks/{EditPage-BazkPM17.mjs.map → EditPage-Bjr4f1Bs.mjs.map} +1 -1
- package/dist/admin/chunks/{EditPage-ibh8EtSv.js → EditPage-BrMhV8aB.js} +8 -8
- package/dist/admin/chunks/{EditPage-ibh8EtSv.js.map → EditPage-BrMhV8aB.js.map} +1 -1
- package/dist/admin/chunks/{EditPage-BNZ90ISm.mjs → EditPage-C44OaxjN.mjs} +5 -5
- package/dist/admin/chunks/{EditPage-BNZ90ISm.mjs.map → EditPage-C44OaxjN.mjs.map} +1 -1
- package/dist/admin/chunks/{EditPage-r043NYgB.js → EditPage-CNaAuT5C.js} +5 -5
- package/dist/admin/chunks/{EditPage-r043NYgB.js.map → EditPage-CNaAuT5C.js.map} +1 -1
- package/dist/admin/chunks/{EditPage-DiDSR0tz.js → EditPage-CycQlsFL.js} +5 -5
- package/dist/admin/chunks/{EditPage-DiDSR0tz.js.map → EditPage-CycQlsFL.js.map} +1 -1
- package/dist/admin/chunks/{EditPage-LRn1-C88.mjs → EditPage-MmQQ4hWc.mjs} +8 -8
- package/dist/admin/chunks/{EditPage-LRn1-C88.mjs.map → EditPage-MmQQ4hWc.mjs.map} +1 -1
- package/dist/admin/chunks/{EditView-DxmJI6e0.js → EditView-C9cKaoY1.js} +4 -4
- package/dist/admin/chunks/{EditView-DxmJI6e0.js.map → EditView-C9cKaoY1.js.map} +1 -1
- package/dist/admin/chunks/{EditView-CgMgqsza.mjs → EditView-CFIkvFrt.mjs} +4 -4
- package/dist/admin/chunks/{EditView-CgMgqsza.mjs.map → EditView-CFIkvFrt.mjs.map} +1 -1
- package/dist/admin/chunks/{EditViewPage-BE_u8pQP.mjs → EditViewPage-CwdhHAuX.mjs} +4 -4
- package/dist/admin/chunks/{EditViewPage-BE_u8pQP.mjs.map → EditViewPage-CwdhHAuX.mjs.map} +1 -1
- package/dist/admin/chunks/{EditViewPage-Bz4GEIsc.js → EditViewPage-DBga-70A.js} +4 -4
- package/dist/admin/chunks/{EditViewPage-Bz4GEIsc.js.map → EditViewPage-DBga-70A.js.map} +1 -1
- package/dist/admin/chunks/{EventsTable-CsFf4rOj.mjs → EventsTable-CeqMb1jP.mjs} +5 -5
- package/dist/admin/chunks/{EventsTable-CsFf4rOj.mjs.map → EventsTable-CeqMb1jP.mjs.map} +1 -1
- package/dist/admin/chunks/{EventsTable-CZY0aI5G.js → EventsTable-fkWvAMuL.js} +5 -5
- package/dist/admin/chunks/{EventsTable-CZY0aI5G.js.map → EventsTable-fkWvAMuL.js.map} +1 -1
- package/dist/admin/chunks/{HomePage-ebJLhO6a.js → HomePage-B2skN1xt.js} +5 -5
- package/dist/admin/chunks/{HomePage-ebJLhO6a.js.map → HomePage-B2skN1xt.js.map} +1 -1
- package/dist/admin/chunks/{HomePage-Df0YSqNE.js → HomePage-CVc0RfvD.js} +4 -4
- package/dist/admin/chunks/{HomePage-Df0YSqNE.js.map → HomePage-CVc0RfvD.js.map} +1 -1
- package/dist/admin/chunks/{HomePage-CFTx_SgI.mjs → HomePage-DGTeFboL.mjs} +4 -4
- package/dist/admin/chunks/{HomePage-CFTx_SgI.mjs.map → HomePage-DGTeFboL.mjs.map} +1 -1
- package/dist/admin/chunks/{HomePage-C2Sue0eX.mjs → HomePage-MfOqcIag.mjs} +5 -5
- package/dist/admin/chunks/{HomePage-C2Sue0eX.mjs.map → HomePage-MfOqcIag.mjs.map} +1 -1
- package/dist/admin/chunks/{InstalledPlugins-B4gyKUHh.mjs → InstalledPlugins-5j7xjDqh.mjs} +3 -3
- package/dist/admin/chunks/{InstalledPlugins-B4gyKUHh.mjs.map → InstalledPlugins-5j7xjDqh.mjs.map} +1 -1
- package/dist/admin/chunks/{InstalledPlugins-BtwwVsQ_.js → InstalledPlugins-BXM3i3xr.js} +3 -3
- package/dist/admin/chunks/{InstalledPlugins-BtwwVsQ_.js.map → InstalledPlugins-BXM3i3xr.js.map} +1 -1
- package/dist/admin/chunks/{Layout-BZTqa7oj.js → Layout-DST1PxaO.js} +5 -5
- package/dist/admin/chunks/{Layout-BZTqa7oj.js.map → Layout-DST1PxaO.js.map} +1 -1
- package/dist/admin/chunks/{Layout-B_xkPr1q.mjs → Layout-DYjtK6iP.mjs} +5 -5
- package/dist/admin/chunks/{Layout-B_xkPr1q.mjs.map → Layout-DYjtK6iP.mjs.map} +1 -1
- package/dist/admin/chunks/{ListPage-BtMdu1eQ.mjs → ListPage-B5Hb8BA-.mjs} +7 -7
- package/dist/admin/chunks/{ListPage-BtMdu1eQ.mjs.map → ListPage-B5Hb8BA-.mjs.map} +1 -1
- package/dist/admin/chunks/{ListPage-Beh8uBDE.mjs → ListPage-BVI0O8bq.mjs} +3 -3
- package/dist/admin/chunks/{ListPage-Beh8uBDE.mjs.map → ListPage-BVI0O8bq.mjs.map} +1 -1
- package/dist/admin/chunks/{ListPage-YW-UVjk3.js → ListPage-BgyypnOM.js} +7 -7
- package/dist/admin/chunks/{ListPage-YW-UVjk3.js.map → ListPage-BgyypnOM.js.map} +1 -1
- package/dist/admin/chunks/{ListPage-CENQarKY.mjs → ListPage-BhGt3EBQ.mjs} +3 -3
- package/dist/admin/chunks/{ListPage-CENQarKY.mjs.map → ListPage-BhGt3EBQ.mjs.map} +1 -1
- package/dist/admin/chunks/{ListPage-gKsEm3Px.js → ListPage-CLXy5r60.js} +5 -5
- package/dist/admin/chunks/{ListPage-gKsEm3Px.js.map → ListPage-CLXy5r60.js.map} +1 -1
- package/dist/admin/chunks/{ListPage-Du6Jt5wY.js → ListPage-CWINpwfS.js} +7 -7
- package/dist/admin/chunks/{ListPage-Du6Jt5wY.js.map → ListPage-CWINpwfS.js.map} +1 -1
- package/dist/admin/chunks/{ListPage-DgmOJv7H.js → ListPage-D21yUih2.js} +3 -3
- package/dist/admin/chunks/{ListPage-DgmOJv7H.js.map → ListPage-D21yUih2.js.map} +1 -1
- package/dist/admin/chunks/{ListPage-LqcmQd_Q.js → ListPage-DbfL2rpi.js} +3 -3
- package/dist/admin/chunks/{ListPage-LqcmQd_Q.js.map → ListPage-DbfL2rpi.js.map} +1 -1
- package/dist/admin/chunks/{ListPage-r9rW__R8.mjs → ListPage-PwzVjSsA.mjs} +7 -7
- package/dist/admin/chunks/{ListPage-r9rW__R8.mjs.map → ListPage-PwzVjSsA.mjs.map} +1 -1
- package/dist/admin/chunks/{ListPage-Czwak48Z.mjs → ListPage-srJutHdv.mjs} +5 -5
- package/dist/admin/chunks/{ListPage-Czwak48Z.mjs.map → ListPage-srJutHdv.mjs.map} +1 -1
- package/dist/admin/chunks/{ListView-Q2AO0JSX.mjs → ListView--KzJiQiO.mjs} +4 -4
- package/dist/admin/chunks/{ListView-Q2AO0JSX.mjs.map → ListView--KzJiQiO.mjs.map} +1 -1
- package/dist/admin/chunks/{ListView-CajksON_.mjs → ListView-CoGoDDiF.mjs} +4 -4
- package/dist/admin/chunks/{ListView-CajksON_.mjs.map → ListView-CoGoDDiF.mjs.map} +1 -1
- package/dist/admin/chunks/{ListView-Bys8EN-y.js → ListView-DGfxO89i.js} +4 -4
- package/dist/admin/chunks/{ListView-Bys8EN-y.js.map → ListView-DGfxO89i.js.map} +1 -1
- package/dist/admin/chunks/{ListView-BfwBUxHL.js → ListView-DzwvQ8nW.js} +4 -4
- package/dist/admin/chunks/{ListView-BfwBUxHL.js.map → ListView-DzwvQ8nW.js.map} +1 -1
- package/dist/admin/chunks/{Login-5ByBaKI3.mjs → Login-Dtkhd0GV.mjs} +3 -3
- package/dist/admin/chunks/{Login-5ByBaKI3.mjs.map → Login-Dtkhd0GV.mjs.map} +1 -1
- package/dist/admin/chunks/{Login-BpEOnVbU.js → Login-Iw84AH9L.js} +3 -3
- package/dist/admin/chunks/{Login-BpEOnVbU.js.map → Login-Iw84AH9L.js.map} +1 -1
- package/dist/admin/chunks/{MagicLinkEE-a-AbOB4s.js → MagicLinkEE-C5K8p8Rk.js} +5 -5
- package/dist/admin/chunks/{MagicLinkEE-a-AbOB4s.js.map → MagicLinkEE-C5K8p8Rk.js.map} +1 -1
- package/dist/admin/chunks/{MagicLinkEE-CiQG7NL3.mjs → MagicLinkEE-EcyHC46Y.mjs} +5 -5
- package/dist/admin/chunks/{MagicLinkEE-CiQG7NL3.mjs.map → MagicLinkEE-EcyHC46Y.mjs.map} +1 -1
- package/dist/admin/chunks/{MarketplacePage-my1nDaHy.js → MarketplacePage-BmqfuAvB.js} +3 -3
- package/dist/admin/chunks/{MarketplacePage-my1nDaHy.js.map → MarketplacePage-BmqfuAvB.js.map} +1 -1
- package/dist/admin/chunks/{MarketplacePage-BrHNQ8SG.mjs → MarketplacePage-CcAYozK2.mjs} +3 -3
- package/dist/admin/chunks/{MarketplacePage-BrHNQ8SG.mjs.map → MarketplacePage-CcAYozK2.mjs.map} +1 -1
- package/dist/admin/chunks/{Permissions-C7FA_7J9.js → Permissions-D6qH78lN.js} +2 -2
- package/dist/admin/chunks/{Permissions-C7FA_7J9.js.map → Permissions-D6qH78lN.js.map} +1 -1
- package/dist/admin/chunks/{Permissions-CuLck8vw.mjs → Permissions-rJmE3qb1.mjs} +2 -2
- package/dist/admin/chunks/{Permissions-CuLck8vw.mjs.map → Permissions-rJmE3qb1.mjs.map} +1 -1
- package/dist/admin/chunks/{PrivateRoute-BnxIlIDb.js → PrivateRoute-DvGSyomB.js} +2 -2
- package/dist/admin/chunks/{PrivateRoute-BnxIlIDb.js.map → PrivateRoute-DvGSyomB.js.map} +1 -1
- package/dist/admin/chunks/{PrivateRoute-BYKd2yE4.mjs → PrivateRoute-KL_RhoV8.mjs} +2 -2
- package/dist/admin/chunks/{PrivateRoute-BYKd2yE4.mjs.map → PrivateRoute-KL_RhoV8.mjs.map} +1 -1
- package/dist/admin/chunks/{ProfilePage-Do6nPMsx.mjs → ProfilePage-CN8SAQ9w.mjs} +4 -4
- package/dist/admin/chunks/{ProfilePage-Do6nPMsx.mjs.map → ProfilePage-CN8SAQ9w.mjs.map} +1 -1
- package/dist/admin/chunks/{ProfilePage-C8zWtYzY.js → ProfilePage-DiGV7o6c.js} +4 -4
- package/dist/admin/chunks/{ProfilePage-C8zWtYzY.js.map → ProfilePage-DiGV7o6c.js.map} +1 -1
- package/dist/admin/chunks/{PurchaseAuditLogs-McvZESGI.mjs → PurchaseAuditLogs-BI41XTBD.mjs} +3 -3
- package/dist/admin/chunks/{PurchaseAuditLogs-McvZESGI.mjs.map → PurchaseAuditLogs-BI41XTBD.mjs.map} +1 -1
- package/dist/admin/chunks/{PurchaseAuditLogs-BTAi887h.js → PurchaseAuditLogs-DnWVbru3.js} +3 -3
- package/dist/admin/chunks/{PurchaseAuditLogs-BTAi887h.js.map → PurchaseAuditLogs-DnWVbru3.js.map} +1 -1
- package/dist/admin/chunks/{PurchaseContentHistory-pb7RDvhZ.mjs → PurchaseContentHistory-BzC2C4Pv.mjs} +3 -3
- package/dist/admin/chunks/{PurchaseContentHistory-pb7RDvhZ.mjs.map → PurchaseContentHistory-BzC2C4Pv.mjs.map} +1 -1
- package/dist/admin/chunks/{PurchaseContentHistory-dfepsahq.js → PurchaseContentHistory-DUk7otrp.js} +3 -3
- package/dist/admin/chunks/{PurchaseContentHistory-dfepsahq.js.map → PurchaseContentHistory-DUk7otrp.js.map} +1 -1
- package/dist/admin/chunks/{PurchaseSingleSignOn-Dgal5RnY.js → PurchaseSingleSignOn-Bq0YHAHt.js} +3 -3
- package/dist/admin/chunks/{PurchaseSingleSignOn-Dgal5RnY.js.map → PurchaseSingleSignOn-Bq0YHAHt.js.map} +1 -1
- package/dist/admin/chunks/{PurchaseSingleSignOn-BUB9Irlt.mjs → PurchaseSingleSignOn-G1TKPP15.mjs} +3 -3
- package/dist/admin/chunks/{PurchaseSingleSignOn-BUB9Irlt.mjs.map → PurchaseSingleSignOn-G1TKPP15.mjs.map} +1 -1
- package/dist/admin/chunks/{SelectRoles-Clx1_4zB.js → SelectRoles-CKInlnSd.js} +4 -4
- package/dist/admin/chunks/{SelectRoles-Clx1_4zB.js.map → SelectRoles-CKInlnSd.js.map} +1 -1
- package/dist/admin/chunks/{SelectRoles-CG3Czm0u.mjs → SelectRoles-DR4KBZkw.mjs} +4 -4
- package/dist/admin/chunks/{SelectRoles-CG3Czm0u.mjs.map → SelectRoles-DR4KBZkw.mjs.map} +1 -1
- package/dist/admin/chunks/{SingleSignOnPage-Bqn13t3u.mjs → SingleSignOnPage-CRzrEUGp.mjs} +4 -4
- package/dist/admin/chunks/{SingleSignOnPage-Bqn13t3u.mjs.map → SingleSignOnPage-CRzrEUGp.mjs.map} +1 -1
- package/dist/admin/chunks/{SingleSignOnPage-DqHWnXWQ.js → SingleSignOnPage-DtRVlrGP.js} +4 -4
- package/dist/admin/chunks/{SingleSignOnPage-DqHWnXWQ.js.map → SingleSignOnPage-DtRVlrGP.js.map} +1 -1
- package/dist/admin/chunks/{Table-Ra6bYcx7.mjs → Table-BohVeu0r.mjs} +3 -3
- package/dist/admin/chunks/{Table-Ra6bYcx7.mjs.map → Table-BohVeu0r.mjs.map} +1 -1
- package/dist/admin/chunks/{Table-BHi0q5It.js → Table-CBZnqMuN.js} +3 -3
- package/dist/admin/chunks/{Table-BHi0q5It.js.map → Table-CBZnqMuN.js.map} +1 -1
- package/dist/admin/chunks/{Theme-CDaBfQ-7.mjs → Theme-C3oHrQcy.mjs} +6 -4
- package/dist/admin/chunks/Theme-C3oHrQcy.mjs.map +1 -0
- package/dist/admin/chunks/{Theme-CFGbtvHi.js → Theme-DDlJz91O.js} +6 -3
- package/dist/admin/chunks/Theme-DDlJz91O.js.map +1 -0
- package/dist/admin/chunks/{TokenTypeSelect-EY1WftKo.js → TokenTypeSelect-BV_ZNiY_.js} +3 -3
- package/dist/admin/chunks/{TokenTypeSelect-EY1WftKo.js.map → TokenTypeSelect-BV_ZNiY_.js.map} +1 -1
- package/dist/admin/chunks/{TokenTypeSelect-BIRgChNx.mjs → TokenTypeSelect-CpEAVZ_b.mjs} +3 -3
- package/dist/admin/chunks/{TokenTypeSelect-BIRgChNx.mjs.map → TokenTypeSelect-CpEAVZ_b.mjs.map} +1 -1
- package/dist/admin/chunks/{UseCasePage-Y_h0Fbiv.mjs → UseCasePage-Bro5fyP3.mjs} +4 -4
- package/dist/admin/chunks/{UseCasePage-Y_h0Fbiv.mjs.map → UseCasePage-Bro5fyP3.mjs.map} +1 -1
- package/dist/admin/chunks/{UseCasePage-Dl-WfgYc.js → UseCasePage-CipG2GC4.js} +4 -4
- package/dist/admin/chunks/{UseCasePage-Dl-WfgYc.js.map → UseCasePage-CipG2GC4.js.map} +1 -1
- package/dist/admin/chunks/{constants-DoArvzRr.mjs → constants-BddeukI7.mjs} +3 -3
- package/dist/admin/chunks/{constants-DoArvzRr.mjs.map → constants-BddeukI7.mjs.map} +1 -1
- package/dist/admin/chunks/{constants-DClZ3JYF.js → constants-CaerHoe3.js} +3 -3
- package/dist/admin/chunks/{constants-DClZ3JYF.js.map → constants-CaerHoe3.js.map} +1 -1
- package/dist/admin/chunks/en-GB-3SrHvAFz.mjs +6 -0
- package/dist/admin/chunks/en-GB-3SrHvAFz.mjs.map +1 -0
- package/dist/admin/chunks/en-GB-Cc-PTeUP.js +8 -0
- package/dist/admin/chunks/en-GB-Cc-PTeUP.js.map +1 -0
- package/dist/admin/chunks/{en-CRu3-kTC.mjs → en-n340Bke8.mjs} +2 -1
- package/dist/admin/chunks/{en-CRu3-kTC.mjs.map → en-n340Bke8.mjs.map} +1 -1
- package/dist/admin/chunks/{en-CJjqxA2Q.js → en-rWmm12oE.js} +2 -1
- package/dist/admin/chunks/{en-CJjqxA2Q.js.map → en-rWmm12oE.js.map} +1 -1
- package/dist/admin/chunks/{index-BUGouNML.mjs → index-BM8-DG5K.mjs} +56 -36
- package/dist/admin/chunks/index-BM8-DG5K.mjs.map +1 -0
- package/dist/admin/chunks/{index-D7OmC33R.js → index-HGaughzt.js} +56 -36
- package/dist/admin/chunks/index-HGaughzt.js.map +1 -0
- package/dist/admin/chunks/{selectors-2ohXQx5g.js → selectors-Bf-6Fmez.js} +2 -2
- package/dist/admin/chunks/{selectors-2ohXQx5g.js.map → selectors-Bf-6Fmez.js.map} +1 -1
- package/dist/admin/chunks/{selectors-PQdhPmzv.mjs → selectors-Dej_6h4x.mjs} +2 -2
- package/dist/admin/chunks/{selectors-PQdhPmzv.mjs.map → selectors-Dej_6h4x.mjs.map} +1 -1
- package/dist/admin/chunks/{useAdminRoles-BEmkB0uj.mjs → useAdminRoles-C6Es4UUq.mjs} +2 -2
- package/dist/admin/chunks/{useAdminRoles-BEmkB0uj.mjs.map → useAdminRoles-C6Es4UUq.mjs.map} +1 -1
- package/dist/admin/chunks/{useAdminRoles-DwDqOIvp.js → useAdminRoles-_4HKisJz.js} +2 -2
- package/dist/admin/chunks/{useAdminRoles-DwDqOIvp.js.map → useAdminRoles-_4HKisJz.js.map} +1 -1
- package/dist/admin/chunks/{useLicenseLimitNotification-CGkazzao.mjs → useLicenseLimitNotification-DbPhRccK.mjs} +2 -2
- package/dist/admin/chunks/{useLicenseLimitNotification-CGkazzao.mjs.map → useLicenseLimitNotification-DbPhRccK.mjs.map} +1 -1
- package/dist/admin/chunks/{useLicenseLimitNotification-BMCQ8obE.js → useLicenseLimitNotification-iuozPic9.js} +2 -2
- package/dist/admin/chunks/{useLicenseLimitNotification-BMCQ8obE.js.map → useLicenseLimitNotification-iuozPic9.js.map} +1 -1
- package/dist/admin/chunks/{validation-DOQs6_Ay.mjs → validation-Dmvl0gZQ.mjs} +8 -2
- package/dist/admin/chunks/validation-Dmvl0gZQ.mjs.map +1 -0
- package/dist/admin/chunks/{validation-ECrFbJ6K.js → validation-dPl3P7dv.js} +8 -2
- package/dist/admin/chunks/validation-dPl3P7dv.js.map +1 -0
- package/dist/admin/index.js +2 -2
- package/dist/admin/index.mjs +2 -2
- package/dist/admin/src/features/Configuration.d.ts +1 -3
- package/dist/admin/src/utils/strings.d.ts +2 -1
- package/dist/admin/test.js +1 -2
- package/dist/admin/test.js.map +1 -1
- package/dist/admin/test.mjs +1 -2
- package/dist/admin/test.mjs.map +1 -1
- package/dist/server/index.js +23 -9
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +23 -9
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/routes/authentication.d.ts.map +1 -1
- package/dist/server/src/services/homepage.d.ts.map +1 -1
- package/dist/server/src/validation/common-validators.d.ts.map +1 -1
- package/package.json +7 -7
- package/dist/admin/chunks/AuthenticatedLayout-BNWCtSH2.mjs.map +0 -1
- package/dist/admin/chunks/AuthenticatedLayout-D067wUoO.js.map +0 -1
- package/dist/admin/chunks/Theme-CDaBfQ-7.mjs.map +0 -1
- package/dist/admin/chunks/Theme-CFGbtvHi.js.map +0 -1
- package/dist/admin/chunks/en-GB-CMP_CCZs.js +0 -8
- package/dist/admin/chunks/en-GB-CMP_CCZs.js.map +0 -1
- package/dist/admin/chunks/en-GB-DZyWkup_.mjs +0 -6
- package/dist/admin/chunks/en-GB-DZyWkup_.mjs.map +0 -1
- package/dist/admin/chunks/index-BUGouNML.mjs.map +0 -1
- package/dist/admin/chunks/index-D7OmC33R.js.map +0 -1
- package/dist/admin/chunks/validation-DOQs6_Ay.mjs.map +0 -1
- package/dist/admin/chunks/validation-ECrFbJ6K.js.map +0 -1
- package/dist/admin/src/components/Onboarding.d.ts +0 -2
|
@@ -3,8 +3,8 @@ import { Grid, Typography, Flex, Tooltip, Link } from '@strapi/design-system';
|
|
|
3
3
|
import { WarningCircle, ExternalLink } from '@strapi/icons';
|
|
4
4
|
import { useIntl } from 'react-intl';
|
|
5
5
|
import { useSelector } from 'react-redux';
|
|
6
|
-
import { k as useRBAC } from './Theme-
|
|
7
|
-
import { s as selectAdminPermissions } from './selectors-
|
|
6
|
+
import { k as useRBAC } from './Theme-C3oHrQcy.mjs';
|
|
7
|
+
import { s as selectAdminPermissions } from './selectors-Dej_6h4x.mjs';
|
|
8
8
|
import { u as useLicenseLimits } from './useLicenseLimits-D4XBewxi.mjs';
|
|
9
9
|
import 'react';
|
|
10
10
|
import '@radix-ui/react-context';
|
|
@@ -111,4 +111,4 @@ const AdminSeatInfoEE = ()=>{
|
|
|
111
111
|
};
|
|
112
112
|
|
|
113
113
|
export { AdminSeatInfoEE };
|
|
114
|
-
//# sourceMappingURL=AdminSeatInfo-
|
|
114
|
+
//# sourceMappingURL=AdminSeatInfo-CQ4w8a3g.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminSeatInfo-
|
|
1
|
+
{"version":3,"file":"AdminSeatInfo-CQ4w8a3g.mjs","sources":["../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.tsx"],"sourcesContent":["import { Flex, Tooltip, Typography, Link, Grid } from '@strapi/design-system';\nimport { ExternalLink, WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { useRBAC } from '../../../../../../../../admin/src/hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../../../../../admin/src/selectors';\nimport { useLicenseLimits } from '../../../../../hooks/useLicenseLimits';\n\nconst BILLING_STRAPI_CLOUD_URL = 'https://cloud.strapi.io/profile/billing';\nconst BILLING_SELF_HOSTED_URL = 'https://strapi.io/billing/request-seats';\n\nexport const AdminSeatInfoEE = () => {\n const { formatMessage } = useIntl();\n const { settings } = useSelector(selectAdminPermissions);\n const {\n isLoading: isRBACLoading,\n allowedActions: { canRead, canCreate, canUpdate, canDelete },\n } = useRBAC(settings?.users ?? {});\n const {\n license,\n isError,\n isLoading: isLicenseLoading,\n } = useLicenseLimits({\n // TODO: this creates a waterfall which we should avoid to render earlier, but for that\n // we will have to move away from data-fetching hooks to query functions.\n // Short-term we could at least implement a loader, for the user to have visual feedback\n // in case the requests take a while\n enabled: !isRBACLoading && canRead && canCreate && canUpdate && canDelete,\n });\n\n const isLoading = isRBACLoading || isLicenseLoading;\n\n if (isError || isLoading || !license) {\n return null;\n }\n\n const { licenseLimitStatus, enforcementUserCount, permittedSeats, isHostedOnStrapiCloud } =\n license;\n\n if (!permittedSeats) {\n return null;\n }\n\n return (\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"stretch\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.application.admin-seats',\n defaultMessage: 'Admin seats',\n })}\n </Typography>\n <Flex gap={2}>\n <Flex>\n <Typography tag=\"p\">\n {formatMessage(\n {\n id: 'Settings.application.ee.admin-seats.count',\n defaultMessage: '<text>{enforcementUserCount}</text>/{permittedSeats}',\n },\n {\n permittedSeats,\n enforcementUserCount,\n text: (chunks) =>\n (\n <Typography\n fontWeight=\"semiBold\"\n textColor={enforcementUserCount > permittedSeats ? 'danger500' : undefined}\n >\n {chunks}\n </Typography>\n ) as any,\n }\n )}\n </Typography>\n </Flex>\n {licenseLimitStatus === 'OVER_LIMIT' && (\n <Tooltip\n label={formatMessage({\n id: 'Settings.application.ee.admin-seats.at-limit-tooltip',\n defaultMessage: 'At limit: add seats to invite more users',\n })}\n >\n <WarningCircle width=\"1.4rem\" height=\"1.4rem\" fill=\"danger500\" />\n </Tooltip>\n )}\n </Flex>\n <Link\n href={isHostedOnStrapiCloud ? BILLING_STRAPI_CLOUD_URL : BILLING_SELF_HOSTED_URL}\n isExternal\n endIcon={<ExternalLink />}\n >\n {formatMessage(\n {\n id: 'Settings.application.ee.admin-seats.add-seats',\n defaultMessage:\n '{isHostedOnStrapiCloud, select, true {Add seats} other {Contact sales}}',\n },\n { isHostedOnStrapiCloud }\n )}\n </Link>\n </Grid.Item>\n );\n};\n"],"names":["BILLING_STRAPI_CLOUD_URL","BILLING_SELF_HOSTED_URL","AdminSeatInfoEE","formatMessage","useIntl","settings","useSelector","selectAdminPermissions","isLoading","isRBACLoading","allowedActions","canRead","canCreate","canUpdate","canDelete","useRBAC","users","license","isError","isLicenseLoading","useLicenseLimits","enabled","licenseLimitStatus","enforcementUserCount","permittedSeats","isHostedOnStrapiCloud","_jsxs","Grid","Item","col","s","direction","alignItems","_jsx","Typography","variant","textColor","id","defaultMessage","Flex","gap","tag","text","chunks","fontWeight","undefined","Tooltip","label","WarningCircle","width","height","fill","Link","href","isExternal","endIcon","ExternalLink"],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ var designSystem = require('@strapi/design-system');
|
|
|
5
5
|
var icons = require('@strapi/icons');
|
|
6
6
|
var reactIntl = require('react-intl');
|
|
7
7
|
var reactRedux = require('react-redux');
|
|
8
|
-
var Theme = require('./Theme-
|
|
9
|
-
var selectors = require('./selectors-
|
|
8
|
+
var Theme = require('./Theme-DDlJz91O.js');
|
|
9
|
+
var selectors = require('./selectors-Bf-6Fmez.js');
|
|
10
10
|
var useLicenseLimits = require('./useLicenseLimits-JOHH8jfL.js');
|
|
11
11
|
require('react');
|
|
12
12
|
require('@radix-ui/react-context');
|
|
@@ -113,4 +113,4 @@ const AdminSeatInfoEE = ()=>{
|
|
|
113
113
|
};
|
|
114
114
|
|
|
115
115
|
exports.AdminSeatInfoEE = AdminSeatInfoEE;
|
|
116
|
-
//# sourceMappingURL=AdminSeatInfo-
|
|
116
|
+
//# sourceMappingURL=AdminSeatInfo-DZ4hBesy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminSeatInfo-
|
|
1
|
+
{"version":3,"file":"AdminSeatInfo-DZ4hBesy.js","sources":["../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.tsx"],"sourcesContent":["import { Flex, Tooltip, Typography, Link, Grid } from '@strapi/design-system';\nimport { ExternalLink, WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { useRBAC } from '../../../../../../../../admin/src/hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../../../../../admin/src/selectors';\nimport { useLicenseLimits } from '../../../../../hooks/useLicenseLimits';\n\nconst BILLING_STRAPI_CLOUD_URL = 'https://cloud.strapi.io/profile/billing';\nconst BILLING_SELF_HOSTED_URL = 'https://strapi.io/billing/request-seats';\n\nexport const AdminSeatInfoEE = () => {\n const { formatMessage } = useIntl();\n const { settings } = useSelector(selectAdminPermissions);\n const {\n isLoading: isRBACLoading,\n allowedActions: { canRead, canCreate, canUpdate, canDelete },\n } = useRBAC(settings?.users ?? {});\n const {\n license,\n isError,\n isLoading: isLicenseLoading,\n } = useLicenseLimits({\n // TODO: this creates a waterfall which we should avoid to render earlier, but for that\n // we will have to move away from data-fetching hooks to query functions.\n // Short-term we could at least implement a loader, for the user to have visual feedback\n // in case the requests take a while\n enabled: !isRBACLoading && canRead && canCreate && canUpdate && canDelete,\n });\n\n const isLoading = isRBACLoading || isLicenseLoading;\n\n if (isError || isLoading || !license) {\n return null;\n }\n\n const { licenseLimitStatus, enforcementUserCount, permittedSeats, isHostedOnStrapiCloud } =\n license;\n\n if (!permittedSeats) {\n return null;\n }\n\n return (\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"stretch\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.application.admin-seats',\n defaultMessage: 'Admin seats',\n })}\n </Typography>\n <Flex gap={2}>\n <Flex>\n <Typography tag=\"p\">\n {formatMessage(\n {\n id: 'Settings.application.ee.admin-seats.count',\n defaultMessage: '<text>{enforcementUserCount}</text>/{permittedSeats}',\n },\n {\n permittedSeats,\n enforcementUserCount,\n text: (chunks) =>\n (\n <Typography\n fontWeight=\"semiBold\"\n textColor={enforcementUserCount > permittedSeats ? 'danger500' : undefined}\n >\n {chunks}\n </Typography>\n ) as any,\n }\n )}\n </Typography>\n </Flex>\n {licenseLimitStatus === 'OVER_LIMIT' && (\n <Tooltip\n label={formatMessage({\n id: 'Settings.application.ee.admin-seats.at-limit-tooltip',\n defaultMessage: 'At limit: add seats to invite more users',\n })}\n >\n <WarningCircle width=\"1.4rem\" height=\"1.4rem\" fill=\"danger500\" />\n </Tooltip>\n )}\n </Flex>\n <Link\n href={isHostedOnStrapiCloud ? BILLING_STRAPI_CLOUD_URL : BILLING_SELF_HOSTED_URL}\n isExternal\n endIcon={<ExternalLink />}\n >\n {formatMessage(\n {\n id: 'Settings.application.ee.admin-seats.add-seats',\n defaultMessage:\n '{isHostedOnStrapiCloud, select, true {Add seats} other {Contact sales}}',\n },\n { isHostedOnStrapiCloud }\n )}\n </Link>\n </Grid.Item>\n );\n};\n"],"names":["BILLING_STRAPI_CLOUD_URL","BILLING_SELF_HOSTED_URL","AdminSeatInfoEE","formatMessage","useIntl","settings","useSelector","selectAdminPermissions","isLoading","isRBACLoading","allowedActions","canRead","canCreate","canUpdate","canDelete","useRBAC","users","license","isError","isLicenseLoading","useLicenseLimits","enabled","licenseLimitStatus","enforcementUserCount","permittedSeats","isHostedOnStrapiCloud","_jsxs","Grid","Item","col","s","direction","alignItems","_jsx","Typography","variant","textColor","id","defaultMessage","Flex","gap","tag","text","chunks","fontWeight","undefined","Tooltip","label","WarningCircle","width","height","fill","Link","href","isExternal","endIcon","ExternalLink"],"mappings":"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"}
|
package/dist/admin/chunks/{ApplicationInfoPage-DIiAE-tT.js → ApplicationInfoPage-CsBvES_c.js}
RENAMED
|
@@ -6,10 +6,10 @@ var designSystem = require('@strapi/design-system');
|
|
|
6
6
|
var icons = require('@strapi/icons');
|
|
7
7
|
var reactIntl = require('react-intl');
|
|
8
8
|
var reactRedux = require('react-redux');
|
|
9
|
-
var index = require('./index-
|
|
10
|
-
var Theme = require('./Theme-
|
|
9
|
+
var index = require('./index-HGaughzt.js');
|
|
10
|
+
var Theme = require('./Theme-DDlJz91O.js');
|
|
11
11
|
var useEnterprise = require('./useEnterprise-IHd3AKd2.js');
|
|
12
|
-
var selectors = require('./selectors-
|
|
12
|
+
var selectors = require('./selectors-Bf-6Fmez.js');
|
|
13
13
|
var reactContext = require('@radix-ui/react-context');
|
|
14
14
|
var axios = require('axios');
|
|
15
15
|
var styledComponents = require('styled-components');
|
|
@@ -653,7 +653,7 @@ const AdminSeatInfoCE = ()=>null;
|
|
|
653
653
|
const nodeVersion = Theme.useAppInfo('ApplicationInfoPage', (state)=>state.nodeVersion);
|
|
654
654
|
const shouldUpdateStrapi = Theme.useAppInfo('ApplicationInfoPage', (state)=>state.shouldUpdateStrapi);
|
|
655
655
|
const strapiVersion = Theme.useAppInfo('ApplicationInfoPage', (state)=>state.strapiVersion);
|
|
656
|
-
const AdminSeatInfo = useEnterprise.useEnterprise(AdminSeatInfoCE, async ()=>(await Promise.resolve().then(function () { return require('./AdminSeatInfo-
|
|
656
|
+
const AdminSeatInfo = useEnterprise.useEnterprise(AdminSeatInfoCE, async ()=>(await Promise.resolve().then(function () { return require('./AdminSeatInfo-DZ4hBesy.js'); })).AdminSeatInfoEE);
|
|
657
657
|
const { allowedActions: { canRead, canUpdate } } = Theme.useRBAC(settings ? settings['project-settings'] : {});
|
|
658
658
|
const handleSubmit = (e)=>{
|
|
659
659
|
e.preventDefault();
|
|
@@ -950,4 +950,4 @@ const AdminSeatInfoCE = ()=>null;
|
|
|
950
950
|
};
|
|
951
951
|
|
|
952
952
|
exports.ApplicationInfoPage = ApplicationInfoPage;
|
|
953
|
-
//# sourceMappingURL=ApplicationInfoPage-
|
|
953
|
+
//# sourceMappingURL=ApplicationInfoPage-CsBvES_c.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationInfoPage-DIiAE-tT.js","sources":["../../../admin/src/pages/Settings/pages/ApplicationInfo/utils/constants.ts","../../../admin/src/pages/Settings/pages/ApplicationInfo/utils/files.ts","../../../admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.tsx","../../../admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.tsx"],"sourcesContent":["export const DIMENSION = 750;\nexport const SIZE = 100;\nexport const ACCEPTED_FORMAT = ['image/jpeg', 'image/png', 'image/svg+xml'];\n","import { ACCEPTED_FORMAT, DIMENSION, SIZE } from './constants';\n\nimport type { MessageDescriptor } from 'react-intl';\n\nconst FILE_FORMAT_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-format',\n defaultMessage: 'Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg).',\n};\n\nconst FILE_SIZING_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-size',\n defaultMessage:\n 'The file uploaded is too large (max dimension: {dimension}x{dimension}, max file size: {size}KB)',\n};\n\ninterface ImageDimensions {\n height: number;\n width: number;\n}\n\ninterface ImageAsset extends ImageDimensions {\n ext: string | undefined;\n size: number;\n name: string;\n url: string;\n rawFile: File;\n}\n\nconst parseFileMetadatas = async (file: File): Promise<ImageAsset> => {\n const isFormatAuthorized = ACCEPTED_FORMAT.includes(file.type);\n\n if (!isFormatAuthorized) {\n throw new ParsingFileError('File format', FILE_FORMAT_ERROR_MESSAGE);\n }\n\n const fileDimensions = await new Promise<ImageDimensions>((resolve) => {\n const reader = new FileReader();\n reader.onload = () => {\n const img = new Image();\n img.onload = () => {\n resolve({ width: img.width, height: img.height });\n };\n img.src = reader.result as string;\n };\n reader.readAsDataURL(file);\n });\n\n const areDimensionsAuthorized =\n fileDimensions.width <= DIMENSION && fileDimensions.height <= DIMENSION;\n\n if (!areDimensionsAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n const asset = {\n ext: file.name.split('.').pop(),\n size: file.size / 1000,\n name: file.name,\n url: URL.createObjectURL(file),\n rawFile: file,\n width: fileDimensions.width,\n height: fileDimensions.height,\n };\n\n const isSizeAuthorized = asset.size <= SIZE;\n\n if (!isSizeAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n return asset;\n};\n\nclass ParsingFileError extends Error {\n displayMessage: MessageDescriptor;\n\n constructor(message: string, displayMessage: MessageDescriptor, options?: ErrorOptions) {\n super(message, options);\n this.displayMessage = displayMessage;\n }\n}\n\nexport { parseFileMetadatas, ParsingFileError };\nexport type { ImageAsset };\n","import * as React from 'react';\n\nimport { createContext } from '@radix-ui/react-context';\nimport {\n Box,\n Button,\n ButtonProps,\n Card,\n CardAsset,\n CardBadge,\n CardBody,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n CarouselActions,\n CarouselInput,\n CarouselInputProps,\n CarouselSlide,\n Field,\n Flex,\n IconButton,\n Modal,\n Tabs,\n TextInput,\n TextInputProps,\n Typography,\n} from '@strapi/design-system';\nimport { PlusCircle, Plus, ArrowClockwise } from '@strapi/icons';\nimport axios, { AxiosError } from 'axios';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { ConfigurationContextValue } from '../../../../../features/Configuration';\nimport { ACCEPTED_FORMAT, DIMENSION, SIZE } from '../utils/constants';\nimport { ImageAsset, ParsingFileError, parseFileMetadatas } from '../utils/files';\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInputContext\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputContextValue {\n localImage: ImageAsset | undefined;\n goToStep: (step: Step) => void;\n onClose: () => void;\n setLocalImage: (asset: ImageAsset | undefined) => void;\n}\n\nconst [LogoInputContextProvider, useLogoInputContext] =\n createContext<LogoInputContextValue>('LogoInput');\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInput\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputProps\n extends Pick<PendingLogoDialogProps, 'onChangeLogo'>,\n Pick<CarouselInputProps, 'label' | 'hint'> {\n canUpdate: boolean;\n customLogo?: ConfigurationContextValue['logos']['auth']['custom'];\n defaultLogo: string;\n}\n\ntype Step = 'pending' | 'upload' | undefined;\n\nconst LogoInput = ({\n canUpdate,\n customLogo,\n defaultLogo,\n hint,\n label,\n onChangeLogo,\n}: LogoInputProps) => {\n const [localImage, setLocalImage] = React.useState<ImageAsset | undefined>();\n const [currentStep, setCurrentStep] = React.useState<Step>();\n const { formatMessage } = useIntl();\n\n const handleClose = () => {\n setLocalImage(undefined);\n setCurrentStep(undefined);\n };\n\n return (\n <Modal.Root\n open={!!currentStep}\n onOpenChange={(state) => {\n if (state === false) {\n handleClose();\n }\n }}\n >\n <LogoInputContextProvider\n setLocalImage={setLocalImage}\n localImage={localImage}\n goToStep={setCurrentStep}\n onClose={handleClose}\n >\n <CarouselInput\n label={label}\n selectedSlide={0}\n hint={hint}\n // Carousel is used here for a single media,\n // we don't need previous and next labels but these props are required\n previousLabel=\"\"\n nextLabel=\"\"\n onNext={() => {}}\n onPrevious={() => {}}\n secondaryLabel={customLogo?.name || 'logo.png'}\n actions={\n <CarouselActions>\n <Modal.Trigger>\n <IconButton\n disabled={!canUpdate}\n onClick={() => setCurrentStep('upload')}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.change-action',\n defaultMessage: 'Change logo',\n })}\n >\n <Plus />\n </IconButton>\n </Modal.Trigger>\n {customLogo?.url && (\n <IconButton\n disabled={!canUpdate}\n onClick={() => onChangeLogo(null)}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.reset-action',\n defaultMessage: 'Reset logo',\n })}\n >\n <ArrowClockwise />\n </IconButton>\n )}\n </CarouselActions>\n }\n >\n <CarouselSlide\n label={formatMessage({\n id: 'Settings.application.customization.carousel-slide.label',\n defaultMessage: 'Logo slide',\n })}\n >\n <Box\n maxHeight=\"40%\"\n maxWidth=\"40%\"\n tag=\"img\"\n src={customLogo?.url || defaultLogo}\n alt={formatMessage({\n id: 'Settings.application.customization.carousel.title',\n defaultMessage: 'Logo',\n })}\n />\n </CarouselSlide>\n </CarouselInput>\n <Modal.Content>\n <Modal.Header>\n <Modal.Title>\n {formatMessage(\n currentStep === 'upload'\n ? {\n id: 'Settings.application.customization.modal.upload',\n defaultMessage: 'Upload logo',\n }\n : {\n id: 'Settings.application.customization.modal.pending',\n defaultMessage: 'Pending logo',\n }\n )}\n </Modal.Title>\n </Modal.Header>\n {currentStep === 'upload' ? (\n <AddLogoDialog />\n ) : (\n <PendingLogoDialog onChangeLogo={onChangeLogo} />\n )}\n </Modal.Content>\n </LogoInputContextProvider>\n </Modal.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AddLogoDialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst AddLogoDialog = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Tabs.Root variant=\"simple\" defaultValue=\"computer\">\n <Box paddingLeft={8} paddingRight={8}>\n <Tabs.List\n aria-label={formatMessage({\n id: 'Settings.application.customization.modal.tab.label',\n defaultMessage: 'How do you want to upload your assets?',\n })}\n >\n <Tabs.Trigger value=\"computer\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-computer',\n defaultMessage: 'From computer',\n })}\n </Tabs.Trigger>\n <Tabs.Trigger value=\"url\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-url',\n defaultMessage: 'From url',\n })}\n </Tabs.Trigger>\n </Tabs.List>\n </Box>\n <Tabs.Content value=\"computer\">\n <ComputerForm />\n </Tabs.Content>\n <Tabs.Content value=\"url\">\n <URLForm />\n </Tabs.Content>\n </Tabs.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * URLForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst URLForm = () => {\n const { formatMessage } = useIntl();\n const [logoUrl, setLogoUrl] = React.useState('');\n const [error, setError] = React.useState<string>();\n const { setLocalImage, goToStep, onClose } = useLogoInputContext('URLForm');\n\n const handleChange: TextInputProps['onChange'] = (e) => {\n setLogoUrl(e.target.value);\n };\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = async (event) => {\n event.preventDefault();\n\n const data = new FormData(event.target as HTMLFormElement);\n\n const url = data.get('logo-url');\n\n if (!url) {\n return;\n }\n\n try {\n const res = await axios.get(url.toString(), { responseType: 'blob', timeout: 8000 });\n\n const file = new File([res.data], res.config.url ?? '', {\n type: res.headers['content-type'],\n });\n\n const asset = await parseFileMetadatas(file);\n\n setLocalImage(asset);\n goToStep('pending');\n } catch (err) {\n if (err instanceof AxiosError) {\n setError(\n formatMessage({\n id: 'Settings.application.customization.modal.upload.error-network',\n defaultMessage: 'Network error',\n })\n );\n } else if (err instanceof ParsingFileError) {\n setError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n } else {\n throw err;\n }\n }\n };\n\n return (\n <form onSubmit={handleSubmit}>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Field.Root error={error} name=\"logo-url\">\n <Field.Label>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-url.input-label',\n defaultMessage: 'URL',\n })}\n </Field.Label>\n <TextInput onChange={handleChange} value={logoUrl} />\n <Field.Error />\n </Field.Root>\n </Box>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Button type=\"submit\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.next',\n defaultMessage: 'Next',\n })}\n </Button>\n </Modal.Footer>\n </form>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ComputerForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst ComputerForm = () => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const [fileError, setFileError] = React.useState<string>();\n const inputRef = React.useRef<HTMLInputElement>(null!);\n const id = React.useId();\n\n const { setLocalImage, goToStep, onClose } = useLogoInputContext('ComputerForm');\n\n const handleDragEnter = () => {\n setDragOver(true);\n };\n const handleDragLeave = () => {\n setDragOver(false);\n };\n\n const handleClick: ButtonProps['onClick'] = (e) => {\n e.preventDefault();\n inputRef.current.click();\n };\n\n const handleChange = async () => {\n handleDragLeave();\n\n if (!inputRef.current.files) {\n return;\n }\n\n const [file] = inputRef.current.files;\n\n try {\n const asset = await parseFileMetadatas(file);\n setLocalImage(asset);\n goToStep('pending');\n } catch (err) {\n if (err instanceof ParsingFileError) {\n setFileError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n inputRef.current.focus();\n } else {\n throw err;\n }\n }\n };\n\n return (\n <>\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Field.Root name={id} error={fileError}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex\n paddingTop={9}\n paddingBottom={7}\n hasRadius\n justifyContent=\"center\"\n direction=\"column\"\n background={dragOver ? 'primary100' : 'neutral100'}\n borderColor={dragOver ? 'primary500' : fileError ? 'danger600' : 'neutral300'}\n borderStyle=\"dashed\"\n borderWidth=\"1px\"\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n >\n <PlusCircle fill=\"primary600\" width=\"6rem\" height=\"6rem\" aria-hidden />\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" tag=\"label\" htmlFor={id}>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.drag-drop',\n defaultMessage: 'Drag and Drop here or',\n })}\n </Typography>\n </Box>\n <Box position=\"relative\">\n <FileInput\n accept={ACCEPTED_FORMAT.join(', ')}\n type=\"file\"\n name=\"files\"\n tabIndex={-1}\n onChange={handleChange}\n ref={inputRef}\n id={id}\n />\n </Box>\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.cta.browse',\n defaultMessage: 'Browse files',\n })}\n </Button>\n <Box paddingTop={6}>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.modal.upload.file-validation',\n defaultMessage:\n 'Max dimension: {dimension}x{dimension}, Max size: {size}KB',\n },\n { size: SIZE, dimension: DIMENSION }\n )}\n </Typography>\n </Box>\n </Flex>\n <Field.Error />\n </Flex>\n </Field.Root>\n </Box>\n </form>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Footer>\n </>\n );\n};\n\nconst FileInput = styled(Field.Input)`\n opacity: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PendingLogoDialog\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PendingLogoDialogProps {\n onChangeLogo: (file: ImageAsset | null) => void;\n}\n\nconst PendingLogoDialog = ({ onChangeLogo }: PendingLogoDialogProps) => {\n const { formatMessage } = useIntl();\n const { localImage, setLocalImage, goToStep, onClose } = useLogoInputContext('PendingLogoDialog');\n\n const handleGoBack = () => {\n setLocalImage(undefined);\n goToStep('upload');\n };\n\n const handleUpload = () => {\n if (localImage) {\n onChangeLogo(localImage);\n }\n onClose();\n };\n\n return (\n <>\n <Modal.Body>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Flex justifyContent=\"space-between\" paddingBottom={6}>\n <Flex direction=\"column\" alignItems=\"flex-start\">\n <Typography variant=\"pi\" fontWeight=\"bold\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.title',\n defaultMessage: 'Logo ready to upload',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral500\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.subtitle',\n defaultMessage: 'Manage the chosen logo before uploading it',\n })}\n </Typography>\n </Flex>\n <Button onClick={handleGoBack} variant=\"secondary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.choose-another',\n defaultMessage: 'Choose another logo',\n })}\n </Button>\n </Flex>\n <Box maxWidth={`18rem`}>\n {localImage?.url ? <ImageCardAsset asset={localImage} /> : null}\n </Box>\n </Box>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n </Modal.Close>\n <Button onClick={handleUpload}>\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.upload',\n defaultMessage: 'Upload logo',\n })}\n </Button>\n </Modal.Footer>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ImageCardAsset\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ImageCardAssetProps {\n asset: ImageAsset;\n}\n\nconst ImageCardAsset = ({ asset }: ImageCardAssetProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Card>\n <CardHeader>\n <CardAsset size=\"S\" src={asset.url} />\n </CardHeader>\n <CardBody>\n <CardContent>\n <CardTitle>{asset.name}</CardTitle>\n <CardSubtitle>\n {`${asset.ext?.toUpperCase()} - ${asset.width}✕${asset.height}`}\n </CardSubtitle>\n </CardContent>\n <CardBadge>\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.card-badge',\n defaultMessage: 'image',\n })}\n </CardBadge>\n </CardBody>\n </Card>\n );\n};\n\nexport { LogoInput };\nexport type { LogoInputProps };\n","import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Link, Typography } from '@strapi/design-system';\nimport { Check, ExternalLink } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useAppInfo } from '../../../../features/AppInfo';\nimport { useConfiguration } from '../../../../features/Configuration';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\n\nimport { LogoInput, LogoInputProps } from './components/LogoInput';\nimport { DIMENSION, SIZE } from './utils/constants';\n\nconst AdminSeatInfoCE = () => null;\n\n/* -------------------------------------------------------------------------------------------------\n * ApplicationInfoPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ApplicationInfoPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { logos: serverLogos, updateProjectSettings } = useConfiguration('ApplicationInfoPage');\n const [logos, setLogos] = React.useState({ menu: serverLogos.menu, auth: serverLogos.auth });\n const { settings } = useSelector(selectAdminPermissions);\n\n const communityEdition = useAppInfo('ApplicationInfoPage', (state) => state.communityEdition);\n const latestStrapiReleaseTag = useAppInfo(\n 'ApplicationInfoPage',\n (state) => state.latestStrapiReleaseTag\n );\n const nodeVersion = useAppInfo('ApplicationInfoPage', (state) => state.nodeVersion);\n const shouldUpdateStrapi = useAppInfo('ApplicationInfoPage', (state) => state.shouldUpdateStrapi);\n const strapiVersion = useAppInfo('ApplicationInfoPage', (state) => state.strapiVersion);\n\n const AdminSeatInfo = useEnterprise(\n AdminSeatInfoCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo'\n )\n ).AdminSeatInfoEE\n );\n\n const {\n allowedActions: { canRead, canUpdate },\n } = useRBAC(settings ? settings['project-settings'] : {});\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = (e) => {\n e.preventDefault();\n\n updateProjectSettings({\n authLogo: logos.auth.custom ?? null,\n menuLogo: logos.menu.custom ?? null,\n });\n };\n\n const handleChangeLogo =\n (logo: 'menu' | 'auth'): LogoInputProps['onChangeLogo'] =>\n (newLogo) => {\n /**\n * If there's no newLogo value we can assume we're reseting.\n */\n if (newLogo === null) {\n trackUsage('didClickResetLogo', {\n logo,\n });\n }\n\n setLogos((prev) => ({\n ...prev,\n [logo]: {\n ...prev[logo],\n custom: newLogo,\n },\n }));\n };\n\n React.useEffect(() => {\n setLogos({\n menu: serverLogos.menu,\n auth: serverLogos.auth,\n });\n }, [serverLogos]);\n\n // block rendering until the EE component is fully loaded\n if (!AdminSeatInfo) {\n return null;\n }\n\n const isSaveDisabled =\n logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;\n\n return (\n <Layouts.Root>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'Settings.application.header',\n defaultMessage: 'Application',\n }),\n }\n )}\n </Page.Title>\n <Page.Main>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.application.title',\n defaultMessage: 'Overview',\n })}\n subtitle={formatMessage({\n id: 'Settings.application.description',\n defaultMessage: 'Administration panel’s global information',\n })}\n primaryAction={\n canUpdate && (\n <Button disabled={isSaveDisabled} type=\"submit\" startIcon={<Check />}>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n )\n }\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={4}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n\n <Grid.Root gap={5} tag=\"dl\">\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.strapiVersion',\n defaultMessage: 'strapi version',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>v{strapiVersion}</Typography>\n {shouldUpdateStrapi && (\n <Link\n href={`https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`}\n endIcon={<ExternalLink />}\n >\n {formatMessage({\n id: 'Settings.application.link-upgrade',\n defaultMessage: 'Upgrade your admin panel',\n })}\n </Link>\n )}\n </Flex>\n </Grid.Item>\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.edition-title',\n defaultMessage: 'current edition',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>\n {formatMessage(\n {\n id: 'Settings.application.ee-or-ce',\n defaultMessage:\n '{communityEdition, select, true {Community Edition} other {Enterprise Edition}}',\n },\n { communityEdition }\n )}\n </Typography>\n <Link href=\"https://strapi.io/pricing-self-hosted\" endIcon={<ExternalLink />}>\n {formatMessage({\n id: 'Settings.application.link-pricing',\n defaultMessage: 'See all pricing plans',\n })}\n </Link>\n </Flex>\n </Grid.Item>\n\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.node-version',\n defaultMessage: 'node version',\n })}\n </Typography>\n <Typography tag=\"dd\">{nodeVersion}</Typography>\n </Grid.Item>\n <AdminSeatInfo />\n </Grid.Root>\n </Flex>\n {canRead && (\n <Box\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'Settings.application.customization',\n defaultMessage: 'Customization',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.size-details',\n defaultMessage:\n 'Max dimension: {dimension}×{dimension}, Max file size: {size}KB',\n },\n { dimension: DIMENSION, size: SIZE }\n )}\n </Typography>\n <Grid.Root paddingTop={4} gap={4}>\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.menu.custom}\n defaultLogo={logos.menu.default}\n hint={formatMessage({\n id: 'Settings.application.customization.menu-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the main navigation',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.menu-logo.title',\n defaultMessage: 'Menu logo',\n })}\n onChangeLogo={handleChangeLogo('menu')}\n />\n </Grid.Item>\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.auth.custom}\n defaultLogo={logos.auth.default}\n hint={formatMessage({\n id: 'Settings.application.customization.auth-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the authentication pages',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.auth-logo.title',\n defaultMessage: 'Auth logo',\n })}\n onChangeLogo={handleChangeLogo('auth')}\n />\n </Grid.Item>\n </Grid.Root>\n </Box>\n )}\n </Flex>\n </Layouts.Content>\n </form>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nexport { ApplicationInfoPage };\n"],"names":["DIMENSION","SIZE","ACCEPTED_FORMAT","FILE_FORMAT_ERROR_MESSAGE","id","defaultMessage","FILE_SIZING_ERROR_MESSAGE","parseFileMetadatas","file","isFormatAuthorized","includes","type","ParsingFileError","fileDimensions","Promise","resolve","reader","FileReader","onload","img","Image","width","height","src","result","readAsDataURL","areDimensionsAuthorized","asset","ext","name","split","pop","size","url","URL","createObjectURL","rawFile","isSizeAuthorized","Error","constructor","message","displayMessage","options","LogoInputContextProvider","useLogoInputContext","createContext","LogoInput","canUpdate","customLogo","defaultLogo","hint","label","onChangeLogo","localImage","setLocalImage","React","useState","currentStep","setCurrentStep","formatMessage","useIntl","handleClose","undefined","_jsx","Modal","Root","open","onOpenChange","state","_jsxs","goToStep","onClose","CarouselInput","selectedSlide","previousLabel","nextLabel","onNext","onPrevious","secondaryLabel","actions","CarouselActions","Trigger","IconButton","disabled","onClick","Plus","ArrowClockwise","CarouselSlide","Box","maxHeight","maxWidth","tag","alt","Content","Header","Title","AddLogoDialog","PendingLogoDialog","Tabs","variant","defaultValue","paddingLeft","paddingRight","List","aria-label","value","ComputerForm","URLForm","logoUrl","setLogoUrl","error","setError","handleChange","e","target","handleSubmit","event","preventDefault","data","FormData","get","res","axios","toString","responseType","timeout","File","config","headers","err","AxiosError","dimension","form","onSubmit","paddingTop","paddingBottom","Field","Label","TextInput","onChange","Footer","Button","dragOver","setDragOver","fileError","setFileError","inputRef","useRef","useId","handleDragEnter","handleDragLeave","handleClick","current","click","files","focus","_Fragment","Flex","direction","alignItems","gap","hasRadius","justifyContent","background","borderColor","borderStyle","borderWidth","position","onDragEnter","onDragLeave","PlusCircle","fill","aria-hidden","Typography","htmlFor","FileInput","accept","join","tabIndex","ref","textColor","styled","Input","handleGoBack","handleUpload","Body","fontWeight","ImageCardAsset","Close","Card","CardHeader","CardAsset","CardBody","CardContent","CardTitle","CardSubtitle","toUpperCase","CardBadge","AdminSeatInfoCE","ApplicationInfoPage","trackUsage","useTracking","logos","serverLogos","updateProjectSettings","useConfiguration","setLogos","menu","auth","settings","useSelector","selectAdminPermissions","communityEdition","useAppInfo","latestStrapiReleaseTag","nodeVersion","shouldUpdateStrapi","strapiVersion","AdminSeatInfo","useEnterprise","AdminSeatInfoEE","allowedActions","canRead","useRBAC","authLogo","custom","menuLogo","handleChangeLogo","logo","newLogo","prev","useEffect","isSaveDisabled","Layouts","Page","Main","title","subtitle","primaryAction","startIcon","Check","shadow","Grid","Item","col","s","Link","href","endIcon","ExternalLink","default"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ApplicationInfoPage-CsBvES_c.js","sources":["../../../admin/src/pages/Settings/pages/ApplicationInfo/utils/constants.ts","../../../admin/src/pages/Settings/pages/ApplicationInfo/utils/files.ts","../../../admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.tsx","../../../admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.tsx"],"sourcesContent":["export const DIMENSION = 750;\nexport const SIZE = 100;\nexport const ACCEPTED_FORMAT = ['image/jpeg', 'image/png', 'image/svg+xml'];\n","import { ACCEPTED_FORMAT, DIMENSION, SIZE } from './constants';\n\nimport type { MessageDescriptor } from 'react-intl';\n\nconst FILE_FORMAT_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-format',\n defaultMessage: 'Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg).',\n};\n\nconst FILE_SIZING_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-size',\n defaultMessage:\n 'The file uploaded is too large (max dimension: {dimension}x{dimension}, max file size: {size}KB)',\n};\n\ninterface ImageDimensions {\n height: number;\n width: number;\n}\n\ninterface ImageAsset extends ImageDimensions {\n ext: string | undefined;\n size: number;\n name: string;\n url: string;\n rawFile: File;\n}\n\nconst parseFileMetadatas = async (file: File): Promise<ImageAsset> => {\n const isFormatAuthorized = ACCEPTED_FORMAT.includes(file.type);\n\n if (!isFormatAuthorized) {\n throw new ParsingFileError('File format', FILE_FORMAT_ERROR_MESSAGE);\n }\n\n const fileDimensions = await new Promise<ImageDimensions>((resolve) => {\n const reader = new FileReader();\n reader.onload = () => {\n const img = new Image();\n img.onload = () => {\n resolve({ width: img.width, height: img.height });\n };\n img.src = reader.result as string;\n };\n reader.readAsDataURL(file);\n });\n\n const areDimensionsAuthorized =\n fileDimensions.width <= DIMENSION && fileDimensions.height <= DIMENSION;\n\n if (!areDimensionsAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n const asset = {\n ext: file.name.split('.').pop(),\n size: file.size / 1000,\n name: file.name,\n url: URL.createObjectURL(file),\n rawFile: file,\n width: fileDimensions.width,\n height: fileDimensions.height,\n };\n\n const isSizeAuthorized = asset.size <= SIZE;\n\n if (!isSizeAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n return asset;\n};\n\nclass ParsingFileError extends Error {\n displayMessage: MessageDescriptor;\n\n constructor(message: string, displayMessage: MessageDescriptor, options?: ErrorOptions) {\n super(message, options);\n this.displayMessage = displayMessage;\n }\n}\n\nexport { parseFileMetadatas, ParsingFileError };\nexport type { ImageAsset };\n","import * as React from 'react';\n\nimport { createContext } from '@radix-ui/react-context';\nimport {\n Box,\n Button,\n ButtonProps,\n Card,\n CardAsset,\n CardBadge,\n CardBody,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n CarouselActions,\n CarouselInput,\n CarouselInputProps,\n CarouselSlide,\n Field,\n Flex,\n IconButton,\n Modal,\n Tabs,\n TextInput,\n TextInputProps,\n Typography,\n} from '@strapi/design-system';\nimport { PlusCircle, Plus, ArrowClockwise } from '@strapi/icons';\nimport axios, { AxiosError } from 'axios';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { ConfigurationContextValue } from '../../../../../features/Configuration';\nimport { ACCEPTED_FORMAT, DIMENSION, SIZE } from '../utils/constants';\nimport { ImageAsset, ParsingFileError, parseFileMetadatas } from '../utils/files';\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInputContext\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputContextValue {\n localImage: ImageAsset | undefined;\n goToStep: (step: Step) => void;\n onClose: () => void;\n setLocalImage: (asset: ImageAsset | undefined) => void;\n}\n\nconst [LogoInputContextProvider, useLogoInputContext] =\n createContext<LogoInputContextValue>('LogoInput');\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInput\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputProps\n extends Pick<PendingLogoDialogProps, 'onChangeLogo'>,\n Pick<CarouselInputProps, 'label' | 'hint'> {\n canUpdate: boolean;\n customLogo?: ConfigurationContextValue['logos']['auth']['custom'];\n defaultLogo: string;\n}\n\ntype Step = 'pending' | 'upload' | undefined;\n\nconst LogoInput = ({\n canUpdate,\n customLogo,\n defaultLogo,\n hint,\n label,\n onChangeLogo,\n}: LogoInputProps) => {\n const [localImage, setLocalImage] = React.useState<ImageAsset | undefined>();\n const [currentStep, setCurrentStep] = React.useState<Step>();\n const { formatMessage } = useIntl();\n\n const handleClose = () => {\n setLocalImage(undefined);\n setCurrentStep(undefined);\n };\n\n return (\n <Modal.Root\n open={!!currentStep}\n onOpenChange={(state) => {\n if (state === false) {\n handleClose();\n }\n }}\n >\n <LogoInputContextProvider\n setLocalImage={setLocalImage}\n localImage={localImage}\n goToStep={setCurrentStep}\n onClose={handleClose}\n >\n <CarouselInput\n label={label}\n selectedSlide={0}\n hint={hint}\n // Carousel is used here for a single media,\n // we don't need previous and next labels but these props are required\n previousLabel=\"\"\n nextLabel=\"\"\n onNext={() => {}}\n onPrevious={() => {}}\n secondaryLabel={customLogo?.name || 'logo.png'}\n actions={\n <CarouselActions>\n <Modal.Trigger>\n <IconButton\n disabled={!canUpdate}\n onClick={() => setCurrentStep('upload')}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.change-action',\n defaultMessage: 'Change logo',\n })}\n >\n <Plus />\n </IconButton>\n </Modal.Trigger>\n {customLogo?.url && (\n <IconButton\n disabled={!canUpdate}\n onClick={() => onChangeLogo(null)}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.reset-action',\n defaultMessage: 'Reset logo',\n })}\n >\n <ArrowClockwise />\n </IconButton>\n )}\n </CarouselActions>\n }\n >\n <CarouselSlide\n label={formatMessage({\n id: 'Settings.application.customization.carousel-slide.label',\n defaultMessage: 'Logo slide',\n })}\n >\n <Box\n maxHeight=\"40%\"\n maxWidth=\"40%\"\n tag=\"img\"\n src={customLogo?.url || defaultLogo}\n alt={formatMessage({\n id: 'Settings.application.customization.carousel.title',\n defaultMessage: 'Logo',\n })}\n />\n </CarouselSlide>\n </CarouselInput>\n <Modal.Content>\n <Modal.Header>\n <Modal.Title>\n {formatMessage(\n currentStep === 'upload'\n ? {\n id: 'Settings.application.customization.modal.upload',\n defaultMessage: 'Upload logo',\n }\n : {\n id: 'Settings.application.customization.modal.pending',\n defaultMessage: 'Pending logo',\n }\n )}\n </Modal.Title>\n </Modal.Header>\n {currentStep === 'upload' ? (\n <AddLogoDialog />\n ) : (\n <PendingLogoDialog onChangeLogo={onChangeLogo} />\n )}\n </Modal.Content>\n </LogoInputContextProvider>\n </Modal.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AddLogoDialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst AddLogoDialog = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Tabs.Root variant=\"simple\" defaultValue=\"computer\">\n <Box paddingLeft={8} paddingRight={8}>\n <Tabs.List\n aria-label={formatMessage({\n id: 'Settings.application.customization.modal.tab.label',\n defaultMessage: 'How do you want to upload your assets?',\n })}\n >\n <Tabs.Trigger value=\"computer\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-computer',\n defaultMessage: 'From computer',\n })}\n </Tabs.Trigger>\n <Tabs.Trigger value=\"url\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-url',\n defaultMessage: 'From url',\n })}\n </Tabs.Trigger>\n </Tabs.List>\n </Box>\n <Tabs.Content value=\"computer\">\n <ComputerForm />\n </Tabs.Content>\n <Tabs.Content value=\"url\">\n <URLForm />\n </Tabs.Content>\n </Tabs.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * URLForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst URLForm = () => {\n const { formatMessage } = useIntl();\n const [logoUrl, setLogoUrl] = React.useState('');\n const [error, setError] = React.useState<string>();\n const { setLocalImage, goToStep, onClose } = useLogoInputContext('URLForm');\n\n const handleChange: TextInputProps['onChange'] = (e) => {\n setLogoUrl(e.target.value);\n };\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = async (event) => {\n event.preventDefault();\n\n const data = new FormData(event.target as HTMLFormElement);\n\n const url = data.get('logo-url');\n\n if (!url) {\n return;\n }\n\n try {\n const res = await axios.get(url.toString(), { responseType: 'blob', timeout: 8000 });\n\n const file = new File([res.data], res.config.url ?? '', {\n type: res.headers['content-type'],\n });\n\n const asset = await parseFileMetadatas(file);\n\n setLocalImage(asset);\n goToStep('pending');\n } catch (err) {\n if (err instanceof AxiosError) {\n setError(\n formatMessage({\n id: 'Settings.application.customization.modal.upload.error-network',\n defaultMessage: 'Network error',\n })\n );\n } else if (err instanceof ParsingFileError) {\n setError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n } else {\n throw err;\n }\n }\n };\n\n return (\n <form onSubmit={handleSubmit}>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Field.Root error={error} name=\"logo-url\">\n <Field.Label>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-url.input-label',\n defaultMessage: 'URL',\n })}\n </Field.Label>\n <TextInput onChange={handleChange} value={logoUrl} />\n <Field.Error />\n </Field.Root>\n </Box>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Button type=\"submit\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.next',\n defaultMessage: 'Next',\n })}\n </Button>\n </Modal.Footer>\n </form>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ComputerForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst ComputerForm = () => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const [fileError, setFileError] = React.useState<string>();\n const inputRef = React.useRef<HTMLInputElement>(null!);\n const id = React.useId();\n\n const { setLocalImage, goToStep, onClose } = useLogoInputContext('ComputerForm');\n\n const handleDragEnter = () => {\n setDragOver(true);\n };\n const handleDragLeave = () => {\n setDragOver(false);\n };\n\n const handleClick: ButtonProps['onClick'] = (e) => {\n e.preventDefault();\n inputRef.current.click();\n };\n\n const handleChange = async () => {\n handleDragLeave();\n\n if (!inputRef.current.files) {\n return;\n }\n\n const [file] = inputRef.current.files;\n\n try {\n const asset = await parseFileMetadatas(file);\n setLocalImage(asset);\n goToStep('pending');\n } catch (err) {\n if (err instanceof ParsingFileError) {\n setFileError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n inputRef.current.focus();\n } else {\n throw err;\n }\n }\n };\n\n return (\n <>\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Field.Root name={id} error={fileError}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex\n paddingTop={9}\n paddingBottom={7}\n hasRadius\n justifyContent=\"center\"\n direction=\"column\"\n background={dragOver ? 'primary100' : 'neutral100'}\n borderColor={dragOver ? 'primary500' : fileError ? 'danger600' : 'neutral300'}\n borderStyle=\"dashed\"\n borderWidth=\"1px\"\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n >\n <PlusCircle fill=\"primary600\" width=\"6rem\" height=\"6rem\" aria-hidden />\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" tag=\"label\" htmlFor={id}>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.drag-drop',\n defaultMessage: 'Drag and Drop here or',\n })}\n </Typography>\n </Box>\n <Box position=\"relative\">\n <FileInput\n accept={ACCEPTED_FORMAT.join(', ')}\n type=\"file\"\n name=\"files\"\n tabIndex={-1}\n onChange={handleChange}\n ref={inputRef}\n id={id}\n />\n </Box>\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.cta.browse',\n defaultMessage: 'Browse files',\n })}\n </Button>\n <Box paddingTop={6}>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.modal.upload.file-validation',\n defaultMessage:\n 'Max dimension: {dimension}x{dimension}, Max size: {size}KB',\n },\n { size: SIZE, dimension: DIMENSION }\n )}\n </Typography>\n </Box>\n </Flex>\n <Field.Error />\n </Flex>\n </Field.Root>\n </Box>\n </form>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Footer>\n </>\n );\n};\n\nconst FileInput = styled(Field.Input)`\n opacity: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PendingLogoDialog\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PendingLogoDialogProps {\n onChangeLogo: (file: ImageAsset | null) => void;\n}\n\nconst PendingLogoDialog = ({ onChangeLogo }: PendingLogoDialogProps) => {\n const { formatMessage } = useIntl();\n const { localImage, setLocalImage, goToStep, onClose } = useLogoInputContext('PendingLogoDialog');\n\n const handleGoBack = () => {\n setLocalImage(undefined);\n goToStep('upload');\n };\n\n const handleUpload = () => {\n if (localImage) {\n onChangeLogo(localImage);\n }\n onClose();\n };\n\n return (\n <>\n <Modal.Body>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Flex justifyContent=\"space-between\" paddingBottom={6}>\n <Flex direction=\"column\" alignItems=\"flex-start\">\n <Typography variant=\"pi\" fontWeight=\"bold\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.title',\n defaultMessage: 'Logo ready to upload',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral500\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.subtitle',\n defaultMessage: 'Manage the chosen logo before uploading it',\n })}\n </Typography>\n </Flex>\n <Button onClick={handleGoBack} variant=\"secondary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.choose-another',\n defaultMessage: 'Choose another logo',\n })}\n </Button>\n </Flex>\n <Box maxWidth={`18rem`}>\n {localImage?.url ? <ImageCardAsset asset={localImage} /> : null}\n </Box>\n </Box>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n </Modal.Close>\n <Button onClick={handleUpload}>\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.upload',\n defaultMessage: 'Upload logo',\n })}\n </Button>\n </Modal.Footer>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ImageCardAsset\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ImageCardAssetProps {\n asset: ImageAsset;\n}\n\nconst ImageCardAsset = ({ asset }: ImageCardAssetProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Card>\n <CardHeader>\n <CardAsset size=\"S\" src={asset.url} />\n </CardHeader>\n <CardBody>\n <CardContent>\n <CardTitle>{asset.name}</CardTitle>\n <CardSubtitle>\n {`${asset.ext?.toUpperCase()} - ${asset.width}✕${asset.height}`}\n </CardSubtitle>\n </CardContent>\n <CardBadge>\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.card-badge',\n defaultMessage: 'image',\n })}\n </CardBadge>\n </CardBody>\n </Card>\n );\n};\n\nexport { LogoInput };\nexport type { LogoInputProps };\n","import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Link, Typography } from '@strapi/design-system';\nimport { Check, ExternalLink } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useAppInfo } from '../../../../features/AppInfo';\nimport { useConfiguration } from '../../../../features/Configuration';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\n\nimport { LogoInput, LogoInputProps } from './components/LogoInput';\nimport { DIMENSION, SIZE } from './utils/constants';\n\nconst AdminSeatInfoCE = () => null;\n\n/* -------------------------------------------------------------------------------------------------\n * ApplicationInfoPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ApplicationInfoPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { logos: serverLogos, updateProjectSettings } = useConfiguration('ApplicationInfoPage');\n const [logos, setLogos] = React.useState({ menu: serverLogos.menu, auth: serverLogos.auth });\n const { settings } = useSelector(selectAdminPermissions);\n\n const communityEdition = useAppInfo('ApplicationInfoPage', (state) => state.communityEdition);\n const latestStrapiReleaseTag = useAppInfo(\n 'ApplicationInfoPage',\n (state) => state.latestStrapiReleaseTag\n );\n const nodeVersion = useAppInfo('ApplicationInfoPage', (state) => state.nodeVersion);\n const shouldUpdateStrapi = useAppInfo('ApplicationInfoPage', (state) => state.shouldUpdateStrapi);\n const strapiVersion = useAppInfo('ApplicationInfoPage', (state) => state.strapiVersion);\n\n const AdminSeatInfo = useEnterprise(\n AdminSeatInfoCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo'\n )\n ).AdminSeatInfoEE\n );\n\n const {\n allowedActions: { canRead, canUpdate },\n } = useRBAC(settings ? settings['project-settings'] : {});\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = (e) => {\n e.preventDefault();\n\n updateProjectSettings({\n authLogo: logos.auth.custom ?? null,\n menuLogo: logos.menu.custom ?? null,\n });\n };\n\n const handleChangeLogo =\n (logo: 'menu' | 'auth'): LogoInputProps['onChangeLogo'] =>\n (newLogo) => {\n /**\n * If there's no newLogo value we can assume we're reseting.\n */\n if (newLogo === null) {\n trackUsage('didClickResetLogo', {\n logo,\n });\n }\n\n setLogos((prev) => ({\n ...prev,\n [logo]: {\n ...prev[logo],\n custom: newLogo,\n },\n }));\n };\n\n React.useEffect(() => {\n setLogos({\n menu: serverLogos.menu,\n auth: serverLogos.auth,\n });\n }, [serverLogos]);\n\n // block rendering until the EE component is fully loaded\n if (!AdminSeatInfo) {\n return null;\n }\n\n const isSaveDisabled =\n logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;\n\n return (\n <Layouts.Root>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'Settings.application.header',\n defaultMessage: 'Application',\n }),\n }\n )}\n </Page.Title>\n <Page.Main>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.application.title',\n defaultMessage: 'Overview',\n })}\n subtitle={formatMessage({\n id: 'Settings.application.description',\n defaultMessage: 'Administration panel’s global information',\n })}\n primaryAction={\n canUpdate && (\n <Button disabled={isSaveDisabled} type=\"submit\" startIcon={<Check />}>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n )\n }\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={4}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n\n <Grid.Root gap={5} tag=\"dl\">\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.strapiVersion',\n defaultMessage: 'strapi version',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>v{strapiVersion}</Typography>\n {shouldUpdateStrapi && (\n <Link\n href={`https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`}\n endIcon={<ExternalLink />}\n >\n {formatMessage({\n id: 'Settings.application.link-upgrade',\n defaultMessage: 'Upgrade your admin panel',\n })}\n </Link>\n )}\n </Flex>\n </Grid.Item>\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.edition-title',\n defaultMessage: 'current edition',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>\n {formatMessage(\n {\n id: 'Settings.application.ee-or-ce',\n defaultMessage:\n '{communityEdition, select, true {Community Edition} other {Enterprise Edition}}',\n },\n { communityEdition }\n )}\n </Typography>\n <Link href=\"https://strapi.io/pricing-self-hosted\" endIcon={<ExternalLink />}>\n {formatMessage({\n id: 'Settings.application.link-pricing',\n defaultMessage: 'See all pricing plans',\n })}\n </Link>\n </Flex>\n </Grid.Item>\n\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.node-version',\n defaultMessage: 'node version',\n })}\n </Typography>\n <Typography tag=\"dd\">{nodeVersion}</Typography>\n </Grid.Item>\n <AdminSeatInfo />\n </Grid.Root>\n </Flex>\n {canRead && (\n <Box\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'Settings.application.customization',\n defaultMessage: 'Customization',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.size-details',\n defaultMessage:\n 'Max dimension: {dimension}×{dimension}, Max file size: {size}KB',\n },\n { dimension: DIMENSION, size: SIZE }\n )}\n </Typography>\n <Grid.Root paddingTop={4} gap={4}>\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.menu.custom}\n defaultLogo={logos.menu.default}\n hint={formatMessage({\n id: 'Settings.application.customization.menu-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the main navigation',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.menu-logo.title',\n defaultMessage: 'Menu logo',\n })}\n onChangeLogo={handleChangeLogo('menu')}\n />\n </Grid.Item>\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.auth.custom}\n defaultLogo={logos.auth.default}\n hint={formatMessage({\n id: 'Settings.application.customization.auth-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the authentication pages',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.auth-logo.title',\n defaultMessage: 'Auth logo',\n })}\n onChangeLogo={handleChangeLogo('auth')}\n />\n </Grid.Item>\n </Grid.Root>\n </Box>\n )}\n </Flex>\n </Layouts.Content>\n </form>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nexport { ApplicationInfoPage };\n"],"names":["DIMENSION","SIZE","ACCEPTED_FORMAT","FILE_FORMAT_ERROR_MESSAGE","id","defaultMessage","FILE_SIZING_ERROR_MESSAGE","parseFileMetadatas","file","isFormatAuthorized","includes","type","ParsingFileError","fileDimensions","Promise","resolve","reader","FileReader","onload","img","Image","width","height","src","result","readAsDataURL","areDimensionsAuthorized","asset","ext","name","split","pop","size","url","URL","createObjectURL","rawFile","isSizeAuthorized","Error","constructor","message","displayMessage","options","LogoInputContextProvider","useLogoInputContext","createContext","LogoInput","canUpdate","customLogo","defaultLogo","hint","label","onChangeLogo","localImage","setLocalImage","React","useState","currentStep","setCurrentStep","formatMessage","useIntl","handleClose","undefined","_jsx","Modal","Root","open","onOpenChange","state","_jsxs","goToStep","onClose","CarouselInput","selectedSlide","previousLabel","nextLabel","onNext","onPrevious","secondaryLabel","actions","CarouselActions","Trigger","IconButton","disabled","onClick","Plus","ArrowClockwise","CarouselSlide","Box","maxHeight","maxWidth","tag","alt","Content","Header","Title","AddLogoDialog","PendingLogoDialog","Tabs","variant","defaultValue","paddingLeft","paddingRight","List","aria-label","value","ComputerForm","URLForm","logoUrl","setLogoUrl","error","setError","handleChange","e","target","handleSubmit","event","preventDefault","data","FormData","get","res","axios","toString","responseType","timeout","File","config","headers","err","AxiosError","dimension","form","onSubmit","paddingTop","paddingBottom","Field","Label","TextInput","onChange","Footer","Button","dragOver","setDragOver","fileError","setFileError","inputRef","useRef","useId","handleDragEnter","handleDragLeave","handleClick","current","click","files","focus","_Fragment","Flex","direction","alignItems","gap","hasRadius","justifyContent","background","borderColor","borderStyle","borderWidth","position","onDragEnter","onDragLeave","PlusCircle","fill","aria-hidden","Typography","htmlFor","FileInput","accept","join","tabIndex","ref","textColor","styled","Input","handleGoBack","handleUpload","Body","fontWeight","ImageCardAsset","Close","Card","CardHeader","CardAsset","CardBody","CardContent","CardTitle","CardSubtitle","toUpperCase","CardBadge","AdminSeatInfoCE","ApplicationInfoPage","trackUsage","useTracking","logos","serverLogos","updateProjectSettings","useConfiguration","setLogos","menu","auth","settings","useSelector","selectAdminPermissions","communityEdition","useAppInfo","latestStrapiReleaseTag","nodeVersion","shouldUpdateStrapi","strapiVersion","AdminSeatInfo","useEnterprise","AdminSeatInfoEE","allowedActions","canRead","useRBAC","authLogo","custom","menuLogo","handleChangeLogo","logo","newLogo","prev","useEffect","isSaveDisabled","Layouts","Page","Main","title","subtitle","primaryAction","startIcon","Check","shadow","Grid","Item","col","s","Link","href","endIcon","ExternalLink","default"],"mappings":"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"}
|
package/dist/admin/chunks/{ApplicationInfoPage-Ch6hKH4Y.mjs → ApplicationInfoPage-DiEcqVEU.mjs}
RENAMED
|
@@ -4,10 +4,10 @@ import { Field, Modal, CarouselInput, CarouselActions, IconButton, CarouselSlide
|
|
|
4
4
|
import { Plus, ArrowClockwise, PlusCircle, Check, ExternalLink } from '@strapi/icons';
|
|
5
5
|
import { useIntl } from 'react-intl';
|
|
6
6
|
import { useSelector } from 'react-redux';
|
|
7
|
-
import { b as Layouts } from './index-
|
|
8
|
-
import { c as useTracking, w as useConfiguration, p as useAppInfo, k as useRBAC, P as Page } from './Theme-
|
|
7
|
+
import { b as Layouts } from './index-BM8-DG5K.mjs';
|
|
8
|
+
import { c as useTracking, w as useConfiguration, p as useAppInfo, k as useRBAC, P as Page } from './Theme-C3oHrQcy.mjs';
|
|
9
9
|
import { u as useEnterprise } from './useEnterprise-Dy8wMNV5.mjs';
|
|
10
|
-
import { s as selectAdminPermissions } from './selectors-
|
|
10
|
+
import { s as selectAdminPermissions } from './selectors-Dej_6h4x.mjs';
|
|
11
11
|
import { createContext } from '@radix-ui/react-context';
|
|
12
12
|
import axios, { AxiosError } from 'axios';
|
|
13
13
|
import { styled } from 'styled-components';
|
|
@@ -632,7 +632,7 @@ const AdminSeatInfoCE = ()=>null;
|
|
|
632
632
|
const nodeVersion = useAppInfo('ApplicationInfoPage', (state)=>state.nodeVersion);
|
|
633
633
|
const shouldUpdateStrapi = useAppInfo('ApplicationInfoPage', (state)=>state.shouldUpdateStrapi);
|
|
634
634
|
const strapiVersion = useAppInfo('ApplicationInfoPage', (state)=>state.strapiVersion);
|
|
635
|
-
const AdminSeatInfo = useEnterprise(AdminSeatInfoCE, async ()=>(await import('./AdminSeatInfo-
|
|
635
|
+
const AdminSeatInfo = useEnterprise(AdminSeatInfoCE, async ()=>(await import('./AdminSeatInfo-CQ4w8a3g.mjs')).AdminSeatInfoEE);
|
|
636
636
|
const { allowedActions: { canRead, canUpdate } } = useRBAC(settings ? settings['project-settings'] : {});
|
|
637
637
|
const handleSubmit = (e)=>{
|
|
638
638
|
e.preventDefault();
|
|
@@ -929,4 +929,4 @@ const AdminSeatInfoCE = ()=>null;
|
|
|
929
929
|
};
|
|
930
930
|
|
|
931
931
|
export { ApplicationInfoPage };
|
|
932
|
-
//# sourceMappingURL=ApplicationInfoPage-
|
|
932
|
+
//# sourceMappingURL=ApplicationInfoPage-DiEcqVEU.mjs.map
|