@strapi/admin 4.24.0 → 4.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{AdminSeatInfo-baht__p4.mjs → AdminSeatInfo-cKbM8kvI.mjs} +3 -3
- package/dist/_chunks/{AdminSeatInfo-baht__p4.mjs.map → AdminSeatInfo-cKbM8kvI.mjs.map} +1 -1
- package/dist/_chunks/{AdminSeatInfo-qX-0CQjt.js → AdminSeatInfo-pyBx72br.js} +3 -3
- package/dist/_chunks/{AdminSeatInfo-qX-0CQjt.js.map → AdminSeatInfo-pyBx72br.js.map} +1 -1
- package/dist/_chunks/{AuthenticatedApp-Y9iMz8Vz.js → AuthenticatedApp-9kONd5LP.js} +20 -20
- package/dist/_chunks/{AuthenticatedApp-Y9iMz8Vz.js.map → AuthenticatedApp-9kONd5LP.js.map} +1 -1
- package/dist/_chunks/{AuthenticatedApp-1bvzr1Q5.mjs → AuthenticatedApp-sMEn0FIG.mjs} +20 -20
- package/dist/_chunks/{AuthenticatedApp-1bvzr1Q5.mjs.map → AuthenticatedApp-sMEn0FIG.mjs.map} +1 -1
- package/dist/_chunks/{CreateActionEE-BtHYBzUF.mjs → CreateActionEE-JWg218Mx.mjs} +2 -2
- package/dist/_chunks/{CreateActionEE-BtHYBzUF.mjs.map → CreateActionEE-JWg218Mx.mjs.map} +1 -1
- package/dist/_chunks/{CreateActionEE-_dcu_sAD.js → CreateActionEE-llgsP6GG.js} +2 -2
- package/dist/_chunks/{CreateActionEE-_dcu_sAD.js.map → CreateActionEE-llgsP6GG.js.map} +1 -1
- package/dist/_chunks/{CreatePage-mZotR4tj.mjs → CreatePage-1qK_lewD.mjs} +8 -8
- package/dist/_chunks/{CreatePage-mZotR4tj.mjs.map → CreatePage-1qK_lewD.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-Cf16HmRc.mjs → CreatePage-2CvZuw2s.mjs} +6 -6
- package/dist/_chunks/{CreatePage-Cf16HmRc.mjs.map → CreatePage-2CvZuw2s.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-7yvcuo6E.js → CreatePage-4TuZ5JvH.js} +8 -8
- package/dist/_chunks/{CreatePage-7yvcuo6E.js.map → CreatePage-4TuZ5JvH.js.map} +1 -1
- package/dist/_chunks/{CreatePage-ELa8cKAu.mjs → CreatePage-9s1f9eRV.mjs} +3 -3
- package/dist/_chunks/{CreatePage-ELa8cKAu.mjs.map → CreatePage-9s1f9eRV.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-mhhl2LoU.js → CreatePage-N4sMG7CZ.js} +6 -6
- package/dist/_chunks/{CreatePage-mhhl2LoU.js.map → CreatePage-N4sMG7CZ.js.map} +1 -1
- package/dist/_chunks/{CreatePage-iKb_OqrC.js → CreatePage-pRSqvram.js} +3 -3
- package/dist/_chunks/{CreatePage-iKb_OqrC.js.map → CreatePage-pRSqvram.js.map} +1 -1
- package/dist/_chunks/{CreateView-81Stf8lD.js → CreateView-Av3Oi80N.js} +6 -6
- package/dist/_chunks/{CreateView-81Stf8lD.js.map → CreateView-Av3Oi80N.js.map} +1 -1
- package/dist/_chunks/{CreateView-j6lYzNai.mjs → CreateView-JSnWP1nr.mjs} +6 -6
- package/dist/_chunks/{CreateView-j6lYzNai.mjs.map → CreateView-JSnWP1nr.mjs.map} +1 -1
- package/dist/_chunks/{CreateView-gQCM3Hx2.js → CreateView-KYcik-3y.js} +6 -6
- package/dist/_chunks/{CreateView-gQCM3Hx2.js.map → CreateView-KYcik-3y.js.map} +1 -1
- package/dist/_chunks/{CreateView-9bCRXbzy.mjs → CreateView-Q1D43XPT.mjs} +6 -6
- package/dist/_chunks/{CreateView-9bCRXbzy.mjs.map → CreateView-Q1D43XPT.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-wRuHM5g2.mjs → EditPage-1oQB_ybR.mjs} +4 -4
- package/dist/_chunks/{EditPage-wRuHM5g2.mjs.map → EditPage-1oQB_ybR.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-AGrGzVTs.mjs → EditPage-1zzhTAkb.mjs} +6 -6
- package/dist/_chunks/{EditPage-AGrGzVTs.mjs.map → EditPage-1zzhTAkb.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-2wmenIdh.js → EditPage-F6ENQ_7v.js} +4 -4
- package/dist/_chunks/{EditPage-2wmenIdh.js.map → EditPage-F6ENQ_7v.js.map} +1 -1
- package/dist/_chunks/{EditPage-ZQ00gK10.js → EditPage-SpK2YHJ9.js} +6 -6
- package/dist/_chunks/{EditPage-ZQ00gK10.js.map → EditPage-SpK2YHJ9.js.map} +1 -1
- package/dist/_chunks/{EditPage-nmxOWvhR.js → EditPage-hc2BwI4v.js} +9 -9
- package/dist/_chunks/{EditPage-nmxOWvhR.js.map → EditPage-hc2BwI4v.js.map} +1 -1
- package/dist/_chunks/{EditPage-LVtJ6id2.js → EditPage-obOSpUc6.js} +6 -6
- package/dist/_chunks/{EditPage-LVtJ6id2.js.map → EditPage-obOSpUc6.js.map} +1 -1
- package/dist/_chunks/{EditPage-YtLiUF-k.mjs → EditPage-qSnWDV7_.mjs} +9 -9
- package/dist/_chunks/{EditPage-YtLiUF-k.mjs.map → EditPage-qSnWDV7_.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-x1DFXa27.mjs → EditPage-wIAsRhCK.mjs} +6 -6
- package/dist/_chunks/{EditPage-x1DFXa27.mjs.map → EditPage-wIAsRhCK.mjs.map} +1 -1
- package/dist/_chunks/{EditView-xBTjb8aZ.js → EditView-YplxCh76.js} +4 -4
- package/dist/_chunks/{EditView-xBTjb8aZ.js.map → EditView-YplxCh76.js.map} +1 -1
- package/dist/_chunks/{EditView-lSyHHn7m.mjs → EditView-zrXj5T-c.mjs} +4 -4
- package/dist/_chunks/{EditView-lSyHHn7m.mjs.map → EditView-zrXj5T-c.mjs.map} +1 -1
- package/dist/_chunks/{EditViewPage-WR_LUc00.js → EditViewPage-HC95kNgd.js} +4 -4
- package/dist/_chunks/{EditViewPage-WR_LUc00.js.map → EditViewPage-HC95kNgd.js.map} +1 -1
- package/dist/_chunks/{EditViewPage-t-SbTeP_.mjs → EditViewPage-awuXoCRr.mjs} +4 -4
- package/dist/_chunks/{EditViewPage-t-SbTeP_.mjs.map → EditViewPage-awuXoCRr.mjs.map} +1 -1
- package/dist/_chunks/{EventsTable-CasKV6Wo.mjs → EventsTable-4vNRxK-S.mjs} +6 -6
- package/dist/_chunks/{EventsTable-CasKV6Wo.mjs.map → EventsTable-4vNRxK-S.mjs.map} +1 -1
- package/dist/_chunks/{EventsTable-pCjhmpr-.js → EventsTable-_LhZe7re.js} +6 -6
- package/dist/_chunks/{EventsTable-pCjhmpr-.js.map → EventsTable-_LhZe7re.js.map} +1 -1
- package/dist/_chunks/{HomePage-_sDXeQzc.js → HomePage-YJFJpQMu.js} +5 -5
- package/dist/_chunks/{HomePage-_sDXeQzc.js.map → HomePage-YJFJpQMu.js.map} +1 -1
- package/dist/_chunks/{HomePage-sezprZrl.mjs → HomePage-fMxSIEsd.mjs} +5 -5
- package/dist/_chunks/{HomePage-sezprZrl.mjs.map → HomePage-fMxSIEsd.mjs.map} +1 -1
- package/dist/_chunks/{HomePage-jl-YPaTW.js → HomePage-tbMtKZ5S.js} +6 -6
- package/dist/_chunks/{HomePage-jl-YPaTW.js.map → HomePage-tbMtKZ5S.js.map} +1 -1
- package/dist/_chunks/{HomePage-NkR9ZvAc.mjs → HomePage-uz2pWbR8.mjs} +6 -6
- package/dist/_chunks/{HomePage-NkR9ZvAc.mjs.map → HomePage-uz2pWbR8.mjs.map} +1 -1
- package/dist/_chunks/{InformationBoxEE-9jiLQKsv.js → InformationBoxEE-FTugJx5y.js} +3 -3
- package/dist/_chunks/{InformationBoxEE-9jiLQKsv.js.map → InformationBoxEE-FTugJx5y.js.map} +1 -1
- package/dist/_chunks/{InformationBoxEE-wE6AABS2.mjs → InformationBoxEE-iERsuegv.mjs} +3 -3
- package/dist/_chunks/{InformationBoxEE-wE6AABS2.mjs.map → InformationBoxEE-iERsuegv.mjs.map} +1 -1
- package/dist/_chunks/{InstalledPluginsPage-seE0Eqig.mjs → InstalledPluginsPage-fHk7YMKM.mjs} +3 -3
- package/dist/_chunks/{InstalledPluginsPage-seE0Eqig.mjs.map → InstalledPluginsPage-fHk7YMKM.mjs.map} +1 -1
- package/dist/_chunks/{InstalledPluginsPage-I7ATcL7V.js → InstalledPluginsPage-yQJCBWcd.js} +3 -3
- package/dist/_chunks/{InstalledPluginsPage-I7ATcL7V.js.map → InstalledPluginsPage-yQJCBWcd.js.map} +1 -1
- package/dist/_chunks/{Layout-RPMYu4vZ.js → Layout-1AJukXSa.js} +2 -2
- package/dist/_chunks/{Layout-RPMYu4vZ.js.map → Layout-1AJukXSa.js.map} +1 -1
- package/dist/_chunks/{Layout-T5jhM0f1.mjs → Layout-L5IGgYl9.mjs} +2 -2
- package/dist/_chunks/{Layout-T5jhM0f1.mjs.map → Layout-L5IGgYl9.mjs.map} +1 -1
- package/dist/_chunks/{ListPage--YXPT56Z.js → ListPage--ku74hPe.js} +3 -3
- package/dist/_chunks/{ListPage--YXPT56Z.js.map → ListPage--ku74hPe.js.map} +1 -1
- package/dist/_chunks/{ListPage-obRxh2vF.mjs → ListPage-Asr3_NSR.mjs} +4 -4
- package/dist/_chunks/{ListPage-obRxh2vF.mjs.map → ListPage-Asr3_NSR.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-3dl4UmNV.js → ListPage-HIeUaGJt.js} +4 -4
- package/dist/_chunks/{ListPage-3dl4UmNV.js.map → ListPage-HIeUaGJt.js.map} +1 -1
- package/dist/_chunks/{ListPage-BXhrxrwu.js → ListPage-PplJ33CZ.js} +2 -2
- package/dist/_chunks/{ListPage-BXhrxrwu.js.map → ListPage-PplJ33CZ.js.map} +1 -1
- package/dist/_chunks/{ListPage-VIQ_6GhS.js → ListPage-QtaoNrK6.js} +8 -8
- package/dist/_chunks/{ListPage-VIQ_6GhS.js.map → ListPage-QtaoNrK6.js.map} +1 -1
- package/dist/_chunks/{ListPage-IhrefFkq.js → ListPage-R_vY34Z8.js} +7 -7
- package/dist/_chunks/{ListPage-IhrefFkq.js.map → ListPage-R_vY34Z8.js.map} +1 -1
- package/dist/_chunks/{ListPage-X_qsEedx.mjs → ListPage-dJ5LoxEG.mjs} +8 -8
- package/dist/_chunks/{ListPage-X_qsEedx.mjs.map → ListPage-dJ5LoxEG.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-ObE9A9PL.mjs → ListPage-dSxW7zGR.mjs} +2 -2
- package/dist/_chunks/{ListPage-ObE9A9PL.mjs.map → ListPage-dSxW7zGR.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-Duuzsllg.mjs → ListPage-gH7NTmzw.mjs} +6 -6
- package/dist/_chunks/{ListPage-Duuzsllg.mjs.map → ListPage-gH7NTmzw.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-Rjq5kfS9.mjs → ListPage-jukX-rcq.mjs} +3 -3
- package/dist/_chunks/{ListPage-Rjq5kfS9.mjs.map → ListPage-jukX-rcq.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-T8KjKFcP.mjs → ListPage-u7Dy3pFw.mjs} +7 -7
- package/dist/_chunks/{ListPage-T8KjKFcP.mjs.map → ListPage-u7Dy3pFw.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-IOsQUTym.js → ListPage-wCETa9bA.js} +6 -6
- package/dist/_chunks/{ListPage-IOsQUTym.js.map → ListPage-wCETa9bA.js.map} +1 -1
- package/dist/_chunks/{ListView-9Fuidc0O.js → ListView--oYSWTMj.js} +3 -3
- package/dist/_chunks/{ListView-9Fuidc0O.js.map → ListView--oYSWTMj.js.map} +1 -1
- package/dist/_chunks/{ListView-EeihEDzI.mjs → ListView-8acfdhwB.mjs} +3 -3
- package/dist/_chunks/{ListView-EeihEDzI.mjs.map → ListView-8acfdhwB.mjs.map} +1 -1
- package/dist/_chunks/{ListView-IGOl_Ttx.mjs → ListView-_WGm0UfE.mjs} +3 -3
- package/dist/_chunks/{ListView-IGOl_Ttx.mjs.map → ListView-_WGm0UfE.mjs.map} +1 -1
- package/dist/_chunks/{ListView-J1kXpd9_.js → ListView-a8tgfYZR.js} +3 -3
- package/dist/_chunks/{ListView-J1kXpd9_.js.map → ListView-a8tgfYZR.js.map} +1 -1
- package/dist/_chunks/{Login-V2KjxNho.mjs → Login-H7Cb-b9u.mjs} +2 -2
- package/dist/_chunks/{Login-V2KjxNho.mjs.map → Login-H7Cb-b9u.mjs.map} +1 -1
- package/dist/_chunks/{Login-ELNTm2b9.js → Login-JJSG3Q17.js} +2 -2
- package/dist/_chunks/{Login-ELNTm2b9.js.map → Login-JJSG3Q17.js.map} +1 -1
- package/dist/_chunks/{MagicLinkEE-cF19bu12.js → MagicLinkEE-QrxWwK3J.js} +4 -4
- package/dist/_chunks/{MagicLinkEE-cF19bu12.js.map → MagicLinkEE-QrxWwK3J.js.map} +1 -1
- package/dist/_chunks/{MagicLinkEE-Usx_Cr3U.mjs → MagicLinkEE-h2AfSkky.mjs} +4 -4
- package/dist/_chunks/{MagicLinkEE-Usx_Cr3U.mjs.map → MagicLinkEE-h2AfSkky.mjs.map} +1 -1
- package/dist/_chunks/{MarketplacePage-kAW50RDU.js → MarketplacePage-HXV33aGR.js} +3 -3
- package/dist/_chunks/{MarketplacePage-kAW50RDU.js.map → MarketplacePage-HXV33aGR.js.map} +1 -1
- package/dist/_chunks/{MarketplacePage-4My8gv63.mjs → MarketplacePage-Mv65CBzK.mjs} +3 -3
- package/dist/_chunks/{MarketplacePage-4My8gv63.mjs.map → MarketplacePage-Mv65CBzK.mjs.map} +1 -1
- package/dist/_chunks/{Permissions-hc2wCfJC.js → Permissions-U7Gfxm78.js} +2 -2
- package/dist/_chunks/{Permissions-hc2wCfJC.js.map → Permissions-U7Gfxm78.js.map} +1 -1
- package/dist/_chunks/{Permissions--JAQnj8U.mjs → Permissions-o5FsqSEN.mjs} +2 -2
- package/dist/_chunks/{Permissions--JAQnj8U.mjs.map → Permissions-o5FsqSEN.mjs.map} +1 -1
- package/dist/_chunks/{ProfilePage-BQVnvSEP.js → ProfilePage-HNl8o56h.js} +3 -3
- package/dist/_chunks/{ProfilePage-BQVnvSEP.js.map → ProfilePage-HNl8o56h.js.map} +1 -1
- package/dist/_chunks/{ProfilePage-fStKoBCy.mjs → ProfilePage-yu1ayyHY.mjs} +3 -3
- package/dist/_chunks/{ProfilePage-fStKoBCy.mjs.map → ProfilePage-yu1ayyHY.mjs.map} +1 -1
- package/dist/_chunks/{ReviewWorkflowsColumn-Z_Y-GwwU.mjs → ReviewWorkflowsColumn-HWKasziL.mjs} +2 -2
- package/dist/_chunks/{ReviewWorkflowsColumn-Z_Y-GwwU.mjs.map → ReviewWorkflowsColumn-HWKasziL.mjs.map} +1 -1
- package/dist/_chunks/{ReviewWorkflowsColumn-t5wJMgd1.js → ReviewWorkflowsColumn-eNxSowxH.js} +2 -2
- package/dist/_chunks/{ReviewWorkflowsColumn-t5wJMgd1.js.map → ReviewWorkflowsColumn-eNxSowxH.js.map} +1 -1
- package/dist/_chunks/{SelectRoles-s0zAwyI1.js → SelectRoles-fcY2TRKH.js} +3 -3
- package/dist/_chunks/{SelectRoles-s0zAwyI1.js.map → SelectRoles-fcY2TRKH.js.map} +1 -1
- package/dist/_chunks/{SelectRoles-37DhImbF.mjs → SelectRoles-lGIENydS.mjs} +3 -3
- package/dist/_chunks/{SelectRoles-37DhImbF.mjs.map → SelectRoles-lGIENydS.mjs.map} +1 -1
- package/dist/_chunks/{SettingsPage-jAw0VanW.mjs → SettingsPage-AdHfj5GW.mjs} +21 -21
- package/dist/_chunks/{SettingsPage-jAw0VanW.mjs.map → SettingsPage-AdHfj5GW.mjs.map} +1 -1
- package/dist/_chunks/{SettingsPage-ZQVxz6c_.js → SettingsPage-mAb9sKT9.js} +21 -21
- package/dist/_chunks/{SettingsPage-ZQVxz6c_.js.map → SettingsPage-mAb9sKT9.js.map} +1 -1
- package/dist/_chunks/{SingleSignOnPage-Llhpgs4h.js → SingleSignOnPage-m31WC3pK.js} +3 -3
- package/dist/_chunks/{SingleSignOnPage-Llhpgs4h.js.map → SingleSignOnPage-m31WC3pK.js.map} +1 -1
- package/dist/_chunks/{SingleSignOnPage-mgsv3d_n.mjs → SingleSignOnPage-xe2YbAsv.mjs} +3 -3
- package/dist/_chunks/{SingleSignOnPage-mgsv3d_n.mjs.map → SingleSignOnPage-xe2YbAsv.mjs.map} +1 -1
- package/dist/_chunks/{TokenTypeSelect-Fmn4QPjT.mjs → TokenTypeSelect-VqdmzXA_.mjs} +2 -2
- package/dist/_chunks/{TokenTypeSelect-Fmn4QPjT.mjs.map → TokenTypeSelect-VqdmzXA_.mjs.map} +1 -1
- package/dist/_chunks/{TokenTypeSelect-F0S1lqRQ.js → TokenTypeSelect-X2ULS8wc.js} +2 -2
- package/dist/_chunks/{TokenTypeSelect-F0S1lqRQ.js.map → TokenTypeSelect-X2ULS8wc.js.map} +1 -1
- package/dist/_chunks/{apiTokens-n78jdg__.js → apiTokens-82n35OFR.js} +2 -2
- package/dist/_chunks/{apiTokens-n78jdg__.js.map → apiTokens-82n35OFR.js.map} +1 -1
- package/dist/_chunks/{apiTokens-uUzZfvcv.mjs → apiTokens-GZPZS8MW.mjs} +2 -2
- package/dist/_chunks/{apiTokens-uUzZfvcv.mjs.map → apiTokens-GZPZS8MW.mjs.map} +1 -1
- package/dist/_chunks/{constants-TGjbMcDI.js → constants-3wB1UhYD.js} +2 -2
- package/dist/_chunks/{constants-TGjbMcDI.js.map → constants-3wB1UhYD.js.map} +1 -1
- package/dist/_chunks/{constants-6TWBl1rG.mjs → constants-4SP3TBnI.mjs} +6 -6
- package/dist/_chunks/{constants-6TWBl1rG.mjs.map → constants-4SP3TBnI.mjs.map} +1 -1
- package/dist/_chunks/{constants-5e1wSMi0.mjs → constants-4rk-q6TX.mjs} +2 -2
- package/dist/_chunks/{constants-5e1wSMi0.mjs.map → constants-4rk-q6TX.mjs.map} +1 -1
- package/dist/_chunks/{constants-SgICGbZq.mjs → constants-LwQ2Ofil.mjs} +2 -2
- package/dist/_chunks/{constants-SgICGbZq.mjs.map → constants-LwQ2Ofil.mjs.map} +1 -1
- package/dist/_chunks/{constants-N5hDd0EM.js → constants-X171CMX-.js} +6 -6
- package/dist/_chunks/{constants-N5hDd0EM.js.map → constants-X171CMX-.js.map} +1 -1
- package/dist/_chunks/{constants-NOAVPQlA.js → constants-n2SnaxpT.js} +2 -2
- package/dist/_chunks/{constants-NOAVPQlA.js.map → constants-n2SnaxpT.js.map} +1 -1
- package/dist/_chunks/{constants-4FtcTchf.mjs → constants-rwBV5bIU.mjs} +4 -4
- package/dist/_chunks/{constants-4FtcTchf.mjs.map → constants-rwBV5bIU.mjs.map} +1 -1
- package/dist/_chunks/{constants-Yv2EwjLp.js → constants-ycjYcL0v.js} +4 -4
- package/dist/_chunks/{constants-Yv2EwjLp.js.map → constants-ycjYcL0v.js.map} +1 -1
- package/dist/_chunks/{index-4YzOQVoA.js → index-WJOOvkDD.js} +39 -58
- package/dist/_chunks/index-WJOOvkDD.js.map +1 -0
- package/dist/_chunks/{index-BUBFJHNU.mjs → index-jPSc5477.mjs} +39 -58
- package/dist/_chunks/index-jPSc5477.mjs.map +1 -0
- package/dist/_chunks/{reviewWorkflows-qy3CJovl.mjs → reviewWorkflows-gLpmSc-P.mjs} +2 -2
- package/dist/_chunks/{reviewWorkflows-qy3CJovl.mjs.map → reviewWorkflows-gLpmSc-P.mjs.map} +1 -1
- package/dist/_chunks/{reviewWorkflows-Ws8PyfNr.js → reviewWorkflows-ksEl2Csi.js} +2 -2
- package/dist/_chunks/{reviewWorkflows-Ws8PyfNr.js.map → reviewWorkflows-ksEl2Csi.js.map} +1 -1
- package/dist/_chunks/{transferTokens-fajjpmkK.mjs → transferTokens-fYJp5ok3.mjs} +2 -2
- package/dist/_chunks/{transferTokens-fajjpmkK.mjs.map → transferTokens-fYJp5ok3.mjs.map} +1 -1
- package/dist/_chunks/{transferTokens-6tGpamt4.js → transferTokens-suC3-N9k.js} +2 -2
- package/dist/_chunks/{transferTokens-6tGpamt4.js.map → transferTokens-suC3-N9k.js.map} +1 -1
- package/dist/_chunks/{useAdminRoles-E4cyXpHf.mjs → useAdminRoles-S0VLTy6d.mjs} +2 -2
- package/dist/_chunks/{useAdminRoles-E4cyXpHf.mjs.map → useAdminRoles-S0VLTy6d.mjs.map} +1 -1
- package/dist/_chunks/{useAdminRoles-UTTVNLsH.js → useAdminRoles-rzx-BOWF.js} +2 -2
- package/dist/_chunks/{useAdminRoles-UTTVNLsH.js.map → useAdminRoles-rzx-BOWF.js.map} +1 -1
- package/dist/_chunks/{useContentTypes-QsqpkAQZ.mjs → useContentTypes-9lPhF1tf.mjs} +2 -2
- package/dist/_chunks/{useContentTypes-QsqpkAQZ.mjs.map → useContentTypes-9lPhF1tf.mjs.map} +1 -1
- package/dist/_chunks/{useContentTypes-Av8tl93h.js → useContentTypes-CGkh8E2r.js} +2 -2
- package/dist/_chunks/{useContentTypes-Av8tl93h.js.map → useContentTypes-CGkh8E2r.js.map} +1 -1
- package/dist/_chunks/{useLicenseLimitNotification-4gWCeTbb.mjs → useLicenseLimitNotification-4XtO7tSc.mjs} +2 -2
- package/dist/_chunks/{useLicenseLimitNotification-4gWCeTbb.mjs.map → useLicenseLimitNotification-4XtO7tSc.mjs.map} +1 -1
- package/dist/_chunks/{useLicenseLimitNotification-E8vXmLt2.js → useLicenseLimitNotification-pFWrPKCC.js} +2 -2
- package/dist/_chunks/{useLicenseLimitNotification-E8vXmLt2.js.map → useLicenseLimitNotification-pFWrPKCC.js.map} +1 -1
- package/dist/_chunks/{useReviewWorkflows-jJBvcKyK.mjs → useReviewWorkflows-uyrpgZeG.mjs} +2 -2
- package/dist/_chunks/{useReviewWorkflows-jJBvcKyK.mjs.map → useReviewWorkflows-uyrpgZeG.mjs.map} +1 -1
- package/dist/_chunks/{useReviewWorkflows-4WF-t0do.js → useReviewWorkflows-vGqBbIF4.js} +2 -2
- package/dist/_chunks/{useReviewWorkflows-4WF-t0do.js.map → useReviewWorkflows-vGqBbIF4.js.map} +1 -1
- package/dist/_chunks/{useWebhooks-eL42wqFn.mjs → useWebhooks-Lb4ugXPu.mjs} +2 -2
- package/dist/_chunks/{useWebhooks-eL42wqFn.mjs.map → useWebhooks-Lb4ugXPu.mjs.map} +1 -1
- package/dist/_chunks/{useWebhooks-8Ang4NeH.js → useWebhooks-WKx90f9K.js} +2 -2
- package/dist/_chunks/{useWebhooks-8Ang4NeH.js.map → useWebhooks-WKx90f9K.js.map} +1 -1
- package/dist/_chunks/{validateWorkflow-6MEiSixp.mjs → validateWorkflow-ZCzTSTMU.mjs} +2 -2
- package/dist/_chunks/{validateWorkflow-6MEiSixp.mjs.map → validateWorkflow-ZCzTSTMU.mjs.map} +1 -1
- package/dist/_chunks/{validateWorkflow-eJSq08CE.js → validateWorkflow-cjgWciUT.js} +2 -2
- package/dist/_chunks/{validateWorkflow-eJSq08CE.js.map → validateWorkflow-cjgWciUT.js.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/PublishAction.d.ts +3 -5
- package/dist/ee/server/index.js +5 -10
- package/dist/ee/server/index.js.map +1 -1
- package/dist/ee/server/index.mjs +5 -10
- package/dist/ee/server/index.mjs.map +1 -1
- package/dist/server/index.js +34 -35
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +34 -35
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/services/index.d.ts +7 -2
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/metrics.d.ts +8 -6
- package/dist/server/src/services/metrics.d.ts.map +1 -1
- package/package.json +12 -12
- package/strapi-server.js +1 -0
- package/dist/_chunks/index-4YzOQVoA.js.map +0 -1
- package/dist/_chunks/index-BUBFJHNU.mjs.map +0 -1
|
@@ -11,8 +11,8 @@ const reactHelmet = require("react-helmet");
|
|
|
11
11
|
const reactIntl = require("react-intl");
|
|
12
12
|
const styled = require("styled-components");
|
|
13
13
|
const yup = require("yup");
|
|
14
|
-
const index = require("./index-
|
|
15
|
-
const AuthenticatedApp = require("./AuthenticatedApp-
|
|
14
|
+
const index = require("./index-WJOOvkDD.js");
|
|
15
|
+
const AuthenticatedApp = require("./AuthenticatedApp-9kONd5LP.js");
|
|
16
16
|
const validation = require("./validation-j25hbp81.js");
|
|
17
17
|
require("react-dom/client");
|
|
18
18
|
require("invariant");
|
|
@@ -666,4 +666,4 @@ const UserInfoSection = ({ errors, onChange, values }) => {
|
|
|
666
666
|
);
|
|
667
667
|
};
|
|
668
668
|
exports.ProfilePage = ProfilePage;
|
|
669
|
-
//# sourceMappingURL=ProfilePage-
|
|
669
|
+
//# sourceMappingURL=ProfilePage-HNl8o56h.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfilePage-BQVnvSEP.js","sources":["../../admin/src/pages/ProfilePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n HeaderLayout,\n Main,\n useNotifyAT,\n Grid,\n GridItem,\n Typography,\n SingleSelect,\n SingleSelectOption,\n TextInput,\n FieldAction,\n} from '@strapi/design-system';\nimport {\n Form,\n GenericInput,\n GenericInputProps,\n LoadingIndicatorPage,\n pxToRem,\n translatedErrors,\n useFocusWhenNavigate,\n useNotification,\n useOverlayBlocker,\n useTracking,\n useAPIErrorHandler,\n} from '@strapi/helper-plugin';\nimport { Check, Eye, EyeStriked } from '@strapi/icons';\nimport { Formik, FormikHelpers } from 'formik';\nimport upperFirst from 'lodash/upperFirst';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\nimport * as yup from 'yup';\n\nimport { useTypedDispatch, useTypedSelector } from '../core/store/hooks';\nimport { useAuth } from '../features/Auth';\nimport { AppState, setAppTheme } from '../reducer';\nimport { useIsSSOLockedQuery, useUpdateMeMutation } from '../services/auth';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { getFullName } from '../utils/getFullName';\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(translatedErrors.required)\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 { lockApp, unlockApp } = useOverlayBlocker();\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 useFocusWhenNavigate();\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: 'warning',\n message: { 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: 'warning',\n message: { id: 'Settings.permissions.users.sso.provider.error' },\n });\n }\n }, [error, 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 }: FormikHelpers<UpdateUsersMeBody>\n ) => {\n // @ts-expect-error – we're going to implement a context assertion to avoid this\n lockApp();\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: { id: 'notification.success.saved', defaultMessage: 'Saved' },\n });\n }\n\n if ('error' in res) {\n if (\n isBaseQueryError(res.error) &&\n (res.error.name === 'ValidationError' || res.error.message === 'ValidationError')\n ) {\n // @ts-expect-error – We get a BadRequest error here instead of a ValidationError if the currentPassword is wrong.\n setErrors(formatValidationErrors(res.error));\n } else if (isBaseQueryError(res.error)) {\n toggleNotification({\n type: 'warning',\n message: formatApiError(res.error),\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n }\n\n unlockApp?.();\n };\n\n if (isLoading) {\n return (\n <Main aria-busy=\"true\">\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.profile.form.section.profile.page.title',\n defaultMessage: 'Profile page',\n })}\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n }\n\n const hasLockedRole = dataSSO?.isSSOLocked ?? false;\n const { email, firstname, lastname, username, preferedLanguage } = user ?? {};\n const initialData = {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n confirmPassword: '',\n password: '',\n };\n\n return (\n <Main aria-busy={isSubmittingForm}>\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <Formik\n onSubmit={handleSubmit}\n initialValues={initialData}\n validateOnChange={false}\n validationSchema={PROFILE_VALIDTION_SCHEMA}\n enableReinitialize\n >\n {({\n errors,\n values: {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n ...passwordValues\n },\n handleChange,\n isSubmitting,\n dirty,\n }) => {\n return (\n <Form>\n <HeaderLayout\n title={username || getFullName(firstname ?? '', lastname)}\n primaryAction={\n <Button\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n disabled={!dirty}\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Box paddingBottom={10}>\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <UserInfoSection\n errors={errors}\n onChange={handleChange}\n values={{\n firstname,\n lastname,\n username,\n email,\n }}\n />\n {!hasLockedRole && (\n <PasswordSection\n errors={errors}\n onChange={handleChange}\n values={passwordValues}\n />\n )}\n <PreferencesSection\n onChange={handleChange}\n values={{\n preferedLanguage,\n currentTheme,\n }}\n localeNames={localeNames}\n />\n </Flex>\n </ContentLayout>\n </Box>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PasswordSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PasswordSectionProps {\n errors: { currentPassword?: string; password?: string; confirmPassword?: string };\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n values: {\n currentPassword?: string;\n password?: string;\n confirmPassword?: string;\n };\n}\n\nconst PasswordSection = ({ errors, onChange, values }: PasswordSectionProps) => {\n const { formatMessage } = useIntl();\n const [currentPasswordShown, setCurrentPasswordShown] = React.useState(false);\n const [passwordShown, setPasswordShown] = React.useState(false);\n const [passwordConfirmShown, setPasswordConfirmShown] = React.useState(false);\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\" as=\"h2\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <TextInput\n error={\n errors.currentPassword\n ? formatMessage({\n id: errors.currentPassword,\n defaultMessage: errors.currentPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.currentPassword}\n label={formatMessage({\n id: 'Auth.form.currentPassword.label',\n defaultMessage: 'Current Password',\n })}\n name=\"currentPassword\"\n type={currentPasswordShown ? 'text' : 'password'}\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setCurrentPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n currentPasswordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {currentPasswordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.password\n ? formatMessage({\n id: errors.password,\n defaultMessage: errors.password,\n })\n : ''\n }\n onChange={onChange}\n value={values.password}\n label={formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n })}\n name=\"password\"\n type={passwordShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.confirmPassword\n ? formatMessage({\n id: errors.confirmPassword,\n defaultMessage: errors.confirmPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.confirmPassword}\n label={formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n })}\n name=\"confirmPassword\"\n type={passwordConfirmShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordConfirmShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordConfirmShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordConfirmShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nconst PasswordInput = styled(TextInput)`\n ::-ms-reveal {\n display: none;\n }\n`;\n\n// Wrapper of the Eye Icon able to show or hide the Password inside the field\nconst FieldActionWrapper = styled(FieldAction)`\n svg {\n height: ${pxToRem(16)};\n width: ${pxToRem(16)};\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PreferencesSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreferencesSectionProps extends Pick<GenericInputProps, 'onChange'> {\n values: {\n preferedLanguage?: string;\n currentTheme?: string;\n };\n localeNames: Record<string, string>;\n}\n\nconst PreferencesSection = ({ onChange, values, 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\" as=\"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 as=\"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 gap={5}>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage',\n defaultMessage: 'Interface language',\n })}\n placeholder={formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\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 onClear={() => {\n onChange({\n target: { name: 'preferedLanguage', value: null },\n });\n }}\n clearLabel={formatMessage({\n id: 'Settings.profile.form.section.experience.clear.select',\n defaultMessage: 'Clear the interface language selected',\n })}\n value={values.preferedLanguage}\n onChange={(e) => {\n onChange({\n target: { name: 'preferedLanguage', value: e },\n });\n }}\n >\n {Object.entries(localeNames).map(([language, langName]) => (\n <SingleSelectOption value={language} key={language}>\n {langName}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.label',\n defaultMessage: 'Interface mode',\n })}\n placeholder={formatMessage({\n id: 'components.Select.placeholder',\n defaultMessage: 'Select',\n })}\n hint={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.hint',\n defaultMessage: 'Displays your interface in the chosen mode.',\n })}\n value={values.currentTheme}\n onChange={(e) => {\n onChange({\n target: { name: 'currentTheme', value: e },\n });\n }}\n >\n <SingleSelectOption value=\"system\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.mode.option-system-label',\n defaultMessage: 'Use system settings',\n })}\n </SingleSelectOption>\n {themesToDisplay.map((theme) => (\n <SingleSelectOption value={theme} key={theme}>\n {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 </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UserInfoSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface UserInfoSectionProps extends Pick<GenericInputProps, 'onChange'> {\n errors: { firstname?: string; lastname?: string; username?: string; email?: string };\n values: {\n firstname?: string;\n lastname?: string;\n username?: string;\n email?: string;\n };\n}\n\nconst UserInfoSection = ({ errors, onChange, values }: UserInfoSectionProps) => {\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\" as=\"h2\">\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n }}\n error={errors.firstname}\n onChange={onChange}\n value={values.firstname}\n type=\"text\"\n name=\"firstname\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n }}\n error={errors.lastname}\n onChange={onChange}\n value={values.lastname}\n type=\"text\"\n name=\"lastname\"\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{ id: 'Auth.form.email.label', defaultMessage: 'Email' }}\n error={errors.email}\n onChange={onChange}\n value={values.email}\n type=\"email\"\n name=\"email\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n }}\n error={errors.username}\n onChange={onChange}\n value={values.username}\n type=\"text\"\n name=\"username\"\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nexport { ProfilePage };\n"],"names":["yup","COMMON_USER_SCHEMA","translatedErrors","useTypedSelector","useIntl","useTracking","useNotification","useOverlayBlocker","useNotifyAT","useTypedDispatch","useAPIErrorHandler","useFocusWhenNavigate","useAuth","React","useUpdateMeMutation","useIsSSOLockedQuery","currentTheme","setAppTheme","isBaseQueryError","jsxs","Main","jsx","Helmet","HeaderLayout","ContentLayout","LoadingIndicatorPage","Formik","email","firstname","lastname","username","preferedLanguage","Form","getFullName","Button","Check","Box","Flex","Typography","Grid","GridItem","TextInput","Eye","EyeStriked","styled","FieldAction","pxToRem","SingleSelect","SingleSelectOption","upperFirst","GenericInput"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDA,MAAM,2BAA2BA,eAAI,OAAO,EAAE,MAAM;AAAA,EAClD,GAAGC,WAAA;AAAA,EACH,iBAAiBD,eACd,OAAO,EAEP,KAAK,CAAC,YAAY,iBAAiB,GAAG,CAAC,UAAU,iBAAiB,eAAe;AAChF,WAAO,YAAY,kBACf,WAAW,SAASE,8BAAiB,QAAQ,IAC7C;AAAA,EAAA,CACL;AAAA,EACH,kBAAkBF,eAAI,OAAO,EAAE,SAAS;AAC1C,CAAC;AAMD,MAAM,cAAc,MAAM;AACxB,QAAM,cAAcG,MAAiB,iBAAA,CAAC,UAAU,MAAM,UAAU,SAAS,WAAW;AAC9E,QAAA,EAAE,kBAAkBC,UAAAA;AACpB,QAAA,EAAE,eAAeC,aAAAA;AACvB,QAAM,qBAAqBC,aAAAA;AAC3B,QAAM,EAAE,SAAS,UAAU,IAAIC,aAAkB,kBAAA;AAC3C,QAAA,EAAE,iBAAiBC,aAAAA;AACzB,QAAM,eAAeL,MAAiB,iBAAA,CAAC,UAAU,MAAM,UAAU,MAAM,YAAY;AACnF,QAAM,WAAWM,MAAAA;AACX,QAAA;AAAA,IACJ,iCAAiC;AAAA,IACjC,yBAAyB;AAAA,MACvBC,aAAmB,mBAAA;AAEFC,eAAAA;AAErB,QAAM,OAAOC,MAAAA,QAAQ,eAAe,CAAC,UAAU,MAAM,IAAI;AAEzDC,mBAAM,UAAU,MAAM;AACpB,QAAI,MAAM;AACR;AAAA,QACE,cAAc;AAAA,UACZ,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAAA,IACH,OACK;AACc,yBAAA;AAAA,QACjB,MAAM;AAAA,QACN,SAAS,EAAE,IAAI,sBAAsB,gBAAgB,mBAAmB;AAAA,MAAA,CACzE;AAAA,IACH;AAAA,KACC,CAAC,eAAe,cAAc,oBAAoB,IAAI,CAAC;AAE1D,QAAM,CAAC,UAAU,EAAE,WAAW,iBAAkB,CAAA,IAAIC,MAAAA;AAE9C,QAAA;AAAA,IACJ;AAAA,IACA,MAAM;AAAA,IACN;AAAA,EAAA,IACEC,MAAAA,oBAAoB,QAAW;AAAA,IACjC,MAAM,EAAE,OAAO,OAAO,QAAQ,OAAO,OAAO,SAAS,UAAU,KAAK;AAAA,EAAA,CACrE;AAEDF,mBAAM,UAAU,MAAM;AACpB,QAAI,OAAO;AACU,yBAAA;AAAA,QACjB,MAAM;AAAA,QACN,SAAS,EAAE,IAAI,gDAAgD;AAAA,MAAA,CAChE;AAAA,IACH;AAAA,EAAA,GACC,CAAC,OAAO,kBAAkB,CAAC;AAO9B,QAAM,eAAe,OACnB,MACA,EAAE,gBACC;AAEK;AAER,UAAM,EAAE,iBAAiB,kBAAkB,cAAAG,eAAc,GAAG,SAAa,IAAA;AACzE,QAAI,aAAa;AAIb,QAAA,WAAW,aAAa,IAAI;AACxB,YAAA;AAAA,QACJ,UAAU;AAAA,QACV,iBAAiB;AAAA,QACjB,GAAG;AAAA,MACD,IAAA;AACS,mBAAA;AAAA,IACf;AAEM,UAAA,MAAM,MAAM,SAAS,UAAU;AAErC,QAAI,UAAU,KAAK;AACR,eAAAC,MAAAA,YAAYD,aAAY,CAAC;AAElC,iBAAW,iBAAiB,EAAE,SAASA,cAAc,CAAA;AAElC,yBAAA;AAAA,QACjB,MAAM;AAAA,QACN,SAAS,EAAE,IAAI,8BAA8B,gBAAgB,QAAQ;AAAA,MAAA,CACtE;AAAA,IACH;AAEA,QAAI,WAAW,KAAK;AAEhB,UAAAE,MAAA,iBAAiB,IAAI,KAAK,MACzB,IAAI,MAAM,SAAS,qBAAqB,IAAI,MAAM,YAAY,oBAC/D;AAEU,kBAAA,uBAAuB,IAAI,KAAK,CAAC;AAAA,MAClC,WAAAA,MAAA,iBAAiB,IAAI,KAAK,GAAG;AACnB,2BAAA;AAAA,UACjB,MAAM;AAAA,UACN,SAAS,eAAe,IAAI,KAAK;AAAA,QAAA,CAClC;AAAA,MAAA,OACI;AACc,2BAAA;AAAA,UACjB,MAAM;AAAA,UACN,SAAS,EAAE,IAAI,sBAAsB,gBAAgB,mBAAmB;AAAA,QAAA,CACzE;AAAA,MACH;AAAA,IACF;AAEY;EAAA;AAGd,MAAI,WAAW;AAEX,WAAAC,2BAAA,KAACC,aAAK,MAAA,EAAA,aAAU,QACd,UAAA;AAAA,MAAAC,2BAAA;AAAA,QAACC,YAAA;AAAA,QAAA;AAAA,UACC,OAAO,cAAc;AAAA,YACnB,IAAI;AAAA,YACJ,gBAAgB;AAAA,UAAA,CACjB;AAAA,QAAA;AAAA,MACH;AAAA,MACAD,2BAAA;AAAA,QAACE,aAAA;AAAA,QAAA;AAAA,UACC,OAAO,cAAc;AAAA,YACnB,IAAI;AAAA,YACJ,gBAAgB;AAAA,UAAA,CACjB;AAAA,QAAA;AAAA,MACH;AAAA,MACCF,2BAAA,IAAAG,aAAA,eAAA,EACC,UAACH,2BAAA,IAAAI,aAAA,sBAAA,CAAqB,CAAA,GACxB;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AAEM,QAAA,gBAAgB,SAAS,eAAe;AACxC,QAAA,EAAE,OAAO,WAAW,UAAU,UAAU,iBAAiB,IAAI,QAAQ;AAC3E,QAAM,cAAc;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,IACjB,UAAU;AAAA,EAAA;AAIV,SAAAN,2BAAA,KAACC,aAAK,MAAA,EAAA,aAAW,kBACf,UAAA;AAAA,IAAAC,2BAAA;AAAA,MAACC,YAAA;AAAA,MAAA;AAAA,QACC,OAAO,cAAc;AAAA,UACnB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAAA,IACH;AAAA,IACAD,2BAAA;AAAA,MAACK,OAAA;AAAA,MAAA;AAAA,QACC,UAAU;AAAA,QACV,eAAe;AAAA,QACf,kBAAkB;AAAA,QAClB,kBAAkB;AAAA,QAClB,oBAAkB;AAAA,QAEjB,UAAC,CAAA;AAAA,UACA;AAAA,UACA,QAAQ;AAAA,YACN,OAAAC;AAAAA,YACA,WAAAC;AAAAA,YACA,UAAAC;AAAAA,YACA,UAAAC;AAAAA,YACA,kBAAAC;AAAAA,YACA,cAAAf;AAAAA,YACA,GAAG;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA,MACI;AACJ,iDACGgB,mBACC,EAAA,UAAA;AAAA,YAAAX,2BAAA;AAAA,cAACE,aAAA;AAAA,cAAA;AAAA,gBACC,OAAOO,aAAYG,iBAAAA,YAAYL,cAAa,IAAIC,SAAQ;AAAA,gBACxD,eACER,2BAAA;AAAA,kBAACa,aAAA;AAAA,kBAAA;AAAA,oBACC,0CAAYC,MAAM,OAAA,EAAA;AAAA,oBAClB,SAAS;AAAA,oBACT,MAAK;AAAA,oBACL,UAAU,CAAC;AAAA,oBAEV,wBAAc,EAAE,IAAI,eAAe,gBAAgB,QAAQ;AAAA,kBAAA;AAAA,gBAC9D;AAAA,cAAA;AAAA,YAEJ;AAAA,YACCd,+BAAAe,aAAAA,KAAA,EAAI,eAAe,IAClB,UAACf,2BAAA,IAAAG,aAAA,eAAA,EACC,UAACL,2BAAA,KAAAkB,mBAAA,EAAK,WAAU,UAAS,YAAW,WAAU,KAAK,GACjD,UAAA;AAAA,cAAAhB,2BAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC;AAAA,kBACA,UAAU;AAAA,kBACV,QAAQ;AAAA,oBACN,WAAAO;AAAAA,oBACA,UAAAC;AAAAA,oBACA,UAAAC;AAAAA,oBACA,OAAAH;AAAAA,kBACF;AAAA,gBAAA;AAAA,cACF;AAAA,cACC,CAAC,iBACAN,2BAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC;AAAA,kBACA,UAAU;AAAA,kBACV,QAAQ;AAAA,gBAAA;AAAA,cACV;AAAA,cAEFA,2BAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,UAAU;AAAA,kBACV,QAAQ;AAAA,oBACN,kBAAAU;AAAAA,oBACA,cAAAf;AAAAA,kBACF;AAAA,kBACA;AAAA,gBAAA;AAAA,cACF;AAAA,YAAA,EACF,CAAA,EACF,CAAA,GACF;AAAA,UACF,EAAA,CAAA;AAAA,QAEJ;AAAA,MAAA;AAAA,IACF;AAAA,EACF,EAAA,CAAA;AAEJ;AAgBA,MAAM,kBAAkB,CAAC,EAAE,QAAQ,UAAU,aAAmC;AACxE,QAAA,EAAE,kBAAkBZ,UAAAA;AAC1B,QAAM,CAAC,sBAAsB,uBAAuB,IAAIS,iBAAM,SAAS,KAAK;AAC5E,QAAM,CAAC,eAAe,gBAAgB,IAAIA,iBAAM,SAAS,KAAK;AAC9D,QAAM,CAAC,sBAAsB,uBAAuB,IAAIA,iBAAM,SAAS,KAAK;AAG1E,SAAAQ,2BAAA;AAAA,IAACe,aAAA;AAAA,IAAA;AAAA,MACC,YAAW;AAAA,MACX,WAAS;AAAA,MACT,QAAO;AAAA,MACP,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MAEd,0CAACC,mBAAK,EAAA,WAAU,UAAS,YAAW,WAAU,KAAK,GACjD,UAAA;AAAA,QAAAhB,+BAACiB,aAAAA,YAAW,EAAA,SAAQ,SAAQ,IAAG,MAC5B,UAAc,cAAA;AAAA,UACb,IAAI;AAAA,UACJ,gBAAgB;AAAA,QACjB,CAAA,GACH;AAAA,QACAjB,2BAAAA,IAACkB,aAAAA,QAAK,KAAK,GACT,yCAACC,uBAAS,EAAA,GAAG,IAAI,KAAK,GACpB,UAAAnB,2BAAA;AAAA,UAACoB,aAAA;AAAA,UAAA;AAAA,YACC,OACE,OAAO,kBACH,cAAc;AAAA,cACZ,IAAI,OAAO;AAAA,cACX,gBAAgB,OAAO;AAAA,YACxB,CAAA,IACD;AAAA,YAEN;AAAA,YACA,OAAO,OAAO;AAAA,YACd,OAAO,cAAc;AAAA,cACnB,IAAI;AAAA,cACJ,gBAAgB;AAAA,YAAA,CACjB;AAAA,YACD,MAAK;AAAA,YACL,MAAM,uBAAuB,SAAS;AAAA,YACtC,WACEpB,2BAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,SAAS,CAAC,MAAM;AACd,oBAAE,gBAAgB;AACM,0CAAA,CAAC,SAAS,CAAC,IAAI;AAAA,gBACzC;AAAA,gBACA,OAAO;AAAA,kBACL,uBACI;AAAA,oBACE,IAAI;AAAA,oBACJ,gBAAgB;AAAA,kBAAA,IAElB;AAAA,oBACE,IAAI;AAAA,oBACJ,gBAAgB;AAAA,kBAClB;AAAA,gBACN;AAAA,gBAEC,UAAuB,uBAAAA,2BAAAA,IAACqB,MAAI,KAAA,CAAA,CAAA,mCAAMC,MAAW,YAAA,EAAA;AAAA,cAAA;AAAA,YAChD;AAAA,UAAA;AAAA,WAGN,EACF,CAAA;AAAA,QACAxB,2BAAAA,KAACoB,aAAAA,MAAK,EAAA,KAAK,GACT,UAAA;AAAA,UAAAlB,2BAAA,IAACmB,aAAS,UAAA,EAAA,GAAG,IAAI,KAAK,GACpB,UAAAnB,2BAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OACE,OAAO,WACH,cAAc;AAAA,gBACZ,IAAI,OAAO;AAAA,gBACX,gBAAgB,OAAO;AAAA,cACxB,CAAA,IACD;AAAA,cAEN;AAAA,cACA,OAAO,OAAO;AAAA,cACd,OAAO,cAAc;AAAA,gBACnB,IAAI;AAAA,gBACJ,gBAAgB;AAAA,cAAA,CACjB;AAAA,cACD,MAAK;AAAA,cACL,MAAM,gBAAgB,SAAS;AAAA,cAC/B,cAAa;AAAA,cACb,WACEA,2BAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,SAAS,CAAC,MAAM;AACd,sBAAE,gBAAgB;AACD,qCAAA,CAAC,SAAS,CAAC,IAAI;AAAA,kBAClC;AAAA,kBACA,OAAO;AAAA,oBACL,gBACI;AAAA,sBACE,IAAI;AAAA,sBACJ,gBAAgB;AAAA,oBAAA,IAElB;AAAA,sBACE,IAAI;AAAA,sBACJ,gBAAgB;AAAA,oBAClB;AAAA,kBACN;AAAA,kBAEC,UAAgB,gBAAAA,2BAAAA,IAACqB,MAAI,KAAA,CAAA,CAAA,mCAAMC,MAAW,YAAA,EAAA;AAAA,gBAAA;AAAA,cACzC;AAAA,YAAA;AAAA,UAAA,GAGN;AAAA,UACCtB,2BAAA,IAAAmB,aAAA,UAAA,EAAS,GAAG,IAAI,KAAK,GACpB,UAAAnB,2BAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OACE,OAAO,kBACH,cAAc;AAAA,gBACZ,IAAI,OAAO;AAAA,gBACX,gBAAgB,OAAO;AAAA,cACxB,CAAA,IACD;AAAA,cAEN;AAAA,cACA,OAAO,OAAO;AAAA,cACd,OAAO,cAAc;AAAA,gBACnB,IAAI;AAAA,gBACJ,gBAAgB;AAAA,cAAA,CACjB;AAAA,cACD,MAAK;AAAA,cACL,MAAM,uBAAuB,SAAS;AAAA,cACtC,cAAa;AAAA,cACb,WACEA,2BAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,SAAS,CAAC,MAAM;AACd,sBAAE,gBAAgB;AACM,4CAAA,CAAC,SAAS,CAAC,IAAI;AAAA,kBACzC;AAAA,kBACA,OAAO;AAAA,oBACL,uBACI;AAAA,sBACE,IAAI;AAAA,sBACJ,gBAAgB;AAAA,oBAAA,IAElB;AAAA,sBACE,IAAI;AAAA,sBACJ,gBAAgB;AAAA,oBAClB;AAAA,kBACN;AAAA,kBAEC,UAAuB,uBAAAA,2BAAAA,IAACqB,MAAI,KAAA,CAAA,CAAA,mCAAMC,MAAW,YAAA,EAAA;AAAA,gBAAA;AAAA,cAChD;AAAA,YAAA;AAAA,UAAA,GAGN;AAAA,QAAA,GACF;AAAA,MAAA,GACF;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,MAAM,gBAAgBC,gBAAAA,QAAOH,aAAAA,SAAS;AAAA;AAAA;AAAA;AAAA;AAOtC,MAAM,qBAAqBG,gBAAAA,QAAOC,aAAAA,WAAW;AAAA;AAAA,cAE/BC,aAAAA,QAAQ,EAAE,CAAC;AAAA,aACZA,aAAAA,QAAQ,EAAE,CAAC;AAAA;AAAA,cAEV,CAAC,EAAE,MAAA,MAAY,MAAM,OAAO,UAAU;AAAA;AAAA;AAAA;AAiBpD,MAAM,qBAAqB,CAAC,EAAE,UAAU,QAAQ,kBAA2C;AACnF,QAAA,EAAE,kBAAkB1C,UAAAA;AAC1B,QAAM,kBAAkBD,MAAiB,iBAAA,CAAC,UAAU,MAAM,UAAU,MAAM,eAAe;AAGvF,SAAAkB,2BAAA;AAAA,IAACe,aAAA;AAAA,IAAA;AAAA,MACC,YAAW;AAAA,MACX,WAAS;AAAA,MACT,QAAO;AAAA,MACP,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MAEd,0CAACC,mBAAK,EAAA,WAAU,UAAS,YAAW,WAAU,KAAK,GACjD,UAAA;AAAA,QAAAlB,gCAACkB,aAAAA,QAAK,WAAU,UAAS,YAAW,WAAU,KAAK,GACjD,UAAA;AAAA,UAAAhB,+BAACiB,aAAAA,YAAW,EAAA,SAAQ,SAAQ,IAAG,MAC5B,UAAc,cAAA;AAAA,YACb,IAAI;AAAA,YACJ,gBAAgB;AAAA,UACjB,CAAA,GACH;AAAA,yCACCA,aAAAA,YACE,EAAA,UAAA;AAAA,YACC;AAAA,cACE,IAAI;AAAA,cACJ,gBACE;AAAA,YACJ;AAAA,YACA;AAAA,cACE,MACEjB,2BAAA;AAAA,gBAACe,aAAA;AAAA,gBAAA;AAAA,kBACC,IAAG;AAAA,kBACH,OAAM;AAAA,kBACN,QAAO;AAAA,kBACP,KAAI;AAAA,kBACJ,MAAK;AAAA,kBAEJ,UAAc,cAAA;AAAA,oBACb,IAAI;AAAA,oBACJ,gBAAgB;AAAA,kBAAA,CACjB;AAAA,gBAAA;AAAA,cACH;AAAA,YAEJ;AAAA,UAAA,GAEJ;AAAA,QAAA,GACF;AAAA,QACAjB,2BAAAA,KAACoB,aAAAA,MAAK,EAAA,KAAK,GACT,UAAA;AAAA,UAAAlB,2BAAA,IAACmB,aAAS,UAAA,EAAA,GAAG,IAAI,KAAK,GACpB,UAAAnB,2BAAA;AAAA,YAAC0B,aAAA;AAAA,YAAA;AAAA,cACC,OAAO,cAAc;AAAA,gBACnB,IAAI;AAAA,gBACJ,gBAAgB;AAAA,cAAA,CACjB;AAAA,cACD,aAAa,cAAc;AAAA,gBACzB,IAAI;AAAA,gBACJ,gBAAgB;AAAA,cAAA,CACjB;AAAA,cACD,MAAM,cAAc;AAAA,gBAClB,IAAI;AAAA,gBACJ,gBAAgB;AAAA,cAAA,CACjB;AAAA,cACD,SAAS,MAAM;AACJ,yBAAA;AAAA,kBACP,QAAQ,EAAE,MAAM,oBAAoB,OAAO,KAAK;AAAA,gBAAA,CACjD;AAAA,cACH;AAAA,cACA,YAAY,cAAc;AAAA,gBACxB,IAAI;AAAA,gBACJ,gBAAgB;AAAA,cAAA,CACjB;AAAA,cACD,OAAO,OAAO;AAAA,cACd,UAAU,CAAC,MAAM;AACN,yBAAA;AAAA,kBACP,QAAQ,EAAE,MAAM,oBAAoB,OAAO,EAAE;AAAA,gBAAA,CAC9C;AAAA,cACH;AAAA,cAEC,iBAAO,QAAQ,WAAW,EAAE,IAAI,CAAC,CAAC,UAAU,QAAQ,qCAClDC,aAAAA,oBAAmB,EAAA,OAAO,UACxB,UAAA,SAAA,GADuC,QAE1C,CACD;AAAA,YAAA;AAAA,UAAA,GAEL;AAAA,UACC3B,2BAAA,IAAAmB,aAAA,UAAA,EAAS,GAAG,IAAI,KAAK,GACpB,UAAArB,2BAAA;AAAA,YAAC4B,aAAA;AAAA,YAAA;AAAA,cACC,OAAO,cAAc;AAAA,gBACnB,IAAI;AAAA,gBACJ,gBAAgB;AAAA,cAAA,CACjB;AAAA,cACD,aAAa,cAAc;AAAA,gBACzB,IAAI;AAAA,gBACJ,gBAAgB;AAAA,cAAA,CACjB;AAAA,cACD,MAAM,cAAc;AAAA,gBAClB,IAAI;AAAA,gBACJ,gBAAgB;AAAA,cAAA,CACjB;AAAA,cACD,OAAO,OAAO;AAAA,cACd,UAAU,CAAC,MAAM;AACN,yBAAA;AAAA,kBACP,QAAQ,EAAE,MAAM,gBAAgB,OAAO,EAAE;AAAA,gBAAA,CAC1C;AAAA,cACH;AAAA,cAEA,UAAA;AAAA,gBAAC1B,2BAAA,IAAA2B,aAAA,oBAAA,EAAmB,OAAM,UACvB,UAAc,cAAA;AAAA,kBACb,IAAI;AAAA,kBACJ,gBAAgB;AAAA,gBACjB,CAAA,GACH;AAAA,gBACC,gBAAgB,IAAI,CAAC,UACnB3B,2BAAA,IAAA2B,aAAA,oBAAA,EAAmB,OAAO,OACxB,UAAA;AAAA,kBACC;AAAA,oBACE,IAAI;AAAA,oBACJ,gBAAgB;AAAA,kBAClB;AAAA,kBACA;AAAA,oBACE,MAAM,cAAc;AAAA,sBAClB,IAAI;AAAA,sBACJ,gBAAgBC,4BAAW,KAAK;AAAA,oBAAA,CACjC;AAAA,kBACH;AAAA,gBAAA,EACF,GAZqC,KAavC,CACD;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,GAEL;AAAA,QAAA,GACF;AAAA,MAAA,GACF;AAAA,IAAA;AAAA,EAAA;AAGN;AAgBA,MAAM,kBAAkB,CAAC,EAAE,QAAQ,UAAU,aAAmC;AACxE,QAAA,EAAE,kBAAkB7C,UAAAA;AAGxB,SAAAiB,2BAAA;AAAA,IAACe,aAAA;AAAA,IAAA;AAAA,MACC,YAAW;AAAA,MACX,WAAS;AAAA,MACT,QAAO;AAAA,MACP,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MAEd,0CAACC,mBAAK,EAAA,WAAU,UAAS,YAAW,WAAU,KAAK,GACjD,UAAA;AAAA,QAAAhB,+BAACiB,aAAAA,YAAW,EAAA,SAAQ,SAAQ,IAAG,MAC5B,UAAc,cAAA;AAAA,UACb,IAAI;AAAA,UACJ,gBAAgB;AAAA,QACjB,CAAA,GACH;AAAA,QACAnB,2BAAAA,KAACoB,aAAAA,MAAK,EAAA,KAAK,GACT,UAAA;AAAA,UAAAlB,2BAAA,IAACmB,aAAS,UAAA,EAAA,GAAG,IAAI,KAAK,GACpB,UAAAnB,2BAAA;AAAA,YAAC6B,aAAA;AAAA,YAAA;AAAA,cACC,WAAW;AAAA,gBACT,IAAI;AAAA,gBACJ,gBAAgB;AAAA,cAClB;AAAA,cACA,OAAO,OAAO;AAAA,cACd;AAAA,cACA,OAAO,OAAO;AAAA,cACd,MAAK;AAAA,cACL,MAAK;AAAA,cACL,UAAQ;AAAA,YAAA;AAAA,UAAA,GAEZ;AAAA,UACC7B,2BAAA,IAAAmB,aAAA,UAAA,EAAS,GAAG,IAAI,KAAK,GACpB,UAAAnB,2BAAA;AAAA,YAAC6B,aAAA;AAAA,YAAA;AAAA,cACC,WAAW;AAAA,gBACT,IAAI;AAAA,gBACJ,gBAAgB;AAAA,cAClB;AAAA,cACA,OAAO,OAAO;AAAA,cACd;AAAA,cACA,OAAO,OAAO;AAAA,cACd,MAAK;AAAA,cACL,MAAK;AAAA,YAAA;AAAA,UAAA,GAET;AAAA,UACC7B,2BAAA,IAAAmB,aAAA,UAAA,EAAS,GAAG,IAAI,KAAK,GACpB,UAAAnB,2BAAA;AAAA,YAAC6B,aAAA;AAAA,YAAA;AAAA,cACC,WAAW,EAAE,IAAI,yBAAyB,gBAAgB,QAAQ;AAAA,cAClE,OAAO,OAAO;AAAA,cACd;AAAA,cACA,OAAO,OAAO;AAAA,cACd,MAAK;AAAA,cACL,MAAK;AAAA,cACL,UAAQ;AAAA,YAAA;AAAA,UAAA,GAEZ;AAAA,UACC7B,2BAAA,IAAAmB,aAAA,UAAA,EAAS,GAAG,IAAI,KAAK,GACpB,UAAAnB,2BAAA;AAAA,YAAC6B,aAAA;AAAA,YAAA;AAAA,cACC,WAAW;AAAA,gBACT,IAAI;AAAA,gBACJ,gBAAgB;AAAA,cAClB;AAAA,cACA,OAAO,OAAO;AAAA,cACd;AAAA,cACA,OAAO,OAAO;AAAA,cACd,MAAK;AAAA,cACL,MAAK;AAAA,YAAA;AAAA,UAAA,GAET;AAAA,QAAA,GACF;AAAA,MAAA,GACF;AAAA,IAAA;AAAA,EAAA;AAGN;;"}
|
|
1
|
+
{"version":3,"file":"ProfilePage-HNl8o56h.js","sources":["../../admin/src/pages/ProfilePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n HeaderLayout,\n Main,\n useNotifyAT,\n Grid,\n GridItem,\n Typography,\n SingleSelect,\n SingleSelectOption,\n TextInput,\n FieldAction,\n} from '@strapi/design-system';\nimport {\n Form,\n GenericInput,\n GenericInputProps,\n LoadingIndicatorPage,\n pxToRem,\n translatedErrors,\n useFocusWhenNavigate,\n useNotification,\n useOverlayBlocker,\n useTracking,\n useAPIErrorHandler,\n} from '@strapi/helper-plugin';\nimport { Check, Eye, EyeStriked } from '@strapi/icons';\nimport { Formik, FormikHelpers } from 'formik';\nimport upperFirst from 'lodash/upperFirst';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\nimport * as yup from 'yup';\n\nimport { useTypedDispatch, useTypedSelector } from '../core/store/hooks';\nimport { useAuth } from '../features/Auth';\nimport { AppState, setAppTheme } from '../reducer';\nimport { useIsSSOLockedQuery, useUpdateMeMutation } from '../services/auth';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { getFullName } from '../utils/getFullName';\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(translatedErrors.required)\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 { lockApp, unlockApp } = useOverlayBlocker();\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 useFocusWhenNavigate();\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: 'warning',\n message: { 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: 'warning',\n message: { id: 'Settings.permissions.users.sso.provider.error' },\n });\n }\n }, [error, 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 }: FormikHelpers<UpdateUsersMeBody>\n ) => {\n // @ts-expect-error – we're going to implement a context assertion to avoid this\n lockApp();\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: { id: 'notification.success.saved', defaultMessage: 'Saved' },\n });\n }\n\n if ('error' in res) {\n if (\n isBaseQueryError(res.error) &&\n (res.error.name === 'ValidationError' || res.error.message === 'ValidationError')\n ) {\n // @ts-expect-error – We get a BadRequest error here instead of a ValidationError if the currentPassword is wrong.\n setErrors(formatValidationErrors(res.error));\n } else if (isBaseQueryError(res.error)) {\n toggleNotification({\n type: 'warning',\n message: formatApiError(res.error),\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n }\n\n unlockApp?.();\n };\n\n if (isLoading) {\n return (\n <Main aria-busy=\"true\">\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.profile.form.section.profile.page.title',\n defaultMessage: 'Profile page',\n })}\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n }\n\n const hasLockedRole = dataSSO?.isSSOLocked ?? false;\n const { email, firstname, lastname, username, preferedLanguage } = user ?? {};\n const initialData = {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n confirmPassword: '',\n password: '',\n };\n\n return (\n <Main aria-busy={isSubmittingForm}>\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <Formik\n onSubmit={handleSubmit}\n initialValues={initialData}\n validateOnChange={false}\n validationSchema={PROFILE_VALIDTION_SCHEMA}\n enableReinitialize\n >\n {({\n errors,\n values: {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n ...passwordValues\n },\n handleChange,\n isSubmitting,\n dirty,\n }) => {\n return (\n <Form>\n <HeaderLayout\n title={username || getFullName(firstname ?? '', lastname)}\n primaryAction={\n <Button\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n disabled={!dirty}\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Box paddingBottom={10}>\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <UserInfoSection\n errors={errors}\n onChange={handleChange}\n values={{\n firstname,\n lastname,\n username,\n email,\n }}\n />\n {!hasLockedRole && (\n <PasswordSection\n errors={errors}\n onChange={handleChange}\n values={passwordValues}\n />\n )}\n <PreferencesSection\n onChange={handleChange}\n values={{\n preferedLanguage,\n currentTheme,\n }}\n localeNames={localeNames}\n />\n </Flex>\n </ContentLayout>\n </Box>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PasswordSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PasswordSectionProps {\n errors: { currentPassword?: string; password?: string; confirmPassword?: string };\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n values: {\n currentPassword?: string;\n password?: string;\n confirmPassword?: string;\n };\n}\n\nconst PasswordSection = ({ errors, onChange, values }: PasswordSectionProps) => {\n const { formatMessage } = useIntl();\n const [currentPasswordShown, setCurrentPasswordShown] = React.useState(false);\n const [passwordShown, setPasswordShown] = React.useState(false);\n const [passwordConfirmShown, setPasswordConfirmShown] = React.useState(false);\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\" as=\"h2\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <TextInput\n error={\n errors.currentPassword\n ? formatMessage({\n id: errors.currentPassword,\n defaultMessage: errors.currentPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.currentPassword}\n label={formatMessage({\n id: 'Auth.form.currentPassword.label',\n defaultMessage: 'Current Password',\n })}\n name=\"currentPassword\"\n type={currentPasswordShown ? 'text' : 'password'}\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setCurrentPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n currentPasswordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {currentPasswordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.password\n ? formatMessage({\n id: errors.password,\n defaultMessage: errors.password,\n })\n : ''\n }\n onChange={onChange}\n value={values.password}\n label={formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n })}\n name=\"password\"\n type={passwordShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.confirmPassword\n ? formatMessage({\n id: errors.confirmPassword,\n defaultMessage: errors.confirmPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.confirmPassword}\n label={formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n })}\n name=\"confirmPassword\"\n type={passwordConfirmShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordConfirmShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordConfirmShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordConfirmShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nconst PasswordInput = styled(TextInput)`\n ::-ms-reveal {\n display: none;\n }\n`;\n\n// Wrapper of the Eye Icon able to show or hide the Password inside the field\nconst FieldActionWrapper = styled(FieldAction)`\n svg {\n height: ${pxToRem(16)};\n width: ${pxToRem(16)};\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PreferencesSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreferencesSectionProps extends Pick<GenericInputProps, 'onChange'> {\n values: {\n preferedLanguage?: string;\n currentTheme?: string;\n };\n localeNames: Record<string, string>;\n}\n\nconst PreferencesSection = ({ onChange, values, 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\" as=\"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 as=\"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 gap={5}>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage',\n defaultMessage: 'Interface language',\n })}\n placeholder={formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\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 onClear={() => {\n onChange({\n target: { name: 'preferedLanguage', value: null },\n });\n }}\n clearLabel={formatMessage({\n id: 'Settings.profile.form.section.experience.clear.select',\n defaultMessage: 'Clear the interface language selected',\n })}\n value={values.preferedLanguage}\n onChange={(e) => {\n onChange({\n target: { name: 'preferedLanguage', value: e },\n });\n }}\n >\n {Object.entries(localeNames).map(([language, langName]) => (\n <SingleSelectOption value={language} key={language}>\n {langName}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.label',\n defaultMessage: 'Interface mode',\n })}\n placeholder={formatMessage({\n id: 'components.Select.placeholder',\n defaultMessage: 'Select',\n })}\n hint={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.hint',\n defaultMessage: 'Displays your interface in the chosen mode.',\n })}\n value={values.currentTheme}\n onChange={(e) => {\n onChange({\n target: { name: 'currentTheme', value: e },\n });\n }}\n >\n <SingleSelectOption value=\"system\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.mode.option-system-label',\n defaultMessage: 'Use system settings',\n })}\n </SingleSelectOption>\n {themesToDisplay.map((theme) => (\n <SingleSelectOption value={theme} key={theme}>\n {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 </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UserInfoSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface UserInfoSectionProps extends Pick<GenericInputProps, 'onChange'> {\n errors: { firstname?: string; lastname?: string; username?: string; email?: string };\n values: {\n firstname?: string;\n lastname?: string;\n username?: string;\n email?: string;\n };\n}\n\nconst UserInfoSection = ({ errors, onChange, values }: UserInfoSectionProps) => {\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\" as=\"h2\">\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n }}\n error={errors.firstname}\n onChange={onChange}\n value={values.firstname}\n type=\"text\"\n name=\"firstname\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n }}\n error={errors.lastname}\n onChange={onChange}\n value={values.lastname}\n type=\"text\"\n name=\"lastname\"\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{ id: 'Auth.form.email.label', defaultMessage: 'Email' }}\n error={errors.email}\n onChange={onChange}\n value={values.email}\n type=\"email\"\n name=\"email\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n }}\n error={errors.username}\n onChange={onChange}\n value={values.username}\n type=\"text\"\n name=\"username\"\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nexport { ProfilePage };\n"],"names":["yup","COMMON_USER_SCHEMA","translatedErrors","useTypedSelector","useIntl","useTracking","useNotification","useOverlayBlocker","useNotifyAT","useTypedDispatch","useAPIErrorHandler","useFocusWhenNavigate","useAuth","React","useUpdateMeMutation","useIsSSOLockedQuery","currentTheme","setAppTheme","isBaseQueryError","jsxs","Main","jsx","Helmet","HeaderLayout","ContentLayout","LoadingIndicatorPage","Formik","email","firstname","lastname","username","preferedLanguage","Form","getFullName","Button","Check","Box","Flex","Typography","Grid","GridItem","TextInput","Eye","EyeStriked","styled","FieldAction","pxToRem","SingleSelect","SingleSelectOption","upperFirst","GenericInput"],"mappings":"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"}
|
|
@@ -9,8 +9,8 @@ import { Helmet } from "react-helmet";
|
|
|
9
9
|
import { useIntl } from "react-intl";
|
|
10
10
|
import styled from "styled-components";
|
|
11
11
|
import * as yup from "yup";
|
|
12
|
-
import { j as useTypedSelector, s as useTypedDispatch, a as useAuth, t as useUpdateMeMutation, v as useIsSSOLockedQuery, w as setAppTheme, x as isBaseQueryError } from "./index-
|
|
13
|
-
import { g as getFullName } from "./AuthenticatedApp-
|
|
12
|
+
import { j as useTypedSelector, s as useTypedDispatch, a as useAuth, t as useUpdateMeMutation, v as useIsSSOLockedQuery, w as setAppTheme, x as isBaseQueryError } from "./index-jPSc5477.mjs";
|
|
13
|
+
import { g as getFullName } from "./AuthenticatedApp-sMEn0FIG.mjs";
|
|
14
14
|
import { C as COMMON_USER_SCHEMA } from "./validation-f9rGWFeU.mjs";
|
|
15
15
|
import "react-dom/client";
|
|
16
16
|
import "invariant";
|
|
@@ -643,4 +643,4 @@ const UserInfoSection = ({ errors, onChange, values }) => {
|
|
|
643
643
|
export {
|
|
644
644
|
ProfilePage
|
|
645
645
|
};
|
|
646
|
-
//# sourceMappingURL=ProfilePage-
|
|
646
|
+
//# sourceMappingURL=ProfilePage-yu1ayyHY.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfilePage-fStKoBCy.mjs","sources":["../../admin/src/pages/ProfilePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n HeaderLayout,\n Main,\n useNotifyAT,\n Grid,\n GridItem,\n Typography,\n SingleSelect,\n SingleSelectOption,\n TextInput,\n FieldAction,\n} from '@strapi/design-system';\nimport {\n Form,\n GenericInput,\n GenericInputProps,\n LoadingIndicatorPage,\n pxToRem,\n translatedErrors,\n useFocusWhenNavigate,\n useNotification,\n useOverlayBlocker,\n useTracking,\n useAPIErrorHandler,\n} from '@strapi/helper-plugin';\nimport { Check, Eye, EyeStriked } from '@strapi/icons';\nimport { Formik, FormikHelpers } from 'formik';\nimport upperFirst from 'lodash/upperFirst';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\nimport * as yup from 'yup';\n\nimport { useTypedDispatch, useTypedSelector } from '../core/store/hooks';\nimport { useAuth } from '../features/Auth';\nimport { AppState, setAppTheme } from '../reducer';\nimport { useIsSSOLockedQuery, useUpdateMeMutation } from '../services/auth';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { getFullName } from '../utils/getFullName';\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(translatedErrors.required)\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 { lockApp, unlockApp } = useOverlayBlocker();\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 useFocusWhenNavigate();\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: 'warning',\n message: { 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: 'warning',\n message: { id: 'Settings.permissions.users.sso.provider.error' },\n });\n }\n }, [error, 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 }: FormikHelpers<UpdateUsersMeBody>\n ) => {\n // @ts-expect-error – we're going to implement a context assertion to avoid this\n lockApp();\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: { id: 'notification.success.saved', defaultMessage: 'Saved' },\n });\n }\n\n if ('error' in res) {\n if (\n isBaseQueryError(res.error) &&\n (res.error.name === 'ValidationError' || res.error.message === 'ValidationError')\n ) {\n // @ts-expect-error – We get a BadRequest error here instead of a ValidationError if the currentPassword is wrong.\n setErrors(formatValidationErrors(res.error));\n } else if (isBaseQueryError(res.error)) {\n toggleNotification({\n type: 'warning',\n message: formatApiError(res.error),\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n }\n\n unlockApp?.();\n };\n\n if (isLoading) {\n return (\n <Main aria-busy=\"true\">\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.profile.form.section.profile.page.title',\n defaultMessage: 'Profile page',\n })}\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n }\n\n const hasLockedRole = dataSSO?.isSSOLocked ?? false;\n const { email, firstname, lastname, username, preferedLanguage } = user ?? {};\n const initialData = {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n confirmPassword: '',\n password: '',\n };\n\n return (\n <Main aria-busy={isSubmittingForm}>\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <Formik\n onSubmit={handleSubmit}\n initialValues={initialData}\n validateOnChange={false}\n validationSchema={PROFILE_VALIDTION_SCHEMA}\n enableReinitialize\n >\n {({\n errors,\n values: {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n ...passwordValues\n },\n handleChange,\n isSubmitting,\n dirty,\n }) => {\n return (\n <Form>\n <HeaderLayout\n title={username || getFullName(firstname ?? '', lastname)}\n primaryAction={\n <Button\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n disabled={!dirty}\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Box paddingBottom={10}>\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <UserInfoSection\n errors={errors}\n onChange={handleChange}\n values={{\n firstname,\n lastname,\n username,\n email,\n }}\n />\n {!hasLockedRole && (\n <PasswordSection\n errors={errors}\n onChange={handleChange}\n values={passwordValues}\n />\n )}\n <PreferencesSection\n onChange={handleChange}\n values={{\n preferedLanguage,\n currentTheme,\n }}\n localeNames={localeNames}\n />\n </Flex>\n </ContentLayout>\n </Box>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PasswordSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PasswordSectionProps {\n errors: { currentPassword?: string; password?: string; confirmPassword?: string };\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n values: {\n currentPassword?: string;\n password?: string;\n confirmPassword?: string;\n };\n}\n\nconst PasswordSection = ({ errors, onChange, values }: PasswordSectionProps) => {\n const { formatMessage } = useIntl();\n const [currentPasswordShown, setCurrentPasswordShown] = React.useState(false);\n const [passwordShown, setPasswordShown] = React.useState(false);\n const [passwordConfirmShown, setPasswordConfirmShown] = React.useState(false);\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\" as=\"h2\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <TextInput\n error={\n errors.currentPassword\n ? formatMessage({\n id: errors.currentPassword,\n defaultMessage: errors.currentPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.currentPassword}\n label={formatMessage({\n id: 'Auth.form.currentPassword.label',\n defaultMessage: 'Current Password',\n })}\n name=\"currentPassword\"\n type={currentPasswordShown ? 'text' : 'password'}\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setCurrentPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n currentPasswordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {currentPasswordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.password\n ? formatMessage({\n id: errors.password,\n defaultMessage: errors.password,\n })\n : ''\n }\n onChange={onChange}\n value={values.password}\n label={formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n })}\n name=\"password\"\n type={passwordShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.confirmPassword\n ? formatMessage({\n id: errors.confirmPassword,\n defaultMessage: errors.confirmPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.confirmPassword}\n label={formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n })}\n name=\"confirmPassword\"\n type={passwordConfirmShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordConfirmShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordConfirmShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordConfirmShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nconst PasswordInput = styled(TextInput)`\n ::-ms-reveal {\n display: none;\n }\n`;\n\n// Wrapper of the Eye Icon able to show or hide the Password inside the field\nconst FieldActionWrapper = styled(FieldAction)`\n svg {\n height: ${pxToRem(16)};\n width: ${pxToRem(16)};\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PreferencesSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreferencesSectionProps extends Pick<GenericInputProps, 'onChange'> {\n values: {\n preferedLanguage?: string;\n currentTheme?: string;\n };\n localeNames: Record<string, string>;\n}\n\nconst PreferencesSection = ({ onChange, values, 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\" as=\"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 as=\"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 gap={5}>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage',\n defaultMessage: 'Interface language',\n })}\n placeholder={formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\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 onClear={() => {\n onChange({\n target: { name: 'preferedLanguage', value: null },\n });\n }}\n clearLabel={formatMessage({\n id: 'Settings.profile.form.section.experience.clear.select',\n defaultMessage: 'Clear the interface language selected',\n })}\n value={values.preferedLanguage}\n onChange={(e) => {\n onChange({\n target: { name: 'preferedLanguage', value: e },\n });\n }}\n >\n {Object.entries(localeNames).map(([language, langName]) => (\n <SingleSelectOption value={language} key={language}>\n {langName}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.label',\n defaultMessage: 'Interface mode',\n })}\n placeholder={formatMessage({\n id: 'components.Select.placeholder',\n defaultMessage: 'Select',\n })}\n hint={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.hint',\n defaultMessage: 'Displays your interface in the chosen mode.',\n })}\n value={values.currentTheme}\n onChange={(e) => {\n onChange({\n target: { name: 'currentTheme', value: e },\n });\n }}\n >\n <SingleSelectOption value=\"system\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.mode.option-system-label',\n defaultMessage: 'Use system settings',\n })}\n </SingleSelectOption>\n {themesToDisplay.map((theme) => (\n <SingleSelectOption value={theme} key={theme}>\n {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 </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UserInfoSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface UserInfoSectionProps extends Pick<GenericInputProps, 'onChange'> {\n errors: { firstname?: string; lastname?: string; username?: string; email?: string };\n values: {\n firstname?: string;\n lastname?: string;\n username?: string;\n email?: string;\n };\n}\n\nconst UserInfoSection = ({ errors, onChange, values }: UserInfoSectionProps) => {\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\" as=\"h2\">\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n }}\n error={errors.firstname}\n onChange={onChange}\n value={values.firstname}\n type=\"text\"\n name=\"firstname\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n }}\n error={errors.lastname}\n onChange={onChange}\n value={values.lastname}\n type=\"text\"\n name=\"lastname\"\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{ id: 'Auth.form.email.label', defaultMessage: 'Email' }}\n error={errors.email}\n onChange={onChange}\n value={values.email}\n type=\"email\"\n name=\"email\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n }}\n error={errors.username}\n onChange={onChange}\n value={values.username}\n type=\"text\"\n name=\"username\"\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nexport { ProfilePage };\n"],"names":["currentTheme","email","firstname","lastname","username","preferedLanguage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProfilePage-yu1ayyHY.mjs","sources":["../../admin/src/pages/ProfilePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n HeaderLayout,\n Main,\n useNotifyAT,\n Grid,\n GridItem,\n Typography,\n SingleSelect,\n SingleSelectOption,\n TextInput,\n FieldAction,\n} from '@strapi/design-system';\nimport {\n Form,\n GenericInput,\n GenericInputProps,\n LoadingIndicatorPage,\n pxToRem,\n translatedErrors,\n useFocusWhenNavigate,\n useNotification,\n useOverlayBlocker,\n useTracking,\n useAPIErrorHandler,\n} from '@strapi/helper-plugin';\nimport { Check, Eye, EyeStriked } from '@strapi/icons';\nimport { Formik, FormikHelpers } from 'formik';\nimport upperFirst from 'lodash/upperFirst';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\nimport * as yup from 'yup';\n\nimport { useTypedDispatch, useTypedSelector } from '../core/store/hooks';\nimport { useAuth } from '../features/Auth';\nimport { AppState, setAppTheme } from '../reducer';\nimport { useIsSSOLockedQuery, useUpdateMeMutation } from '../services/auth';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { getFullName } from '../utils/getFullName';\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(translatedErrors.required)\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 { lockApp, unlockApp } = useOverlayBlocker();\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 useFocusWhenNavigate();\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: 'warning',\n message: { 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: 'warning',\n message: { id: 'Settings.permissions.users.sso.provider.error' },\n });\n }\n }, [error, 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 }: FormikHelpers<UpdateUsersMeBody>\n ) => {\n // @ts-expect-error – we're going to implement a context assertion to avoid this\n lockApp();\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: { id: 'notification.success.saved', defaultMessage: 'Saved' },\n });\n }\n\n if ('error' in res) {\n if (\n isBaseQueryError(res.error) &&\n (res.error.name === 'ValidationError' || res.error.message === 'ValidationError')\n ) {\n // @ts-expect-error – We get a BadRequest error here instead of a ValidationError if the currentPassword is wrong.\n setErrors(formatValidationErrors(res.error));\n } else if (isBaseQueryError(res.error)) {\n toggleNotification({\n type: 'warning',\n message: formatApiError(res.error),\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n }\n\n unlockApp?.();\n };\n\n if (isLoading) {\n return (\n <Main aria-busy=\"true\">\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.profile.form.section.profile.page.title',\n defaultMessage: 'Profile page',\n })}\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n }\n\n const hasLockedRole = dataSSO?.isSSOLocked ?? false;\n const { email, firstname, lastname, username, preferedLanguage } = user ?? {};\n const initialData = {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n confirmPassword: '',\n password: '',\n };\n\n return (\n <Main aria-busy={isSubmittingForm}>\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <Formik\n onSubmit={handleSubmit}\n initialValues={initialData}\n validateOnChange={false}\n validationSchema={PROFILE_VALIDTION_SCHEMA}\n enableReinitialize\n >\n {({\n errors,\n values: {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n ...passwordValues\n },\n handleChange,\n isSubmitting,\n dirty,\n }) => {\n return (\n <Form>\n <HeaderLayout\n title={username || getFullName(firstname ?? '', lastname)}\n primaryAction={\n <Button\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n disabled={!dirty}\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Box paddingBottom={10}>\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <UserInfoSection\n errors={errors}\n onChange={handleChange}\n values={{\n firstname,\n lastname,\n username,\n email,\n }}\n />\n {!hasLockedRole && (\n <PasswordSection\n errors={errors}\n onChange={handleChange}\n values={passwordValues}\n />\n )}\n <PreferencesSection\n onChange={handleChange}\n values={{\n preferedLanguage,\n currentTheme,\n }}\n localeNames={localeNames}\n />\n </Flex>\n </ContentLayout>\n </Box>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PasswordSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PasswordSectionProps {\n errors: { currentPassword?: string; password?: string; confirmPassword?: string };\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n values: {\n currentPassword?: string;\n password?: string;\n confirmPassword?: string;\n };\n}\n\nconst PasswordSection = ({ errors, onChange, values }: PasswordSectionProps) => {\n const { formatMessage } = useIntl();\n const [currentPasswordShown, setCurrentPasswordShown] = React.useState(false);\n const [passwordShown, setPasswordShown] = React.useState(false);\n const [passwordConfirmShown, setPasswordConfirmShown] = React.useState(false);\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\" as=\"h2\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <TextInput\n error={\n errors.currentPassword\n ? formatMessage({\n id: errors.currentPassword,\n defaultMessage: errors.currentPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.currentPassword}\n label={formatMessage({\n id: 'Auth.form.currentPassword.label',\n defaultMessage: 'Current Password',\n })}\n name=\"currentPassword\"\n type={currentPasswordShown ? 'text' : 'password'}\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setCurrentPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n currentPasswordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {currentPasswordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.password\n ? formatMessage({\n id: errors.password,\n defaultMessage: errors.password,\n })\n : ''\n }\n onChange={onChange}\n value={values.password}\n label={formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n })}\n name=\"password\"\n type={passwordShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.confirmPassword\n ? formatMessage({\n id: errors.confirmPassword,\n defaultMessage: errors.confirmPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.confirmPassword}\n label={formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n })}\n name=\"confirmPassword\"\n type={passwordConfirmShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordConfirmShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordConfirmShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordConfirmShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nconst PasswordInput = styled(TextInput)`\n ::-ms-reveal {\n display: none;\n }\n`;\n\n// Wrapper of the Eye Icon able to show or hide the Password inside the field\nconst FieldActionWrapper = styled(FieldAction)`\n svg {\n height: ${pxToRem(16)};\n width: ${pxToRem(16)};\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PreferencesSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreferencesSectionProps extends Pick<GenericInputProps, 'onChange'> {\n values: {\n preferedLanguage?: string;\n currentTheme?: string;\n };\n localeNames: Record<string, string>;\n}\n\nconst PreferencesSection = ({ onChange, values, 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\" as=\"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 as=\"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 gap={5}>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage',\n defaultMessage: 'Interface language',\n })}\n placeholder={formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\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 onClear={() => {\n onChange({\n target: { name: 'preferedLanguage', value: null },\n });\n }}\n clearLabel={formatMessage({\n id: 'Settings.profile.form.section.experience.clear.select',\n defaultMessage: 'Clear the interface language selected',\n })}\n value={values.preferedLanguage}\n onChange={(e) => {\n onChange({\n target: { name: 'preferedLanguage', value: e },\n });\n }}\n >\n {Object.entries(localeNames).map(([language, langName]) => (\n <SingleSelectOption value={language} key={language}>\n {langName}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.label',\n defaultMessage: 'Interface mode',\n })}\n placeholder={formatMessage({\n id: 'components.Select.placeholder',\n defaultMessage: 'Select',\n })}\n hint={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.hint',\n defaultMessage: 'Displays your interface in the chosen mode.',\n })}\n value={values.currentTheme}\n onChange={(e) => {\n onChange({\n target: { name: 'currentTheme', value: e },\n });\n }}\n >\n <SingleSelectOption value=\"system\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.mode.option-system-label',\n defaultMessage: 'Use system settings',\n })}\n </SingleSelectOption>\n {themesToDisplay.map((theme) => (\n <SingleSelectOption value={theme} key={theme}>\n {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 </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UserInfoSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface UserInfoSectionProps extends Pick<GenericInputProps, 'onChange'> {\n errors: { firstname?: string; lastname?: string; username?: string; email?: string };\n values: {\n firstname?: string;\n lastname?: string;\n username?: string;\n email?: string;\n };\n}\n\nconst UserInfoSection = ({ errors, onChange, values }: UserInfoSectionProps) => {\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\" as=\"h2\">\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n }}\n error={errors.firstname}\n onChange={onChange}\n value={values.firstname}\n type=\"text\"\n name=\"firstname\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n }}\n error={errors.lastname}\n onChange={onChange}\n value={values.lastname}\n type=\"text\"\n name=\"lastname\"\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{ id: 'Auth.form.email.label', defaultMessage: 'Email' }}\n error={errors.email}\n onChange={onChange}\n value={values.email}\n type=\"email\"\n name=\"email\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n }}\n error={errors.username}\n onChange={onChange}\n value={values.username}\n type=\"text\"\n name=\"username\"\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nexport { ProfilePage };\n"],"names":["currentTheme","email","firstname","lastname","username","preferedLanguage"],"mappings":"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"}
|
package/dist/_chunks/{ReviewWorkflowsColumn-Z_Y-GwwU.mjs → ReviewWorkflowsColumn-HWKasziL.mjs}
RENAMED
|
@@ -4,7 +4,7 @@ import { pxToRem } from "@strapi/helper-plugin";
|
|
|
4
4
|
import { b as STAGE_COLOR_DEFAULT } from "./constants-8sAt6dKz.mjs";
|
|
5
5
|
import { g as getStageColorByHex } from "./colors-YeFa2BnS.mjs";
|
|
6
6
|
import { useIntl } from "react-intl";
|
|
7
|
-
import { l as getDisplayName } from "./index-
|
|
7
|
+
import { l as getDisplayName } from "./index-jPSc5477.mjs";
|
|
8
8
|
import "react-dom/client";
|
|
9
9
|
import "invariant";
|
|
10
10
|
import "lodash/isFunction";
|
|
@@ -100,4 +100,4 @@ export {
|
|
|
100
100
|
ReviewWorkflowsAssigneeEE,
|
|
101
101
|
ReviewWorkflowsStageEE
|
|
102
102
|
};
|
|
103
|
-
//# sourceMappingURL=ReviewWorkflowsColumn-
|
|
103
|
+
//# sourceMappingURL=ReviewWorkflowsColumn-HWKasziL.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReviewWorkflowsColumn-
|
|
1
|
+
{"version":3,"file":"ReviewWorkflowsColumn-HWKasziL.mjs","sources":["../../ee/admin/src/content-manager/pages/ListView/components/ReviewWorkflowsStageEE.tsx","../../ee/admin/src/content-manager/pages/ListView/components/ReviewWorkflowsAssigneeEE.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { pxToRem } from '@strapi/helper-plugin';\n\nimport { STAGE_COLOR_DEFAULT } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/constants';\nimport { getStageColorByHex } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/utils/colors';\n\ninterface ReviewWorkflowsStageEEProps {\n color?: string;\n name: string;\n}\n\nconst ReviewWorkflowsStageEE = ({\n color = STAGE_COLOR_DEFAULT,\n name,\n}: ReviewWorkflowsStageEEProps) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <Flex alignItems=\"center\" gap={2} maxWidth={pxToRem(300)}>\n <Box\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n\n <Typography fontWeight=\"regular\" textColor=\"neutral700\" ellipsis>\n {name}\n </Typography>\n </Flex>\n );\n};\n\nexport { ReviewWorkflowsStageEE };\nexport type { ReviewWorkflowsStageEEProps };\n","import { Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getDisplayName } from '../../../../../../../admin/src/content-manager/utils/users';\nimport { SanitizedAdminUser } from '../../../../../../../shared/contracts/shared';\n\ninterface ReviewWorkflowsAssigneeEEProps {\n user: Pick<SanitizedAdminUser, 'firstname' | 'lastname' | 'username' | 'email'>;\n}\n\nconst ReviewWorkflowsAssigneeEE = ({ user }: ReviewWorkflowsAssigneeEEProps) => {\n const { formatMessage } = useIntl();\n\n return <Typography textColor=\"neutral800\">{getDisplayName(user, formatMessage)}</Typography>;\n};\n\nexport { ReviewWorkflowsAssigneeEE };\nexport type { ReviewWorkflowsAssigneeEEProps };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,MAAM,yBAAyB,CAAC;AAAA,EAC9B,QAAQ;AAAA,EACR;AACF,MAAmC;AACjC,QAAM,EAAE,eAAe,IAAI,mBAAmB,KAAK,KAAK,CAAA;AAGtD,SAAA,qBAAC,QAAK,YAAW,UAAS,KAAK,GAAG,UAAU,QAAQ,GAAG,GACrD,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,YAAY;AAAA,QACZ,aAAa,mBAAmB,aAAa,eAAe;AAAA,QAC5D,WAAS;AAAA,QACT,QAAQ;AAAA,QACR,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEA,oBAAC,cAAW,YAAW,WAAU,WAAU,cAAa,UAAQ,MAC7D,UACH,KAAA,CAAA;AAAA,EACF,EAAA,CAAA;AAEJ;ACvBA,MAAM,4BAA4B,CAAC,EAAE,WAA2C;AACxE,QAAA,EAAE,kBAAkB;AAE1B,6BAAQ,YAAW,EAAA,WAAU,cAAc,UAAe,eAAA,MAAM,aAAa,EAAE,CAAA;AACjF;"}
|
package/dist/_chunks/{ReviewWorkflowsColumn-t5wJMgd1.js → ReviewWorkflowsColumn-eNxSowxH.js}
RENAMED
|
@@ -6,7 +6,7 @@ const helperPlugin = require("@strapi/helper-plugin");
|
|
|
6
6
|
const constants = require("./constants-L1I-Y-RJ.js");
|
|
7
7
|
const colors = require("./colors-6VKZqnio.js");
|
|
8
8
|
const reactIntl = require("react-intl");
|
|
9
|
-
const index = require("./index-
|
|
9
|
+
const index = require("./index-WJOOvkDD.js");
|
|
10
10
|
require("react-dom/client");
|
|
11
11
|
require("invariant");
|
|
12
12
|
require("lodash/isFunction");
|
|
@@ -100,4 +100,4 @@ const ReviewWorkflowsAssigneeEE = ({ user }) => {
|
|
|
100
100
|
};
|
|
101
101
|
exports.ReviewWorkflowsAssigneeEE = ReviewWorkflowsAssigneeEE;
|
|
102
102
|
exports.ReviewWorkflowsStageEE = ReviewWorkflowsStageEE;
|
|
103
|
-
//# sourceMappingURL=ReviewWorkflowsColumn-
|
|
103
|
+
//# sourceMappingURL=ReviewWorkflowsColumn-eNxSowxH.js.map
|
package/dist/_chunks/{ReviewWorkflowsColumn-t5wJMgd1.js.map → ReviewWorkflowsColumn-eNxSowxH.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReviewWorkflowsColumn-
|
|
1
|
+
{"version":3,"file":"ReviewWorkflowsColumn-eNxSowxH.js","sources":["../../ee/admin/src/content-manager/pages/ListView/components/ReviewWorkflowsStageEE.tsx","../../ee/admin/src/content-manager/pages/ListView/components/ReviewWorkflowsAssigneeEE.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { pxToRem } from '@strapi/helper-plugin';\n\nimport { STAGE_COLOR_DEFAULT } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/constants';\nimport { getStageColorByHex } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/utils/colors';\n\ninterface ReviewWorkflowsStageEEProps {\n color?: string;\n name: string;\n}\n\nconst ReviewWorkflowsStageEE = ({\n color = STAGE_COLOR_DEFAULT,\n name,\n}: ReviewWorkflowsStageEEProps) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <Flex alignItems=\"center\" gap={2} maxWidth={pxToRem(300)}>\n <Box\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n\n <Typography fontWeight=\"regular\" textColor=\"neutral700\" ellipsis>\n {name}\n </Typography>\n </Flex>\n );\n};\n\nexport { ReviewWorkflowsStageEE };\nexport type { ReviewWorkflowsStageEEProps };\n","import { Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getDisplayName } from '../../../../../../../admin/src/content-manager/utils/users';\nimport { SanitizedAdminUser } from '../../../../../../../shared/contracts/shared';\n\ninterface ReviewWorkflowsAssigneeEEProps {\n user: Pick<SanitizedAdminUser, 'firstname' | 'lastname' | 'username' | 'email'>;\n}\n\nconst ReviewWorkflowsAssigneeEE = ({ user }: ReviewWorkflowsAssigneeEEProps) => {\n const { formatMessage } = useIntl();\n\n return <Typography textColor=\"neutral800\">{getDisplayName(user, formatMessage)}</Typography>;\n};\n\nexport { ReviewWorkflowsAssigneeEE };\nexport type { ReviewWorkflowsAssigneeEEProps };\n"],"names":["STAGE_COLOR_DEFAULT","getStageColorByHex","jsxs","Flex","pxToRem","jsx","Box","Typography","useIntl","getDisplayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,MAAM,yBAAyB,CAAC;AAAA,EAC9B,QAAQA,UAAA;AAAA,EACR;AACF,MAAmC;AACjC,QAAM,EAAE,eAAe,IAAIC,OAAmB,mBAAA,KAAK,KAAK,CAAA;AAGtD,SAAAC,gCAACC,aAAAA,QAAK,YAAW,UAAS,KAAK,GAAG,UAAUC,aAAAA,QAAQ,GAAG,GACrD,UAAA;AAAA,IAAAC,2BAAA;AAAA,MAACC,aAAA;AAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,YAAY;AAAA,QACZ,aAAa,mBAAmB,aAAa,eAAe;AAAA,QAC5D,WAAS;AAAA,QACT,QAAQ;AAAA,QACR,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEAD,2BAAAA,IAACE,2BAAW,YAAW,WAAU,WAAU,cAAa,UAAQ,MAC7D,UACH,KAAA,CAAA;AAAA,EACF,EAAA,CAAA;AAEJ;ACvBA,MAAM,4BAA4B,CAAC,EAAE,WAA2C;AACxE,QAAA,EAAE,kBAAkBC,UAAAA;AAE1B,wCAAQD,aAAAA,YAAW,EAAA,WAAU,cAAc,UAAeE,MAAAA,eAAA,MAAM,aAAa,EAAE,CAAA;AACjF;;;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const jsxRuntime = require("react/jsx-runtime");
|
|
3
3
|
const reactIntl = require("react-intl");
|
|
4
|
-
const index = require("./index-
|
|
4
|
+
const index = require("./index-WJOOvkDD.js");
|
|
5
5
|
const designSystem = require("@strapi/design-system");
|
|
6
6
|
const helperPlugin = require("@strapi/helper-plugin");
|
|
7
7
|
const Icons = require("@strapi/icons");
|
|
8
8
|
const styled = require("styled-components");
|
|
9
|
-
const useAdminRoles = require("./useAdminRoles-
|
|
9
|
+
const useAdminRoles = require("./useAdminRoles-rzx-BOWF.js");
|
|
10
10
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
11
11
|
const styled__default = /* @__PURE__ */ _interopDefault(styled);
|
|
12
12
|
const MagicLinkWrapper = ({ children, target }) => {
|
|
@@ -100,4 +100,4 @@ const Loader = () => /* @__PURE__ */ jsxRuntime.jsx(LoadingWrapper, { children:
|
|
|
100
100
|
exports.MagicLinkCE = MagicLinkCE;
|
|
101
101
|
exports.MagicLinkWrapper = MagicLinkWrapper;
|
|
102
102
|
exports.SelectRoles = SelectRoles;
|
|
103
|
-
//# sourceMappingURL=SelectRoles-
|
|
103
|
+
//# sourceMappingURL=SelectRoles-fcY2TRKH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectRoles-
|
|
1
|
+
{"version":3,"file":"SelectRoles-fcY2TRKH.js","sources":["../../admin/src/pages/Settings/pages/Users/components/MagicLinkWrapper.tsx","../../admin/src/pages/Settings/pages/Users/components/MagicLinkCE.tsx","../../admin/src/pages/Settings/pages/Users/components/SelectRoles.tsx"],"sourcesContent":["import { IconButton } from '@strapi/design-system';\nimport { ContentBox, useClipboard, useNotification } from '@strapi/helper-plugin';\nimport { Duplicate } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\ninterface MagicLinkWrapperProps {\n children: string;\n target: string;\n}\n\nconst MagicLinkWrapper = ({ children, target }: MagicLinkWrapperProps) => {\n const toggleNotification = useNotification();\n const { formatMessage } = useIntl();\n const { copy } = useClipboard();\n\n const copyLabel = formatMessage({\n id: 'app.component.CopyToClipboard.label',\n defaultMessage: 'Copy to clipboard',\n });\n\n const handleClick = async () => {\n const didCopy = await copy(target);\n\n if (didCopy) {\n toggleNotification({ type: 'info', message: { id: 'notification.link-copied' } });\n }\n };\n\n return (\n <ContentBox\n endAction={\n <IconButton label={copyLabel} noBorder icon={<Duplicate />} onClick={handleClick} />\n }\n title={target}\n titleEllipsis\n subtitle={children}\n icon={<span style={{ fontSize: 32 }}>✉️</span>}\n iconBackground=\"neutral100\"\n />\n );\n};\n\nexport { MagicLinkWrapper };\nexport type { MagicLinkWrapperProps };\n","import { useIntl } from 'react-intl';\n\nimport { getBasename } from '../../../../../core/utils/basename';\n\nimport { MagicLinkWrapper } from './MagicLinkWrapper';\n\ninterface MagicLinkCEProps {\n registrationToken: string;\n}\n\nconst MagicLinkCE = ({ registrationToken }: MagicLinkCEProps) => {\n const { formatMessage } = useIntl();\n const target = `${\n window.location.origin\n }${getBasename()}/auth/register?registrationToken=${registrationToken}`;\n\n return (\n <MagicLinkWrapper target={target}>\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect',\n defaultMessage: 'Copy and share this link to give access to this user',\n })}\n </MagicLinkWrapper>\n );\n};\n\nexport { MagicLinkCE };\nexport type { MagicLinkCEProps };\n","import { MultiSelect, MultiSelectOption } from '@strapi/design-system';\nimport { Loader as LoadingIcon } from '@strapi/icons';\nimport { FieldInputProps } from 'formik';\nimport { useIntl } from 'react-intl';\nimport styled, { keyframes } from 'styled-components';\n\nimport { useAdminRoles } from '../../../../../hooks/useAdminRoles';\n\nimport type { Entity } from '@strapi/types';\n\ninterface SelectRolesProps extends Pick<FieldInputProps<Entity.ID[]>, 'onChange' | 'value'> {\n disabled?: boolean;\n error?: string;\n}\n\nconst SelectRoles = ({ disabled, error, onChange, value }: SelectRolesProps) => {\n const { isLoading, roles } = useAdminRoles();\n\n const { formatMessage } = useIntl();\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n const label = formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.roles',\n defaultMessage: \"User's roles\",\n });\n const hint = formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.roles.description',\n defaultMessage: 'A user can have one or several roles',\n });\n const placeholder = formatMessage({\n id: 'app.components.Select.placeholder',\n defaultMessage: 'Select',\n });\n\n return (\n <MultiSelect\n id=\"roles\"\n disabled={disabled}\n error={errorMessage}\n hint={hint}\n label={label}\n name=\"roles\"\n onChange={(v) => {\n onChange({ target: { name: 'roles', value: v } });\n }}\n placeholder={placeholder}\n startIcon={isLoading ? <Loader /> : undefined}\n value={value.map((v) => v.toString())}\n withTags\n required\n >\n {roles.map((role) => {\n return (\n <MultiSelectOption key={role.id} value={role.id.toString()}>\n {formatMessage({\n id: `global.${role.code}`,\n defaultMessage: role.name,\n })}\n </MultiSelectOption>\n );\n })}\n </MultiSelect>\n );\n};\n\nconst rotation = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n`;\n\nconst LoadingWrapper = styled.div`\n animation: ${rotation} 2s infinite linear;\n`;\n\nconst Loader = () => (\n <LoadingWrapper>\n <LoadingIcon />\n </LoadingWrapper>\n);\n\nexport { SelectRoles };\n"],"names":["useNotification","useIntl","useClipboard","jsx","ContentBox","IconButton","Duplicate","getBasename","useAdminRoles","MultiSelect","MultiSelectOption","keyframes","styled","LoadingIcon"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useIntl } from "react-intl";
|
|
3
|
-
import { K as getBasename } from "./index-
|
|
3
|
+
import { K as getBasename } from "./index-jPSc5477.mjs";
|
|
4
4
|
import { IconButton, MultiSelect, MultiSelectOption } from "@strapi/design-system";
|
|
5
5
|
import { useNotification, useClipboard, ContentBox } from "@strapi/helper-plugin";
|
|
6
6
|
import { Duplicate, Loader as Loader$1 } from "@strapi/icons";
|
|
7
7
|
import styled, { keyframes } from "styled-components";
|
|
8
|
-
import { u as useAdminRoles } from "./useAdminRoles-
|
|
8
|
+
import { u as useAdminRoles } from "./useAdminRoles-S0VLTy6d.mjs";
|
|
9
9
|
const MagicLinkWrapper = ({ children, target }) => {
|
|
10
10
|
const toggleNotification = useNotification();
|
|
11
11
|
const { formatMessage } = useIntl();
|
|
@@ -99,4 +99,4 @@ export {
|
|
|
99
99
|
SelectRoles as S,
|
|
100
100
|
MagicLinkWrapper as a
|
|
101
101
|
};
|
|
102
|
-
//# sourceMappingURL=SelectRoles-
|
|
102
|
+
//# sourceMappingURL=SelectRoles-lGIENydS.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectRoles-
|
|
1
|
+
{"version":3,"file":"SelectRoles-lGIENydS.mjs","sources":["../../admin/src/pages/Settings/pages/Users/components/MagicLinkWrapper.tsx","../../admin/src/pages/Settings/pages/Users/components/MagicLinkCE.tsx","../../admin/src/pages/Settings/pages/Users/components/SelectRoles.tsx"],"sourcesContent":["import { IconButton } from '@strapi/design-system';\nimport { ContentBox, useClipboard, useNotification } from '@strapi/helper-plugin';\nimport { Duplicate } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\ninterface MagicLinkWrapperProps {\n children: string;\n target: string;\n}\n\nconst MagicLinkWrapper = ({ children, target }: MagicLinkWrapperProps) => {\n const toggleNotification = useNotification();\n const { formatMessage } = useIntl();\n const { copy } = useClipboard();\n\n const copyLabel = formatMessage({\n id: 'app.component.CopyToClipboard.label',\n defaultMessage: 'Copy to clipboard',\n });\n\n const handleClick = async () => {\n const didCopy = await copy(target);\n\n if (didCopy) {\n toggleNotification({ type: 'info', message: { id: 'notification.link-copied' } });\n }\n };\n\n return (\n <ContentBox\n endAction={\n <IconButton label={copyLabel} noBorder icon={<Duplicate />} onClick={handleClick} />\n }\n title={target}\n titleEllipsis\n subtitle={children}\n icon={<span style={{ fontSize: 32 }}>✉️</span>}\n iconBackground=\"neutral100\"\n />\n );\n};\n\nexport { MagicLinkWrapper };\nexport type { MagicLinkWrapperProps };\n","import { useIntl } from 'react-intl';\n\nimport { getBasename } from '../../../../../core/utils/basename';\n\nimport { MagicLinkWrapper } from './MagicLinkWrapper';\n\ninterface MagicLinkCEProps {\n registrationToken: string;\n}\n\nconst MagicLinkCE = ({ registrationToken }: MagicLinkCEProps) => {\n const { formatMessage } = useIntl();\n const target = `${\n window.location.origin\n }${getBasename()}/auth/register?registrationToken=${registrationToken}`;\n\n return (\n <MagicLinkWrapper target={target}>\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect',\n defaultMessage: 'Copy and share this link to give access to this user',\n })}\n </MagicLinkWrapper>\n );\n};\n\nexport { MagicLinkCE };\nexport type { MagicLinkCEProps };\n","import { MultiSelect, MultiSelectOption } from '@strapi/design-system';\nimport { Loader as LoadingIcon } from '@strapi/icons';\nimport { FieldInputProps } from 'formik';\nimport { useIntl } from 'react-intl';\nimport styled, { keyframes } from 'styled-components';\n\nimport { useAdminRoles } from '../../../../../hooks/useAdminRoles';\n\nimport type { Entity } from '@strapi/types';\n\ninterface SelectRolesProps extends Pick<FieldInputProps<Entity.ID[]>, 'onChange' | 'value'> {\n disabled?: boolean;\n error?: string;\n}\n\nconst SelectRoles = ({ disabled, error, onChange, value }: SelectRolesProps) => {\n const { isLoading, roles } = useAdminRoles();\n\n const { formatMessage } = useIntl();\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n const label = formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.roles',\n defaultMessage: \"User's roles\",\n });\n const hint = formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.roles.description',\n defaultMessage: 'A user can have one or several roles',\n });\n const placeholder = formatMessage({\n id: 'app.components.Select.placeholder',\n defaultMessage: 'Select',\n });\n\n return (\n <MultiSelect\n id=\"roles\"\n disabled={disabled}\n error={errorMessage}\n hint={hint}\n label={label}\n name=\"roles\"\n onChange={(v) => {\n onChange({ target: { name: 'roles', value: v } });\n }}\n placeholder={placeholder}\n startIcon={isLoading ? <Loader /> : undefined}\n value={value.map((v) => v.toString())}\n withTags\n required\n >\n {roles.map((role) => {\n return (\n <MultiSelectOption key={role.id} value={role.id.toString()}>\n {formatMessage({\n id: `global.${role.code}`,\n defaultMessage: role.name,\n })}\n </MultiSelectOption>\n );\n })}\n </MultiSelect>\n );\n};\n\nconst rotation = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n`;\n\nconst LoadingWrapper = styled.div`\n animation: ${rotation} 2s infinite linear;\n`;\n\nconst Loader = () => (\n <LoadingWrapper>\n <LoadingIcon />\n </LoadingWrapper>\n);\n\nexport { SelectRoles };\n"],"names":["LoadingIcon"],"mappings":";;;;;;;;AAUA,MAAM,mBAAmB,CAAC,EAAE,UAAU,aAAoC;AACxE,QAAM,qBAAqB;AACrB,QAAA,EAAE,kBAAkB;AACpB,QAAA,EAAE,SAAS;AAEjB,QAAM,YAAY,cAAc;AAAA,IAC9B,IAAI;AAAA,IACJ,gBAAgB;AAAA,EAAA,CACjB;AAED,QAAM,cAAc,YAAY;AACxB,UAAA,UAAU,MAAM,KAAK,MAAM;AAEjC,QAAI,SAAS;AACQ,yBAAA,EAAE,MAAM,QAAQ,SAAS,EAAE,IAAI,8BAA8B;AAAA,IAClF;AAAA,EAAA;AAIA,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WACE,oBAAC,YAAW,EAAA,OAAO,WAAW,UAAQ,MAAC,MAAO,oBAAA,WAAA,CAAA,CAAU,GAAI,SAAS,YAAa,CAAA;AAAA,MAEpF,OAAO;AAAA,MACP,eAAa;AAAA,MACb,UAAU;AAAA,MACV,0BAAO,QAAK,EAAA,OAAO,EAAE,UAAU,MAAM,UAAE,MAAA;AAAA,MACvC,gBAAe;AAAA,IAAA;AAAA,EAAA;AAGrB;AC9BA,MAAM,cAAc,CAAC,EAAE,wBAA0C;AACzD,QAAA,EAAE,kBAAkB;AACpB,QAAA,SAAS,GACb,OAAO,SAAS,MAClB,GAAG,aAAa,oCAAoC,iBAAiB;AAGnE,SAAA,oBAAC,kBAAiB,EAAA,QACf,UAAc,cAAA;AAAA,IACb,IAAI;AAAA,IACJ,gBAAgB;AAAA,EACjB,CAAA,EACH,CAAA;AAEJ;ACTA,MAAM,cAAc,CAAC,EAAE,UAAU,OAAO,UAAU,YAA8B;AAC9E,QAAM,EAAE,WAAW,MAAM,IAAI,cAAc;AAErC,QAAA,EAAE,kBAAkB;AACpB,QAAA,eAAe,QAAQ,cAAc,EAAE,IAAI,OAAO,gBAAgB,OAAO,IAAI;AACnF,QAAM,QAAQ,cAAc;AAAA,IAC1B,IAAI;AAAA,IACJ,gBAAgB;AAAA,EAAA,CACjB;AACD,QAAM,OAAO,cAAc;AAAA,IACzB,IAAI;AAAA,IACJ,gBAAgB;AAAA,EAAA,CACjB;AACD,QAAM,cAAc,cAAc;AAAA,IAChC,IAAI;AAAA,IACJ,gBAAgB;AAAA,EAAA,CACjB;AAGC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAG;AAAA,MACH;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,MAAK;AAAA,MACL,UAAU,CAAC,MAAM;AACN,iBAAA,EAAE,QAAQ,EAAE,MAAM,SAAS,OAAO,KAAK;AAAA,MAClD;AAAA,MACA;AAAA,MACA,WAAW,YAAa,oBAAA,QAAA,CAAO,CAAA,IAAK;AAAA,MACpC,OAAO,MAAM,IAAI,CAAC,MAAM,EAAE,UAAU;AAAA,MACpC,UAAQ;AAAA,MACR,UAAQ;AAAA,MAEP,UAAA,MAAM,IAAI,CAAC,SAAS;AACnB,mCACG,mBAAgC,EAAA,OAAO,KAAK,GAAG,SAAA,GAC7C,UAAc,cAAA;AAAA,UACb,IAAI,UAAU,KAAK,IAAI;AAAA,UACvB,gBAAgB,KAAK;AAAA,QAAA,CACtB,EAJqB,GAAA,KAAK,EAK7B;AAAA,MAAA,CAEH;AAAA,IAAA;AAAA,EAAA;AAGP;AAEA,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASjB,MAAM,iBAAiB,OAAO;AAAA,eACf,QAAQ;AAAA;AAGvB,MAAM,SAAS,MACb,oBAAC,gBACC,EAAA,UAAA,oBAACA,WAAY,CAAA,GACf;"}
|