@strapi/admin 5.0.0-beta.10 → 5.0.0-beta.11
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-Bbq8UNek.mjs → AdminSeatInfo-88MFOtJf.mjs} +3 -3
- package/dist/admin/{AdminSeatInfo-Bbq8UNek.mjs.map → AdminSeatInfo-88MFOtJf.mjs.map} +1 -1
- package/dist/admin/{AdminSeatInfo-pe7_J25t.js → AdminSeatInfo-bN561B3v.js} +4 -4
- package/dist/admin/{AdminSeatInfo-pe7_J25t.js.map → AdminSeatInfo-bN561B3v.js.map} +1 -1
- package/dist/admin/{ApplicationInfoPage-S_AoXyUe.js → ApplicationInfoPage-QuYJM0kA.js} +15 -15
- package/dist/admin/{ApplicationInfoPage-S_AoXyUe.js.map → ApplicationInfoPage-QuYJM0kA.js.map} +1 -1
- package/dist/admin/{ApplicationInfoPage-bfXW7lrq.mjs → ApplicationInfoPage-e-khXcZQ.mjs} +5 -5
- package/dist/admin/{ApplicationInfoPage-bfXW7lrq.mjs.map → ApplicationInfoPage-e-khXcZQ.mjs.map} +1 -1
- package/dist/admin/{AuthResponse-BJbG4S2h.js → AuthResponse-PxLid1A-.js} +4 -4
- package/dist/admin/{AuthResponse-BJbG4S2h.js.map → AuthResponse-PxLid1A-.js.map} +1 -1
- package/dist/admin/{AuthResponse-CTQ0fh3I.mjs → AuthResponse-pxi-Fo2T.mjs} +2 -2
- package/dist/admin/{AuthResponse-CTQ0fh3I.mjs.map → AuthResponse-pxi-Fo2T.mjs.map} +1 -1
- package/dist/admin/{AuthenticatedLayout-s7jnYVG9.js → AuthenticatedLayout-040fsD08.js} +30 -29
- package/dist/admin/{AuthenticatedLayout-s7jnYVG9.js.map → AuthenticatedLayout-040fsD08.js.map} +1 -1
- package/dist/admin/{AuthenticatedLayout-lXbF2KKJ.mjs → AuthenticatedLayout-Ou5qhSr4.mjs} +13 -12
- package/dist/admin/{AuthenticatedLayout-lXbF2KKJ.mjs.map → AuthenticatedLayout-Ou5qhSr4.mjs.map} +1 -1
- package/dist/admin/{CreatePage-4gOQVUMq.mjs → CreatePage-P0Nz_ayl.mjs} +3 -3
- package/dist/admin/{CreatePage-4gOQVUMq.mjs.map → CreatePage-P0Nz_ayl.mjs.map} +1 -1
- package/dist/admin/{CreatePage-6pIItf4z.mjs → CreatePage-SkKjFqP6.mjs} +4 -4
- package/dist/admin/{CreatePage-6pIItf4z.mjs.map → CreatePage-SkKjFqP6.mjs.map} +1 -1
- package/dist/admin/{CreatePage-s23BIVXe.js → CreatePage-mQUbZZJv.js} +5 -5
- package/dist/admin/{CreatePage-s23BIVXe.js.map → CreatePage-mQUbZZJv.js.map} +1 -1
- package/dist/admin/{CreatePage-uWZ7dxp6.js → CreatePage-taYHLGep.js} +11 -11
- package/dist/admin/{CreatePage-uWZ7dxp6.js.map → CreatePage-taYHLGep.js.map} +1 -1
- package/dist/admin/{CreateView-3cLNRlgO.mjs → CreateView-ClT1OHUe.mjs} +3 -3
- package/dist/admin/{CreateView-3cLNRlgO.mjs.map → CreateView-ClT1OHUe.mjs.map} +1 -1
- package/dist/admin/{CreateView-aMz4KfSZ.mjs → CreateView-PuVH0YQf.mjs} +3 -3
- package/dist/admin/{CreateView-aMz4KfSZ.mjs.map → CreateView-PuVH0YQf.mjs.map} +1 -1
- package/dist/admin/CreateView-iUA3lEYs.js +17 -0
- package/dist/admin/{CreateView-JQYIo77z.js.map → CreateView-iUA3lEYs.js.map} +1 -1
- package/dist/admin/CreateView-oRYdhduP.js +17 -0
- package/dist/admin/{CreateView-DNHRcJsj.js.map → CreateView-oRYdhduP.js.map} +1 -1
- package/dist/admin/{EditPage-tmpterlY.mjs → EditPage-SVzJI-dH.mjs} +5 -5
- package/dist/admin/{EditPage-tmpterlY.mjs.map → EditPage-SVzJI-dH.mjs.map} +1 -1
- package/dist/admin/{EditPage-24cGvUbV.js → EditPage-_caeCOYK.js} +12 -12
- package/dist/admin/{EditPage-24cGvUbV.js.map → EditPage-_caeCOYK.js.map} +1 -1
- package/dist/admin/{EditPage-JPZ7c-8x.mjs → EditPage-arCsYBox.mjs} +5 -5
- package/dist/admin/{EditPage-JPZ7c-8x.mjs.map → EditPage-arCsYBox.mjs.map} +1 -1
- package/dist/admin/{EditPage-tUvaZzFe.mjs → EditPage-bDO4OJc8.mjs} +7 -7
- package/dist/admin/{EditPage-tUvaZzFe.mjs.map → EditPage-bDO4OJc8.mjs.map} +1 -1
- package/dist/admin/{EditPage-Wpz4YmVY.js → EditPage-q_7kn0JT.js} +16 -16
- package/dist/admin/{EditPage-Wpz4YmVY.js.map → EditPage-q_7kn0JT.js.map} +1 -1
- package/dist/admin/{EditPage-wGJLuMsP.js → EditPage-rxs9-apI.js} +11 -11
- package/dist/admin/{EditPage-wGJLuMsP.js.map → EditPage-rxs9-apI.js.map} +1 -1
- package/dist/admin/{EditView-HjYkw6Y_.mjs → EditView-nfJOf2A4.mjs} +4 -4
- package/dist/admin/{EditView-HjYkw6Y_.mjs.map → EditView-nfJOf2A4.mjs.map} +1 -1
- package/dist/admin/{EditView-ul5nHrFh.js → EditView-tAF5eQf_.js} +14 -14
- package/dist/admin/{EditView-ul5nHrFh.js.map → EditView-tAF5eQf_.js.map} +1 -1
- package/dist/admin/{EditViewPage-bnTbQJ_O.mjs → EditViewPage-KAIuwIw2.mjs} +4 -4
- package/dist/admin/{EditViewPage-bnTbQJ_O.mjs.map → EditViewPage-KAIuwIw2.mjs.map} +1 -1
- package/dist/admin/{EditViewPage-c3DI4uzU.js → EditViewPage-O3dTB0ur.js} +14 -14
- package/dist/admin/{EditViewPage-c3DI4uzU.js.map → EditViewPage-O3dTB0ur.js.map} +1 -1
- package/dist/admin/{EventsTable-7--SHloR.js → EventsTable-726AT6mO.js} +2 -2
- package/dist/admin/{EventsTable-7--SHloR.js.map → EventsTable-726AT6mO.js.map} +1 -1
- package/dist/admin/{EventsTable-XUKqJdnX.mjs → EventsTable-Bv-PH0PC.mjs} +2 -2
- package/dist/admin/{EventsTable-XUKqJdnX.mjs.map → EventsTable-Bv-PH0PC.mjs.map} +1 -1
- package/dist/admin/{HomePage-fBY17m1h.js → HomePage-3JDMO4LG.js} +3 -3
- package/dist/admin/{HomePage-fBY17m1h.js.map → HomePage-3JDMO4LG.js.map} +1 -1
- package/dist/admin/{HomePage-Xrg1dR_D.js → HomePage-QFIF1udT.js} +11 -11
- package/dist/admin/{HomePage-Xrg1dR_D.js.map → HomePage-QFIF1udT.js.map} +1 -1
- package/dist/admin/{HomePage--Mskxb9Z.mjs → HomePage-pgsuFIh7.mjs} +4 -4
- package/dist/admin/{HomePage--Mskxb9Z.mjs.map → HomePage-pgsuFIh7.mjs.map} +1 -1
- package/dist/admin/{HomePage-ppJpMP9G.mjs → HomePage-rPlX1rrg.mjs} +3 -3
- package/dist/admin/{HomePage-ppJpMP9G.mjs.map → HomePage-rPlX1rrg.mjs.map} +1 -1
- package/dist/admin/{InstalledPluginsPage-alfcy8jO.js → InstalledPluginsPage-XP8i3w5T.js} +10 -10
- package/dist/admin/{InstalledPluginsPage-alfcy8jO.js.map → InstalledPluginsPage-XP8i3w5T.js.map} +1 -1
- package/dist/admin/{InstalledPluginsPage-EtnkMG0G.mjs → InstalledPluginsPage-uHFuUx41.mjs} +4 -4
- package/dist/admin/{InstalledPluginsPage-EtnkMG0G.mjs.map → InstalledPluginsPage-uHFuUx41.mjs.map} +1 -1
- package/dist/admin/{Layout-9EvJq4Gc.mjs → Layout-6zLg6LxH.mjs} +5 -5
- package/dist/admin/Layout-6zLg6LxH.mjs.map +1 -0
- package/dist/admin/{Layout-RKjEsOtu.js → Layout-PemM8Wd3.js} +11 -11
- package/dist/admin/Layout-PemM8Wd3.js.map +1 -0
- package/dist/admin/{ListPage-gl3tUWS8.mjs → ListPage-2nnKxEVE.mjs} +3 -3
- package/dist/admin/{ListPage-gl3tUWS8.mjs.map → ListPage-2nnKxEVE.mjs.map} +1 -1
- package/dist/admin/{ListPage-D8Ih2axK.js → ListPage-43lsZ_Bp.js} +14 -14
- package/dist/admin/{ListPage-D8Ih2axK.js.map → ListPage-43lsZ_Bp.js.map} +1 -1
- package/dist/admin/{ListPage-TkJa9Qcz.js → ListPage-6iZqugjj.js} +12 -12
- package/dist/admin/{ListPage-TkJa9Qcz.js.map → ListPage-6iZqugjj.js.map} +1 -1
- package/dist/admin/{ListPage-Ur-kwyVv.mjs → ListPage-SY0bk22Q.mjs} +6 -6
- package/dist/admin/{ListPage-Ur-kwyVv.mjs.map → ListPage-SY0bk22Q.mjs.map} +1 -1
- package/dist/admin/{ListPage-MJlQ5gGq.js → ListPage-Tra1QVDy.js} +14 -14
- package/dist/admin/{ListPage-MJlQ5gGq.js.map → ListPage-Tra1QVDy.js.map} +1 -1
- package/dist/admin/{ListPage-21q8_YN7.mjs → ListPage-WvDXi585.mjs} +3 -3
- package/dist/admin/{ListPage-21q8_YN7.mjs.map → ListPage-WvDXi585.mjs.map} +1 -1
- package/dist/admin/{ListPage-Z0mmlysk.js → ListPage-c83R7AzC.js} +3 -3
- package/dist/admin/{ListPage-Z0mmlysk.js.map → ListPage-c83R7AzC.js.map} +1 -1
- package/dist/admin/{ListPage-xQbMtUpV.mjs → ListPage-jhOQGhI7.mjs} +5 -5
- package/dist/admin/{ListPage-xQbMtUpV.mjs.map → ListPage-jhOQGhI7.mjs.map} +1 -1
- package/dist/admin/{ListPage-nbTQdpBX.mjs → ListPage-liMIiZMU.mjs} +3 -3
- package/dist/admin/{ListPage-nbTQdpBX.mjs.map → ListPage-liMIiZMU.mjs.map} +1 -1
- package/dist/admin/{ListPage-CRyM6NXF.js → ListPage-lpSNR8MY.js} +17 -17
- package/dist/admin/{ListPage-CRyM6NXF.js.map → ListPage-lpSNR8MY.js.map} +1 -1
- package/dist/admin/{ListView-nRGxAwIh.js → ListView-QVoBfZkP.js} +13 -13
- package/dist/admin/{ListView-nRGxAwIh.js.map → ListView-QVoBfZkP.js.map} +1 -1
- package/dist/admin/{ListView-geMTlhDN.mjs → ListView-QlFkFf_V.mjs} +4 -4
- package/dist/admin/{ListView-geMTlhDN.mjs.map → ListView-QlFkFf_V.mjs.map} +1 -1
- package/dist/admin/{ListView-Drn22JZ1.mjs → ListView-mObmenTh.mjs} +4 -4
- package/dist/admin/{ListView-Drn22JZ1.mjs.map → ListView-mObmenTh.mjs.map} +1 -1
- package/dist/admin/{ListView-qAX3ZO28.js → ListView-wx2Wg7AQ.js} +13 -13
- package/dist/admin/{ListView-qAX3ZO28.js.map → ListView-wx2Wg7AQ.js.map} +1 -1
- package/dist/admin/{Login-Hn_q1QSn.js → Login-9bc4EDrd.js} +4 -4
- package/dist/admin/{Login-Hn_q1QSn.js.map → Login-9bc4EDrd.js.map} +1 -1
- package/dist/admin/{Login-ngKWBSD4.mjs → Login-qvyDXOZp.mjs} +3 -3
- package/dist/admin/{Login-ngKWBSD4.mjs.map → Login-qvyDXOZp.mjs.map} +1 -1
- package/dist/admin/{MagicLinkEE-JWmJRiBS.mjs → MagicLinkEE-gwhEOSq0.mjs} +3 -3
- package/dist/admin/{MagicLinkEE-JWmJRiBS.mjs.map → MagicLinkEE-gwhEOSq0.mjs.map} +1 -1
- package/dist/admin/{MagicLinkEE-B5NOEO47.js → MagicLinkEE-wa0KdGZM.js} +3 -3
- package/dist/admin/{MagicLinkEE-B5NOEO47.js.map → MagicLinkEE-wa0KdGZM.js.map} +1 -1
- package/dist/admin/{MarketplacePage-Pk9USes6.mjs → MarketplacePage-3Z3e-oDS.mjs} +3 -3
- package/dist/admin/{MarketplacePage-Pk9USes6.mjs.map → MarketplacePage-3Z3e-oDS.mjs.map} +1 -1
- package/dist/admin/{MarketplacePage-vQaaicxu.js → MarketplacePage-e9h-T9Yf.js} +17 -17
- package/dist/admin/{MarketplacePage-vQaaicxu.js.map → MarketplacePage-e9h-T9Yf.js.map} +1 -1
- package/dist/admin/{Permissions-GCSY8mIm.js → Permissions-CE17oEnM.js} +7 -7
- package/dist/admin/{Permissions-GCSY8mIm.js.map → Permissions-CE17oEnM.js.map} +1 -1
- package/dist/admin/{Permissions-2GKZ2IjP.mjs → Permissions-VlgWwFsK.mjs} +3 -3
- package/dist/admin/{Permissions-2GKZ2IjP.mjs.map → Permissions-VlgWwFsK.mjs.map} +1 -1
- package/dist/admin/{PrivateRoute-KfrFibGN.js → PrivateRoute-SKQvazOx.js} +3 -3
- package/dist/admin/{PrivateRoute-KfrFibGN.js.map → PrivateRoute-SKQvazOx.js.map} +1 -1
- package/dist/admin/{PrivateRoute-xkGBbDbU.mjs → PrivateRoute-nUWu4Q7I.mjs} +2 -2
- package/dist/admin/{PrivateRoute-xkGBbDbU.mjs.map → PrivateRoute-nUWu4Q7I.mjs.map} +1 -1
- package/dist/admin/{ProfilePage-Q5UpeDjs.mjs → ProfilePage-oTScHwyK.mjs} +4 -4
- package/dist/admin/{ProfilePage-Q5UpeDjs.mjs.map → ProfilePage-oTScHwyK.mjs.map} +1 -1
- package/dist/admin/{ProfilePage-o028o7JD.js → ProfilePage-pllDh5dd.js} +18 -18
- package/dist/admin/{ProfilePage-o028o7JD.js.map → ProfilePage-pllDh5dd.js.map} +1 -1
- package/dist/admin/{PurchaseAuditLogs-tpXbhCx-.mjs → PurchaseAuditLogs-6_ie0YzN.mjs} +2 -2
- package/dist/admin/{PurchaseAuditLogs-tpXbhCx-.mjs.map → PurchaseAuditLogs-6_ie0YzN.mjs.map} +1 -1
- package/dist/admin/{PurchaseAuditLogs-Vur69JZB.js → PurchaseAuditLogs-I3m6LuoA.js} +2 -2
- package/dist/admin/{PurchaseAuditLogs-Vur69JZB.js.map → PurchaseAuditLogs-I3m6LuoA.js.map} +1 -1
- package/dist/admin/{PurchaseSingleSignOn-6VTPjJVO.mjs → PurchaseSingleSignOn--iKPscMp.mjs} +2 -2
- package/dist/admin/{PurchaseSingleSignOn-6VTPjJVO.mjs.map → PurchaseSingleSignOn--iKPscMp.mjs.map} +1 -1
- package/dist/admin/{PurchaseSingleSignOn-7NMcihzT.js → PurchaseSingleSignOn-HBKmhjTH.js} +2 -2
- package/dist/admin/{PurchaseSingleSignOn-7NMcihzT.js.map → PurchaseSingleSignOn-HBKmhjTH.js.map} +1 -1
- package/dist/admin/{SelectRoles-q8vaxqfL.js → SelectRoles-ZAZ-5C7_.js} +5 -5
- package/dist/admin/{SelectRoles-q8vaxqfL.js.map → SelectRoles-ZAZ-5C7_.js.map} +1 -1
- package/dist/admin/{SelectRoles-BtQp5Va-.mjs → SelectRoles-nihoDXHG.mjs} +4 -4
- package/dist/admin/{SelectRoles-BtQp5Va-.mjs.map → SelectRoles-nihoDXHG.mjs.map} +1 -1
- package/dist/admin/{SingleSignOnPage-X1OAuyhO.mjs → SingleSignOnPage-WY9MZfnN.mjs} +4 -4
- package/dist/admin/{SingleSignOnPage-X1OAuyhO.mjs.map → SingleSignOnPage-WY9MZfnN.mjs.map} +1 -1
- package/dist/admin/{SingleSignOnPage-_l9MyJvN.js → SingleSignOnPage-tOX6gKDJ.js} +15 -15
- package/dist/admin/{SingleSignOnPage-_l9MyJvN.js.map → SingleSignOnPage-tOX6gKDJ.js.map} +1 -1
- package/dist/admin/{Table-V5-qnRte.mjs → Table-S0UNrz__.mjs} +3 -3
- package/dist/admin/{Table-V5-qnRte.mjs.map → Table-S0UNrz__.mjs.map} +1 -1
- package/dist/admin/{Table-z6l5BFoH.js → Table-YODk-_Dd.js} +5 -5
- package/dist/admin/{Table-z6l5BFoH.js.map → Table-YODk-_Dd.js.map} +1 -1
- package/dist/admin/{rbac-c6QPc6s7.js → Theme-QO8ntQqL.js} +25 -25
- package/dist/admin/Theme-QO8ntQqL.js.map +1 -0
- package/dist/admin/{rbac-A_QIXvpC.mjs → Theme-vNSAMTAv.mjs} +26 -26
- package/dist/admin/Theme-vNSAMTAv.mjs.map +1 -0
- package/dist/admin/{TokenTypeSelect-2iXEz7zs.js → TokenTypeSelect-0lJpg-Og.js} +7 -7
- package/dist/admin/{TokenTypeSelect-2iXEz7zs.js.map → TokenTypeSelect-0lJpg-Og.js.map} +1 -1
- package/dist/admin/{TokenTypeSelect-crPtoLFc.mjs → TokenTypeSelect-TLOZ5MAR.mjs} +3 -3
- package/dist/admin/{TokenTypeSelect-crPtoLFc.mjs.map → TokenTypeSelect-TLOZ5MAR.mjs.map} +1 -1
- package/dist/admin/{UseCasePage-QsvlJAQD.mjs → UseCasePage-ehZx7Rwd.mjs} +4 -4
- package/dist/admin/{UseCasePage-QsvlJAQD.mjs.map → UseCasePage-ehZx7Rwd.mjs.map} +1 -1
- package/dist/admin/{UseCasePage-26Y6U1DU.js → UseCasePage-uJRpPeQz.js} +6 -6
- package/dist/admin/{UseCasePage-26Y6U1DU.js.map → UseCasePage-uJRpPeQz.js.map} +1 -1
- package/dist/admin/{constants-ThodPHfR.mjs → constants-lyc5iHQ_.mjs} +3 -3
- package/dist/admin/{constants-ThodPHfR.mjs.map → constants-lyc5iHQ_.mjs.map} +1 -1
- package/dist/admin/{constants-Maq_tQvu.js → constants-qyti_7np.js} +4 -4
- package/dist/admin/{constants-Maq_tQvu.js.map → constants-qyti_7np.js.map} +1 -1
- package/dist/admin/{index-jwAq-BX-.mjs → index-7Wlj8eA7.mjs} +1292 -1153
- package/dist/admin/index-7Wlj8eA7.mjs.map +1 -0
- package/dist/admin/{index-Ncrnmg5a.js → index-PPLoirnr.js} +1502 -1363
- package/dist/admin/index-PPLoirnr.js.map +1 -0
- package/dist/admin/index.js +12 -12
- package/dist/admin/index.mjs +2 -2
- package/dist/admin/selectors-RspXIUtJ.js +8 -0
- package/dist/admin/{selectors-yGCxM4Rk.js.map → selectors-RspXIUtJ.js.map} +1 -1
- package/dist/admin/{selectors-s8oNaHXK.mjs → selectors-jiFpk43E.mjs} +2 -2
- package/dist/admin/{selectors-s8oNaHXK.mjs.map → selectors-jiFpk43E.mjs.map} +1 -1
- package/dist/admin/src/StrapiApp.d.ts +17 -45
- package/dist/admin/src/constants.d.ts +1 -1
- package/dist/admin/src/core/apis/router.d.ts +73 -0
- package/dist/admin/src/features/StrapiApp.d.ts +2 -1
- package/dist/admin/src/hooks/useSettingsMenu.d.ts +1 -1
- package/dist/admin/src/index.d.ts +2 -1
- package/dist/admin/src/render.d.ts +1 -0
- package/dist/admin/src/router.d.ts +7 -0
- package/dist/admin/src/services/admin.d.ts +5 -5
- package/dist/admin/test.js +9 -9
- package/dist/admin/test.js.map +1 -1
- package/dist/admin/test.mjs +1 -1
- package/dist/admin/{useAdminRoles-gMNUnVWO.mjs → useAdminRoles-dbTJQETQ.mjs} +2 -2
- package/dist/admin/{useAdminRoles-gMNUnVWO.mjs.map → useAdminRoles-dbTJQETQ.mjs.map} +1 -1
- package/dist/admin/{useAdminRoles-zEk0tBhE.js → useAdminRoles-pDH2JAWH.js} +2 -2
- package/dist/admin/{useAdminRoles-zEk0tBhE.js.map → useAdminRoles-pDH2JAWH.js.map} +1 -1
- package/dist/admin/{useLicenseLimitNotification-AUg5DyS9.mjs → useLicenseLimitNotification-Nh_v-hN2.mjs} +2 -2
- package/dist/admin/{useLicenseLimitNotification-AUg5DyS9.mjs.map → useLicenseLimitNotification-Nh_v-hN2.mjs.map} +1 -1
- package/dist/admin/{useLicenseLimitNotification-ItNGgex2.js → useLicenseLimitNotification-ZwMojvCa.js} +3 -3
- package/dist/admin/{useLicenseLimitNotification-ItNGgex2.js.map → useLicenseLimitNotification-ZwMojvCa.js.map} +1 -1
- package/dist/admin/{validation-F0JMLUkr.mjs → validation-208-EpBG.mjs} +2 -2
- package/dist/admin/{validation-F0JMLUkr.mjs.map → validation-208-EpBG.mjs.map} +1 -1
- package/dist/admin/{validation-cP2hBbZm.js → validation-YRSMzskg.js} +2 -2
- package/dist/admin/{validation-cP2hBbZm.js.map → validation-YRSMzskg.js.map} +1 -1
- package/dist/package.json.d.ts +8 -7
- package/package.json +9 -8
- package/dist/admin/CreateView-DNHRcJsj.js +0 -17
- package/dist/admin/CreateView-JQYIo77z.js +0 -17
- package/dist/admin/Layout-9EvJq4Gc.mjs.map +0 -1
- package/dist/admin/Layout-RKjEsOtu.js.map +0 -1
- package/dist/admin/index-Ncrnmg5a.js.map +0 -1
- package/dist/admin/index-jwAq-BX-.mjs.map +0 -1
- package/dist/admin/rbac-A_QIXvpC.mjs.map +0 -1
- package/dist/admin/rbac-c6QPc6s7.js.map +0 -1
- package/dist/admin/selectors-yGCxM4Rk.js +0 -8
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
const jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
const reactRouterDom = require('react-router-dom');
|
|
5
|
-
const
|
|
5
|
+
const Theme = require('./Theme-QO8ntQqL.js');
|
|
6
6
|
|
|
7
7
|
const PrivateRoute = ({ children }) => {
|
|
8
|
-
const token =
|
|
8
|
+
const token = Theme.useAuth("PrivateRoute", (state) => state.token);
|
|
9
9
|
const { pathname, search } = reactRouterDom.useLocation();
|
|
10
10
|
return token !== null ? children : /* @__PURE__ */ jsxRuntime.jsx(
|
|
11
11
|
reactRouterDom.Navigate,
|
|
@@ -19,4 +19,4 @@ const PrivateRoute = ({ children }) => {
|
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
exports.PrivateRoute = PrivateRoute;
|
|
22
|
-
//# sourceMappingURL=PrivateRoute-
|
|
22
|
+
//# sourceMappingURL=PrivateRoute-SKQvazOx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrivateRoute-
|
|
1
|
+
{"version":3,"file":"PrivateRoute-SKQvazOx.js","sources":["../../admin/src/components/PrivateRoute.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Navigate, useLocation } from 'react-router-dom';\n\nimport { useAuth } from '../features/Auth';\n\ninterface PrivateRouteProps {\n children: React.ReactNode;\n}\n\nconst PrivateRoute = ({ children }: PrivateRouteProps) => {\n const token = useAuth('PrivateRoute', (state) => state.token);\n const { pathname, search } = useLocation();\n\n return token !== null ? (\n children\n ) : (\n <Navigate\n to={{\n pathname: '/auth/login',\n search:\n pathname !== '/'\n ? `?redirectTo=${encodeURIComponent(`${pathname}${search}`)}`\n : undefined,\n }}\n />\n );\n};\n\nexport { PrivateRoute };\n"],"names":["useAuth","useLocation","jsx","Navigate"],"mappings":";;;;;;AAUA,MAAM,YAAe,GAAA,CAAC,EAAE,QAAA,EAAkC,KAAA;AACxD,EAAA,MAAM,QAAQA,aAAQ,CAAA,cAAA,EAAgB,CAAC,KAAA,KAAU,MAAM,KAAK,CAAA,CAAA;AAC5D,EAAA,MAAM,EAAE,QAAA,EAAU,MAAO,EAAA,GAAIC,0BAAY,EAAA,CAAA;AAEzC,EAAO,OAAA,KAAA,KAAU,OACf,QAEA,mBAAAC,cAAA;AAAA,IAACC,uBAAA;AAAA,IAAA;AAAA,MACC,EAAI,EAAA;AAAA,QACF,QAAU,EAAA,aAAA;AAAA,QACV,MAAA,EACE,QAAa,KAAA,GAAA,GACT,CAAe,YAAA,EAAA,kBAAA,CAAmB,CAAG,EAAA,QAAQ,CAAG,EAAA,MAAM,CAAE,CAAA,CAAC,CACzD,CAAA,GAAA,KAAA,CAAA;AAAA,OACR;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useLocation, Navigate } from 'react-router-dom';
|
|
3
|
-
import {
|
|
3
|
+
import { u as useAuth } from './Theme-vNSAMTAv.mjs';
|
|
4
4
|
|
|
5
5
|
const PrivateRoute = ({ children }) => {
|
|
6
6
|
const token = useAuth("PrivateRoute", (state) => state.token);
|
|
@@ -17,4 +17,4 @@ const PrivateRoute = ({ children }) => {
|
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
export { PrivateRoute as P };
|
|
20
|
-
//# sourceMappingURL=PrivateRoute-
|
|
20
|
+
//# sourceMappingURL=PrivateRoute-nUWu4Q7I.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrivateRoute-
|
|
1
|
+
{"version":3,"file":"PrivateRoute-nUWu4Q7I.mjs","sources":["../../admin/src/components/PrivateRoute.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Navigate, useLocation } from 'react-router-dom';\n\nimport { useAuth } from '../features/Auth';\n\ninterface PrivateRouteProps {\n children: React.ReactNode;\n}\n\nconst PrivateRoute = ({ children }: PrivateRouteProps) => {\n const token = useAuth('PrivateRoute', (state) => state.token);\n const { pathname, search } = useLocation();\n\n return token !== null ? (\n children\n ) : (\n <Navigate\n to={{\n pathname: '/auth/login',\n search:\n pathname !== '/'\n ? `?redirectTo=${encodeURIComponent(`${pathname}${search}`)}`\n : undefined,\n }}\n />\n );\n};\n\nexport { PrivateRoute };\n"],"names":[],"mappings":";;;;AAUA,MAAM,YAAe,GAAA,CAAC,EAAE,QAAA,EAAkC,KAAA;AACxD,EAAA,MAAM,QAAQ,OAAQ,CAAA,cAAA,EAAgB,CAAC,KAAA,KAAU,MAAM,KAAK,CAAA,CAAA;AAC5D,EAAA,MAAM,EAAE,QAAA,EAAU,MAAO,EAAA,GAAI,WAAY,EAAA,CAAA;AAEzC,EAAO,OAAA,KAAA,KAAU,OACf,QAEA,mBAAA,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,EAAI,EAAA;AAAA,QACF,QAAU,EAAA,aAAA;AAAA,QACV,MAAA,EACE,QAAa,KAAA,GAAA,GACT,CAAe,YAAA,EAAA,kBAAA,CAAmB,CAAG,EAAA,QAAQ,CAAG,EAAA,MAAM,CAAE,CAAA,CAAC,CACzD,CAAA,GAAA,KAAA,CAAA;AAAA,OACR;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ;;;;"}
|
|
@@ -5,11 +5,11 @@ import { Check } from '@strapi/icons';
|
|
|
5
5
|
import upperFirst from 'lodash/upperFirst';
|
|
6
6
|
import { useIntl } from 'react-intl';
|
|
7
7
|
import * as yup from 'yup';
|
|
8
|
-
import { e as errorsTrads, F as Form, b as Layouts, M as MemoizedInputRenderer } from './index-
|
|
9
|
-
import { b as useTypedSelector, d as useTracking,
|
|
8
|
+
import { e as errorsTrads, F as Form, b as Layouts, M as MemoizedInputRenderer } from './index-7Wlj8eA7.mjs';
|
|
9
|
+
import { b as useTypedSelector, d as useTracking, a as useNotification, e as useTypedDispatch, f as useAPIErrorHandler, u as useAuth, g as useUpdateMeMutation, h as useIsSSOLockedQuery, P as Page, s as setAppTheme } from './Theme-vNSAMTAv.mjs';
|
|
10
10
|
import { i as isBaseQueryError } from './admin-B6AW0Kov.mjs';
|
|
11
11
|
import { g as getDisplayName } from './users-a4KTyEyc.mjs';
|
|
12
|
-
import { C as COMMON_USER_SCHEMA } from './validation-
|
|
12
|
+
import { C as COMMON_USER_SCHEMA } from './validation-208-EpBG.mjs';
|
|
13
13
|
|
|
14
14
|
const PROFILE_VALIDTION_SCHEMA = yup.object().shape({
|
|
15
15
|
...COMMON_USER_SCHEMA,
|
|
@@ -384,4 +384,4 @@ const UserInfoSection = () => {
|
|
|
384
384
|
};
|
|
385
385
|
|
|
386
386
|
export { ProfilePage };
|
|
387
|
-
//# sourceMappingURL=ProfilePage-
|
|
387
|
+
//# sourceMappingURL=ProfilePage-oTScHwyK.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfilePage-Q5UpeDjs.mjs","sources":["../../admin/src/pages/ProfilePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, useNotifyAT, Grid, Typography } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { Form, FormHelpers } from '../components/Form';\nimport { InputRenderer } from '../components/FormInputs/Renderer';\nimport { Layouts } from '../components/Layouts/Layout';\nimport { Page } from '../components/PageHelpers';\nimport { useTypedDispatch, useTypedSelector } from '../core/store/hooks';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { useTracking } from '../features/Tracking';\nimport { useAPIErrorHandler } from '../hooks/useAPIErrorHandler';\nimport { AppState, setAppTheme } from '../reducer';\nimport { useIsSSOLockedQuery, useUpdateMeMutation } from '../services/auth';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { translatedErrors } from '../utils/translatedErrors';\nimport { getDisplayName } from '../utils/users';\n\nimport { COMMON_USER_SCHEMA } from './Settings/pages/Users/utils/validation';\n\nimport type { UpdateMe } from '../../../shared/contracts/users';\n\nconst PROFILE_VALIDTION_SCHEMA = yup.object().shape({\n ...COMMON_USER_SCHEMA,\n currentPassword: yup\n .string()\n // @ts-expect-error – no idea why this is failing.\n .when(['password', 'confirmPassword'], (password, confirmPassword, passSchema) => {\n return password || confirmPassword\n ? passSchema.required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n })\n : passSchema;\n }),\n preferedLanguage: yup.string().nullable(),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * ProfilePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProfilePage = () => {\n const localeNames = useTypedSelector((state) => state.admin_app.language.localeNames);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { toggleNotification } = useNotification();\n const { notifyStatus } = useNotifyAT();\n const currentTheme = useTypedSelector((state) => state.admin_app.theme.currentTheme);\n const dispatch = useTypedDispatch();\n const {\n _unstableFormatValidationErrors: formatValidationErrors,\n _unstableFormatAPIError: formatApiError,\n } = useAPIErrorHandler();\n\n const user = useAuth('ProfilePage', (state) => state.user);\n\n React.useEffect(() => {\n if (user) {\n notifyStatus(\n formatMessage({\n id: 'Settings.profile.form.notify.data.loaded',\n defaultMessage: 'Your profile data has been loaded',\n })\n );\n } else {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occured' }),\n });\n }\n }, [formatMessage, notifyStatus, toggleNotification, user]);\n\n const [updateMe, { isLoading: isSubmittingForm }] = useUpdateMeMutation();\n\n const {\n isLoading,\n data: dataSSO,\n error,\n } = useIsSSOLockedQuery(undefined, {\n skip: !(window.strapi.isEE && window.strapi.features.isEnabled('sso')),\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'Settings.permissions.users.sso.provider.error' }),\n });\n }\n }, [error, formatMessage, toggleNotification]);\n\n type UpdateUsersMeBody = UpdateMe.Request['body'] & {\n confirmPassword: string;\n currentTheme: AppState['theme']['currentTheme'];\n };\n\n const handleSubmit = async (\n body: UpdateUsersMeBody,\n { setErrors }: FormHelpers<UpdateUsersMeBody>\n ) => {\n const { confirmPassword: _confirmPassword, currentTheme, ...bodyRest } = body;\n let dataToSend = bodyRest;\n\n // The password fields are optional. If the user didn't touch them, don't send any password\n // to the API, because an empty string would throw a validation error\n if (dataToSend.password === '') {\n const {\n password: _password,\n currentPassword: _currentPassword,\n ...passwordRequestBodyRest\n } = dataToSend;\n dataToSend = passwordRequestBodyRest;\n }\n\n const res = await updateMe(dataToSend);\n\n if ('data' in res) {\n dispatch(setAppTheme(currentTheme));\n\n trackUsage('didChangeMode', { newMode: currentTheme });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n }\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n setErrors(formatValidationErrors(res.error));\n } else if (isBaseQueryError(res.error)) {\n toggleNotification({\n type: 'danger',\n message: formatApiError(res.error),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occured' }),\n });\n }\n }\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n const hasLockedRole = dataSSO?.isSSOLocked ?? false;\n const { email, firstname, lastname, username, preferedLanguage } = user ?? {};\n const initialData = {\n email: email ?? '',\n firstname: firstname ?? '',\n lastname: lastname ?? '',\n username: username ?? '',\n preferedLanguage,\n currentTheme,\n confirmPassword: '',\n password: '',\n };\n\n return (\n <Page.Main aria-busy={isSubmittingForm}>\n <Page.Title>\n {formatMessage({\n id: 'Settings.profile.form.section.head.title',\n defaultMessage: 'User profile',\n })}\n </Page.Title>\n <Form\n method=\"PUT\"\n onSubmit={handleSubmit}\n initialValues={initialData}\n validationSchema={PROFILE_VALIDTION_SCHEMA}\n >\n {({ isSubmitting, modified }) => (\n <>\n <Layouts.Header\n title={getDisplayName(user)}\n primaryAction={\n <Button\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n disabled={!modified}\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Box paddingBottom={10}>\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <UserInfoSection />\n {!hasLockedRole && <PasswordSection />}\n <PreferencesSection localeNames={localeNames} />\n </Flex>\n </Layouts.Content>\n </Box>\n </>\n )}\n </Form>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PasswordSection\n * -----------------------------------------------------------------------------------------------*/\n\nconst PasswordSection = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Typography>\n {[\n [\n {\n label: formatMessage({\n id: 'Auth.form.currentPassword.label',\n defaultMessage: 'Current Password',\n }),\n name: 'currentPassword',\n size: 6,\n type: 'password' as const,\n },\n ],\n [\n {\n autoComplete: 'new-password',\n label: formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n }),\n name: 'password',\n size: 6,\n type: 'password' as const,\n },\n {\n autoComplete: 'new-password',\n label: formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n }),\n name: 'confirmPassword',\n size: 6,\n type: 'password' as const,\n },\n ],\n ].map((row, index) => (\n <Grid.Root key={index} gap={5}>\n {row.map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size}>\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n ))}\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PreferencesSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreferencesSectionProps {\n localeNames: Record<string, string>;\n}\n\nconst PreferencesSection = ({ localeNames }: PreferencesSectionProps) => {\n const { formatMessage } = useIntl();\n const themesToDisplay = useTypedSelector((state) => state.admin_app.theme.availableThemes);\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.title',\n defaultMessage: 'Experience',\n })}\n </Typography>\n <Typography>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.interfaceLanguageHelp',\n defaultMessage:\n 'Preference changes will apply only to you. More information is available {here}.',\n },\n {\n here: (\n <Box\n tag=\"a\"\n color=\"primary600\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#locales\"\n >\n {formatMessage({\n id: 'Settings.profile.form.section.experience.here',\n defaultMessage: 'here',\n })}\n </Box>\n ),\n }\n )}\n </Typography>\n </Flex>\n <Grid.Root gap={5}>\n {[\n {\n hint: formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage.hint',\n defaultMessage: 'This will only display your own interface in the chosen language.',\n }),\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage',\n defaultMessage: 'Interface language',\n }),\n name: 'preferedLanguage',\n options: Object.entries(localeNames).map(([value, label]) => ({\n label,\n value,\n })),\n placeholder: formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n }),\n size: 6,\n type: 'enumeration' as const,\n },\n {\n hint: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.hint',\n defaultMessage: 'Displays your interface in the chosen mode.',\n }),\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.label',\n defaultMessage: 'Interface mode',\n }),\n name: 'currentTheme',\n options: [\n {\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.option-system-label',\n defaultMessage: 'Use system settings',\n }),\n value: 'system',\n },\n ...themesToDisplay.map((theme) => ({\n label: formatMessage(\n {\n id: 'Settings.profile.form.section.experience.mode.option-label',\n defaultMessage: '{name} mode',\n },\n {\n name: formatMessage({\n id: theme,\n defaultMessage: upperFirst(theme),\n }),\n }\n ),\n value: theme,\n })),\n ],\n placeholder: formatMessage({\n id: 'components.Select.placeholder',\n defaultMessage: 'Select',\n }),\n size: 6,\n type: 'enumeration' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size}>\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UserInfoSection\n * -----------------------------------------------------------------------------------------------*/\n\nconst UserInfoSection = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </Typography>\n <Grid.Root gap={5}>\n {[\n {\n label: formatMessage({\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n }),\n name: 'firstname',\n required: true,\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n }),\n name: 'lastname',\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.email.label',\n defaultMessage: 'Email',\n }),\n name: 'email',\n required: true,\n size: 6,\n type: 'email' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n }),\n name: 'username',\n size: 6,\n type: 'string' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size}>\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\nexport { ProfilePage };\n"],"names":["translatedErrors","currentTheme","InputRenderer"],"mappings":";;;;;;;;;;;;;AA2BA,MAAM,wBAA2B,GAAA,GAAA,CAAI,MAAO,EAAA,CAAE,KAAM,CAAA;AAAA,EAClD,GAAG,kBAAA;AAAA,EACH,eAAiB,EAAA,GAAA,CACd,MAAO,EAAA,CAEP,IAAK,CAAA,CAAC,UAAY,EAAA,iBAAiB,CAAG,EAAA,CAAC,QAAU,EAAA,eAAA,EAAiB,UAAe,KAAA;AAChF,IAAO,OAAA,QAAA,IAAY,eACf,GAAA,UAAA,CAAW,QAAS,CAAA;AAAA,MAClB,EAAA,EAAIA,YAAiB,QAAS,CAAA,EAAA;AAAA,MAC9B,cAAgB,EAAA,wBAAA;AAAA,KACjB,CACD,GAAA,UAAA,CAAA;AAAA,GACL,CAAA;AAAA,EACH,gBAAkB,EAAA,GAAA,CAAI,MAAO,EAAA,CAAE,QAAS,EAAA;AAC1C,CAAC,CAAA,CAAA;AAMD,MAAM,cAAc,MAAM;AACxB,EAAA,MAAM,cAAc,gBAAiB,CAAA,CAAC,UAAU,KAAM,CAAA,SAAA,CAAU,SAAS,WAAW,CAAA,CAAA;AACpF,EAAM,MAAA,EAAE,aAAc,EAAA,GAAI,OAAQ,EAAA,CAAA;AAClC,EAAM,MAAA,EAAE,UAAW,EAAA,GAAI,WAAY,EAAA,CAAA;AACnC,EAAM,MAAA,EAAE,kBAAmB,EAAA,GAAI,eAAgB,EAAA,CAAA;AAC/C,EAAM,MAAA,EAAE,YAAa,EAAA,GAAI,WAAY,EAAA,CAAA;AACrC,EAAA,MAAM,eAAe,gBAAiB,CAAA,CAAC,UAAU,KAAM,CAAA,SAAA,CAAU,MAAM,YAAY,CAAA,CAAA;AACnF,EAAA,MAAM,WAAW,gBAAiB,EAAA,CAAA;AAClC,EAAM,MAAA;AAAA,IACJ,+BAAiC,EAAA,sBAAA;AAAA,IACjC,uBAAyB,EAAA,cAAA;AAAA,MACvB,kBAAmB,EAAA,CAAA;AAEvB,EAAA,MAAM,OAAO,OAAQ,CAAA,aAAA,EAAe,CAAC,KAAA,KAAU,MAAM,IAAI,CAAA,CAAA;AAEzD,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,IAAM,EAAA;AACR,MAAA,YAAA;AAAA,QACE,aAAc,CAAA;AAAA,UACZ,EAAI,EAAA,0CAAA;AAAA,UACJ,cAAgB,EAAA,mCAAA;AAAA,SACjB,CAAA;AAAA,OACH,CAAA;AAAA,KACK,MAAA;AACL,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,QAAA;AAAA,QACN,SAAS,aAAc,CAAA,EAAE,IAAI,oBAAsB,EAAA,cAAA,EAAgB,oBAAoB,CAAA;AAAA,OACxF,CAAA,CAAA;AAAA,KACH;AAAA,KACC,CAAC,aAAA,EAAe,YAAc,EAAA,kBAAA,EAAoB,IAAI,CAAC,CAAA,CAAA;AAE1D,EAAA,MAAM,CAAC,QAAU,EAAA,EAAE,WAAW,gBAAiB,EAAC,IAAI,mBAAoB,EAAA,CAAA;AAExE,EAAM,MAAA;AAAA,IACJ,SAAA;AAAA,IACA,IAAM,EAAA,OAAA;AAAA,IACN,KAAA;AAAA,GACF,GAAI,oBAAoB,KAAW,CAAA,EAAA;AAAA,IACjC,IAAA,EAAM,EAAE,MAAO,CAAA,MAAA,CAAO,QAAQ,MAAO,CAAA,MAAA,CAAO,QAAS,CAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AAAA,GACrE,CAAA,CAAA;AAED,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,KAAO,EAAA;AACT,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,QAAA;AAAA,QACN,OAAS,EAAA,aAAA,CAAc,EAAE,EAAA,EAAI,iDAAiD,CAAA;AAAA,OAC/E,CAAA,CAAA;AAAA,KACH;AAAA,GACC,EAAA,CAAC,KAAO,EAAA,aAAA,EAAe,kBAAkB,CAAC,CAAA,CAAA;AAO7C,EAAA,MAAM,YAAe,GAAA,OACnB,IACA,EAAA,EAAE,WACC,KAAA;AACH,IAAA,MAAM,EAAE,eAAiB,EAAA,gBAAA,EAAkB,cAAAC,aAAc,EAAA,GAAG,UAAa,GAAA,IAAA,CAAA;AACzE,IAAA,IAAI,UAAa,GAAA,QAAA,CAAA;AAIjB,IAAI,IAAA,UAAA,CAAW,aAAa,EAAI,EAAA;AAC9B,MAAM,MAAA;AAAA,QACJ,QAAU,EAAA,SAAA;AAAA,QACV,eAAiB,EAAA,gBAAA;AAAA,QACjB,GAAG,uBAAA;AAAA,OACD,GAAA,UAAA,CAAA;AACJ,MAAa,UAAA,GAAA,uBAAA,CAAA;AAAA,KACf;AAEA,IAAM,MAAA,GAAA,GAAM,MAAM,QAAA,CAAS,UAAU,CAAA,CAAA;AAErC,IAAA,IAAI,UAAU,GAAK,EAAA;AACjB,MAAS,QAAA,CAAA,WAAA,CAAYA,aAAY,CAAC,CAAA,CAAA;AAElC,MAAA,UAAA,CAAW,eAAiB,EAAA,EAAE,OAASA,EAAAA,aAAAA,EAAc,CAAA,CAAA;AAErD,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,SAAA;AAAA,QACN,SAAS,aAAc,CAAA,EAAE,IAAI,4BAA8B,EAAA,cAAA,EAAgB,SAAS,CAAA;AAAA,OACrF,CAAA,CAAA;AAAA,KACH;AAEA,IAAA,IAAI,WAAW,GAAK,EAAA;AAClB,MAAA,IAAI,iBAAiB,GAAI,CAAA,KAAK,KAAK,GAAI,CAAA,KAAA,CAAM,SAAS,iBAAmB,EAAA;AACvE,QAAU,SAAA,CAAA,sBAAA,CAAuB,GAAI,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,OAClC,MAAA,IAAA,gBAAA,CAAiB,GAAI,CAAA,KAAK,CAAG,EAAA;AACtC,QAAmB,kBAAA,CAAA;AAAA,UACjB,IAAM,EAAA,QAAA;AAAA,UACN,OAAA,EAAS,cAAe,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,SAClC,CAAA,CAAA;AAAA,OACI,MAAA;AACL,QAAmB,kBAAA,CAAA;AAAA,UACjB,IAAM,EAAA,QAAA;AAAA,UACN,SAAS,aAAc,CAAA,EAAE,IAAI,oBAAsB,EAAA,cAAA,EAAgB,oBAAoB,CAAA;AAAA,SACxF,CAAA,CAAA;AAAA,OACH;AAAA,KACF;AAAA,GACF,CAAA;AAEA,EAAA,IAAI,SAAW,EAAA;AACb,IAAO,uBAAA,GAAA,CAAC,IAAK,CAAA,OAAA,EAAL,EAAa,CAAA,CAAA;AAAA,GACvB;AAEA,EAAM,MAAA,aAAA,GAAgB,SAAS,WAAe,IAAA,KAAA,CAAA;AAC9C,EAAM,MAAA,EAAE,OAAO,SAAW,EAAA,QAAA,EAAU,UAAU,gBAAiB,EAAA,GAAI,QAAQ,EAAC,CAAA;AAC5E,EAAA,MAAM,WAAc,GAAA;AAAA,IAClB,OAAO,KAAS,IAAA,EAAA;AAAA,IAChB,WAAW,SAAa,IAAA,EAAA;AAAA,IACxB,UAAU,QAAY,IAAA,EAAA;AAAA,IACtB,UAAU,QAAY,IAAA,EAAA;AAAA,IACtB,gBAAA;AAAA,IACA,YAAA;AAAA,IACA,eAAiB,EAAA,EAAA;AAAA,IACjB,QAAU,EAAA,EAAA;AAAA,GACZ,CAAA;AAEA,EAAA,uBACG,IAAA,CAAA,IAAA,CAAK,IAAL,EAAA,EAAU,aAAW,gBACpB,EAAA,QAAA,EAAA;AAAA,oBAAC,GAAA,CAAA,IAAA,CAAK,KAAL,EAAA,EACE,QAAc,EAAA,aAAA,CAAA;AAAA,MACb,EAAI,EAAA,0CAAA;AAAA,MACJ,cAAgB,EAAA,cAAA;AAAA,KACjB,CACH,EAAA,CAAA;AAAA,oBACA,GAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,MAAO,EAAA,KAAA;AAAA,QACP,QAAU,EAAA,YAAA;AAAA,QACV,aAAe,EAAA,WAAA;AAAA,QACf,gBAAkB,EAAA,wBAAA;AAAA,QAEjB,QAAC,EAAA,CAAA,EAAE,YAAc,EAAA,QAAA,uBAEd,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,OAAQ,CAAA,MAAA;AAAA,YAAR;AAAA,cACC,KAAA,EAAO,eAAe,IAAI,CAAA;AAAA,cAC1B,aACE,kBAAA,GAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,sBAAY,KAAM,EAAA,EAAA,CAAA;AAAA,kBAClB,OAAS,EAAA,YAAA;AAAA,kBACT,IAAK,EAAA,QAAA;AAAA,kBACL,UAAU,CAAC,QAAA;AAAA,kBAEV,wBAAc,EAAE,EAAA,EAAI,aAAe,EAAA,cAAA,EAAgB,QAAQ,CAAA;AAAA,iBAAA;AAAA,eAC9D;AAAA,aAAA;AAAA,WAEJ;AAAA,0BACC,GAAA,CAAA,GAAA,EAAA,EAAI,aAAe,EAAA,EAAA,EAClB,8BAAC,OAAQ,CAAA,OAAA,EAAR,EACC,QAAA,kBAAA,IAAA,CAAC,QAAK,SAAU,EAAA,QAAA,EAAS,UAAW,EAAA,SAAA,EAAU,KAAK,CACjD,EAAA,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,eAAgB,EAAA,EAAA,CAAA;AAAA,YAChB,CAAC,aAAiB,oBAAA,GAAA,CAAC,eAAgB,EAAA,EAAA,CAAA;AAAA,4BACpC,GAAA,CAAC,sBAAmB,WAA0B,EAAA,CAAA;AAAA,WAAA,EAChD,GACF,CACF,EAAA,CAAA;AAAA,SACF,EAAA,CAAA;AAAA,OAAA;AAAA,KAEJ;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,EAAA;AAMA,MAAM,kBAAkB,MAAM;AAC5B,EAAM,MAAA,EAAE,aAAc,EAAA,GAAI,OAAQ,EAAA,CAAA;AAElC,EACE,uBAAA,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,UAAW,EAAA,UAAA;AAAA,MACX,SAAS,EAAA,IAAA;AAAA,MACT,MAAO,EAAA,cAAA;AAAA,MACP,UAAY,EAAA,CAAA;AAAA,MACZ,aAAe,EAAA,CAAA;AAAA,MACf,WAAa,EAAA,CAAA;AAAA,MACb,YAAc,EAAA,CAAA;AAAA,MAEd,+BAAC,IAAK,EAAA,EAAA,SAAA,EAAU,UAAS,UAAW,EAAA,SAAA,EAAU,KAAK,CACjD,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,UAAW,EAAA,EAAA,OAAA,EAAQ,OAAQ,EAAA,GAAA,EAAI,MAC7B,QAAc,EAAA,aAAA,CAAA;AAAA,UACb,EAAI,EAAA,wBAAA;AAAA,UACJ,cAAgB,EAAA,iBAAA;AAAA,SACjB,CACH,EAAA,CAAA;AAAA,QACC;AAAA,UACC;AAAA,YACE;AAAA,cACE,OAAO,aAAc,CAAA;AAAA,gBACnB,EAAI,EAAA,iCAAA;AAAA,gBACJ,cAAgB,EAAA,kBAAA;AAAA,eACjB,CAAA;AAAA,cACD,IAAM,EAAA,iBAAA;AAAA,cACN,IAAM,EAAA,CAAA;AAAA,cACN,IAAM,EAAA,UAAA;AAAA,aACR;AAAA,WACF;AAAA,UACA;AAAA,YACE;AAAA,cACE,YAAc,EAAA,cAAA;AAAA,cACd,OAAO,aAAc,CAAA;AAAA,gBACnB,EAAI,EAAA,iBAAA;AAAA,gBACJ,cAAgB,EAAA,UAAA;AAAA,eACjB,CAAA;AAAA,cACD,IAAM,EAAA,UAAA;AAAA,cACN,IAAM,EAAA,CAAA;AAAA,cACN,IAAM,EAAA,UAAA;AAAA,aACR;AAAA,YACA;AAAA,cACE,YAAc,EAAA,cAAA;AAAA,cACd,OAAO,aAAc,CAAA;AAAA,gBACnB,EAAI,EAAA,iCAAA;AAAA,gBACJ,cAAgB,EAAA,kBAAA;AAAA,eACjB,CAAA;AAAA,cACD,IAAM,EAAA,iBAAA;AAAA,cACN,IAAM,EAAA,CAAA;AAAA,cACN,IAAM,EAAA,UAAA;AAAA,aACR;AAAA,WACF;AAAA,SACA,CAAA,GAAA,CAAI,CAAC,GAAA,EAAK,0BACT,GAAA,CAAA,IAAA,CAAK,IAAL,EAAA,EAAsB,KAAK,CACzB,EAAA,QAAA,EAAA,GAAA,CAAI,GAAI,CAAA,CAAC,EAAE,IAAM,EAAA,GAAG,KAAM,EAAA,yBACxB,IAAK,CAAA,IAAA,EAAL,EAA2B,GAAA,EAAK,MAC/B,QAAC,kBAAA,GAAA,CAAAC,qBAAA,EAAA,EAAe,GAAG,KAAA,EAAO,KADZ,KAAM,CAAA,IAEtB,CACD,CAAA,EAAA,EALa,KAMhB,CACD,CAAA;AAAA,OACH,EAAA,CAAA;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ,CAAA,CAAA;AAUA,MAAM,kBAAqB,GAAA,CAAC,EAAE,WAAA,EAA2C,KAAA;AACvE,EAAM,MAAA,EAAE,aAAc,EAAA,GAAI,OAAQ,EAAA,CAAA;AAClC,EAAA,MAAM,kBAAkB,gBAAiB,CAAA,CAAC,UAAU,KAAM,CAAA,SAAA,CAAU,MAAM,eAAe,CAAA,CAAA;AAEzF,EACE,uBAAA,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,UAAW,EAAA,UAAA;AAAA,MACX,SAAS,EAAA,IAAA;AAAA,MACT,MAAO,EAAA,cAAA;AAAA,MACP,UAAY,EAAA,CAAA;AAAA,MACZ,aAAe,EAAA,CAAA;AAAA,MACf,WAAa,EAAA,CAAA;AAAA,MACb,YAAc,EAAA,CAAA;AAAA,MAEd,+BAAC,IAAK,EAAA,EAAA,SAAA,EAAU,UAAS,UAAW,EAAA,SAAA,EAAU,KAAK,CACjD,EAAA,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,QAAK,SAAU,EAAA,QAAA,EAAS,UAAW,EAAA,SAAA,EAAU,KAAK,CACjD,EAAA,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,UAAW,EAAA,EAAA,OAAA,EAAQ,OAAQ,EAAA,GAAA,EAAI,MAC7B,QAAc,EAAA,aAAA,CAAA;AAAA,YACb,EAAI,EAAA,gDAAA;AAAA,YACJ,cAAgB,EAAA,YAAA;AAAA,WACjB,CACH,EAAA,CAAA;AAAA,8BACC,UACE,EAAA,EAAA,QAAA,EAAA,aAAA;AAAA,YACC;AAAA,cACE,EAAI,EAAA,gEAAA;AAAA,cACJ,cACE,EAAA,kFAAA;AAAA,aACJ;AAAA,YACA;AAAA,cACE,IACE,kBAAA,GAAA;AAAA,gBAAC,GAAA;AAAA,gBAAA;AAAA,kBACC,GAAI,EAAA,GAAA;AAAA,kBACJ,KAAM,EAAA,YAAA;AAAA,kBACN,MAAO,EAAA,QAAA;AAAA,kBACP,GAAI,EAAA,qBAAA;AAAA,kBACJ,IAAK,EAAA,2FAAA;AAAA,kBAEJ,QAAc,EAAA,aAAA,CAAA;AAAA,oBACb,EAAI,EAAA,+CAAA;AAAA,oBACJ,cAAgB,EAAA,MAAA;AAAA,mBACjB,CAAA;AAAA,iBAAA;AAAA,eACH;AAAA,aAEJ;AAAA,WAEJ,EAAA,CAAA;AAAA,SACF,EAAA,CAAA;AAAA,wBACC,GAAA,CAAA,IAAA,CAAK,IAAL,EAAA,EAAU,KAAK,CACb,EAAA,QAAA,EAAA;AAAA,UACC;AAAA,YACE,MAAM,aAAc,CAAA;AAAA,cAClB,EAAI,EAAA,iEAAA;AAAA,cACJ,cAAgB,EAAA,mEAAA;AAAA,aACjB,CAAA;AAAA,YACD,OAAO,aAAc,CAAA;AAAA,cACnB,EAAI,EAAA,4DAAA;AAAA,cACJ,cAAgB,EAAA,oBAAA;AAAA,aACjB,CAAA;AAAA,YACD,IAAM,EAAA,kBAAA;AAAA,YACN,OAAA,EAAS,MAAO,CAAA,OAAA,CAAQ,WAAW,CAAA,CAAE,IAAI,CAAC,CAAC,KAAO,EAAA,KAAK,CAAO,MAAA;AAAA,cAC5D,KAAA;AAAA,cACA,KAAA;AAAA,aACA,CAAA,CAAA;AAAA,YACF,aAAa,aAAc,CAAA;AAAA,cACzB,EAAI,EAAA,eAAA;AAAA,cACJ,cAAgB,EAAA,QAAA;AAAA,aACjB,CAAA;AAAA,YACD,IAAM,EAAA,CAAA;AAAA,YACN,IAAM,EAAA,aAAA;AAAA,WACR;AAAA,UACA;AAAA,YACE,MAAM,aAAc,CAAA;AAAA,cAClB,EAAI,EAAA,oDAAA;AAAA,cACJ,cAAgB,EAAA,6CAAA;AAAA,aACjB,CAAA;AAAA,YACD,OAAO,aAAc,CAAA;AAAA,cACnB,EAAI,EAAA,qDAAA;AAAA,cACJ,cAAgB,EAAA,gBAAA;AAAA,aACjB,CAAA;AAAA,YACD,IAAM,EAAA,cAAA;AAAA,YACN,OAAS,EAAA;AAAA,cACP;AAAA,gBACE,OAAO,aAAc,CAAA;AAAA,kBACnB,EAAI,EAAA,mEAAA;AAAA,kBACJ,cAAgB,EAAA,qBAAA;AAAA,iBACjB,CAAA;AAAA,gBACD,KAAO,EAAA,QAAA;AAAA,eACT;AAAA,cACA,GAAG,eAAA,CAAgB,GAAI,CAAA,CAAC,KAAW,MAAA;AAAA,gBACjC,KAAO,EAAA,aAAA;AAAA,kBACL;AAAA,oBACE,EAAI,EAAA,4DAAA;AAAA,oBACJ,cAAgB,EAAA,aAAA;AAAA,mBAClB;AAAA,kBACA;AAAA,oBACE,MAAM,aAAc,CAAA;AAAA,sBAClB,EAAI,EAAA,KAAA;AAAA,sBACJ,cAAA,EAAgB,WAAW,KAAK,CAAA;AAAA,qBACjC,CAAA;AAAA,mBACH;AAAA,iBACF;AAAA,gBACA,KAAO,EAAA,KAAA;AAAA,eACP,CAAA,CAAA;AAAA,aACJ;AAAA,YACA,aAAa,aAAc,CAAA;AAAA,cACzB,EAAI,EAAA,+BAAA;AAAA,cACJ,cAAgB,EAAA,QAAA;AAAA,aACjB,CAAA;AAAA,YACD,IAAM,EAAA,CAAA;AAAA,YACN,IAAM,EAAA,aAAA;AAAA,WACR;AAAA,SACF,CAAE,IAAI,CAAC,EAAE,MAAM,GAAG,KAAA,EAChB,qBAAA,GAAA,CAAC,IAAK,CAAA,IAAA,EAAL,EAA2B,GAAK,EAAA,IAAA,EAC/B,8BAACA,qBAAe,EAAA,EAAA,GAAG,OAAO,CADZ,EAAA,EAAA,KAAA,CAAM,IAEtB,CACD,CACH,EAAA,CAAA;AAAA,OACF,EAAA,CAAA;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ,CAAA,CAAA;AAMA,MAAM,kBAAkB,MAAM;AAC5B,EAAM,MAAA,EAAE,aAAc,EAAA,GAAI,OAAQ,EAAA,CAAA;AAElC,EACE,uBAAA,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,UAAW,EAAA,UAAA;AAAA,MACX,SAAS,EAAA,IAAA;AAAA,MACT,MAAO,EAAA,cAAA;AAAA,MACP,UAAY,EAAA,CAAA;AAAA,MACZ,aAAe,EAAA,CAAA;AAAA,MACf,WAAa,EAAA,CAAA;AAAA,MACb,YAAc,EAAA,CAAA;AAAA,MAEd,+BAAC,IAAK,EAAA,EAAA,SAAA,EAAU,UAAS,UAAW,EAAA,SAAA,EAAU,KAAK,CACjD,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,UAAW,EAAA,EAAA,OAAA,EAAQ,OAAQ,EAAA,GAAA,EAAI,MAC7B,QAAc,EAAA,aAAA,CAAA;AAAA,UACb,EAAI,EAAA,gBAAA;AAAA,UACJ,cAAgB,EAAA,SAAA;AAAA,SACjB,CACH,EAAA,CAAA;AAAA,wBACC,GAAA,CAAA,IAAA,CAAK,IAAL,EAAA,EAAU,KAAK,CACb,EAAA,QAAA,EAAA;AAAA,UACC;AAAA,YACE,OAAO,aAAc,CAAA;AAAA,cACnB,EAAI,EAAA,2BAAA;AAAA,cACJ,cAAgB,EAAA,YAAA;AAAA,aACjB,CAAA;AAAA,YACD,IAAM,EAAA,WAAA;AAAA,YACN,QAAU,EAAA,IAAA;AAAA,YACV,IAAM,EAAA,CAAA;AAAA,YACN,IAAM,EAAA,QAAA;AAAA,WACR;AAAA,UACA;AAAA,YACE,OAAO,aAAc,CAAA;AAAA,cACnB,EAAI,EAAA,0BAAA;AAAA,cACJ,cAAgB,EAAA,WAAA;AAAA,aACjB,CAAA;AAAA,YACD,IAAM,EAAA,UAAA;AAAA,YACN,IAAM,EAAA,CAAA;AAAA,YACN,IAAM,EAAA,QAAA;AAAA,WACR;AAAA,UACA;AAAA,YACE,OAAO,aAAc,CAAA;AAAA,cACnB,EAAI,EAAA,uBAAA;AAAA,cACJ,cAAgB,EAAA,OAAA;AAAA,aACjB,CAAA;AAAA,YACD,IAAM,EAAA,OAAA;AAAA,YACN,QAAU,EAAA,IAAA;AAAA,YACV,IAAM,EAAA,CAAA;AAAA,YACN,IAAM,EAAA,OAAA;AAAA,WACR;AAAA,UACA;AAAA,YACE,OAAO,aAAc,CAAA;AAAA,cACnB,EAAI,EAAA,0BAAA;AAAA,cACJ,cAAgB,EAAA,UAAA;AAAA,aACjB,CAAA;AAAA,YACD,IAAM,EAAA,UAAA;AAAA,YACN,IAAM,EAAA,CAAA;AAAA,YACN,IAAM,EAAA,QAAA;AAAA,WACR;AAAA,SACF,CAAE,IAAI,CAAC,EAAE,MAAM,GAAG,KAAA,EAChB,qBAAA,GAAA,CAAC,IAAK,CAAA,IAAA,EAAL,EAA2B,GAAK,EAAA,IAAA,EAC/B,8BAACA,qBAAe,EAAA,EAAA,GAAG,OAAO,CADZ,EAAA,EAAA,KAAA,CAAM,IAEtB,CACD,CACH,EAAA,CAAA;AAAA,OACF,EAAA,CAAA;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"ProfilePage-oTScHwyK.mjs","sources":["../../admin/src/pages/ProfilePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, useNotifyAT, Grid, Typography } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { Form, FormHelpers } from '../components/Form';\nimport { InputRenderer } from '../components/FormInputs/Renderer';\nimport { Layouts } from '../components/Layouts/Layout';\nimport { Page } from '../components/PageHelpers';\nimport { useTypedDispatch, useTypedSelector } from '../core/store/hooks';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { useTracking } from '../features/Tracking';\nimport { useAPIErrorHandler } from '../hooks/useAPIErrorHandler';\nimport { AppState, setAppTheme } from '../reducer';\nimport { useIsSSOLockedQuery, useUpdateMeMutation } from '../services/auth';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { translatedErrors } from '../utils/translatedErrors';\nimport { getDisplayName } from '../utils/users';\n\nimport { COMMON_USER_SCHEMA } from './Settings/pages/Users/utils/validation';\n\nimport type { UpdateMe } from '../../../shared/contracts/users';\n\nconst PROFILE_VALIDTION_SCHEMA = yup.object().shape({\n ...COMMON_USER_SCHEMA,\n currentPassword: yup\n .string()\n // @ts-expect-error – no idea why this is failing.\n .when(['password', 'confirmPassword'], (password, confirmPassword, passSchema) => {\n return password || confirmPassword\n ? passSchema.required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n })\n : passSchema;\n }),\n preferedLanguage: yup.string().nullable(),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * ProfilePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProfilePage = () => {\n const localeNames = useTypedSelector((state) => state.admin_app.language.localeNames);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { toggleNotification } = useNotification();\n const { notifyStatus } = useNotifyAT();\n const currentTheme = useTypedSelector((state) => state.admin_app.theme.currentTheme);\n const dispatch = useTypedDispatch();\n const {\n _unstableFormatValidationErrors: formatValidationErrors,\n _unstableFormatAPIError: formatApiError,\n } = useAPIErrorHandler();\n\n const user = useAuth('ProfilePage', (state) => state.user);\n\n React.useEffect(() => {\n if (user) {\n notifyStatus(\n formatMessage({\n id: 'Settings.profile.form.notify.data.loaded',\n defaultMessage: 'Your profile data has been loaded',\n })\n );\n } else {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occured' }),\n });\n }\n }, [formatMessage, notifyStatus, toggleNotification, user]);\n\n const [updateMe, { isLoading: isSubmittingForm }] = useUpdateMeMutation();\n\n const {\n isLoading,\n data: dataSSO,\n error,\n } = useIsSSOLockedQuery(undefined, {\n skip: !(window.strapi.isEE && window.strapi.features.isEnabled('sso')),\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'Settings.permissions.users.sso.provider.error' }),\n });\n }\n }, [error, formatMessage, toggleNotification]);\n\n type UpdateUsersMeBody = UpdateMe.Request['body'] & {\n confirmPassword: string;\n currentTheme: AppState['theme']['currentTheme'];\n };\n\n const handleSubmit = async (\n body: UpdateUsersMeBody,\n { setErrors }: FormHelpers<UpdateUsersMeBody>\n ) => {\n const { confirmPassword: _confirmPassword, currentTheme, ...bodyRest } = body;\n let dataToSend = bodyRest;\n\n // The password fields are optional. If the user didn't touch them, don't send any password\n // to the API, because an empty string would throw a validation error\n if (dataToSend.password === '') {\n const {\n password: _password,\n currentPassword: _currentPassword,\n ...passwordRequestBodyRest\n } = dataToSend;\n dataToSend = passwordRequestBodyRest;\n }\n\n const res = await updateMe(dataToSend);\n\n if ('data' in res) {\n dispatch(setAppTheme(currentTheme));\n\n trackUsage('didChangeMode', { newMode: currentTheme });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n }\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n setErrors(formatValidationErrors(res.error));\n } else if (isBaseQueryError(res.error)) {\n toggleNotification({\n type: 'danger',\n message: formatApiError(res.error),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occured' }),\n });\n }\n }\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n const hasLockedRole = dataSSO?.isSSOLocked ?? false;\n const { email, firstname, lastname, username, preferedLanguage } = user ?? {};\n const initialData = {\n email: email ?? '',\n firstname: firstname ?? '',\n lastname: lastname ?? '',\n username: username ?? '',\n preferedLanguage,\n currentTheme,\n confirmPassword: '',\n password: '',\n };\n\n return (\n <Page.Main aria-busy={isSubmittingForm}>\n <Page.Title>\n {formatMessage({\n id: 'Settings.profile.form.section.head.title',\n defaultMessage: 'User profile',\n })}\n </Page.Title>\n <Form\n method=\"PUT\"\n onSubmit={handleSubmit}\n initialValues={initialData}\n validationSchema={PROFILE_VALIDTION_SCHEMA}\n >\n {({ isSubmitting, modified }) => (\n <>\n <Layouts.Header\n title={getDisplayName(user)}\n primaryAction={\n <Button\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n disabled={!modified}\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Box paddingBottom={10}>\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <UserInfoSection />\n {!hasLockedRole && <PasswordSection />}\n <PreferencesSection localeNames={localeNames} />\n </Flex>\n </Layouts.Content>\n </Box>\n </>\n )}\n </Form>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PasswordSection\n * -----------------------------------------------------------------------------------------------*/\n\nconst PasswordSection = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Typography>\n {[\n [\n {\n label: formatMessage({\n id: 'Auth.form.currentPassword.label',\n defaultMessage: 'Current Password',\n }),\n name: 'currentPassword',\n size: 6,\n type: 'password' as const,\n },\n ],\n [\n {\n autoComplete: 'new-password',\n label: formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n }),\n name: 'password',\n size: 6,\n type: 'password' as const,\n },\n {\n autoComplete: 'new-password',\n label: formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n }),\n name: 'confirmPassword',\n size: 6,\n type: 'password' as const,\n },\n ],\n ].map((row, index) => (\n <Grid.Root key={index} gap={5}>\n {row.map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size}>\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n ))}\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PreferencesSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreferencesSectionProps {\n localeNames: Record<string, string>;\n}\n\nconst PreferencesSection = ({ localeNames }: PreferencesSectionProps) => {\n const { formatMessage } = useIntl();\n const themesToDisplay = useTypedSelector((state) => state.admin_app.theme.availableThemes);\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.title',\n defaultMessage: 'Experience',\n })}\n </Typography>\n <Typography>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.interfaceLanguageHelp',\n defaultMessage:\n 'Preference changes will apply only to you. More information is available {here}.',\n },\n {\n here: (\n <Box\n tag=\"a\"\n color=\"primary600\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#locales\"\n >\n {formatMessage({\n id: 'Settings.profile.form.section.experience.here',\n defaultMessage: 'here',\n })}\n </Box>\n ),\n }\n )}\n </Typography>\n </Flex>\n <Grid.Root gap={5}>\n {[\n {\n hint: formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage.hint',\n defaultMessage: 'This will only display your own interface in the chosen language.',\n }),\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage',\n defaultMessage: 'Interface language',\n }),\n name: 'preferedLanguage',\n options: Object.entries(localeNames).map(([value, label]) => ({\n label,\n value,\n })),\n placeholder: formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n }),\n size: 6,\n type: 'enumeration' as const,\n },\n {\n hint: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.hint',\n defaultMessage: 'Displays your interface in the chosen mode.',\n }),\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.label',\n defaultMessage: 'Interface mode',\n }),\n name: 'currentTheme',\n options: [\n {\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.option-system-label',\n defaultMessage: 'Use system settings',\n }),\n value: 'system',\n },\n ...themesToDisplay.map((theme) => ({\n label: formatMessage(\n {\n id: 'Settings.profile.form.section.experience.mode.option-label',\n defaultMessage: '{name} mode',\n },\n {\n name: formatMessage({\n id: theme,\n defaultMessage: upperFirst(theme),\n }),\n }\n ),\n value: theme,\n })),\n ],\n placeholder: formatMessage({\n id: 'components.Select.placeholder',\n defaultMessage: 'Select',\n }),\n size: 6,\n type: 'enumeration' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size}>\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UserInfoSection\n * -----------------------------------------------------------------------------------------------*/\n\nconst UserInfoSection = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </Typography>\n <Grid.Root gap={5}>\n {[\n {\n label: formatMessage({\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n }),\n name: 'firstname',\n required: true,\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n }),\n name: 'lastname',\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.email.label',\n defaultMessage: 'Email',\n }),\n name: 'email',\n required: true,\n size: 6,\n type: 'email' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n }),\n name: 'username',\n size: 6,\n type: 'string' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size}>\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\nexport { ProfilePage };\n"],"names":["translatedErrors","currentTheme","InputRenderer"],"mappings":"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"}
|
|
@@ -9,11 +9,11 @@ const icons = require('@strapi/icons');
|
|
|
9
9
|
const upperFirst = require('lodash/upperFirst');
|
|
10
10
|
const reactIntl = require('react-intl');
|
|
11
11
|
const yup = require('yup');
|
|
12
|
-
const index = require('./index-
|
|
13
|
-
const
|
|
12
|
+
const index = require('./index-PPLoirnr.js');
|
|
13
|
+
const Theme = require('./Theme-QO8ntQqL.js');
|
|
14
14
|
const admin = require('./admin-p0djr5G6.js');
|
|
15
15
|
const users = require('./users-R5A0kUOV.js');
|
|
16
|
-
const validation = require('./validation-
|
|
16
|
+
const validation = require('./validation-YRSMzskg.js');
|
|
17
17
|
|
|
18
18
|
const _interopDefault = e => e && e.__esModule ? e : { default: e };
|
|
19
19
|
|
|
@@ -50,18 +50,18 @@ const PROFILE_VALIDTION_SCHEMA = yup__namespace.object().shape({
|
|
|
50
50
|
preferedLanguage: yup__namespace.string().nullable()
|
|
51
51
|
});
|
|
52
52
|
const ProfilePage = () => {
|
|
53
|
-
const localeNames =
|
|
53
|
+
const localeNames = Theme.useTypedSelector((state) => state.admin_app.language.localeNames);
|
|
54
54
|
const { formatMessage } = reactIntl.useIntl();
|
|
55
|
-
const { trackUsage } =
|
|
56
|
-
const { toggleNotification } =
|
|
55
|
+
const { trackUsage } = Theme.useTracking();
|
|
56
|
+
const { toggleNotification } = Theme.useNotification();
|
|
57
57
|
const { notifyStatus } = designSystem.useNotifyAT();
|
|
58
|
-
const currentTheme =
|
|
59
|
-
const dispatch =
|
|
58
|
+
const currentTheme = Theme.useTypedSelector((state) => state.admin_app.theme.currentTheme);
|
|
59
|
+
const dispatch = Theme.useTypedDispatch();
|
|
60
60
|
const {
|
|
61
61
|
_unstableFormatValidationErrors: formatValidationErrors,
|
|
62
62
|
_unstableFormatAPIError: formatApiError
|
|
63
|
-
} =
|
|
64
|
-
const user =
|
|
63
|
+
} = Theme.useAPIErrorHandler();
|
|
64
|
+
const user = Theme.useAuth("ProfilePage", (state) => state.user);
|
|
65
65
|
React__namespace.useEffect(() => {
|
|
66
66
|
if (user) {
|
|
67
67
|
notifyStatus(
|
|
@@ -77,12 +77,12 @@ const ProfilePage = () => {
|
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
79
|
}, [formatMessage, notifyStatus, toggleNotification, user]);
|
|
80
|
-
const [updateMe, { isLoading: isSubmittingForm }] =
|
|
80
|
+
const [updateMe, { isLoading: isSubmittingForm }] = Theme.useUpdateMeMutation();
|
|
81
81
|
const {
|
|
82
82
|
isLoading,
|
|
83
83
|
data: dataSSO,
|
|
84
84
|
error
|
|
85
|
-
} =
|
|
85
|
+
} = Theme.useIsSSOLockedQuery(void 0, {
|
|
86
86
|
skip: !(window.strapi.isEE && window.strapi.features.isEnabled("sso"))
|
|
87
87
|
});
|
|
88
88
|
React__namespace.useEffect(() => {
|
|
@@ -106,7 +106,7 @@ const ProfilePage = () => {
|
|
|
106
106
|
}
|
|
107
107
|
const res = await updateMe(dataToSend);
|
|
108
108
|
if ("data" in res) {
|
|
109
|
-
dispatch(
|
|
109
|
+
dispatch(Theme.setAppTheme(currentTheme2));
|
|
110
110
|
trackUsage("didChangeMode", { newMode: currentTheme2 });
|
|
111
111
|
toggleNotification({
|
|
112
112
|
type: "success",
|
|
@@ -130,7 +130,7 @@ const ProfilePage = () => {
|
|
|
130
130
|
}
|
|
131
131
|
};
|
|
132
132
|
if (isLoading) {
|
|
133
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
133
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Theme.Page.Loading, {});
|
|
134
134
|
}
|
|
135
135
|
const hasLockedRole = dataSSO?.isSSOLocked ?? false;
|
|
136
136
|
const { email, firstname, lastname, username, preferedLanguage } = user ?? {};
|
|
@@ -144,8 +144,8 @@ const ProfilePage = () => {
|
|
|
144
144
|
confirmPassword: "",
|
|
145
145
|
password: ""
|
|
146
146
|
};
|
|
147
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
148
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
147
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Theme.Page.Main, { "aria-busy": isSubmittingForm, children: [
|
|
148
|
+
/* @__PURE__ */ jsxRuntime.jsx(Theme.Page.Title, { children: formatMessage({
|
|
149
149
|
id: "Settings.profile.form.section.head.title",
|
|
150
150
|
defaultMessage: "User profile"
|
|
151
151
|
}) }),
|
|
@@ -241,7 +241,7 @@ const PasswordSection = () => {
|
|
|
241
241
|
};
|
|
242
242
|
const PreferencesSection = ({ localeNames }) => {
|
|
243
243
|
const { formatMessage } = reactIntl.useIntl();
|
|
244
|
-
const themesToDisplay =
|
|
244
|
+
const themesToDisplay = Theme.useTypedSelector((state) => state.admin_app.theme.availableThemes);
|
|
245
245
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
246
246
|
designSystem.Box,
|
|
247
247
|
{
|
|
@@ -412,4 +412,4 @@ const UserInfoSection = () => {
|
|
|
412
412
|
};
|
|
413
413
|
|
|
414
414
|
exports.ProfilePage = ProfilePage;
|
|
415
|
-
//# sourceMappingURL=ProfilePage-
|
|
415
|
+
//# sourceMappingURL=ProfilePage-pllDh5dd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfilePage-o028o7JD.js","sources":["../../admin/src/pages/ProfilePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, useNotifyAT, Grid, Typography } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { Form, FormHelpers } from '../components/Form';\nimport { InputRenderer } from '../components/FormInputs/Renderer';\nimport { Layouts } from '../components/Layouts/Layout';\nimport { Page } from '../components/PageHelpers';\nimport { useTypedDispatch, useTypedSelector } from '../core/store/hooks';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { useTracking } from '../features/Tracking';\nimport { useAPIErrorHandler } from '../hooks/useAPIErrorHandler';\nimport { AppState, setAppTheme } from '../reducer';\nimport { useIsSSOLockedQuery, useUpdateMeMutation } from '../services/auth';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { translatedErrors } from '../utils/translatedErrors';\nimport { getDisplayName } from '../utils/users';\n\nimport { COMMON_USER_SCHEMA } from './Settings/pages/Users/utils/validation';\n\nimport type { UpdateMe } from '../../../shared/contracts/users';\n\nconst PROFILE_VALIDTION_SCHEMA = yup.object().shape({\n ...COMMON_USER_SCHEMA,\n currentPassword: yup\n .string()\n // @ts-expect-error – no idea why this is failing.\n .when(['password', 'confirmPassword'], (password, confirmPassword, passSchema) => {\n return password || confirmPassword\n ? passSchema.required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n })\n : passSchema;\n }),\n preferedLanguage: yup.string().nullable(),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * ProfilePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProfilePage = () => {\n const localeNames = useTypedSelector((state) => state.admin_app.language.localeNames);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { toggleNotification } = useNotification();\n const { notifyStatus } = useNotifyAT();\n const currentTheme = useTypedSelector((state) => state.admin_app.theme.currentTheme);\n const dispatch = useTypedDispatch();\n const {\n _unstableFormatValidationErrors: formatValidationErrors,\n _unstableFormatAPIError: formatApiError,\n } = useAPIErrorHandler();\n\n const user = useAuth('ProfilePage', (state) => state.user);\n\n React.useEffect(() => {\n if (user) {\n notifyStatus(\n formatMessage({\n id: 'Settings.profile.form.notify.data.loaded',\n defaultMessage: 'Your profile data has been loaded',\n })\n );\n } else {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occured' }),\n });\n }\n }, [formatMessage, notifyStatus, toggleNotification, user]);\n\n const [updateMe, { isLoading: isSubmittingForm }] = useUpdateMeMutation();\n\n const {\n isLoading,\n data: dataSSO,\n error,\n } = useIsSSOLockedQuery(undefined, {\n skip: !(window.strapi.isEE && window.strapi.features.isEnabled('sso')),\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'Settings.permissions.users.sso.provider.error' }),\n });\n }\n }, [error, formatMessage, toggleNotification]);\n\n type UpdateUsersMeBody = UpdateMe.Request['body'] & {\n confirmPassword: string;\n currentTheme: AppState['theme']['currentTheme'];\n };\n\n const handleSubmit = async (\n body: UpdateUsersMeBody,\n { setErrors }: FormHelpers<UpdateUsersMeBody>\n ) => {\n const { confirmPassword: _confirmPassword, currentTheme, ...bodyRest } = body;\n let dataToSend = bodyRest;\n\n // The password fields are optional. If the user didn't touch them, don't send any password\n // to the API, because an empty string would throw a validation error\n if (dataToSend.password === '') {\n const {\n password: _password,\n currentPassword: _currentPassword,\n ...passwordRequestBodyRest\n } = dataToSend;\n dataToSend = passwordRequestBodyRest;\n }\n\n const res = await updateMe(dataToSend);\n\n if ('data' in res) {\n dispatch(setAppTheme(currentTheme));\n\n trackUsage('didChangeMode', { newMode: currentTheme });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n }\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n setErrors(formatValidationErrors(res.error));\n } else if (isBaseQueryError(res.error)) {\n toggleNotification({\n type: 'danger',\n message: formatApiError(res.error),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occured' }),\n });\n }\n }\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n const hasLockedRole = dataSSO?.isSSOLocked ?? false;\n const { email, firstname, lastname, username, preferedLanguage } = user ?? {};\n const initialData = {\n email: email ?? '',\n firstname: firstname ?? '',\n lastname: lastname ?? '',\n username: username ?? '',\n preferedLanguage,\n currentTheme,\n confirmPassword: '',\n password: '',\n };\n\n return (\n <Page.Main aria-busy={isSubmittingForm}>\n <Page.Title>\n {formatMessage({\n id: 'Settings.profile.form.section.head.title',\n defaultMessage: 'User profile',\n })}\n </Page.Title>\n <Form\n method=\"PUT\"\n onSubmit={handleSubmit}\n initialValues={initialData}\n validationSchema={PROFILE_VALIDTION_SCHEMA}\n >\n {({ isSubmitting, modified }) => (\n <>\n <Layouts.Header\n title={getDisplayName(user)}\n primaryAction={\n <Button\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n disabled={!modified}\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Box paddingBottom={10}>\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <UserInfoSection />\n {!hasLockedRole && <PasswordSection />}\n <PreferencesSection localeNames={localeNames} />\n </Flex>\n </Layouts.Content>\n </Box>\n </>\n )}\n </Form>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PasswordSection\n * -----------------------------------------------------------------------------------------------*/\n\nconst PasswordSection = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Typography>\n {[\n [\n {\n label: formatMessage({\n id: 'Auth.form.currentPassword.label',\n defaultMessage: 'Current Password',\n }),\n name: 'currentPassword',\n size: 6,\n type: 'password' as const,\n },\n ],\n [\n {\n autoComplete: 'new-password',\n label: formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n }),\n name: 'password',\n size: 6,\n type: 'password' as const,\n },\n {\n autoComplete: 'new-password',\n label: formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n }),\n name: 'confirmPassword',\n size: 6,\n type: 'password' as const,\n },\n ],\n ].map((row, index) => (\n <Grid.Root key={index} gap={5}>\n {row.map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size}>\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n ))}\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PreferencesSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreferencesSectionProps {\n localeNames: Record<string, string>;\n}\n\nconst PreferencesSection = ({ localeNames }: PreferencesSectionProps) => {\n const { formatMessage } = useIntl();\n const themesToDisplay = useTypedSelector((state) => state.admin_app.theme.availableThemes);\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.title',\n defaultMessage: 'Experience',\n })}\n </Typography>\n <Typography>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.interfaceLanguageHelp',\n defaultMessage:\n 'Preference changes will apply only to you. More information is available {here}.',\n },\n {\n here: (\n <Box\n tag=\"a\"\n color=\"primary600\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#locales\"\n >\n {formatMessage({\n id: 'Settings.profile.form.section.experience.here',\n defaultMessage: 'here',\n })}\n </Box>\n ),\n }\n )}\n </Typography>\n </Flex>\n <Grid.Root gap={5}>\n {[\n {\n hint: formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage.hint',\n defaultMessage: 'This will only display your own interface in the chosen language.',\n }),\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage',\n defaultMessage: 'Interface language',\n }),\n name: 'preferedLanguage',\n options: Object.entries(localeNames).map(([value, label]) => ({\n label,\n value,\n })),\n placeholder: formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n }),\n size: 6,\n type: 'enumeration' as const,\n },\n {\n hint: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.hint',\n defaultMessage: 'Displays your interface in the chosen mode.',\n }),\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.label',\n defaultMessage: 'Interface mode',\n }),\n name: 'currentTheme',\n options: [\n {\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.option-system-label',\n defaultMessage: 'Use system settings',\n }),\n value: 'system',\n },\n ...themesToDisplay.map((theme) => ({\n label: formatMessage(\n {\n id: 'Settings.profile.form.section.experience.mode.option-label',\n defaultMessage: '{name} mode',\n },\n {\n name: formatMessage({\n id: theme,\n defaultMessage: upperFirst(theme),\n }),\n }\n ),\n value: theme,\n })),\n ],\n placeholder: formatMessage({\n id: 'components.Select.placeholder',\n defaultMessage: 'Select',\n }),\n size: 6,\n type: 'enumeration' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size}>\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UserInfoSection\n * -----------------------------------------------------------------------------------------------*/\n\nconst UserInfoSection = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </Typography>\n <Grid.Root gap={5}>\n {[\n {\n label: formatMessage({\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n }),\n name: 'firstname',\n required: true,\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n }),\n name: 'lastname',\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.email.label',\n defaultMessage: 'Email',\n }),\n name: 'email',\n required: true,\n size: 6,\n type: 'email' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n }),\n name: 'username',\n size: 6,\n type: 'string' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size}>\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\nexport { ProfilePage };\n"],"names":["yup","COMMON_USER_SCHEMA","translatedErrors","useTypedSelector","useIntl","useTracking","useNotification","useNotifyAT","useTypedDispatch","useAPIErrorHandler","useAuth","React","useUpdateMeMutation","useIsSSOLockedQuery","currentTheme","setAppTheme","isBaseQueryError","jsx","Page","jsxs","Form","Fragment","Layouts","getDisplayName","Button","Check","Box","Flex","Typography","index","Grid","InputRenderer","upperFirst"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProfilePage-pllDh5dd.js","sources":["../../admin/src/pages/ProfilePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, useNotifyAT, Grid, Typography } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { Form, FormHelpers } from '../components/Form';\nimport { InputRenderer } from '../components/FormInputs/Renderer';\nimport { Layouts } from '../components/Layouts/Layout';\nimport { Page } from '../components/PageHelpers';\nimport { useTypedDispatch, useTypedSelector } from '../core/store/hooks';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { useTracking } from '../features/Tracking';\nimport { useAPIErrorHandler } from '../hooks/useAPIErrorHandler';\nimport { AppState, setAppTheme } from '../reducer';\nimport { useIsSSOLockedQuery, useUpdateMeMutation } from '../services/auth';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { translatedErrors } from '../utils/translatedErrors';\nimport { getDisplayName } from '../utils/users';\n\nimport { COMMON_USER_SCHEMA } from './Settings/pages/Users/utils/validation';\n\nimport type { UpdateMe } from '../../../shared/contracts/users';\n\nconst PROFILE_VALIDTION_SCHEMA = yup.object().shape({\n ...COMMON_USER_SCHEMA,\n currentPassword: yup\n .string()\n // @ts-expect-error – no idea why this is failing.\n .when(['password', 'confirmPassword'], (password, confirmPassword, passSchema) => {\n return password || confirmPassword\n ? passSchema.required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n })\n : passSchema;\n }),\n preferedLanguage: yup.string().nullable(),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * ProfilePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProfilePage = () => {\n const localeNames = useTypedSelector((state) => state.admin_app.language.localeNames);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { toggleNotification } = useNotification();\n const { notifyStatus } = useNotifyAT();\n const currentTheme = useTypedSelector((state) => state.admin_app.theme.currentTheme);\n const dispatch = useTypedDispatch();\n const {\n _unstableFormatValidationErrors: formatValidationErrors,\n _unstableFormatAPIError: formatApiError,\n } = useAPIErrorHandler();\n\n const user = useAuth('ProfilePage', (state) => state.user);\n\n React.useEffect(() => {\n if (user) {\n notifyStatus(\n formatMessage({\n id: 'Settings.profile.form.notify.data.loaded',\n defaultMessage: 'Your profile data has been loaded',\n })\n );\n } else {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occured' }),\n });\n }\n }, [formatMessage, notifyStatus, toggleNotification, user]);\n\n const [updateMe, { isLoading: isSubmittingForm }] = useUpdateMeMutation();\n\n const {\n isLoading,\n data: dataSSO,\n error,\n } = useIsSSOLockedQuery(undefined, {\n skip: !(window.strapi.isEE && window.strapi.features.isEnabled('sso')),\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'Settings.permissions.users.sso.provider.error' }),\n });\n }\n }, [error, formatMessage, toggleNotification]);\n\n type UpdateUsersMeBody = UpdateMe.Request['body'] & {\n confirmPassword: string;\n currentTheme: AppState['theme']['currentTheme'];\n };\n\n const handleSubmit = async (\n body: UpdateUsersMeBody,\n { setErrors }: FormHelpers<UpdateUsersMeBody>\n ) => {\n const { confirmPassword: _confirmPassword, currentTheme, ...bodyRest } = body;\n let dataToSend = bodyRest;\n\n // The password fields are optional. If the user didn't touch them, don't send any password\n // to the API, because an empty string would throw a validation error\n if (dataToSend.password === '') {\n const {\n password: _password,\n currentPassword: _currentPassword,\n ...passwordRequestBodyRest\n } = dataToSend;\n dataToSend = passwordRequestBodyRest;\n }\n\n const res = await updateMe(dataToSend);\n\n if ('data' in res) {\n dispatch(setAppTheme(currentTheme));\n\n trackUsage('didChangeMode', { newMode: currentTheme });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n }\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n setErrors(formatValidationErrors(res.error));\n } else if (isBaseQueryError(res.error)) {\n toggleNotification({\n type: 'danger',\n message: formatApiError(res.error),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occured' }),\n });\n }\n }\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n const hasLockedRole = dataSSO?.isSSOLocked ?? false;\n const { email, firstname, lastname, username, preferedLanguage } = user ?? {};\n const initialData = {\n email: email ?? '',\n firstname: firstname ?? '',\n lastname: lastname ?? '',\n username: username ?? '',\n preferedLanguage,\n currentTheme,\n confirmPassword: '',\n password: '',\n };\n\n return (\n <Page.Main aria-busy={isSubmittingForm}>\n <Page.Title>\n {formatMessage({\n id: 'Settings.profile.form.section.head.title',\n defaultMessage: 'User profile',\n })}\n </Page.Title>\n <Form\n method=\"PUT\"\n onSubmit={handleSubmit}\n initialValues={initialData}\n validationSchema={PROFILE_VALIDTION_SCHEMA}\n >\n {({ isSubmitting, modified }) => (\n <>\n <Layouts.Header\n title={getDisplayName(user)}\n primaryAction={\n <Button\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n disabled={!modified}\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Box paddingBottom={10}>\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <UserInfoSection />\n {!hasLockedRole && <PasswordSection />}\n <PreferencesSection localeNames={localeNames} />\n </Flex>\n </Layouts.Content>\n </Box>\n </>\n )}\n </Form>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PasswordSection\n * -----------------------------------------------------------------------------------------------*/\n\nconst PasswordSection = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Typography>\n {[\n [\n {\n label: formatMessage({\n id: 'Auth.form.currentPassword.label',\n defaultMessage: 'Current Password',\n }),\n name: 'currentPassword',\n size: 6,\n type: 'password' as const,\n },\n ],\n [\n {\n autoComplete: 'new-password',\n label: formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n }),\n name: 'password',\n size: 6,\n type: 'password' as const,\n },\n {\n autoComplete: 'new-password',\n label: formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n }),\n name: 'confirmPassword',\n size: 6,\n type: 'password' as const,\n },\n ],\n ].map((row, index) => (\n <Grid.Root key={index} gap={5}>\n {row.map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size}>\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n ))}\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PreferencesSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreferencesSectionProps {\n localeNames: Record<string, string>;\n}\n\nconst PreferencesSection = ({ localeNames }: PreferencesSectionProps) => {\n const { formatMessage } = useIntl();\n const themesToDisplay = useTypedSelector((state) => state.admin_app.theme.availableThemes);\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.title',\n defaultMessage: 'Experience',\n })}\n </Typography>\n <Typography>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.interfaceLanguageHelp',\n defaultMessage:\n 'Preference changes will apply only to you. More information is available {here}.',\n },\n {\n here: (\n <Box\n tag=\"a\"\n color=\"primary600\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#locales\"\n >\n {formatMessage({\n id: 'Settings.profile.form.section.experience.here',\n defaultMessage: 'here',\n })}\n </Box>\n ),\n }\n )}\n </Typography>\n </Flex>\n <Grid.Root gap={5}>\n {[\n {\n hint: formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage.hint',\n defaultMessage: 'This will only display your own interface in the chosen language.',\n }),\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage',\n defaultMessage: 'Interface language',\n }),\n name: 'preferedLanguage',\n options: Object.entries(localeNames).map(([value, label]) => ({\n label,\n value,\n })),\n placeholder: formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n }),\n size: 6,\n type: 'enumeration' as const,\n },\n {\n hint: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.hint',\n defaultMessage: 'Displays your interface in the chosen mode.',\n }),\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.label',\n defaultMessage: 'Interface mode',\n }),\n name: 'currentTheme',\n options: [\n {\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.option-system-label',\n defaultMessage: 'Use system settings',\n }),\n value: 'system',\n },\n ...themesToDisplay.map((theme) => ({\n label: formatMessage(\n {\n id: 'Settings.profile.form.section.experience.mode.option-label',\n defaultMessage: '{name} mode',\n },\n {\n name: formatMessage({\n id: theme,\n defaultMessage: upperFirst(theme),\n }),\n }\n ),\n value: theme,\n })),\n ],\n placeholder: formatMessage({\n id: 'components.Select.placeholder',\n defaultMessage: 'Select',\n }),\n size: 6,\n type: 'enumeration' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size}>\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UserInfoSection\n * -----------------------------------------------------------------------------------------------*/\n\nconst UserInfoSection = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </Typography>\n <Grid.Root gap={5}>\n {[\n {\n label: formatMessage({\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n }),\n name: 'firstname',\n required: true,\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n }),\n name: 'lastname',\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.email.label',\n defaultMessage: 'Email',\n }),\n name: 'email',\n required: true,\n size: 6,\n type: 'email' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n }),\n name: 'username',\n size: 6,\n type: 'string' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size}>\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\nexport { ProfilePage };\n"],"names":["yup","COMMON_USER_SCHEMA","translatedErrors","useTypedSelector","useIntl","useTracking","useNotification","useNotifyAT","useTypedDispatch","useAPIErrorHandler","useAuth","React","useUpdateMeMutation","useIsSSOLockedQuery","currentTheme","setAppTheme","isBaseQueryError","jsx","Page","jsxs","Form","Fragment","Layouts","getDisplayName","Button","Check","Box","Flex","Typography","index","Grid","InputRenderer","upperFirst"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { Main, Box, EmptyStateLayout, LinkButton } from '@strapi/design-system';
|
|
|
3
3
|
import { ExternalLink } from '@strapi/icons';
|
|
4
4
|
import { EmptyPermissions } from '@strapi/icons/symbols';
|
|
5
5
|
import { useIntl } from 'react-intl';
|
|
6
|
-
import { b as Layouts } from './index-
|
|
6
|
+
import { b as Layouts } from './index-7Wlj8eA7.mjs';
|
|
7
7
|
|
|
8
8
|
const PurchaseAuditLogs = () => {
|
|
9
9
|
const { formatMessage } = useIntl();
|
|
@@ -46,4 +46,4 @@ const PurchaseAuditLogs = () => {
|
|
|
46
46
|
};
|
|
47
47
|
|
|
48
48
|
export { PurchaseAuditLogs };
|
|
49
|
-
//# sourceMappingURL=PurchaseAuditLogs-
|
|
49
|
+
//# sourceMappingURL=PurchaseAuditLogs-6_ie0YzN.mjs.map
|
package/dist/admin/{PurchaseAuditLogs-tpXbhCx-.mjs.map → PurchaseAuditLogs-6_ie0YzN.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PurchaseAuditLogs-
|
|
1
|
+
{"version":3,"file":"PurchaseAuditLogs-6_ie0YzN.mjs","sources":["../../admin/src/pages/Settings/pages/PurchaseAuditLogs.tsx"],"sourcesContent":["import { Box, Main, EmptyStateLayout, LinkButton } from '@strapi/design-system';\nimport { ExternalLink } from '@strapi/icons';\nimport { EmptyPermissions } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\n\nimport { Layouts } from '../../../components/Layouts/Layout';\n\nconst PurchaseAuditLogs = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Layouts.Root>\n <Main>\n <Layouts.Header\n title={formatMessage({ id: 'global.auditLogs', defaultMessage: 'Audit Logs' })}\n subtitle={formatMessage({\n id: 'Settings.permissions.auditLogs.listview.header.subtitle',\n defaultMessage: 'Logs of all the activities that happened in your environment',\n })}\n />\n <Box paddingLeft={10} paddingRight={10}>\n <EmptyStateLayout\n icon={<EmptyPermissions width=\"16rem\" />}\n content={formatMessage({\n id: 'Settings.permissions.auditLogs.not-available',\n defaultMessage:\n 'Audit Logs is only available as part of a paid plan. Upgrade to get a searchable and filterable display of all activities.',\n })}\n action={\n <LinkButton\n variant=\"default\"\n endIcon={<ExternalLink />}\n href=\"https://strp.cc/45mbAdF\"\n isExternal\n target=\"_blank\"\n >\n {formatMessage({\n id: 'global.learn-more',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n }\n />\n </Box>\n </Main>\n </Layouts.Root>\n );\n};\n\nexport { PurchaseAuditLogs };\n"],"names":[],"mappings":";;;;;;;AAOA,MAAM,oBAAoB,MAAM;AAC9B,EAAM,MAAA,EAAE,aAAc,EAAA,GAAI,OAAQ,EAAA,CAAA;AAElC,EAAA,uBACG,GAAA,CAAA,OAAA,CAAQ,IAAR,EAAA,EACC,+BAAC,IACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,OAAQ,CAAA,MAAA;AAAA,MAAR;AAAA,QACC,OAAO,aAAc,CAAA,EAAE,IAAI,kBAAoB,EAAA,cAAA,EAAgB,cAAc,CAAA;AAAA,QAC7E,UAAU,aAAc,CAAA;AAAA,UACtB,EAAI,EAAA,yDAAA;AAAA,UACJ,cAAgB,EAAA,8DAAA;AAAA,SACjB,CAAA;AAAA,OAAA;AAAA,KACH;AAAA,oBACC,GAAA,CAAA,GAAA,EAAA,EAAI,WAAa,EAAA,EAAA,EAAI,cAAc,EAClC,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,gBAAA;AAAA,MAAA;AAAA,QACC,IAAM,kBAAA,GAAA,CAAC,gBAAiB,EAAA,EAAA,KAAA,EAAM,OAAQ,EAAA,CAAA;AAAA,QACtC,SAAS,aAAc,CAAA;AAAA,UACrB,EAAI,EAAA,8CAAA;AAAA,UACJ,cACE,EAAA,4HAAA;AAAA,SACH,CAAA;AAAA,QACD,MACE,kBAAA,GAAA;AAAA,UAAC,UAAA;AAAA,UAAA;AAAA,YACC,OAAQ,EAAA,SAAA;AAAA,YACR,OAAA,sBAAU,YAAa,EAAA,EAAA,CAAA;AAAA,YACvB,IAAK,EAAA,yBAAA;AAAA,YACL,UAAU,EAAA,IAAA;AAAA,YACV,MAAO,EAAA,QAAA;AAAA,YAEN,QAAc,EAAA,aAAA,CAAA;AAAA,cACb,EAAI,EAAA,mBAAA;AAAA,cACJ,cAAgB,EAAA,YAAA;AAAA,aACjB,CAAA;AAAA,WAAA;AAAA,SACH;AAAA,OAAA;AAAA,KAGN,EAAA,CAAA;AAAA,GAAA,EACF,CACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -7,7 +7,7 @@ const designSystem = require('@strapi/design-system');
|
|
|
7
7
|
const icons = require('@strapi/icons');
|
|
8
8
|
const symbols = require('@strapi/icons/symbols');
|
|
9
9
|
const reactIntl = require('react-intl');
|
|
10
|
-
const index = require('./index-
|
|
10
|
+
const index = require('./index-PPLoirnr.js');
|
|
11
11
|
|
|
12
12
|
const PurchaseAuditLogs = () => {
|
|
13
13
|
const { formatMessage } = reactIntl.useIntl();
|
|
@@ -50,4 +50,4 @@ const PurchaseAuditLogs = () => {
|
|
|
50
50
|
};
|
|
51
51
|
|
|
52
52
|
exports.PurchaseAuditLogs = PurchaseAuditLogs;
|
|
53
|
-
//# sourceMappingURL=PurchaseAuditLogs-
|
|
53
|
+
//# sourceMappingURL=PurchaseAuditLogs-I3m6LuoA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PurchaseAuditLogs-
|
|
1
|
+
{"version":3,"file":"PurchaseAuditLogs-I3m6LuoA.js","sources":["../../admin/src/pages/Settings/pages/PurchaseAuditLogs.tsx"],"sourcesContent":["import { Box, Main, EmptyStateLayout, LinkButton } from '@strapi/design-system';\nimport { ExternalLink } from '@strapi/icons';\nimport { EmptyPermissions } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\n\nimport { Layouts } from '../../../components/Layouts/Layout';\n\nconst PurchaseAuditLogs = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Layouts.Root>\n <Main>\n <Layouts.Header\n title={formatMessage({ id: 'global.auditLogs', defaultMessage: 'Audit Logs' })}\n subtitle={formatMessage({\n id: 'Settings.permissions.auditLogs.listview.header.subtitle',\n defaultMessage: 'Logs of all the activities that happened in your environment',\n })}\n />\n <Box paddingLeft={10} paddingRight={10}>\n <EmptyStateLayout\n icon={<EmptyPermissions width=\"16rem\" />}\n content={formatMessage({\n id: 'Settings.permissions.auditLogs.not-available',\n defaultMessage:\n 'Audit Logs is only available as part of a paid plan. Upgrade to get a searchable and filterable display of all activities.',\n })}\n action={\n <LinkButton\n variant=\"default\"\n endIcon={<ExternalLink />}\n href=\"https://strp.cc/45mbAdF\"\n isExternal\n target=\"_blank\"\n >\n {formatMessage({\n id: 'global.learn-more',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n }\n />\n </Box>\n </Main>\n </Layouts.Root>\n );\n};\n\nexport { PurchaseAuditLogs };\n"],"names":["useIntl","jsx","Layouts","Main","Box","EmptyStateLayout","EmptyPermissions","LinkButton","ExternalLink"],"mappings":";;;;;;;;;;;AAOA,MAAM,oBAAoB,MAAM;AAC9B,EAAM,MAAA,EAAE,aAAc,EAAA,GAAIA,iBAAQ,EAAA,CAAA;AAElC,EAAA,uBACGC,cAAA,CAAAC,aAAA,CAAQ,IAAR,EAAA,EACC,0CAACC,iBACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAAF,cAAA;AAAA,MAACC,aAAQ,CAAA,MAAA;AAAA,MAAR;AAAA,QACC,OAAO,aAAc,CAAA,EAAE,IAAI,kBAAoB,EAAA,cAAA,EAAgB,cAAc,CAAA;AAAA,QAC7E,UAAU,aAAc,CAAA;AAAA,UACtB,EAAI,EAAA,yDAAA;AAAA,UACJ,cAAgB,EAAA,8DAAA;AAAA,SACjB,CAAA;AAAA,OAAA;AAAA,KACH;AAAA,oBACCD,cAAA,CAAAG,gBAAA,EAAA,EAAI,WAAa,EAAA,EAAA,EAAI,cAAc,EAClC,EAAA,QAAA,kBAAAH,cAAA;AAAA,MAACI,6BAAA;AAAA,MAAA;AAAA,QACC,IAAM,kBAAAJ,cAAA,CAACK,wBAAiB,EAAA,EAAA,KAAA,EAAM,OAAQ,EAAA,CAAA;AAAA,QACtC,SAAS,aAAc,CAAA;AAAA,UACrB,EAAI,EAAA,8CAAA;AAAA,UACJ,cACE,EAAA,4HAAA;AAAA,SACH,CAAA;AAAA,QACD,MACE,kBAAAL,cAAA;AAAA,UAACM,uBAAA;AAAA,UAAA;AAAA,YACC,OAAQ,EAAA,SAAA;AAAA,YACR,OAAA,iCAAUC,kBAAa,EAAA,EAAA,CAAA;AAAA,YACvB,IAAK,EAAA,yBAAA;AAAA,YACL,UAAU,EAAA,IAAA;AAAA,YACV,MAAO,EAAA,QAAA;AAAA,YAEN,QAAc,EAAA,aAAA,CAAA;AAAA,cACb,EAAI,EAAA,mBAAA;AAAA,cACJ,cAAgB,EAAA,YAAA;AAAA,aACjB,CAAA;AAAA,WAAA;AAAA,SACH;AAAA,OAAA;AAAA,KAGN,EAAA,CAAA;AAAA,GAAA,EACF,CACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -3,7 +3,7 @@ import { Main, Box, EmptyStateLayout, LinkButton } from '@strapi/design-system';
|
|
|
3
3
|
import { ExternalLink } from '@strapi/icons';
|
|
4
4
|
import { EmptyPermissions } from '@strapi/icons/symbols';
|
|
5
5
|
import { useIntl } from 'react-intl';
|
|
6
|
-
import { b as Layouts } from './index-
|
|
6
|
+
import { b as Layouts } from './index-7Wlj8eA7.mjs';
|
|
7
7
|
|
|
8
8
|
const PurchaseSingleSignOn = () => {
|
|
9
9
|
const { formatMessage } = useIntl();
|
|
@@ -49,4 +49,4 @@ const PurchaseSingleSignOn = () => {
|
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
export { PurchaseSingleSignOn };
|
|
52
|
-
//# sourceMappingURL=PurchaseSingleSignOn
|
|
52
|
+
//# sourceMappingURL=PurchaseSingleSignOn--iKPscMp.mjs.map
|
package/dist/admin/{PurchaseSingleSignOn-6VTPjJVO.mjs.map → PurchaseSingleSignOn--iKPscMp.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PurchaseSingleSignOn
|
|
1
|
+
{"version":3,"file":"PurchaseSingleSignOn--iKPscMp.mjs","sources":["../../admin/src/pages/Settings/pages/PurchaseSingleSignOn.tsx"],"sourcesContent":["import { Box, Main, EmptyStateLayout, LinkButton } from '@strapi/design-system';\nimport { ExternalLink } from '@strapi/icons';\nimport { EmptyPermissions } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\n\nimport { Layouts } from '../../../components/Layouts/Layout';\n\nconst PurchaseSingleSignOn = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Layouts.Root>\n <Main>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.sso.title',\n defaultMessage: 'Single Sign-On',\n })}\n subtitle={formatMessage({\n id: 'Settings.sso.subTitle',\n defaultMessage: 'Configure the settings for the Single Sign-On feature.',\n })}\n />\n <Box paddingLeft={10} paddingRight={10}>\n <EmptyStateLayout\n icon={<EmptyPermissions width=\"16rem\" />}\n content={formatMessage({\n id: 'Settings.sso.not-available',\n defaultMessage:\n 'SSO is only available as part of a paid plan. Upgrade to configure additional sign-in & sign-up methods for your administration panel.',\n })}\n action={\n <LinkButton\n variant=\"default\"\n endIcon={<ExternalLink />}\n href=\"https://strp.cc/46Fk1BA\"\n isExternal\n target=\"_blank\"\n >\n {formatMessage({\n id: 'global.learn-more',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n }\n />\n </Box>\n </Main>\n </Layouts.Root>\n );\n};\n\nexport { PurchaseSingleSignOn };\n"],"names":[],"mappings":";;;;;;;AAOA,MAAM,uBAAuB,MAAM;AACjC,EAAM,MAAA,EAAE,aAAc,EAAA,GAAI,OAAQ,EAAA,CAAA;AAElC,EAAA,uBACG,GAAA,CAAA,OAAA,CAAQ,IAAR,EAAA,EACC,+BAAC,IACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,OAAQ,CAAA,MAAA;AAAA,MAAR;AAAA,QACC,OAAO,aAAc,CAAA;AAAA,UACnB,EAAI,EAAA,oBAAA;AAAA,UACJ,cAAgB,EAAA,gBAAA;AAAA,SACjB,CAAA;AAAA,QACD,UAAU,aAAc,CAAA;AAAA,UACtB,EAAI,EAAA,uBAAA;AAAA,UACJ,cAAgB,EAAA,wDAAA;AAAA,SACjB,CAAA;AAAA,OAAA;AAAA,KACH;AAAA,oBACC,GAAA,CAAA,GAAA,EAAA,EAAI,WAAa,EAAA,EAAA,EAAI,cAAc,EAClC,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,gBAAA;AAAA,MAAA;AAAA,QACC,IAAM,kBAAA,GAAA,CAAC,gBAAiB,EAAA,EAAA,KAAA,EAAM,OAAQ,EAAA,CAAA;AAAA,QACtC,SAAS,aAAc,CAAA;AAAA,UACrB,EAAI,EAAA,4BAAA;AAAA,UACJ,cACE,EAAA,wIAAA;AAAA,SACH,CAAA;AAAA,QACD,MACE,kBAAA,GAAA;AAAA,UAAC,UAAA;AAAA,UAAA;AAAA,YACC,OAAQ,EAAA,SAAA;AAAA,YACR,OAAA,sBAAU,YAAa,EAAA,EAAA,CAAA;AAAA,YACvB,IAAK,EAAA,yBAAA;AAAA,YACL,UAAU,EAAA,IAAA;AAAA,YACV,MAAO,EAAA,QAAA;AAAA,YAEN,QAAc,EAAA,aAAA,CAAA;AAAA,cACb,EAAI,EAAA,mBAAA;AAAA,cACJ,cAAgB,EAAA,YAAA;AAAA,aACjB,CAAA;AAAA,WAAA;AAAA,SACH;AAAA,OAAA;AAAA,KAGN,EAAA,CAAA;AAAA,GAAA,EACF,CACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -7,7 +7,7 @@ const designSystem = require('@strapi/design-system');
|
|
|
7
7
|
const icons = require('@strapi/icons');
|
|
8
8
|
const symbols = require('@strapi/icons/symbols');
|
|
9
9
|
const reactIntl = require('react-intl');
|
|
10
|
-
const index = require('./index-
|
|
10
|
+
const index = require('./index-PPLoirnr.js');
|
|
11
11
|
|
|
12
12
|
const PurchaseSingleSignOn = () => {
|
|
13
13
|
const { formatMessage } = reactIntl.useIntl();
|
|
@@ -53,4 +53,4 @@ const PurchaseSingleSignOn = () => {
|
|
|
53
53
|
};
|
|
54
54
|
|
|
55
55
|
exports.PurchaseSingleSignOn = PurchaseSingleSignOn;
|
|
56
|
-
//# sourceMappingURL=PurchaseSingleSignOn-
|
|
56
|
+
//# sourceMappingURL=PurchaseSingleSignOn-HBKmhjTH.js.map
|