@strapi/admin 4.25.18 → 4.25.20
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-vN-v6v7Z.js → AdminSeatInfo-0cKqdZDy.js} +3 -3
- package/dist/_chunks/{AdminSeatInfo-vN-v6v7Z.js.map → AdminSeatInfo-0cKqdZDy.js.map} +1 -1
- package/dist/_chunks/{AdminSeatInfo-DijdIU67.mjs → AdminSeatInfo-GTY9JWCL.mjs} +3 -3
- package/dist/_chunks/{AdminSeatInfo-DijdIU67.mjs.map → AdminSeatInfo-GTY9JWCL.mjs.map} +1 -1
- package/dist/_chunks/{AuthenticatedApp-POklphsM.mjs → AuthenticatedApp-ZDEcVJFL.mjs} +20 -20
- package/dist/_chunks/{AuthenticatedApp-POklphsM.mjs.map → AuthenticatedApp-ZDEcVJFL.mjs.map} +1 -1
- package/dist/_chunks/{AuthenticatedApp-RZbMUOlP.js → AuthenticatedApp-_31op4tu.js} +20 -20
- package/dist/_chunks/{AuthenticatedApp-RZbMUOlP.js.map → AuthenticatedApp-_31op4tu.js.map} +1 -1
- package/dist/_chunks/{CreateActionEE-47_TN7AN.mjs → CreateActionEE-5Ub-mek_.mjs} +2 -2
- package/dist/_chunks/{CreateActionEE-47_TN7AN.mjs.map → CreateActionEE-5Ub-mek_.mjs.map} +1 -1
- package/dist/_chunks/{CreateActionEE-0u9oivIs.js → CreateActionEE-VPtSIXIX.js} +2 -2
- package/dist/_chunks/{CreateActionEE-0u9oivIs.js.map → CreateActionEE-VPtSIXIX.js.map} +1 -1
- package/dist/_chunks/{CreatePage-JdGtpBIG.js → CreatePage-9o6MUtyH.js} +6 -6
- package/dist/_chunks/{CreatePage-JdGtpBIG.js.map → CreatePage-9o6MUtyH.js.map} +1 -1
- package/dist/_chunks/{CreatePage-enkuHP3D.mjs → CreatePage-IsGEwU4z.mjs} +8 -8
- package/dist/_chunks/{CreatePage-enkuHP3D.mjs.map → CreatePage-IsGEwU4z.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-EBL_5Bsa.mjs → CreatePage-KSZZpE-L.mjs} +6 -6
- package/dist/_chunks/{CreatePage-EBL_5Bsa.mjs.map → CreatePage-KSZZpE-L.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-ZGluYbbj.js → CreatePage-akCLzXCK.js} +8 -8
- package/dist/_chunks/{CreatePage-ZGluYbbj.js.map → CreatePage-akCLzXCK.js.map} +1 -1
- package/dist/_chunks/{CreatePage-xAGUPluB.mjs → CreatePage-eP2m9KkQ.mjs} +3 -3
- package/dist/_chunks/{CreatePage-xAGUPluB.mjs.map → CreatePage-eP2m9KkQ.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-cnbUXD3q.js → CreatePage-pVDqvNqt.js} +3 -3
- package/dist/_chunks/{CreatePage-cnbUXD3q.js.map → CreatePage-pVDqvNqt.js.map} +1 -1
- package/dist/_chunks/{CreateView-D5tBKtXM.js → CreateView-2jXwQKAI.js} +6 -6
- package/dist/_chunks/{CreateView-D5tBKtXM.js.map → CreateView-2jXwQKAI.js.map} +1 -1
- package/dist/_chunks/{CreateView-y8lXzAdy.mjs → CreateView-7Yr9395X.mjs} +6 -6
- package/dist/_chunks/{CreateView-y8lXzAdy.mjs.map → CreateView-7Yr9395X.mjs.map} +1 -1
- package/dist/_chunks/{CreateView-b7_9aFwg.js → CreateView-Dt_rZj4J.js} +6 -6
- package/dist/_chunks/{CreateView-b7_9aFwg.js.map → CreateView-Dt_rZj4J.js.map} +1 -1
- package/dist/_chunks/{CreateView-BLfhp5Ni.mjs → CreateView-PKG3SJtY.mjs} +6 -6
- package/dist/_chunks/{CreateView-BLfhp5Ni.mjs.map → CreateView-PKG3SJtY.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-S-CUOQ1e.js → EditPage-2M2ewRxR.js} +9 -9
- package/dist/_chunks/{EditPage-S-CUOQ1e.js.map → EditPage-2M2ewRxR.js.map} +1 -1
- package/dist/_chunks/{EditPage-eexvguyp.js → EditPage-CkNfUaI_.js} +6 -6
- package/dist/_chunks/{EditPage-eexvguyp.js.map → EditPage-CkNfUaI_.js.map} +1 -1
- package/dist/_chunks/{EditPage-MYa8LSN-.js → EditPage-Iaj65jjY.js} +4 -4
- package/dist/_chunks/{EditPage-MYa8LSN-.js.map → EditPage-Iaj65jjY.js.map} +1 -1
- package/dist/_chunks/{EditPage-aukk992V.mjs → EditPage-Ine-urvd.mjs} +6 -6
- package/dist/_chunks/{EditPage-aukk992V.mjs.map → EditPage-Ine-urvd.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-R1ZwO2m0.mjs → EditPage-Yxk7NS8a.mjs} +6 -6
- package/dist/_chunks/{EditPage-R1ZwO2m0.mjs.map → EditPage-Yxk7NS8a.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-43f3bvCf.mjs → EditPage-kBzVWg0Q.mjs} +9 -9
- package/dist/_chunks/{EditPage-43f3bvCf.mjs.map → EditPage-kBzVWg0Q.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-AeTcFbtm.mjs → EditPage-mnrYcQgR.mjs} +4 -4
- package/dist/_chunks/{EditPage-AeTcFbtm.mjs.map → EditPage-mnrYcQgR.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-7zTqR-cR.js → EditPage-t9VuGktV.js} +6 -6
- package/dist/_chunks/{EditPage-7zTqR-cR.js.map → EditPage-t9VuGktV.js.map} +1 -1
- package/dist/_chunks/{EditView-xMYwCGnx.js → EditView-4Ocv0WSd.js} +4 -4
- package/dist/_chunks/{EditView-xMYwCGnx.js.map → EditView-4Ocv0WSd.js.map} +1 -1
- package/dist/_chunks/{EditView-aDRUWtNW.mjs → EditView-loQ4wBTC.mjs} +4 -4
- package/dist/_chunks/{EditView-aDRUWtNW.mjs.map → EditView-loQ4wBTC.mjs.map} +1 -1
- package/dist/_chunks/{EditViewPage-8LadZF6O.js → EditViewPage-JzVFHB8V.js} +4 -4
- package/dist/_chunks/{EditViewPage-8LadZF6O.js.map → EditViewPage-JzVFHB8V.js.map} +1 -1
- package/dist/_chunks/{EditViewPage-lIwT7m_a.mjs → EditViewPage-K5-8Tr2k.mjs} +4 -4
- package/dist/_chunks/{EditViewPage-lIwT7m_a.mjs.map → EditViewPage-K5-8Tr2k.mjs.map} +1 -1
- package/dist/_chunks/{EventsTable-5jp23c57.mjs → EventsTable-mVQnHLBG.mjs} +6 -6
- package/dist/_chunks/{EventsTable-5jp23c57.mjs.map → EventsTable-mVQnHLBG.mjs.map} +1 -1
- package/dist/_chunks/{EventsTable-OMdntLFF.js → EventsTable-yt9YV3PW.js} +6 -6
- package/dist/_chunks/{EventsTable-OMdntLFF.js.map → EventsTable-yt9YV3PW.js.map} +1 -1
- package/dist/_chunks/{HomePage-HSFMi8no.mjs → HomePage-HWvbV0kg.mjs} +6 -6
- package/dist/_chunks/{HomePage-HSFMi8no.mjs.map → HomePage-HWvbV0kg.mjs.map} +1 -1
- package/dist/_chunks/{HomePage-5AzsOqJY.js → HomePage-HkjLG9sJ.js} +6 -6
- package/dist/_chunks/{HomePage-5AzsOqJY.js.map → HomePage-HkjLG9sJ.js.map} +1 -1
- package/dist/_chunks/{HomePage-gzyEJh6c.mjs → HomePage-U5pzbUga.mjs} +5 -5
- package/dist/_chunks/{HomePage-gzyEJh6c.mjs.map → HomePage-U5pzbUga.mjs.map} +1 -1
- package/dist/_chunks/{HomePage-wk-EdfhK.js → HomePage-UM4JEvF3.js} +5 -5
- package/dist/_chunks/{HomePage-wk-EdfhK.js.map → HomePage-UM4JEvF3.js.map} +1 -1
- package/dist/_chunks/{InformationBoxEE-8Z46UiIZ.mjs → InformationBoxEE-4WSUEBbN.mjs} +3 -3
- package/dist/_chunks/{InformationBoxEE-8Z46UiIZ.mjs.map → InformationBoxEE-4WSUEBbN.mjs.map} +1 -1
- package/dist/_chunks/{InformationBoxEE-VXXejvAN.js → InformationBoxEE-UpH3LKc4.js} +3 -3
- package/dist/_chunks/{InformationBoxEE-VXXejvAN.js.map → InformationBoxEE-UpH3LKc4.js.map} +1 -1
- package/dist/_chunks/{InstalledPluginsPage-ynee1mkC.js → InstalledPluginsPage--GqA6C-g.js} +3 -3
- package/dist/_chunks/{InstalledPluginsPage-ynee1mkC.js.map → InstalledPluginsPage--GqA6C-g.js.map} +1 -1
- package/dist/_chunks/{InstalledPluginsPage-4VePhHUz.mjs → InstalledPluginsPage-tSs9HYCy.mjs} +3 -3
- package/dist/_chunks/{InstalledPluginsPage-4VePhHUz.mjs.map → InstalledPluginsPage-tSs9HYCy.mjs.map} +1 -1
- package/dist/_chunks/{Layout-a9KIT2YG.mjs → Layout-dURZXNrD.mjs} +2 -2
- package/dist/_chunks/{Layout-a9KIT2YG.mjs.map → Layout-dURZXNrD.mjs.map} +1 -1
- package/dist/_chunks/{Layout-LJoVD2XH.js → Layout-r4HmN54I.js} +2 -2
- package/dist/_chunks/{Layout-LJoVD2XH.js.map → Layout-r4HmN54I.js.map} +1 -1
- package/dist/_chunks/{ListPage-ucdDfi1K.js → ListPage-0Bi10Jzr.js} +2 -2
- package/dist/_chunks/{ListPage-ucdDfi1K.js.map → ListPage-0Bi10Jzr.js.map} +1 -1
- package/dist/_chunks/{ListPage-W5bGvC6k.js → ListPage-2Upxe5H2.js} +6 -6
- package/dist/_chunks/{ListPage-W5bGvC6k.js.map → ListPage-2Upxe5H2.js.map} +1 -1
- package/dist/_chunks/{ListPage-IJiV9rMT.mjs → ListPage-2vOjjYuC.mjs} +8 -8
- package/dist/_chunks/{ListPage-IJiV9rMT.mjs.map → ListPage-2vOjjYuC.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-mFBiftIQ.mjs → ListPage-Fgx6Bcf3.mjs} +2 -2
- package/dist/_chunks/{ListPage-mFBiftIQ.mjs.map → ListPage-Fgx6Bcf3.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-yjiZ56ww.js → ListPage-K5_3_Awn.js} +7 -7
- package/dist/_chunks/{ListPage-yjiZ56ww.js.map → ListPage-K5_3_Awn.js.map} +1 -1
- package/dist/_chunks/{ListPage-PFiwToSs.js → ListPage-QWpZx7a4.js} +3 -3
- package/dist/_chunks/{ListPage-PFiwToSs.js.map → ListPage-QWpZx7a4.js.map} +1 -1
- package/dist/_chunks/{ListPage-30YvAjLR.js → ListPage-XRvGRQN_.js} +4 -4
- package/dist/_chunks/{ListPage-30YvAjLR.js.map → ListPage-XRvGRQN_.js.map} +1 -1
- package/dist/_chunks/{ListPage-z0y9FJS-.mjs → ListPage-bep44h3v.mjs} +6 -6
- package/dist/_chunks/{ListPage-z0y9FJS-.mjs.map → ListPage-bep44h3v.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-aj11J7KI.mjs → ListPage-dmRTFOpK.mjs} +7 -7
- package/dist/_chunks/{ListPage-aj11J7KI.mjs.map → ListPage-dmRTFOpK.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-1_PoHBzW.mjs → ListPage-lNb4WrLP.mjs} +4 -4
- package/dist/_chunks/{ListPage-1_PoHBzW.mjs.map → ListPage-lNb4WrLP.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-pfjbkUOz.mjs → ListPage-qPci3wft.mjs} +3 -3
- package/dist/_chunks/{ListPage-pfjbkUOz.mjs.map → ListPage-qPci3wft.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-u7Fl1ZgT.js → ListPage-ysM3U4i7.js} +8 -8
- package/dist/_chunks/{ListPage-u7Fl1ZgT.js.map → ListPage-ysM3U4i7.js.map} +1 -1
- package/dist/_chunks/{ListView-R9RK2O9T.js → ListView-JKKBx2Ym.js} +3 -3
- package/dist/_chunks/{ListView-R9RK2O9T.js.map → ListView-JKKBx2Ym.js.map} +1 -1
- package/dist/_chunks/{ListView-e4uUj3o9.mjs → ListView-gAzRVd4t.mjs} +3 -3
- package/dist/_chunks/{ListView-e4uUj3o9.mjs.map → ListView-gAzRVd4t.mjs.map} +1 -1
- package/dist/_chunks/{ListView-4qpj-WG0.mjs → ListView-jN_Vyb9x.mjs} +3 -3
- package/dist/_chunks/{ListView-4qpj-WG0.mjs.map → ListView-jN_Vyb9x.mjs.map} +1 -1
- package/dist/_chunks/{ListView-ieixMP4v.js → ListView-yaPdnv3o.js} +3 -3
- package/dist/_chunks/{ListView-ieixMP4v.js.map → ListView-yaPdnv3o.js.map} +1 -1
- package/dist/_chunks/{Login-2DO6klZz.js → Login-8EXps--E.js} +2 -2
- package/dist/_chunks/{Login-2DO6klZz.js.map → Login-8EXps--E.js.map} +1 -1
- package/dist/_chunks/{Login-om5dap0k.mjs → Login-WpcU1FMg.mjs} +2 -2
- package/dist/_chunks/{Login-om5dap0k.mjs.map → Login-WpcU1FMg.mjs.map} +1 -1
- package/dist/_chunks/{MagicLinkEE-m2MZTTBZ.mjs → MagicLinkEE--uWYtGHb.mjs} +4 -4
- package/dist/_chunks/{MagicLinkEE-m2MZTTBZ.mjs.map → MagicLinkEE--uWYtGHb.mjs.map} +1 -1
- package/dist/_chunks/{MagicLinkEE-nffJb8Ps.js → MagicLinkEE-xqnP_rof.js} +4 -4
- package/dist/_chunks/{MagicLinkEE-nffJb8Ps.js.map → MagicLinkEE-xqnP_rof.js.map} +1 -1
- package/dist/_chunks/{MarketplacePage-euyC5krv.mjs → MarketplacePage-1h8lwkCd.mjs} +3 -3
- package/dist/_chunks/{MarketplacePage-euyC5krv.mjs.map → MarketplacePage-1h8lwkCd.mjs.map} +1 -1
- package/dist/_chunks/{MarketplacePage-yunapA3q.js → MarketplacePage-C2zQxy96.js} +3 -3
- package/dist/_chunks/{MarketplacePage-yunapA3q.js.map → MarketplacePage-C2zQxy96.js.map} +1 -1
- package/dist/_chunks/{Permissions-QoA8P8xL.mjs → Permissions-47LtaI6K.mjs} +2 -2
- package/dist/_chunks/{Permissions-QoA8P8xL.mjs.map → Permissions-47LtaI6K.mjs.map} +1 -1
- package/dist/_chunks/{Permissions-Orjat2k_.js → Permissions-O18WEA0K.js} +2 -2
- package/dist/_chunks/{Permissions-Orjat2k_.js.map → Permissions-O18WEA0K.js.map} +1 -1
- package/dist/_chunks/{ProfilePage-xB-FnnXe.mjs → ProfilePage-KcPxmWZp.mjs} +3 -3
- package/dist/_chunks/{ProfilePage-xB-FnnXe.mjs.map → ProfilePage-KcPxmWZp.mjs.map} +1 -1
- package/dist/_chunks/{ProfilePage-TCTvfJ8W.js → ProfilePage-T_qWeZCs.js} +3 -3
- package/dist/_chunks/{ProfilePage-TCTvfJ8W.js.map → ProfilePage-T_qWeZCs.js.map} +1 -1
- package/dist/_chunks/{ReviewWorkflowsColumn-oBj-VhtZ.mjs → ReviewWorkflowsColumn-93QHwBlL.mjs} +2 -2
- package/dist/_chunks/{ReviewWorkflowsColumn-oBj-VhtZ.mjs.map → ReviewWorkflowsColumn-93QHwBlL.mjs.map} +1 -1
- package/dist/_chunks/{ReviewWorkflowsColumn-SK7lw72u.js → ReviewWorkflowsColumn-Xx2_J2MC.js} +2 -2
- package/dist/_chunks/{ReviewWorkflowsColumn-SK7lw72u.js.map → ReviewWorkflowsColumn-Xx2_J2MC.js.map} +1 -1
- package/dist/_chunks/{SelectRoles-DdPPGU3T.js → SelectRoles-83SRxHnZ.js} +3 -3
- package/dist/_chunks/{SelectRoles-DdPPGU3T.js.map → SelectRoles-83SRxHnZ.js.map} +1 -1
- package/dist/_chunks/{SelectRoles-3vCZXVWH.mjs → SelectRoles-9hg1dCdr.mjs} +3 -3
- package/dist/_chunks/{SelectRoles-3vCZXVWH.mjs.map → SelectRoles-9hg1dCdr.mjs.map} +1 -1
- package/dist/_chunks/{SettingsPage-ibXF5Z7B.js → SettingsPage-A58YQpP3.js} +21 -21
- package/dist/_chunks/{SettingsPage-ibXF5Z7B.js.map → SettingsPage-A58YQpP3.js.map} +1 -1
- package/dist/_chunks/{SettingsPage-3E_9V00x.mjs → SettingsPage-vNUWg6Y7.mjs} +21 -21
- package/dist/_chunks/{SettingsPage-3E_9V00x.mjs.map → SettingsPage-vNUWg6Y7.mjs.map} +1 -1
- package/dist/_chunks/{SingleSignOnPage-nIBhdtAY.js → SingleSignOnPage-6gJzEtib.js} +3 -3
- package/dist/_chunks/{SingleSignOnPage-nIBhdtAY.js.map → SingleSignOnPage-6gJzEtib.js.map} +1 -1
- package/dist/_chunks/{SingleSignOnPage-hEzDiNO5.mjs → SingleSignOnPage-mX6RrKB6.mjs} +3 -3
- package/dist/_chunks/{SingleSignOnPage-hEzDiNO5.mjs.map → SingleSignOnPage-mX6RrKB6.mjs.map} +1 -1
- package/dist/_chunks/{TokenTypeSelect--502wWKV.js → TokenTypeSelect-1bv2USYJ.js} +2 -2
- package/dist/_chunks/{TokenTypeSelect--502wWKV.js.map → TokenTypeSelect-1bv2USYJ.js.map} +1 -1
- package/dist/_chunks/{TokenTypeSelect-4Kh9CDq9.mjs → TokenTypeSelect-LKAR_fvg.mjs} +2 -2
- package/dist/_chunks/{TokenTypeSelect-4Kh9CDq9.mjs.map → TokenTypeSelect-LKAR_fvg.mjs.map} +1 -1
- package/dist/_chunks/{apiTokens-mL8NbSgw.js → apiTokens-NEiG15Ty.js} +2 -2
- package/dist/_chunks/{apiTokens-mL8NbSgw.js.map → apiTokens-NEiG15Ty.js.map} +1 -1
- package/dist/_chunks/{apiTokens-7j0FXElZ.mjs → apiTokens-b4C1Q0Ny.mjs} +2 -2
- package/dist/_chunks/{apiTokens-7j0FXElZ.mjs.map → apiTokens-b4C1Q0Ny.mjs.map} +1 -1
- package/dist/_chunks/{constants-5WWLFsl8.js → constants-DV4ZV8z3.js} +2 -2
- package/dist/_chunks/{constants-5WWLFsl8.js.map → constants-DV4ZV8z3.js.map} +1 -1
- package/dist/_chunks/{constants-1TPaW7YQ.js → constants-MKl1-NZI.js} +4 -4
- package/dist/_chunks/{constants-1TPaW7YQ.js.map → constants-MKl1-NZI.js.map} +1 -1
- package/dist/_chunks/{constants-ZMoSqIs_.mjs → constants-PdXu3EOC.mjs} +4 -4
- package/dist/_chunks/{constants-ZMoSqIs_.mjs.map → constants-PdXu3EOC.mjs.map} +1 -1
- package/dist/_chunks/{constants-N8s4Vfy7.mjs → constants-UQTIFOnd.mjs} +2 -2
- package/dist/_chunks/{constants-N8s4Vfy7.mjs.map → constants-UQTIFOnd.mjs.map} +1 -1
- package/dist/_chunks/{constants-tvQqAwGQ.mjs → constants-Vm3HMHD-.mjs} +2 -2
- package/dist/_chunks/{constants-tvQqAwGQ.mjs.map → constants-Vm3HMHD-.mjs.map} +1 -1
- package/dist/_chunks/{constants-esAvznzX.mjs → constants-ZEkpOLAQ.mjs} +6 -6
- package/dist/_chunks/{constants-esAvznzX.mjs.map → constants-ZEkpOLAQ.mjs.map} +1 -1
- package/dist/_chunks/{constants-hwXdckaB.js → constants-ax3XvtM6.js} +6 -6
- package/dist/_chunks/{constants-hwXdckaB.js.map → constants-ax3XvtM6.js.map} +1 -1
- package/dist/_chunks/{constants-ororYiFv.js → constants-jekQ9X_5.js} +2 -2
- package/dist/_chunks/{constants-ororYiFv.js.map → constants-jekQ9X_5.js.map} +1 -1
- package/dist/_chunks/{index-3L2hpEDi.mjs → index-GXbuKv-_.mjs} +10 -10
- package/dist/_chunks/{index-3L2hpEDi.mjs.map → index-GXbuKv-_.mjs.map} +1 -1
- package/dist/_chunks/{index-PfmByeLh.js → index-nwZcrgzh.js} +10 -10
- package/dist/_chunks/{index-PfmByeLh.js.map → index-nwZcrgzh.js.map} +1 -1
- package/dist/_chunks/{reviewWorkflows-E8cPmPwn.mjs → reviewWorkflows-OJox8ZY2.mjs} +2 -2
- package/dist/_chunks/{reviewWorkflows-E8cPmPwn.mjs.map → reviewWorkflows-OJox8ZY2.mjs.map} +1 -1
- package/dist/_chunks/{reviewWorkflows-mBpI9Jne.js → reviewWorkflows-nJzvKtSe.js} +2 -2
- package/dist/_chunks/{reviewWorkflows-mBpI9Jne.js.map → reviewWorkflows-nJzvKtSe.js.map} +1 -1
- package/dist/_chunks/{transferTokens-3q0p3L-p.mjs → transferTokens-097i_oj1.mjs} +2 -2
- package/dist/_chunks/{transferTokens-3q0p3L-p.mjs.map → transferTokens-097i_oj1.mjs.map} +1 -1
- package/dist/_chunks/{transferTokens-v4BkhpeB.js → transferTokens-vs1DcwYz.js} +2 -2
- package/dist/_chunks/{transferTokens-v4BkhpeB.js.map → transferTokens-vs1DcwYz.js.map} +1 -1
- package/dist/_chunks/{useAdminRoles-Puckn7sd.js → useAdminRoles-Sn6wquBQ.js} +2 -2
- package/dist/_chunks/{useAdminRoles-Puckn7sd.js.map → useAdminRoles-Sn6wquBQ.js.map} +1 -1
- package/dist/_chunks/{useAdminRoles-SF86kKrJ.mjs → useAdminRoles-t0VegNFc.mjs} +2 -2
- package/dist/_chunks/{useAdminRoles-SF86kKrJ.mjs.map → useAdminRoles-t0VegNFc.mjs.map} +1 -1
- package/dist/_chunks/{useContentTypes-75WMv1c1.mjs → useContentTypes-5G5d_8Yt.mjs} +2 -2
- package/dist/_chunks/{useContentTypes-75WMv1c1.mjs.map → useContentTypes-5G5d_8Yt.mjs.map} +1 -1
- package/dist/_chunks/{useContentTypes-GWoChtmj.js → useContentTypes-eqiSeQ80.js} +2 -2
- package/dist/_chunks/{useContentTypes-GWoChtmj.js.map → useContentTypes-eqiSeQ80.js.map} +1 -1
- package/dist/_chunks/{useLicenseLimitNotification-JTT4D2Nc.js → useLicenseLimitNotification-6Q6QB9JI.js} +2 -2
- package/dist/_chunks/{useLicenseLimitNotification-JTT4D2Nc.js.map → useLicenseLimitNotification-6Q6QB9JI.js.map} +1 -1
- package/dist/_chunks/{useLicenseLimitNotification-uM7Bnf2T.mjs → useLicenseLimitNotification-hMmz3wa_.mjs} +2 -2
- package/dist/_chunks/{useLicenseLimitNotification-uM7Bnf2T.mjs.map → useLicenseLimitNotification-hMmz3wa_.mjs.map} +1 -1
- package/dist/_chunks/{useReviewWorkflows-jvAXCv3f.mjs → useReviewWorkflows-BwN38cxm.mjs} +2 -2
- package/dist/_chunks/{useReviewWorkflows-jvAXCv3f.mjs.map → useReviewWorkflows-BwN38cxm.mjs.map} +1 -1
- package/dist/_chunks/{useReviewWorkflows-1FdLHw4-.js → useReviewWorkflows-Sg9Wrbwr.js} +2 -2
- package/dist/_chunks/{useReviewWorkflows-1FdLHw4-.js.map → useReviewWorkflows-Sg9Wrbwr.js.map} +1 -1
- package/dist/_chunks/{useWebhooks-hCnyz7th.js → useWebhooks-_ihVQATo.js} +2 -2
- package/dist/_chunks/{useWebhooks-hCnyz7th.js.map → useWebhooks-_ihVQATo.js.map} +1 -1
- package/dist/_chunks/{useWebhooks-TtnULIf5.mjs → useWebhooks-aPzB1S1_.mjs} +2 -2
- package/dist/_chunks/{useWebhooks-TtnULIf5.mjs.map → useWebhooks-aPzB1S1_.mjs.map} +1 -1
- package/dist/_chunks/{validateWorkflow-Og2D7xE1.js → validateWorkflow-PGFagvRV.js} +2 -2
- package/dist/_chunks/{validateWorkflow-Og2D7xE1.js.map → validateWorkflow-PGFagvRV.js.map} +1 -1
- package/dist/_chunks/{validateWorkflow-bFrs4n2O.mjs → validateWorkflow-TQyTQGNS.mjs} +2 -2
- package/dist/_chunks/{validateWorkflow-bFrs4n2O.mjs.map → validateWorkflow-TQyTQGNS.mjs.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/ee/server/index.js.map +1 -1
- package/dist/ee/server/index.mjs.map +1 -1
- package/package.json +12 -12
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useCMEditViewDataManager, useAPIErrorHandler, useNotification, useRBAC } from "@strapi/helper-plugin";
|
|
3
|
-
import { j as useTypedSelector, k as useAdminUsers, l as getDisplayName, m as useLicenseLimits, I as Information } from "./index-
|
|
3
|
+
import { j as useTypedSelector, k as useAdminUsers, l as getDisplayName, m as useLicenseLimits, I as Information } from "./index-GXbuKv-_.mjs";
|
|
4
4
|
import { Field, Flex, Combobox, ComboboxOption, SingleSelect, Typography, Loader, SingleSelectOption, FieldHint, FieldError } from "@strapi/design-system";
|
|
5
5
|
import { useIntl } from "react-intl";
|
|
6
|
-
import { u as useUpdateAssigneeMutation, a as useGetStagesQuery, b as useUpdateStageMutation } from "./reviewWorkflows-
|
|
6
|
+
import { u as useUpdateAssigneeMutation, a as useGetStagesQuery, b as useUpdateStageMutation } from "./reviewWorkflows-OJox8ZY2.mjs";
|
|
7
7
|
import { A as ASSIGNEE_ATTRIBUTE_NAME, S as STAGE_ATTRIBUTE_NAME } from "./constants-q1-_l5GM.mjs";
|
|
8
8
|
import * as React from "react";
|
|
9
9
|
import { L as LimitsModal } from "./LimitsModal-slvRtty7.mjs";
|
|
@@ -337,4 +337,4 @@ const InformationBoxEE = () => {
|
|
|
337
337
|
export {
|
|
338
338
|
InformationBoxEE
|
|
339
339
|
};
|
|
340
|
-
//# sourceMappingURL=InformationBoxEE-
|
|
340
|
+
//# sourceMappingURL=InformationBoxEE-4WSUEBbN.mjs.map
|
package/dist/_chunks/{InformationBoxEE-8Z46UiIZ.mjs.map → InformationBoxEE-4WSUEBbN.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InformationBoxEE-8Z46UiIZ.mjs","sources":["../../ee/admin/src/content-manager/pages/EditView/components/AssigneeSelect.tsx","../../ee/admin/src/content-manager/pages/EditView/components/StageSelect.tsx","../../ee/admin/src/content-manager/pages/EditView/components/InformationBoxEE.tsx"],"sourcesContent":["import { Combobox, ComboboxOption, Field, Flex } from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useNotification,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\n\nimport { getDisplayName } from '../../../../../../../admin/src/content-manager/utils/users';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useAdminUsers } from '../../../../../../../admin/src/services/users';\nimport { useUpdateAssigneeMutation } from '../../../../services/reviewWorkflows';\n\nimport { ASSIGNEE_ATTRIBUTE_NAME } from './constants';\n\nconst AssigneeSelect = () => {\n const { initialData, layout, isSingleType, onChange } = useCMEditViewDataManager();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const {\n allowedActions: { canRead },\n isLoading: isLoadingPermissions,\n } = useRBAC(permissions.settings?.users);\n const { data, isLoading, isError } = useAdminUsers(\n {},\n {\n skip: isLoadingPermissions || !canRead,\n }\n );\n\n const users = data?.users || [];\n\n const currentAssignee = initialData?.[ASSIGNEE_ATTRIBUTE_NAME] ?? null;\n\n const [updateAssignee, { error, isLoading: isMutating }] = useUpdateAssigneeMutation();\n\n const handleChange = async (assigneeId: string | null) => {\n const res = await updateAssignee({\n slug: isSingleType ? 'single-types' : 'collection-types',\n model: layout!.uid,\n id: initialData.id!,\n data: {\n id: assigneeId ? parseInt(assigneeId, 10) : null,\n },\n });\n\n if ('data' in res) {\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange?.(\n {\n target: {\n type: '',\n name: ASSIGNEE_ATTRIBUTE_NAME,\n value: res.data[ASSIGNEE_ATTRIBUTE_NAME],\n },\n },\n true\n );\n\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.assignee.notification.saved',\n defaultMessage: 'Assignee updated',\n },\n });\n }\n };\n\n return (\n <Field name={ASSIGNEE_ATTRIBUTE_NAME} id={ASSIGNEE_ATTRIBUTE_NAME}>\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <Combobox\n clearLabel={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.clear',\n defaultMessage: 'Clear assignee',\n })}\n error={\n ((isError &&\n canRead &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.error',\n defaultMessage: 'An error occurred while fetching users',\n })) ||\n (error && formatAPIError(error))) ??\n undefined\n }\n disabled={!isLoadingPermissions && !isLoading && users.length === 0}\n name={ASSIGNEE_ATTRIBUTE_NAME}\n id={ASSIGNEE_ATTRIBUTE_NAME}\n value={currentAssignee ? currentAssignee.id.toString() : null}\n // @ts-expect-error - DS Combobox wants to return number or string, this will be fixed in V2.\n onChange={handleChange}\n onClear={() => handleChange(null)}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select …',\n })}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.label',\n defaultMessage: 'Assignee',\n })}\n loading={isLoading || isLoadingPermissions || isMutating}\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id.toString()}\n textValue={getDisplayName(user, formatMessage)}\n >\n {getDisplayName(user, formatMessage)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n </Flex>\n </Field>\n );\n};\n\nexport { AssigneeSelect };\n","import * as React from 'react';\n\nimport {\n SingleSelect,\n SingleSelectOption,\n Field,\n FieldError,\n FieldHint,\n Flex,\n Loader,\n Typography,\n} from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useNotification,\n} from '@strapi/helper-plugin';\nimport { Entity } from '@strapi/types';\nimport { useIntl } from 'react-intl';\n\nimport { useLicenseLimits } from '../../../../hooks/useLicenseLimits';\nimport { LimitsModal } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal';\nimport {\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n} from '../../../../pages/SettingsPage/pages/ReviewWorkflows/constants';\nimport { getStageColorByHex } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/utils/colors';\nimport { useGetStagesQuery, useUpdateStageMutation } from '../../../../services/reviewWorkflows';\n\nimport { STAGE_ATTRIBUTE_NAME } from './constants';\n\nexport const StageSelect = () => {\n const { initialData, layout: contentType, isSingleType, onChange } = useCMEditViewDataManager();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const { data, isLoading } = useGetStagesQuery(\n {\n slug: isSingleType ? 'single-types' : 'collection-types',\n model: contentType!.uid,\n id: initialData!.id!,\n },\n {\n skip: !initialData?.id || !contentType?.uid,\n }\n );\n\n const { meta, stages = [] } = data ?? {};\n\n const { getFeature } = useLicenseLimits();\n const [showLimitModal, setShowLimitModal] = React.useState<'stage' | 'workflow' | null>(null);\n\n const limits = getFeature<string>('review-workflows') ?? {};\n // it is possible to rely on initialData here, because it always will\n // be updated at the same time when modifiedData is updated, otherwise\n // the entity is flagged as modified\n const activeWorkflowStage = initialData?.[STAGE_ATTRIBUTE_NAME] ?? null;\n\n const [updateStage, { error }] = useUpdateStageMutation();\n\n const handleChange = async (stageId: Entity.ID) => {\n try {\n /**\n * If the current license has a limit:\n * check if the total count of workflows exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n\n if (\n limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10) < (meta?.workflowCount ?? 0)\n ) {\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit:\n * check if the total count of stages exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n } else if (\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10) < stages.length\n ) {\n setShowLimitModal('stage');\n } else {\n if (initialData.id && contentType) {\n const res = await updateStage({\n model: contentType.uid,\n id: initialData.id,\n slug: isSingleType ? 'single-types' : 'collection-types',\n data: { id: stageId },\n });\n\n if ('data' in res) {\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange?.(\n {\n target: {\n name: STAGE_ATTRIBUTE_NAME,\n value: res.data[STAGE_ATTRIBUTE_NAME],\n type: '',\n },\n },\n true\n );\n\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.stage.notification.saved',\n defaultMessage: 'Review stage updated',\n },\n });\n }\n }\n }\n } catch (error) {\n // react-query@v3: the error doesn't have to be handled here\n // see: https://github.com/TanStack/query/issues/121\n }\n };\n\n const { themeColorName } = getStageColorByHex(activeWorkflowStage?.color) ?? {};\n\n return (\n <>\n <Field\n hint={\n stages.length === 0 &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.stages.no-transition',\n defaultMessage: 'You don’t have the permission to update this stage.',\n })\n }\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n >\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <SingleSelect\n disabled={stages.length === 0}\n error={(error && formatAPIError(error)) || undefined}\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n value={activeWorkflowStage?.id}\n onChange={handleChange}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.stage.label',\n defaultMessage: 'Review stage',\n })}\n startIcon={\n activeWorkflowStage && (\n <Flex\n as=\"span\"\n height={2}\n background={activeWorkflowStage?.color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n marginRight=\"-3px\"\n />\n )\n }\n // @ts-expect-error – `customizeContent` is not correctly typed in the DS.\n customizeContent={() => (\n <Flex as=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis>\n {activeWorkflowStage?.name ?? ''}\n </Typography>\n {isLoading ? (\n <Loader small style={{ display: 'flex' }} data-testid=\"loader\" />\n ) : null}\n </Flex>\n )}\n >\n {stages.map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={id}\n textValue={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <FieldHint />\n <FieldError />\n </Flex>\n </Field>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'workflow'}\n onClose={() => setShowLimitModal(null)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n\n <LimitsModal.Root isOpen={showLimitModal === 'stage'} onClose={() => setShowLimitModal(null)}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </>\n );\n};\n","import { useCMEditViewDataManager } from '@strapi/helper-plugin';\n\nimport { Information } from '../../../../../../../admin/src/content-manager/pages/EditView/components/Information';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nconst InformationBoxEE = () => {\n const { isCreatingEntry, layout } = useCMEditViewDataManager();\n\n const hasReviewWorkflowsEnabled = layout?.options?.reviewWorkflows ?? false;\n\n return (\n <Information.Root>\n <Information.Title />\n {hasReviewWorkflowsEnabled && !isCreatingEntry && (\n <>\n <StageSelect />\n <AssigneeSelect />\n </>\n )}\n <Information.Body />\n </Information.Root>\n );\n};\n\nexport { InformationBoxEE };\n"],"names":["error","themeColorName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InformationBoxEE-4WSUEBbN.mjs","sources":["../../ee/admin/src/content-manager/pages/EditView/components/AssigneeSelect.tsx","../../ee/admin/src/content-manager/pages/EditView/components/StageSelect.tsx","../../ee/admin/src/content-manager/pages/EditView/components/InformationBoxEE.tsx"],"sourcesContent":["import { Combobox, ComboboxOption, Field, Flex } from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useNotification,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\n\nimport { getDisplayName } from '../../../../../../../admin/src/content-manager/utils/users';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useAdminUsers } from '../../../../../../../admin/src/services/users';\nimport { useUpdateAssigneeMutation } from '../../../../services/reviewWorkflows';\n\nimport { ASSIGNEE_ATTRIBUTE_NAME } from './constants';\n\nconst AssigneeSelect = () => {\n const { initialData, layout, isSingleType, onChange } = useCMEditViewDataManager();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const {\n allowedActions: { canRead },\n isLoading: isLoadingPermissions,\n } = useRBAC(permissions.settings?.users);\n const { data, isLoading, isError } = useAdminUsers(\n {},\n {\n skip: isLoadingPermissions || !canRead,\n }\n );\n\n const users = data?.users || [];\n\n const currentAssignee = initialData?.[ASSIGNEE_ATTRIBUTE_NAME] ?? null;\n\n const [updateAssignee, { error, isLoading: isMutating }] = useUpdateAssigneeMutation();\n\n const handleChange = async (assigneeId: string | null) => {\n const res = await updateAssignee({\n slug: isSingleType ? 'single-types' : 'collection-types',\n model: layout!.uid,\n id: initialData.id!,\n data: {\n id: assigneeId ? parseInt(assigneeId, 10) : null,\n },\n });\n\n if ('data' in res) {\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange?.(\n {\n target: {\n type: '',\n name: ASSIGNEE_ATTRIBUTE_NAME,\n value: res.data[ASSIGNEE_ATTRIBUTE_NAME],\n },\n },\n true\n );\n\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.assignee.notification.saved',\n defaultMessage: 'Assignee updated',\n },\n });\n }\n };\n\n return (\n <Field name={ASSIGNEE_ATTRIBUTE_NAME} id={ASSIGNEE_ATTRIBUTE_NAME}>\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <Combobox\n clearLabel={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.clear',\n defaultMessage: 'Clear assignee',\n })}\n error={\n ((isError &&\n canRead &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.error',\n defaultMessage: 'An error occurred while fetching users',\n })) ||\n (error && formatAPIError(error))) ??\n undefined\n }\n disabled={!isLoadingPermissions && !isLoading && users.length === 0}\n name={ASSIGNEE_ATTRIBUTE_NAME}\n id={ASSIGNEE_ATTRIBUTE_NAME}\n value={currentAssignee ? currentAssignee.id.toString() : null}\n // @ts-expect-error - DS Combobox wants to return number or string, this will be fixed in V2.\n onChange={handleChange}\n onClear={() => handleChange(null)}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select …',\n })}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.label',\n defaultMessage: 'Assignee',\n })}\n loading={isLoading || isLoadingPermissions || isMutating}\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id.toString()}\n textValue={getDisplayName(user, formatMessage)}\n >\n {getDisplayName(user, formatMessage)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n </Flex>\n </Field>\n );\n};\n\nexport { AssigneeSelect };\n","import * as React from 'react';\n\nimport {\n SingleSelect,\n SingleSelectOption,\n Field,\n FieldError,\n FieldHint,\n Flex,\n Loader,\n Typography,\n} from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useNotification,\n} from '@strapi/helper-plugin';\nimport { Entity } from '@strapi/types';\nimport { useIntl } from 'react-intl';\n\nimport { useLicenseLimits } from '../../../../hooks/useLicenseLimits';\nimport { LimitsModal } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal';\nimport {\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n} from '../../../../pages/SettingsPage/pages/ReviewWorkflows/constants';\nimport { getStageColorByHex } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/utils/colors';\nimport { useGetStagesQuery, useUpdateStageMutation } from '../../../../services/reviewWorkflows';\n\nimport { STAGE_ATTRIBUTE_NAME } from './constants';\n\nexport const StageSelect = () => {\n const { initialData, layout: contentType, isSingleType, onChange } = useCMEditViewDataManager();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const { data, isLoading } = useGetStagesQuery(\n {\n slug: isSingleType ? 'single-types' : 'collection-types',\n model: contentType!.uid,\n id: initialData!.id!,\n },\n {\n skip: !initialData?.id || !contentType?.uid,\n }\n );\n\n const { meta, stages = [] } = data ?? {};\n\n const { getFeature } = useLicenseLimits();\n const [showLimitModal, setShowLimitModal] = React.useState<'stage' | 'workflow' | null>(null);\n\n const limits = getFeature<string>('review-workflows') ?? {};\n // it is possible to rely on initialData here, because it always will\n // be updated at the same time when modifiedData is updated, otherwise\n // the entity is flagged as modified\n const activeWorkflowStage = initialData?.[STAGE_ATTRIBUTE_NAME] ?? null;\n\n const [updateStage, { error }] = useUpdateStageMutation();\n\n const handleChange = async (stageId: Entity.ID) => {\n try {\n /**\n * If the current license has a limit:\n * check if the total count of workflows exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n\n if (\n limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10) < (meta?.workflowCount ?? 0)\n ) {\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit:\n * check if the total count of stages exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n } else if (\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10) < stages.length\n ) {\n setShowLimitModal('stage');\n } else {\n if (initialData.id && contentType) {\n const res = await updateStage({\n model: contentType.uid,\n id: initialData.id,\n slug: isSingleType ? 'single-types' : 'collection-types',\n data: { id: stageId },\n });\n\n if ('data' in res) {\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange?.(\n {\n target: {\n name: STAGE_ATTRIBUTE_NAME,\n value: res.data[STAGE_ATTRIBUTE_NAME],\n type: '',\n },\n },\n true\n );\n\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.stage.notification.saved',\n defaultMessage: 'Review stage updated',\n },\n });\n }\n }\n }\n } catch (error) {\n // react-query@v3: the error doesn't have to be handled here\n // see: https://github.com/TanStack/query/issues/121\n }\n };\n\n const { themeColorName } = getStageColorByHex(activeWorkflowStage?.color) ?? {};\n\n return (\n <>\n <Field\n hint={\n stages.length === 0 &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.stages.no-transition',\n defaultMessage: 'You don’t have the permission to update this stage.',\n })\n }\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n >\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <SingleSelect\n disabled={stages.length === 0}\n error={(error && formatAPIError(error)) || undefined}\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n value={activeWorkflowStage?.id}\n onChange={handleChange}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.stage.label',\n defaultMessage: 'Review stage',\n })}\n startIcon={\n activeWorkflowStage && (\n <Flex\n as=\"span\"\n height={2}\n background={activeWorkflowStage?.color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n marginRight=\"-3px\"\n />\n )\n }\n // @ts-expect-error – `customizeContent` is not correctly typed in the DS.\n customizeContent={() => (\n <Flex as=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis>\n {activeWorkflowStage?.name ?? ''}\n </Typography>\n {isLoading ? (\n <Loader small style={{ display: 'flex' }} data-testid=\"loader\" />\n ) : null}\n </Flex>\n )}\n >\n {stages.map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={id}\n textValue={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <FieldHint />\n <FieldError />\n </Flex>\n </Field>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'workflow'}\n onClose={() => setShowLimitModal(null)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n\n <LimitsModal.Root isOpen={showLimitModal === 'stage'} onClose={() => setShowLimitModal(null)}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </>\n );\n};\n","import { useCMEditViewDataManager } from '@strapi/helper-plugin';\n\nimport { Information } from '../../../../../../../admin/src/content-manager/pages/EditView/components/Information';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nconst InformationBoxEE = () => {\n const { isCreatingEntry, layout } = useCMEditViewDataManager();\n\n const hasReviewWorkflowsEnabled = layout?.options?.reviewWorkflows ?? false;\n\n return (\n <Information.Root>\n <Information.Title />\n {hasReviewWorkflowsEnabled && !isCreatingEntry && (\n <>\n <StageSelect />\n <AssigneeSelect />\n </>\n )}\n <Information.Body />\n </Information.Root>\n );\n};\n\nexport { InformationBoxEE };\n"],"names":["error","themeColorName"],"mappings":"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"}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
4
|
const helperPlugin = require("@strapi/helper-plugin");
|
|
5
|
-
const index = require("./index-
|
|
5
|
+
const index = require("./index-nwZcrgzh.js");
|
|
6
6
|
const designSystem = require("@strapi/design-system");
|
|
7
7
|
const reactIntl = require("react-intl");
|
|
8
|
-
const reviewWorkflows = require("./reviewWorkflows-
|
|
8
|
+
const reviewWorkflows = require("./reviewWorkflows-nJzvKtSe.js");
|
|
9
9
|
const constants = require("./constants-jzEsxOxr.js");
|
|
10
10
|
const React = require("react");
|
|
11
11
|
const LimitsModal = require("./LimitsModal-gq7jwfap.js");
|
|
@@ -356,4 +356,4 @@ const InformationBoxEE = () => {
|
|
|
356
356
|
] });
|
|
357
357
|
};
|
|
358
358
|
exports.InformationBoxEE = InformationBoxEE;
|
|
359
|
-
//# sourceMappingURL=InformationBoxEE-
|
|
359
|
+
//# sourceMappingURL=InformationBoxEE-UpH3LKc4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InformationBoxEE-VXXejvAN.js","sources":["../../ee/admin/src/content-manager/pages/EditView/components/AssigneeSelect.tsx","../../ee/admin/src/content-manager/pages/EditView/components/StageSelect.tsx","../../ee/admin/src/content-manager/pages/EditView/components/InformationBoxEE.tsx"],"sourcesContent":["import { Combobox, ComboboxOption, Field, Flex } from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useNotification,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\n\nimport { getDisplayName } from '../../../../../../../admin/src/content-manager/utils/users';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useAdminUsers } from '../../../../../../../admin/src/services/users';\nimport { useUpdateAssigneeMutation } from '../../../../services/reviewWorkflows';\n\nimport { ASSIGNEE_ATTRIBUTE_NAME } from './constants';\n\nconst AssigneeSelect = () => {\n const { initialData, layout, isSingleType, onChange } = useCMEditViewDataManager();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const {\n allowedActions: { canRead },\n isLoading: isLoadingPermissions,\n } = useRBAC(permissions.settings?.users);\n const { data, isLoading, isError } = useAdminUsers(\n {},\n {\n skip: isLoadingPermissions || !canRead,\n }\n );\n\n const users = data?.users || [];\n\n const currentAssignee = initialData?.[ASSIGNEE_ATTRIBUTE_NAME] ?? null;\n\n const [updateAssignee, { error, isLoading: isMutating }] = useUpdateAssigneeMutation();\n\n const handleChange = async (assigneeId: string | null) => {\n const res = await updateAssignee({\n slug: isSingleType ? 'single-types' : 'collection-types',\n model: layout!.uid,\n id: initialData.id!,\n data: {\n id: assigneeId ? parseInt(assigneeId, 10) : null,\n },\n });\n\n if ('data' in res) {\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange?.(\n {\n target: {\n type: '',\n name: ASSIGNEE_ATTRIBUTE_NAME,\n value: res.data[ASSIGNEE_ATTRIBUTE_NAME],\n },\n },\n true\n );\n\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.assignee.notification.saved',\n defaultMessage: 'Assignee updated',\n },\n });\n }\n };\n\n return (\n <Field name={ASSIGNEE_ATTRIBUTE_NAME} id={ASSIGNEE_ATTRIBUTE_NAME}>\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <Combobox\n clearLabel={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.clear',\n defaultMessage: 'Clear assignee',\n })}\n error={\n ((isError &&\n canRead &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.error',\n defaultMessage: 'An error occurred while fetching users',\n })) ||\n (error && formatAPIError(error))) ??\n undefined\n }\n disabled={!isLoadingPermissions && !isLoading && users.length === 0}\n name={ASSIGNEE_ATTRIBUTE_NAME}\n id={ASSIGNEE_ATTRIBUTE_NAME}\n value={currentAssignee ? currentAssignee.id.toString() : null}\n // @ts-expect-error - DS Combobox wants to return number or string, this will be fixed in V2.\n onChange={handleChange}\n onClear={() => handleChange(null)}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select …',\n })}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.label',\n defaultMessage: 'Assignee',\n })}\n loading={isLoading || isLoadingPermissions || isMutating}\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id.toString()}\n textValue={getDisplayName(user, formatMessage)}\n >\n {getDisplayName(user, formatMessage)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n </Flex>\n </Field>\n );\n};\n\nexport { AssigneeSelect };\n","import * as React from 'react';\n\nimport {\n SingleSelect,\n SingleSelectOption,\n Field,\n FieldError,\n FieldHint,\n Flex,\n Loader,\n Typography,\n} from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useNotification,\n} from '@strapi/helper-plugin';\nimport { Entity } from '@strapi/types';\nimport { useIntl } from 'react-intl';\n\nimport { useLicenseLimits } from '../../../../hooks/useLicenseLimits';\nimport { LimitsModal } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal';\nimport {\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n} from '../../../../pages/SettingsPage/pages/ReviewWorkflows/constants';\nimport { getStageColorByHex } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/utils/colors';\nimport { useGetStagesQuery, useUpdateStageMutation } from '../../../../services/reviewWorkflows';\n\nimport { STAGE_ATTRIBUTE_NAME } from './constants';\n\nexport const StageSelect = () => {\n const { initialData, layout: contentType, isSingleType, onChange } = useCMEditViewDataManager();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const { data, isLoading } = useGetStagesQuery(\n {\n slug: isSingleType ? 'single-types' : 'collection-types',\n model: contentType!.uid,\n id: initialData!.id!,\n },\n {\n skip: !initialData?.id || !contentType?.uid,\n }\n );\n\n const { meta, stages = [] } = data ?? {};\n\n const { getFeature } = useLicenseLimits();\n const [showLimitModal, setShowLimitModal] = React.useState<'stage' | 'workflow' | null>(null);\n\n const limits = getFeature<string>('review-workflows') ?? {};\n // it is possible to rely on initialData here, because it always will\n // be updated at the same time when modifiedData is updated, otherwise\n // the entity is flagged as modified\n const activeWorkflowStage = initialData?.[STAGE_ATTRIBUTE_NAME] ?? null;\n\n const [updateStage, { error }] = useUpdateStageMutation();\n\n const handleChange = async (stageId: Entity.ID) => {\n try {\n /**\n * If the current license has a limit:\n * check if the total count of workflows exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n\n if (\n limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10) < (meta?.workflowCount ?? 0)\n ) {\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit:\n * check if the total count of stages exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n } else if (\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10) < stages.length\n ) {\n setShowLimitModal('stage');\n } else {\n if (initialData.id && contentType) {\n const res = await updateStage({\n model: contentType.uid,\n id: initialData.id,\n slug: isSingleType ? 'single-types' : 'collection-types',\n data: { id: stageId },\n });\n\n if ('data' in res) {\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange?.(\n {\n target: {\n name: STAGE_ATTRIBUTE_NAME,\n value: res.data[STAGE_ATTRIBUTE_NAME],\n type: '',\n },\n },\n true\n );\n\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.stage.notification.saved',\n defaultMessage: 'Review stage updated',\n },\n });\n }\n }\n }\n } catch (error) {\n // react-query@v3: the error doesn't have to be handled here\n // see: https://github.com/TanStack/query/issues/121\n }\n };\n\n const { themeColorName } = getStageColorByHex(activeWorkflowStage?.color) ?? {};\n\n return (\n <>\n <Field\n hint={\n stages.length === 0 &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.stages.no-transition',\n defaultMessage: 'You don’t have the permission to update this stage.',\n })\n }\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n >\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <SingleSelect\n disabled={stages.length === 0}\n error={(error && formatAPIError(error)) || undefined}\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n value={activeWorkflowStage?.id}\n onChange={handleChange}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.stage.label',\n defaultMessage: 'Review stage',\n })}\n startIcon={\n activeWorkflowStage && (\n <Flex\n as=\"span\"\n height={2}\n background={activeWorkflowStage?.color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n marginRight=\"-3px\"\n />\n )\n }\n // @ts-expect-error – `customizeContent` is not correctly typed in the DS.\n customizeContent={() => (\n <Flex as=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis>\n {activeWorkflowStage?.name ?? ''}\n </Typography>\n {isLoading ? (\n <Loader small style={{ display: 'flex' }} data-testid=\"loader\" />\n ) : null}\n </Flex>\n )}\n >\n {stages.map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={id}\n textValue={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <FieldHint />\n <FieldError />\n </Flex>\n </Field>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'workflow'}\n onClose={() => setShowLimitModal(null)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n\n <LimitsModal.Root isOpen={showLimitModal === 'stage'} onClose={() => setShowLimitModal(null)}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </>\n );\n};\n","import { useCMEditViewDataManager } from '@strapi/helper-plugin';\n\nimport { Information } from '../../../../../../../admin/src/content-manager/pages/EditView/components/Information';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nconst InformationBoxEE = () => {\n const { isCreatingEntry, layout } = useCMEditViewDataManager();\n\n const hasReviewWorkflowsEnabled = layout?.options?.reviewWorkflows ?? false;\n\n return (\n <Information.Root>\n <Information.Title />\n {hasReviewWorkflowsEnabled && !isCreatingEntry && (\n <>\n <StageSelect />\n <AssigneeSelect />\n </>\n )}\n <Information.Body />\n </Information.Root>\n );\n};\n\nexport { InformationBoxEE };\n"],"names":["useCMEditViewDataManager","useTypedSelector","useIntl","useAPIErrorHandler","useNotification","useRBAC","useAdminUsers","ASSIGNEE_ATTRIBUTE_NAME","useUpdateAssigneeMutation","jsx","Field","Flex","Combobox","ComboboxOption","getDisplayName","useGetStagesQuery","useLicenseLimits","React","STAGE_ATTRIBUTE_NAME","useUpdateStageMutation","CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME","CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME","error","getStageColorByHex","jsxs","Fragment","SingleSelect","Typography","Loader","themeColorName","SingleSelectOption","FieldHint","FieldError","LimitsModal","Information"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InformationBoxEE-UpH3LKc4.js","sources":["../../ee/admin/src/content-manager/pages/EditView/components/AssigneeSelect.tsx","../../ee/admin/src/content-manager/pages/EditView/components/StageSelect.tsx","../../ee/admin/src/content-manager/pages/EditView/components/InformationBoxEE.tsx"],"sourcesContent":["import { Combobox, ComboboxOption, Field, Flex } from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useNotification,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\n\nimport { getDisplayName } from '../../../../../../../admin/src/content-manager/utils/users';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useAdminUsers } from '../../../../../../../admin/src/services/users';\nimport { useUpdateAssigneeMutation } from '../../../../services/reviewWorkflows';\n\nimport { ASSIGNEE_ATTRIBUTE_NAME } from './constants';\n\nconst AssigneeSelect = () => {\n const { initialData, layout, isSingleType, onChange } = useCMEditViewDataManager();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const {\n allowedActions: { canRead },\n isLoading: isLoadingPermissions,\n } = useRBAC(permissions.settings?.users);\n const { data, isLoading, isError } = useAdminUsers(\n {},\n {\n skip: isLoadingPermissions || !canRead,\n }\n );\n\n const users = data?.users || [];\n\n const currentAssignee = initialData?.[ASSIGNEE_ATTRIBUTE_NAME] ?? null;\n\n const [updateAssignee, { error, isLoading: isMutating }] = useUpdateAssigneeMutation();\n\n const handleChange = async (assigneeId: string | null) => {\n const res = await updateAssignee({\n slug: isSingleType ? 'single-types' : 'collection-types',\n model: layout!.uid,\n id: initialData.id!,\n data: {\n id: assigneeId ? parseInt(assigneeId, 10) : null,\n },\n });\n\n if ('data' in res) {\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange?.(\n {\n target: {\n type: '',\n name: ASSIGNEE_ATTRIBUTE_NAME,\n value: res.data[ASSIGNEE_ATTRIBUTE_NAME],\n },\n },\n true\n );\n\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.assignee.notification.saved',\n defaultMessage: 'Assignee updated',\n },\n });\n }\n };\n\n return (\n <Field name={ASSIGNEE_ATTRIBUTE_NAME} id={ASSIGNEE_ATTRIBUTE_NAME}>\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <Combobox\n clearLabel={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.clear',\n defaultMessage: 'Clear assignee',\n })}\n error={\n ((isError &&\n canRead &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.error',\n defaultMessage: 'An error occurred while fetching users',\n })) ||\n (error && formatAPIError(error))) ??\n undefined\n }\n disabled={!isLoadingPermissions && !isLoading && users.length === 0}\n name={ASSIGNEE_ATTRIBUTE_NAME}\n id={ASSIGNEE_ATTRIBUTE_NAME}\n value={currentAssignee ? currentAssignee.id.toString() : null}\n // @ts-expect-error - DS Combobox wants to return number or string, this will be fixed in V2.\n onChange={handleChange}\n onClear={() => handleChange(null)}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select …',\n })}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.label',\n defaultMessage: 'Assignee',\n })}\n loading={isLoading || isLoadingPermissions || isMutating}\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id.toString()}\n textValue={getDisplayName(user, formatMessage)}\n >\n {getDisplayName(user, formatMessage)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n </Flex>\n </Field>\n );\n};\n\nexport { AssigneeSelect };\n","import * as React from 'react';\n\nimport {\n SingleSelect,\n SingleSelectOption,\n Field,\n FieldError,\n FieldHint,\n Flex,\n Loader,\n Typography,\n} from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useNotification,\n} from '@strapi/helper-plugin';\nimport { Entity } from '@strapi/types';\nimport { useIntl } from 'react-intl';\n\nimport { useLicenseLimits } from '../../../../hooks/useLicenseLimits';\nimport { LimitsModal } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal';\nimport {\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n} from '../../../../pages/SettingsPage/pages/ReviewWorkflows/constants';\nimport { getStageColorByHex } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/utils/colors';\nimport { useGetStagesQuery, useUpdateStageMutation } from '../../../../services/reviewWorkflows';\n\nimport { STAGE_ATTRIBUTE_NAME } from './constants';\n\nexport const StageSelect = () => {\n const { initialData, layout: contentType, isSingleType, onChange } = useCMEditViewDataManager();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const { data, isLoading } = useGetStagesQuery(\n {\n slug: isSingleType ? 'single-types' : 'collection-types',\n model: contentType!.uid,\n id: initialData!.id!,\n },\n {\n skip: !initialData?.id || !contentType?.uid,\n }\n );\n\n const { meta, stages = [] } = data ?? {};\n\n const { getFeature } = useLicenseLimits();\n const [showLimitModal, setShowLimitModal] = React.useState<'stage' | 'workflow' | null>(null);\n\n const limits = getFeature<string>('review-workflows') ?? {};\n // it is possible to rely on initialData here, because it always will\n // be updated at the same time when modifiedData is updated, otherwise\n // the entity is flagged as modified\n const activeWorkflowStage = initialData?.[STAGE_ATTRIBUTE_NAME] ?? null;\n\n const [updateStage, { error }] = useUpdateStageMutation();\n\n const handleChange = async (stageId: Entity.ID) => {\n try {\n /**\n * If the current license has a limit:\n * check if the total count of workflows exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n\n if (\n limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10) < (meta?.workflowCount ?? 0)\n ) {\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit:\n * check if the total count of stages exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n } else if (\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10) < stages.length\n ) {\n setShowLimitModal('stage');\n } else {\n if (initialData.id && contentType) {\n const res = await updateStage({\n model: contentType.uid,\n id: initialData.id,\n slug: isSingleType ? 'single-types' : 'collection-types',\n data: { id: stageId },\n });\n\n if ('data' in res) {\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange?.(\n {\n target: {\n name: STAGE_ATTRIBUTE_NAME,\n value: res.data[STAGE_ATTRIBUTE_NAME],\n type: '',\n },\n },\n true\n );\n\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.stage.notification.saved',\n defaultMessage: 'Review stage updated',\n },\n });\n }\n }\n }\n } catch (error) {\n // react-query@v3: the error doesn't have to be handled here\n // see: https://github.com/TanStack/query/issues/121\n }\n };\n\n const { themeColorName } = getStageColorByHex(activeWorkflowStage?.color) ?? {};\n\n return (\n <>\n <Field\n hint={\n stages.length === 0 &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.stages.no-transition',\n defaultMessage: 'You don’t have the permission to update this stage.',\n })\n }\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n >\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <SingleSelect\n disabled={stages.length === 0}\n error={(error && formatAPIError(error)) || undefined}\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n value={activeWorkflowStage?.id}\n onChange={handleChange}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.stage.label',\n defaultMessage: 'Review stage',\n })}\n startIcon={\n activeWorkflowStage && (\n <Flex\n as=\"span\"\n height={2}\n background={activeWorkflowStage?.color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n marginRight=\"-3px\"\n />\n )\n }\n // @ts-expect-error – `customizeContent` is not correctly typed in the DS.\n customizeContent={() => (\n <Flex as=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis>\n {activeWorkflowStage?.name ?? ''}\n </Typography>\n {isLoading ? (\n <Loader small style={{ display: 'flex' }} data-testid=\"loader\" />\n ) : null}\n </Flex>\n )}\n >\n {stages.map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={id}\n textValue={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <FieldHint />\n <FieldError />\n </Flex>\n </Field>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'workflow'}\n onClose={() => setShowLimitModal(null)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n\n <LimitsModal.Root isOpen={showLimitModal === 'stage'} onClose={() => setShowLimitModal(null)}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </>\n );\n};\n","import { useCMEditViewDataManager } from '@strapi/helper-plugin';\n\nimport { Information } from '../../../../../../../admin/src/content-manager/pages/EditView/components/Information';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nconst InformationBoxEE = () => {\n const { isCreatingEntry, layout } = useCMEditViewDataManager();\n\n const hasReviewWorkflowsEnabled = layout?.options?.reviewWorkflows ?? false;\n\n return (\n <Information.Root>\n <Information.Title />\n {hasReviewWorkflowsEnabled && !isCreatingEntry && (\n <>\n <StageSelect />\n <AssigneeSelect />\n </>\n )}\n <Information.Body />\n </Information.Root>\n );\n};\n\nexport { InformationBoxEE };\n"],"names":["useCMEditViewDataManager","useTypedSelector","useIntl","useAPIErrorHandler","useNotification","useRBAC","useAdminUsers","ASSIGNEE_ATTRIBUTE_NAME","useUpdateAssigneeMutation","jsx","Field","Flex","Combobox","ComboboxOption","getDisplayName","useGetStagesQuery","useLicenseLimits","React","STAGE_ATTRIBUTE_NAME","useUpdateStageMutation","CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME","CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME","error","getStageColorByHex","jsxs","Fragment","SingleSelect","Typography","Loader","themeColorName","SingleSelectOption","FieldHint","FieldError","LimitsModal","Information"],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@ const helperPlugin = require("@strapi/helper-plugin");
|
|
|
7
7
|
const reactHelmet = require("react-helmet");
|
|
8
8
|
const reactIntl = require("react-intl");
|
|
9
9
|
const reactRedux = require("react-redux");
|
|
10
|
-
const AuthenticatedApp = require("./AuthenticatedApp-
|
|
11
|
-
const index = require("./index-
|
|
10
|
+
const AuthenticatedApp = require("./AuthenticatedApp-_31op4tu.js");
|
|
11
|
+
const index = require("./index-nwZcrgzh.js");
|
|
12
12
|
require("semver/functions/lt");
|
|
13
13
|
require("semver/functions/valid");
|
|
14
14
|
require("immer");
|
|
@@ -185,4 +185,4 @@ const ProtectedInstalledPluginsPage = () => {
|
|
|
185
185
|
};
|
|
186
186
|
exports.InstalledPluginsPage = InstalledPluginsPage;
|
|
187
187
|
exports.ProtectedInstalledPluginsPage = ProtectedInstalledPluginsPage;
|
|
188
|
-
//# sourceMappingURL=InstalledPluginsPage-
|
|
188
|
+
//# sourceMappingURL=InstalledPluginsPage--GqA6C-g.js.map
|
package/dist/_chunks/{InstalledPluginsPage-ynee1mkC.js.map → InstalledPluginsPage--GqA6C-g.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstalledPluginsPage-
|
|
1
|
+
{"version":3,"file":"InstalledPluginsPage--GqA6C-g.js","sources":["../../admin/src/pages/InstalledPluginsPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n ContentLayout,\n HeaderLayout,\n Layout,\n Main,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n useNotifyAT,\n} from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n LoadingIndicatorPage,\n useAPIErrorHandler,\n useFocusWhenNavigate,\n useNotification,\n} from '@strapi/helper-plugin';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { selectAdminPermissions } from '../selectors';\nimport { useGetPluginsQuery } from '../services/admin';\n\nconst InstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const { notifyStatus } = useNotifyAT();\n const toggleNotification = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n useFocusWhenNavigate();\n\n const { isLoading, data, error } = useGetPluginsQuery();\n\n React.useEffect(() => {\n if (data) {\n notifyStatus(\n formatMessage(\n {\n id: 'app.utils.notify.data-loaded',\n defaultMessage: 'The {target} has loaded',\n },\n {\n target: formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n }),\n }\n )\n );\n }\n\n if (error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n }\n }, [data, error, formatAPIError, formatMessage, notifyStatus, toggleNotification]);\n\n if (isLoading) {\n return (\n <Layout>\n <Main aria-busy>\n <LoadingIndicatorPage />\n </Main>\n </Layout>\n );\n }\n\n return (\n <Layout>\n <Main>\n <HeaderLayout\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n subtitle={formatMessage({\n id: 'app.components.ListPluginsPage.description',\n defaultMessage: 'List of the installed plugins in the project.',\n })}\n />\n <ContentLayout>\n <Table colCount={2} rowCount={data?.plugins?.length ?? 0 + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'description',\n })}\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {data?.plugins.map(({ name, displayName, description }) => {\n return (\n <Tr key={name}>\n <Td>\n <Typography textColor=\"neutral800\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: `global.plugins.${name}`,\n defaultMessage: displayName,\n })}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: `global.plugins.${name}.description`,\n defaultMessage: description,\n })}\n </Typography>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n </ContentLayout>\n </Main>\n </Layout>\n );\n};\n\nconst ProtectedInstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <CheckPagePermissions permissions={permissions.marketplace?.main}>\n <Helmet\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n />\n <InstalledPluginsPage />\n </CheckPagePermissions>\n );\n};\n\nexport { ProtectedInstalledPluginsPage, InstalledPluginsPage };\n"],"names":["useIntl","useNotifyAT","useNotification","useAPIErrorHandler","useFocusWhenNavigate","useGetPluginsQuery","React","jsx","Layout","Main","LoadingIndicatorPage","jsxs","HeaderLayout","ContentLayout","Table","Thead","Tr","Th","Typography","Tbody","Td","useSelector","selectAdminPermissions","CheckPagePermissions","Helmet"],"mappings":"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"}
|
package/dist/_chunks/{InstalledPluginsPage-4VePhHUz.mjs → InstalledPluginsPage-tSs9HYCy.mjs}
RENAMED
|
@@ -5,8 +5,8 @@ import { useNotification, useAPIErrorHandler, useFocusWhenNavigate, LoadingIndic
|
|
|
5
5
|
import { Helmet } from "react-helmet";
|
|
6
6
|
import { useIntl } from "react-intl";
|
|
7
7
|
import { useSelector } from "react-redux";
|
|
8
|
-
import { s as selectAdminPermissions } from "./AuthenticatedApp-
|
|
9
|
-
import { q as useGetPluginsQuery } from "./index-
|
|
8
|
+
import { s as selectAdminPermissions } from "./AuthenticatedApp-ZDEcVJFL.mjs";
|
|
9
|
+
import { q as useGetPluginsQuery } from "./index-GXbuKv-_.mjs";
|
|
10
10
|
import "semver/functions/lt";
|
|
11
11
|
import "semver/functions/valid";
|
|
12
12
|
import "immer";
|
|
@@ -166,4 +166,4 @@ export {
|
|
|
166
166
|
InstalledPluginsPage,
|
|
167
167
|
ProtectedInstalledPluginsPage
|
|
168
168
|
};
|
|
169
|
-
//# sourceMappingURL=InstalledPluginsPage-
|
|
169
|
+
//# sourceMappingURL=InstalledPluginsPage-tSs9HYCy.mjs.map
|
package/dist/_chunks/{InstalledPluginsPage-4VePhHUz.mjs.map → InstalledPluginsPage-tSs9HYCy.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstalledPluginsPage-
|
|
1
|
+
{"version":3,"file":"InstalledPluginsPage-tSs9HYCy.mjs","sources":["../../admin/src/pages/InstalledPluginsPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n ContentLayout,\n HeaderLayout,\n Layout,\n Main,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n useNotifyAT,\n} from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n LoadingIndicatorPage,\n useAPIErrorHandler,\n useFocusWhenNavigate,\n useNotification,\n} from '@strapi/helper-plugin';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { selectAdminPermissions } from '../selectors';\nimport { useGetPluginsQuery } from '../services/admin';\n\nconst InstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const { notifyStatus } = useNotifyAT();\n const toggleNotification = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n useFocusWhenNavigate();\n\n const { isLoading, data, error } = useGetPluginsQuery();\n\n React.useEffect(() => {\n if (data) {\n notifyStatus(\n formatMessage(\n {\n id: 'app.utils.notify.data-loaded',\n defaultMessage: 'The {target} has loaded',\n },\n {\n target: formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n }),\n }\n )\n );\n }\n\n if (error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n }\n }, [data, error, formatAPIError, formatMessage, notifyStatus, toggleNotification]);\n\n if (isLoading) {\n return (\n <Layout>\n <Main aria-busy>\n <LoadingIndicatorPage />\n </Main>\n </Layout>\n );\n }\n\n return (\n <Layout>\n <Main>\n <HeaderLayout\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n subtitle={formatMessage({\n id: 'app.components.ListPluginsPage.description',\n defaultMessage: 'List of the installed plugins in the project.',\n })}\n />\n <ContentLayout>\n <Table colCount={2} rowCount={data?.plugins?.length ?? 0 + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'description',\n })}\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {data?.plugins.map(({ name, displayName, description }) => {\n return (\n <Tr key={name}>\n <Td>\n <Typography textColor=\"neutral800\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: `global.plugins.${name}`,\n defaultMessage: displayName,\n })}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: `global.plugins.${name}.description`,\n defaultMessage: description,\n })}\n </Typography>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n </ContentLayout>\n </Main>\n </Layout>\n );\n};\n\nconst ProtectedInstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <CheckPagePermissions permissions={permissions.marketplace?.main}>\n <Helmet\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n />\n <InstalledPluginsPage />\n </CheckPagePermissions>\n );\n};\n\nexport { ProtectedInstalledPluginsPage, InstalledPluginsPage };\n"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { Flex, Typography, Layout, Main, ContentLayout, HeaderLayout } from "@st
|
|
|
3
3
|
import { pxToRem, Link, SettingsPageTitle } from "@strapi/helper-plugin";
|
|
4
4
|
import { CarretDown, ArrowLeft } from "@strapi/icons";
|
|
5
5
|
import { useIntl } from "react-intl";
|
|
6
|
-
import { P as DragLayer } from "./index-
|
|
6
|
+
import { P as DragLayer } from "./index-GXbuKv-_.mjs";
|
|
7
7
|
import { D as DRAG_DROP_TYPES } from "./constants-8sAt6dKz.mjs";
|
|
8
8
|
import styled from "styled-components";
|
|
9
9
|
const Toggle = styled(Flex)`
|
|
@@ -84,4 +84,4 @@ export {
|
|
|
84
84
|
Header as H,
|
|
85
85
|
Root as R
|
|
86
86
|
};
|
|
87
|
-
//# sourceMappingURL=Layout-
|
|
87
|
+
//# sourceMappingURL=Layout-dURZXNrD.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout-
|
|
1
|
+
{"version":3,"file":"Layout-dURZXNrD.mjs","sources":["../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/StageDragPreview.tsx","../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Layout.tsx"],"sourcesContent":["import { Flex, Typography } from '@strapi/design-system';\nimport { pxToRem } from '@strapi/helper-plugin';\nimport { CarretDown } from '@strapi/icons';\nimport styled from 'styled-components';\n\nconst Toggle = styled(Flex)`\n svg path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n`;\n\nexport type StageDragPreviewType = {\n name: string | null;\n};\n\nexport const StageDragPreview = ({ name }: StageDragPreviewType) => {\n return (\n <Flex\n background=\"primary100\"\n borderStyle=\"dashed\"\n borderColor=\"primary600\"\n borderWidth=\"1px\"\n gap={3}\n hasRadius\n padding={3}\n shadow=\"tableShadow\"\n width={pxToRem(300)}\n >\n <Toggle\n alignItems=\"center\"\n background=\"neutral200\"\n borderRadius=\"50%\"\n height={6}\n justifyContent=\"center\"\n width={6}\n >\n <CarretDown width={`${8 / 16}rem`} />\n </Toggle>\n\n <Typography fontWeight=\"bold\">{name}</Typography>\n </Flex>\n );\n};\n","import React, { PropsWithChildren } from 'react';\n\nimport { ContentLayout, HeaderLayout, Layout, Main } from '@strapi/design-system';\nimport { Link, SettingsPageTitle } from '@strapi/helper-plugin';\nimport { ArrowLeft } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { DragLayer } from '../../../../../../../../admin/src/components/DragLayer';\nimport { DRAG_DROP_TYPES } from '../constants';\n\nimport { StageDragPreview } from './StageDragPreview';\n\nconst DragLayerRendered = () => {\n return (\n <DragLayer\n renderItem={(item) => {\n if (item.type === DRAG_DROP_TYPES.STAGE) {\n return <StageDragPreview name={typeof item.item === 'string' ? item.item : null} />;\n }\n }}\n />\n );\n};\n\nconst Root: React.FC<PropsWithChildren> = ({ children }) => {\n return (\n <Layout>\n <Main tabIndex={-1}>\n <ContentLayout>{children}</ContentLayout>\n </Main>\n </Layout>\n );\n};\n\ntype BackProps = {\n href: string;\n};\nconst Back: React.FC<BackProps> = ({ href }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Link startIcon={<ArrowLeft />} to={href}>\n {formatMessage({\n id: 'global.back',\n defaultMessage: 'Back',\n })}\n </Link>\n );\n};\n\ntype HeaderProps = {\n title: string;\n navigationAction?: React.ReactNode;\n primaryAction?: React.ReactNode;\n secondaryAction?: React.ReactNode;\n subtitle?: React.ReactNode;\n};\nconst Header: React.FC<HeaderProps> = ({ title, subtitle, navigationAction, primaryAction }) => {\n return (\n <>\n <SettingsPageTitle name={title} />\n <HeaderLayout\n navigationAction={navigationAction}\n primaryAction={primaryAction}\n title={title}\n subtitle={subtitle}\n />\n </>\n );\n};\n\nexport { Back, DragLayerRendered, Header, Root };\n"],"names":[],"mappings":";;;;;;;;AAKA,MAAM,SAAS,OAAO,IAAI;AAAA;AAAA,YAEd,CAAC,EAAE,MAAA,MAAY,MAAM,OAAO,UAAU;AAAA;AAAA;AAQ3C,MAAM,mBAAmB,CAAC,EAAE,WAAiC;AAEhE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,YAAW;AAAA,MACX,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,KAAK;AAAA,MACL,WAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAO;AAAA,MACP,OAAO,QAAQ,GAAG;AAAA,MAElB,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,YAAW;AAAA,YACX,YAAW;AAAA,YACX,cAAa;AAAA,YACb,QAAQ;AAAA,YACR,gBAAe;AAAA,YACf,OAAO;AAAA,YAEP,8BAAC,YAAW,EAAA,OAAO,GAAG,IAAI,EAAE,OAAO;AAAA,UAAA;AAAA,QACrC;AAAA,QAEC,oBAAA,YAAA,EAAW,YAAW,QAAQ,UAAK,MAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG1C;AC9BA,MAAM,oBAAoB,MAAM;AAE5B,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,YAAY,CAAC,SAAS;AAChB,YAAA,KAAK,SAAS,gBAAgB,OAAO;AAChC,iBAAA,oBAAC,oBAAiB,MAAM,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO,KAAM,CAAA;AAAA,QACnF;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,MAAM,OAAoC,CAAC,EAAE,eAAe;AAExD,SAAA,oBAAC,QACC,EAAA,UAAA,oBAAC,MAAK,EAAA,UAAU,IACd,UAAC,oBAAA,eAAA,EAAe,SAAS,CAAA,EAAA,CAC3B,EACF,CAAA;AAEJ;AAKA,MAAM,OAA4B,CAAC,EAAE,WAAW;AACxC,QAAA,EAAE,kBAAkB;AAGxB,SAAA,oBAAC,QAAK,WAAW,oBAAC,YAAU,CAAA,GAAI,IAAI,MACjC,UAAc,cAAA;AAAA,IACb,IAAI;AAAA,IACJ,gBAAgB;AAAA,EACjB,CAAA,EACH,CAAA;AAEJ;AASA,MAAM,SAAgC,CAAC,EAAE,OAAO,UAAU,kBAAkB,oBAAoB;AAC9F,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAC,oBAAA,mBAAA,EAAkB,MAAM,MAAO,CAAA;AAAA,IAChC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,EACF,EAAA,CAAA;AAEJ;"}
|
|
@@ -4,7 +4,7 @@ const designSystem = require("@strapi/design-system");
|
|
|
4
4
|
const helperPlugin = require("@strapi/helper-plugin");
|
|
5
5
|
const Icons = require("@strapi/icons");
|
|
6
6
|
const reactIntl = require("react-intl");
|
|
7
|
-
const index = require("./index-
|
|
7
|
+
const index = require("./index-nwZcrgzh.js");
|
|
8
8
|
const constants = require("./constants-L1I-Y-RJ.js");
|
|
9
9
|
const styled = require("styled-components");
|
|
10
10
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
@@ -85,4 +85,4 @@ exports.Back = Back;
|
|
|
85
85
|
exports.DragLayerRendered = DragLayerRendered;
|
|
86
86
|
exports.Header = Header;
|
|
87
87
|
exports.Root = Root;
|
|
88
|
-
//# sourceMappingURL=Layout-
|
|
88
|
+
//# sourceMappingURL=Layout-r4HmN54I.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout-
|
|
1
|
+
{"version":3,"file":"Layout-r4HmN54I.js","sources":["../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/StageDragPreview.tsx","../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Layout.tsx"],"sourcesContent":["import { Flex, Typography } from '@strapi/design-system';\nimport { pxToRem } from '@strapi/helper-plugin';\nimport { CarretDown } from '@strapi/icons';\nimport styled from 'styled-components';\n\nconst Toggle = styled(Flex)`\n svg path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n`;\n\nexport type StageDragPreviewType = {\n name: string | null;\n};\n\nexport const StageDragPreview = ({ name }: StageDragPreviewType) => {\n return (\n <Flex\n background=\"primary100\"\n borderStyle=\"dashed\"\n borderColor=\"primary600\"\n borderWidth=\"1px\"\n gap={3}\n hasRadius\n padding={3}\n shadow=\"tableShadow\"\n width={pxToRem(300)}\n >\n <Toggle\n alignItems=\"center\"\n background=\"neutral200\"\n borderRadius=\"50%\"\n height={6}\n justifyContent=\"center\"\n width={6}\n >\n <CarretDown width={`${8 / 16}rem`} />\n </Toggle>\n\n <Typography fontWeight=\"bold\">{name}</Typography>\n </Flex>\n );\n};\n","import React, { PropsWithChildren } from 'react';\n\nimport { ContentLayout, HeaderLayout, Layout, Main } from '@strapi/design-system';\nimport { Link, SettingsPageTitle } from '@strapi/helper-plugin';\nimport { ArrowLeft } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { DragLayer } from '../../../../../../../../admin/src/components/DragLayer';\nimport { DRAG_DROP_TYPES } from '../constants';\n\nimport { StageDragPreview } from './StageDragPreview';\n\nconst DragLayerRendered = () => {\n return (\n <DragLayer\n renderItem={(item) => {\n if (item.type === DRAG_DROP_TYPES.STAGE) {\n return <StageDragPreview name={typeof item.item === 'string' ? item.item : null} />;\n }\n }}\n />\n );\n};\n\nconst Root: React.FC<PropsWithChildren> = ({ children }) => {\n return (\n <Layout>\n <Main tabIndex={-1}>\n <ContentLayout>{children}</ContentLayout>\n </Main>\n </Layout>\n );\n};\n\ntype BackProps = {\n href: string;\n};\nconst Back: React.FC<BackProps> = ({ href }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Link startIcon={<ArrowLeft />} to={href}>\n {formatMessage({\n id: 'global.back',\n defaultMessage: 'Back',\n })}\n </Link>\n );\n};\n\ntype HeaderProps = {\n title: string;\n navigationAction?: React.ReactNode;\n primaryAction?: React.ReactNode;\n secondaryAction?: React.ReactNode;\n subtitle?: React.ReactNode;\n};\nconst Header: React.FC<HeaderProps> = ({ title, subtitle, navigationAction, primaryAction }) => {\n return (\n <>\n <SettingsPageTitle name={title} />\n <HeaderLayout\n navigationAction={navigationAction}\n primaryAction={primaryAction}\n title={title}\n subtitle={subtitle}\n />\n </>\n );\n};\n\nexport { Back, DragLayerRendered, Header, Root };\n"],"names":["styled","Flex","jsxs","pxToRem","jsx","CarretDown","Typography","DragLayer","DRAG_DROP_TYPES","Layout","Main","ContentLayout","useIntl","Link","ArrowLeft","Fragment","SettingsPageTitle","HeaderLayout"],"mappings":";;;;;;;;;;;AAKA,MAAM,SAASA,gBAAAA,QAAOC,aAAAA,IAAI;AAAA;AAAA,YAEd,CAAC,EAAE,MAAA,MAAY,MAAM,OAAO,UAAU;AAAA;AAAA;AAQ3C,MAAM,mBAAmB,CAAC,EAAE,WAAiC;AAEhE,SAAAC,2BAAA;AAAA,IAACD,aAAA;AAAA,IAAA;AAAA,MACC,YAAW;AAAA,MACX,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,KAAK;AAAA,MACL,WAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAO;AAAA,MACP,OAAOE,qBAAQ,GAAG;AAAA,MAElB,UAAA;AAAA,QAAAC,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,YAAW;AAAA,YACX,YAAW;AAAA,YACX,cAAa;AAAA,YACb,QAAQ;AAAA,YACR,gBAAe;AAAA,YACf,OAAO;AAAA,YAEP,yCAACC,MAAW,YAAA,EAAA,OAAO,GAAG,IAAI,EAAE,OAAO;AAAA,UAAA;AAAA,QACrC;AAAA,QAECD,2BAAA,IAAAE,aAAA,YAAA,EAAW,YAAW,QAAQ,UAAK,MAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG1C;AC9BA,MAAM,oBAAoB,MAAM;AAE5B,SAAAF,2BAAA;AAAA,IAACG,MAAA;AAAA,IAAA;AAAA,MACC,YAAY,CAAC,SAAS;AAChB,YAAA,KAAK,SAASC,UAAA,gBAAgB,OAAO;AAChC,iBAAAJ,+BAAC,oBAAiB,MAAM,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO,KAAM,CAAA;AAAA,QACnF;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,MAAM,OAAoC,CAAC,EAAE,eAAe;AAExD,SAAAA,2BAAAA,IAACK,aAAAA,QACC,EAAA,UAAAL,2BAAAA,IAACM,aAAAA,MAAK,EAAA,UAAU,IACd,UAACN,2BAAA,IAAAO,4BAAA,EAAe,SAAS,CAAA,EAAA,CAC3B,EACF,CAAA;AAEJ;AAKA,MAAM,OAA4B,CAAC,EAAE,WAAW;AACxC,QAAA,EAAE,kBAAkBC,UAAAA;AAGxB,SAAAR,+BAACS,aAAAA,QAAK,WAAWT,2BAAAA,IAACU,MAAAA,YAAU,CAAA,GAAI,IAAI,MACjC,UAAc,cAAA;AAAA,IACb,IAAI;AAAA,IACJ,gBAAgB;AAAA,EACjB,CAAA,EACH,CAAA;AAEJ;AASA,MAAM,SAAgC,CAAC,EAAE,OAAO,UAAU,kBAAkB,oBAAoB;AAC9F,SAEIZ,2BAAA,KAAAa,qBAAA,EAAA,UAAA;AAAA,IAACX,2BAAAA,IAAAY,aAAA,mBAAA,EAAkB,MAAM,MAAO,CAAA;AAAA,IAChCZ,2BAAA;AAAA,MAACa,aAAA;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,EACF,EAAA,CAAA;AAEJ;;;;;"}
|
|
@@ -4,7 +4,7 @@ const jsxRuntime = require("react/jsx-runtime");
|
|
|
4
4
|
const designSystem = require("@strapi/design-system");
|
|
5
5
|
const helperPlugin = require("@strapi/helper-plugin");
|
|
6
6
|
const reactIntl = require("react-intl");
|
|
7
|
-
const index = require("./index-
|
|
7
|
+
const index = require("./index-nwZcrgzh.js");
|
|
8
8
|
const Filters = require("./Filters-Gdnt7qft.js");
|
|
9
9
|
const React = require("react");
|
|
10
10
|
const v2 = require("@strapi/design-system/v2");
|
|
@@ -614,4 +614,4 @@ const ProtectedListPage = () => {
|
|
|
614
614
|
};
|
|
615
615
|
exports.ListPage = ListPage;
|
|
616
616
|
exports.ProtectedListPage = ProtectedListPage;
|
|
617
|
-
//# sourceMappingURL=ListPage-
|
|
617
|
+
//# sourceMappingURL=ListPage-0Bi10Jzr.js.map
|