@strapi/admin 4.25.21 → 4.25.22
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-fNh9AVPj.mjs → AdminSeatInfo-FZAB4cD-.mjs} +3 -3
- package/dist/_chunks/{AdminSeatInfo-fNh9AVPj.mjs.map → AdminSeatInfo-FZAB4cD-.mjs.map} +1 -1
- package/dist/_chunks/{AdminSeatInfo-n9_ckklX.js → AdminSeatInfo-idYGK_rQ.js} +3 -3
- package/dist/_chunks/{AdminSeatInfo-n9_ckklX.js.map → AdminSeatInfo-idYGK_rQ.js.map} +1 -1
- package/dist/_chunks/{AuthenticatedApp-QDCywiaA.js → AuthenticatedApp-NwGWm2ih.js} +10 -10
- package/dist/_chunks/{AuthenticatedApp-QDCywiaA.js.map → AuthenticatedApp-NwGWm2ih.js.map} +1 -1
- package/dist/_chunks/{AuthenticatedApp-JlSCDE9m.mjs → AuthenticatedApp-yH0v7QuJ.mjs} +10 -10
- package/dist/_chunks/{AuthenticatedApp-JlSCDE9m.mjs.map → AuthenticatedApp-yH0v7QuJ.mjs.map} +1 -1
- package/dist/_chunks/{CreateActionEE-41ZkOmsl.js → CreateActionEE-4Q1WuP8n.js} +2 -2
- package/dist/_chunks/{CreateActionEE-41ZkOmsl.js.map → CreateActionEE-4Q1WuP8n.js.map} +1 -1
- package/dist/_chunks/{CreateActionEE-j5RHQGR1.mjs → CreateActionEE-yuzUSSC2.mjs} +2 -2
- package/dist/_chunks/{CreateActionEE-j5RHQGR1.mjs.map → CreateActionEE-yuzUSSC2.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-pZqlUQYD.js → CreatePage-98ke-ajO.js} +8 -8
- package/dist/_chunks/{CreatePage-pZqlUQYD.js.map → CreatePage-98ke-ajO.js.map} +1 -1
- package/dist/_chunks/{CreatePage-eEbDUiWT.js → CreatePage-C2kTsfl3.js} +3 -3
- package/dist/_chunks/{CreatePage-eEbDUiWT.js.map → CreatePage-C2kTsfl3.js.map} +1 -1
- package/dist/_chunks/{CreatePage-9yf08Hvr.mjs → CreatePage-cANAQZ-a.mjs} +3 -3
- package/dist/_chunks/{CreatePage-9yf08Hvr.mjs.map → CreatePage-cANAQZ-a.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-hqu9LQBD.mjs → CreatePage-cF_pbf3u.mjs} +6 -6
- package/dist/_chunks/{CreatePage-hqu9LQBD.mjs.map → CreatePage-cF_pbf3u.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-ApXmZ6hv.mjs → CreatePage-e7ZfS2YD.mjs} +8 -8
- package/dist/_chunks/{CreatePage-ApXmZ6hv.mjs.map → CreatePage-e7ZfS2YD.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-w8DFLtB6.js → CreatePage-ysJgJ-gB.js} +6 -6
- package/dist/_chunks/{CreatePage-w8DFLtB6.js.map → CreatePage-ysJgJ-gB.js.map} +1 -1
- package/dist/_chunks/{CreateView-kbmC1gMS.mjs → CreateView-U30ymjg0.mjs} +6 -6
- package/dist/_chunks/{CreateView-kbmC1gMS.mjs.map → CreateView-U30ymjg0.mjs.map} +1 -1
- package/dist/_chunks/{CreateView-EiUPL71p.mjs → CreateView-WEnhzEn7.mjs} +6 -6
- package/dist/_chunks/{CreateView-EiUPL71p.mjs.map → CreateView-WEnhzEn7.mjs.map} +1 -1
- package/dist/_chunks/{CreateView-63oNUfVH.js → CreateView-nz15614b.js} +6 -6
- package/dist/_chunks/{CreateView-63oNUfVH.js.map → CreateView-nz15614b.js.map} +1 -1
- package/dist/_chunks/{CreateView-KVMv7s3s.js → CreateView-pWsNaVZf.js} +6 -6
- package/dist/_chunks/{CreateView-KVMv7s3s.js.map → CreateView-pWsNaVZf.js.map} +1 -1
- package/dist/_chunks/{EditPage-ys_BuVge.mjs → EditPage-1EtUZ_tq.mjs} +6 -6
- package/dist/_chunks/{EditPage-ys_BuVge.mjs.map → EditPage-1EtUZ_tq.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-zla6CY-n.js → EditPage-719UMLLZ.js} +6 -6
- package/dist/_chunks/{EditPage-zla6CY-n.js.map → EditPage-719UMLLZ.js.map} +1 -1
- package/dist/_chunks/{EditPage-4QW2drFe.js → EditPage-89bN0dP7.js} +4 -4
- package/dist/_chunks/{EditPage-4QW2drFe.js.map → EditPage-89bN0dP7.js.map} +1 -1
- package/dist/_chunks/{EditPage-S32_MPZV.js → EditPage-J1g9GCi_.js} +6 -6
- package/dist/_chunks/{EditPage-S32_MPZV.js.map → EditPage-J1g9GCi_.js.map} +1 -1
- package/dist/_chunks/{EditPage-IKP7kDDd.mjs → EditPage-bOlylOAG.mjs} +4 -4
- package/dist/_chunks/{EditPage-IKP7kDDd.mjs.map → EditPage-bOlylOAG.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-0SD5FvMy.mjs → EditPage-d1xwsRIX.mjs} +6 -6
- package/dist/_chunks/{EditPage-0SD5FvMy.mjs.map → EditPage-d1xwsRIX.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-Dfh_a9re.mjs → EditPage-m0S8UNHX.mjs} +9 -9
- package/dist/_chunks/{EditPage-Dfh_a9re.mjs.map → EditPage-m0S8UNHX.mjs.map} +1 -1
- package/dist/_chunks/{EditPage--b9DJdw5.js → EditPage-nNtHib1N.js} +9 -9
- package/dist/_chunks/{EditPage--b9DJdw5.js.map → EditPage-nNtHib1N.js.map} +1 -1
- package/dist/_chunks/{EditView-Z0k2PFIW.js → EditView-Gbs0MgLG.js} +4 -4
- package/dist/_chunks/{EditView-Z0k2PFIW.js.map → EditView-Gbs0MgLG.js.map} +1 -1
- package/dist/_chunks/{EditView-DEchhGSy.mjs → EditView-TlB-sG6S.mjs} +4 -4
- package/dist/_chunks/{EditView-DEchhGSy.mjs.map → EditView-TlB-sG6S.mjs.map} +1 -1
- package/dist/_chunks/{EditViewPage-66vkBGnE.mjs → EditViewPage-Fp-j1bT_.mjs} +4 -4
- package/dist/_chunks/{EditViewPage-66vkBGnE.mjs.map → EditViewPage-Fp-j1bT_.mjs.map} +1 -1
- package/dist/_chunks/{EditViewPage-FaZ9DTP-.js → EditViewPage-KosKrHpe.js} +4 -4
- package/dist/_chunks/{EditViewPage-FaZ9DTP-.js.map → EditViewPage-KosKrHpe.js.map} +1 -1
- package/dist/_chunks/{EventsTable-Mp4lY2AJ.js → EventsTable-OuKWTYd5.js} +6 -6
- package/dist/_chunks/{EventsTable-Mp4lY2AJ.js.map → EventsTable-OuKWTYd5.js.map} +1 -1
- package/dist/_chunks/{EventsTable-wVl5KPcq.mjs → EventsTable-i-9TDKBd.mjs} +6 -6
- package/dist/_chunks/{EventsTable-wVl5KPcq.mjs.map → EventsTable-i-9TDKBd.mjs.map} +1 -1
- package/dist/_chunks/{HomePage-Uzw2Zg0c.mjs → HomePage-Kdo1txsj.mjs} +5 -5
- package/dist/_chunks/{HomePage-Uzw2Zg0c.mjs.map → HomePage-Kdo1txsj.mjs.map} +1 -1
- package/dist/_chunks/{HomePage-J_qLEedO.js → HomePage-QzQTzyeU.js} +5 -5
- package/dist/_chunks/{HomePage-J_qLEedO.js.map → HomePage-QzQTzyeU.js.map} +1 -1
- package/dist/_chunks/{HomePage-NgMfBDG1.mjs → HomePage-wLke9vNg.mjs} +6 -6
- package/dist/_chunks/{HomePage-NgMfBDG1.mjs.map → HomePage-wLke9vNg.mjs.map} +1 -1
- package/dist/_chunks/{HomePage-dHbUIjx9.js → HomePage-z7Y3cOGr.js} +6 -6
- package/dist/_chunks/{HomePage-dHbUIjx9.js.map → HomePage-z7Y3cOGr.js.map} +1 -1
- package/dist/_chunks/{InformationBoxEE-L8BBbY5q.mjs → InformationBoxEE--kgypRaS.mjs} +3 -3
- package/dist/_chunks/{InformationBoxEE-L8BBbY5q.mjs.map → InformationBoxEE--kgypRaS.mjs.map} +1 -1
- package/dist/_chunks/{InformationBoxEE-QnIjVrwB.js → InformationBoxEE-olWazw63.js} +3 -3
- package/dist/_chunks/{InformationBoxEE-QnIjVrwB.js.map → InformationBoxEE-olWazw63.js.map} +1 -1
- package/dist/_chunks/{InstalledPluginsPage-5FMbbylg.js → InstalledPluginsPage--kmq_m77.js} +3 -3
- package/dist/_chunks/{InstalledPluginsPage-5FMbbylg.js.map → InstalledPluginsPage--kmq_m77.js.map} +1 -1
- package/dist/_chunks/{InstalledPluginsPage-9wzLhUvI.mjs → InstalledPluginsPage-tUGcWfqi.mjs} +3 -3
- package/dist/_chunks/{InstalledPluginsPage-9wzLhUvI.mjs.map → InstalledPluginsPage-tUGcWfqi.mjs.map} +1 -1
- package/dist/_chunks/{Layout-QMOA8ZMB.mjs → Layout-7iBDHQI7.mjs} +2 -2
- package/dist/_chunks/{Layout-QMOA8ZMB.mjs.map → Layout-7iBDHQI7.mjs.map} +1 -1
- package/dist/_chunks/{Layout--0fQX_O4.js → Layout-97zMCrZ2.js} +2 -2
- package/dist/_chunks/{Layout--0fQX_O4.js.map → Layout-97zMCrZ2.js.map} +1 -1
- package/dist/_chunks/{ListPage-OQ2ywwby.mjs → ListPage-06NSdpsS.mjs} +3 -3
- package/dist/_chunks/{ListPage-OQ2ywwby.mjs.map → ListPage-06NSdpsS.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-cznp__Dv.mjs → ListPage-0HQyir1c.mjs} +8 -8
- package/dist/_chunks/{ListPage-cznp__Dv.mjs.map → ListPage-0HQyir1c.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-98s5i8Xi.mjs → ListPage-HvpSbF-Y.mjs} +4 -4
- package/dist/_chunks/{ListPage-98s5i8Xi.mjs.map → ListPage-HvpSbF-Y.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-HZokVhqs.mjs → ListPage-UBd2rFX-.mjs} +7 -7
- package/dist/_chunks/{ListPage-HZokVhqs.mjs.map → ListPage-UBd2rFX-.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-vnDwKizz.mjs → ListPage-YD3-aV97.mjs} +6 -6
- package/dist/_chunks/{ListPage-vnDwKizz.mjs.map → ListPage-YD3-aV97.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-m6p6QnZU.js → ListPage-Zkj_7kS5.js} +7 -7
- package/dist/_chunks/{ListPage-m6p6QnZU.js.map → ListPage-Zkj_7kS5.js.map} +1 -1
- package/dist/_chunks/{ListPage-mauu1_HA.js → ListPage-b8SW_oLZ.js} +6 -6
- package/dist/_chunks/{ListPage-mauu1_HA.js.map → ListPage-b8SW_oLZ.js.map} +1 -1
- package/dist/_chunks/{ListPage-WYdwtsqM.js → ListPage-iMVon91v.js} +8 -8
- package/dist/_chunks/{ListPage-WYdwtsqM.js.map → ListPage-iMVon91v.js.map} +1 -1
- package/dist/_chunks/{ListPage-_lgSe68W.js → ListPage-isg0WzkQ.js} +2 -2
- package/dist/_chunks/{ListPage-_lgSe68W.js.map → ListPage-isg0WzkQ.js.map} +1 -1
- package/dist/_chunks/{ListPage-4ewT-BZW.js → ListPage-jAEDbS4F.js} +4 -4
- package/dist/_chunks/{ListPage-4ewT-BZW.js.map → ListPage-jAEDbS4F.js.map} +1 -1
- package/dist/_chunks/{ListPage-RhTdol-1.js → ListPage-sAkwL2Wg.js} +3 -3
- package/dist/_chunks/{ListPage-RhTdol-1.js.map → ListPage-sAkwL2Wg.js.map} +1 -1
- package/dist/_chunks/{ListPage-NW6Jib2e.mjs → ListPage-slNtyUji.mjs} +2 -2
- package/dist/_chunks/{ListPage-NW6Jib2e.mjs.map → ListPage-slNtyUji.mjs.map} +1 -1
- package/dist/_chunks/{ListView-lkCViZHB.js → ListView--2S8Bh5Z.js} +3 -3
- package/dist/_chunks/{ListView-lkCViZHB.js.map → ListView--2S8Bh5Z.js.map} +1 -1
- package/dist/_chunks/{ListView-7ZJcAipg.mjs → ListView--Kp0K5F0.mjs} +3 -3
- package/dist/_chunks/{ListView-7ZJcAipg.mjs.map → ListView--Kp0K5F0.mjs.map} +1 -1
- package/dist/_chunks/{ListView-hoXRhYAF.js → ListView-5UC1t0D2.js} +3 -3
- package/dist/_chunks/{ListView-hoXRhYAF.js.map → ListView-5UC1t0D2.js.map} +1 -1
- package/dist/_chunks/{ListView-Z7ammGeJ.mjs → ListView-mOLgHuGf.mjs} +3 -3
- package/dist/_chunks/{ListView-Z7ammGeJ.mjs.map → ListView-mOLgHuGf.mjs.map} +1 -1
- package/dist/_chunks/{Login-l_qX3rqd.js → Login-F_8SZGrt.js} +2 -2
- package/dist/_chunks/{Login-l_qX3rqd.js.map → Login-F_8SZGrt.js.map} +1 -1
- package/dist/_chunks/{Login-Ky9EqaPl.mjs → Login-HVK2NaRI.mjs} +2 -2
- package/dist/_chunks/{Login-Ky9EqaPl.mjs.map → Login-HVK2NaRI.mjs.map} +1 -1
- package/dist/_chunks/{MagicLinkEE-b5oKEMhb.mjs → MagicLinkEE-FAC76Sn8.mjs} +4 -4
- package/dist/_chunks/{MagicLinkEE-b5oKEMhb.mjs.map → MagicLinkEE-FAC76Sn8.mjs.map} +1 -1
- package/dist/_chunks/{MagicLinkEE-Zsz76VJd.js → MagicLinkEE-MZehRL5V.js} +4 -4
- package/dist/_chunks/{MagicLinkEE-Zsz76VJd.js.map → MagicLinkEE-MZehRL5V.js.map} +1 -1
- package/dist/_chunks/{MarketplacePage-p3jDY32K.js → MarketplacePage-g1J9Zf9p.js} +3 -3
- package/dist/_chunks/{MarketplacePage-p3jDY32K.js.map → MarketplacePage-g1J9Zf9p.js.map} +1 -1
- package/dist/_chunks/{MarketplacePage-bEBY0oMW.mjs → MarketplacePage-umGDL9jB.mjs} +3 -3
- package/dist/_chunks/{MarketplacePage-bEBY0oMW.mjs.map → MarketplacePage-umGDL9jB.mjs.map} +1 -1
- package/dist/_chunks/{Permissions-kUXaT_FG.mjs → Permissions-Tp-y-zCU.mjs} +2 -2
- package/dist/_chunks/{Permissions-kUXaT_FG.mjs.map → Permissions-Tp-y-zCU.mjs.map} +1 -1
- package/dist/_chunks/{Permissions-KmDO0rYL.js → Permissions-wmKNbNBL.js} +2 -2
- package/dist/_chunks/{Permissions-KmDO0rYL.js.map → Permissions-wmKNbNBL.js.map} +1 -1
- package/dist/_chunks/{ProfilePage-UKafmIQU.mjs → ProfilePage-5iCf9Lhm.mjs} +3 -3
- package/dist/_chunks/{ProfilePage-UKafmIQU.mjs.map → ProfilePage-5iCf9Lhm.mjs.map} +1 -1
- package/dist/_chunks/{ProfilePage-RAAMg9Wq.js → ProfilePage-yX92JcAT.js} +3 -3
- package/dist/_chunks/{ProfilePage-RAAMg9Wq.js.map → ProfilePage-yX92JcAT.js.map} +1 -1
- package/dist/_chunks/{ReviewWorkflowsColumn-8SKxr3qC.mjs → ReviewWorkflowsColumn-BPlKidFi.mjs} +2 -2
- package/dist/_chunks/{ReviewWorkflowsColumn-8SKxr3qC.mjs.map → ReviewWorkflowsColumn-BPlKidFi.mjs.map} +1 -1
- package/dist/_chunks/{ReviewWorkflowsColumn-4k7WyvRr.js → ReviewWorkflowsColumn-X0Syiow1.js} +2 -2
- package/dist/_chunks/{ReviewWorkflowsColumn-4k7WyvRr.js.map → ReviewWorkflowsColumn-X0Syiow1.js.map} +1 -1
- package/dist/_chunks/{SelectRoles-_XSAf07G.mjs → SelectRoles-Mkiu7HMA.mjs} +3 -3
- package/dist/_chunks/{SelectRoles-_XSAf07G.mjs.map → SelectRoles-Mkiu7HMA.mjs.map} +1 -1
- package/dist/_chunks/{SelectRoles-cdkdfqin.js → SelectRoles-TdcgdKSm.js} +3 -3
- package/dist/_chunks/{SelectRoles-cdkdfqin.js.map → SelectRoles-TdcgdKSm.js.map} +1 -1
- package/dist/_chunks/{SettingsPage-N9zitd6U.mjs → SettingsPage-9pQt-9vg.mjs} +21 -21
- package/dist/_chunks/{SettingsPage-N9zitd6U.mjs.map → SettingsPage-9pQt-9vg.mjs.map} +1 -1
- package/dist/_chunks/{SettingsPage-TWrwoiEG.js → SettingsPage-Xhb86L8Q.js} +21 -21
- package/dist/_chunks/{SettingsPage-TWrwoiEG.js.map → SettingsPage-Xhb86L8Q.js.map} +1 -1
- package/dist/_chunks/{SingleSignOnPage-WS3ulauT.mjs → SingleSignOnPage-2AUcYOx9.mjs} +3 -3
- package/dist/_chunks/{SingleSignOnPage-WS3ulauT.mjs.map → SingleSignOnPage-2AUcYOx9.mjs.map} +1 -1
- package/dist/_chunks/{SingleSignOnPage-sxTphba9.js → SingleSignOnPage-oE5igP6U.js} +3 -3
- package/dist/_chunks/{SingleSignOnPage-sxTphba9.js.map → SingleSignOnPage-oE5igP6U.js.map} +1 -1
- package/dist/_chunks/{TokenTypeSelect--3ay_72E.mjs → TokenTypeSelect-ukQfef32.mjs} +2 -2
- package/dist/_chunks/{TokenTypeSelect--3ay_72E.mjs.map → TokenTypeSelect-ukQfef32.mjs.map} +1 -1
- package/dist/_chunks/{TokenTypeSelect-Poj87TVd.js → TokenTypeSelect-zTBr9-xc.js} +2 -2
- package/dist/_chunks/{TokenTypeSelect-Poj87TVd.js.map → TokenTypeSelect-zTBr9-xc.js.map} +1 -1
- package/dist/_chunks/{apiTokens-f5VdDehM.js → apiTokens-U4vQUogV.js} +2 -2
- package/dist/_chunks/{apiTokens-f5VdDehM.js.map → apiTokens-U4vQUogV.js.map} +1 -1
- package/dist/_chunks/{apiTokens-1-g1z-xk.mjs → apiTokens-kE4KRVci.mjs} +2 -2
- package/dist/_chunks/{apiTokens-1-g1z-xk.mjs.map → apiTokens-kE4KRVci.mjs.map} +1 -1
- package/dist/_chunks/{constants-htFUWDmA.js → constants-GdrZBKMD.js} +4 -4
- package/dist/_chunks/{constants-htFUWDmA.js.map → constants-GdrZBKMD.js.map} +1 -1
- package/dist/_chunks/{constants-dWFltCWB.mjs → constants-K2V1WBfS.mjs} +2 -2
- package/dist/_chunks/{constants-dWFltCWB.mjs.map → constants-K2V1WBfS.mjs.map} +1 -1
- package/dist/_chunks/{constants-aqbguIyK.js → constants-Kqj6p2F4.js} +2 -2
- package/dist/_chunks/{constants-aqbguIyK.js.map → constants-Kqj6p2F4.js.map} +1 -1
- package/dist/_chunks/{constants-Ldyt_eKu.mjs → constants-LgWej_PD.mjs} +4 -4
- package/dist/_chunks/{constants-Ldyt_eKu.mjs.map → constants-LgWej_PD.mjs.map} +1 -1
- package/dist/_chunks/{constants-EKhu9sSP.mjs → constants-TJnS0PB4.mjs} +6 -6
- package/dist/_chunks/{constants-EKhu9sSP.mjs.map → constants-TJnS0PB4.mjs.map} +1 -1
- package/dist/_chunks/{constants-9hTO8CqH.js → constants-_fvp75r0.js} +2 -2
- package/dist/_chunks/{constants-9hTO8CqH.js.map → constants-_fvp75r0.js.map} +1 -1
- package/dist/_chunks/{constants-WADLbNZe.mjs → constants-nSRPKoA2.mjs} +2 -2
- package/dist/_chunks/{constants-WADLbNZe.mjs.map → constants-nSRPKoA2.mjs.map} +1 -1
- package/dist/_chunks/{constants-oz9VRBgp.js → constants-sY2OlTRI.js} +6 -6
- package/dist/_chunks/{constants-oz9VRBgp.js.map → constants-sY2OlTRI.js.map} +1 -1
- package/dist/_chunks/{index-Fnq9LxjS.js → index-dk76Bb5X.js} +10 -10
- package/dist/_chunks/{index-Fnq9LxjS.js.map → index-dk76Bb5X.js.map} +1 -1
- package/dist/_chunks/{index-Go7rNONx.mjs → index-uCIlbOdV.mjs} +10 -10
- package/dist/_chunks/{index-Go7rNONx.mjs.map → index-uCIlbOdV.mjs.map} +1 -1
- package/dist/_chunks/{reviewWorkflows-3LqmbaWU.js → reviewWorkflows-jSCUSyS1.js} +2 -2
- package/dist/_chunks/{reviewWorkflows-3LqmbaWU.js.map → reviewWorkflows-jSCUSyS1.js.map} +1 -1
- package/dist/_chunks/{reviewWorkflows-UTFLiCQ7.mjs → reviewWorkflows-wqGU9qSe.mjs} +2 -2
- package/dist/_chunks/{reviewWorkflows-UTFLiCQ7.mjs.map → reviewWorkflows-wqGU9qSe.mjs.map} +1 -1
- package/dist/_chunks/{transferTokens-rl4cws_7.js → transferTokens-0Pz76-7d.js} +2 -2
- package/dist/_chunks/{transferTokens-rl4cws_7.js.map → transferTokens-0Pz76-7d.js.map} +1 -1
- package/dist/_chunks/{transferTokens-vvFnOhfY.mjs → transferTokens-MemMvpjQ.mjs} +2 -2
- package/dist/_chunks/{transferTokens-vvFnOhfY.mjs.map → transferTokens-MemMvpjQ.mjs.map} +1 -1
- package/dist/_chunks/{useAdminRoles-eeaWQ2Rw.js → useAdminRoles-J5ET9D0L.js} +2 -2
- package/dist/_chunks/{useAdminRoles-eeaWQ2Rw.js.map → useAdminRoles-J5ET9D0L.js.map} +1 -1
- package/dist/_chunks/{useAdminRoles-jYK0Lxgt.mjs → useAdminRoles-elzCVczr.mjs} +2 -2
- package/dist/_chunks/{useAdminRoles-jYK0Lxgt.mjs.map → useAdminRoles-elzCVczr.mjs.map} +1 -1
- package/dist/_chunks/{useContentTypes-0aVH8324.mjs → useContentTypes-aFamD0Y_.mjs} +2 -2
- package/dist/_chunks/{useContentTypes-0aVH8324.mjs.map → useContentTypes-aFamD0Y_.mjs.map} +1 -1
- package/dist/_chunks/{useContentTypes-i8rQ45xv.js → useContentTypes-d20Q2NEx.js} +2 -2
- package/dist/_chunks/{useContentTypes-i8rQ45xv.js.map → useContentTypes-d20Q2NEx.js.map} +1 -1
- package/dist/_chunks/{useLicenseLimitNotification-HiIBpsf0.mjs → useLicenseLimitNotification-B4qAIIeO.mjs} +2 -2
- package/dist/_chunks/{useLicenseLimitNotification-HiIBpsf0.mjs.map → useLicenseLimitNotification-B4qAIIeO.mjs.map} +1 -1
- package/dist/_chunks/{useLicenseLimitNotification-CetQFd8w.js → useLicenseLimitNotification-x0K6Rdcg.js} +2 -2
- package/dist/_chunks/{useLicenseLimitNotification-CetQFd8w.js.map → useLicenseLimitNotification-x0K6Rdcg.js.map} +1 -1
- package/dist/_chunks/{useReviewWorkflows-3V4AXqOe.js → useReviewWorkflows-g_9_TMbA.js} +2 -2
- package/dist/_chunks/{useReviewWorkflows-3V4AXqOe.js.map → useReviewWorkflows-g_9_TMbA.js.map} +1 -1
- package/dist/_chunks/{useReviewWorkflows-FmX2X--T.mjs → useReviewWorkflows-wJ4jZN3j.mjs} +2 -2
- package/dist/_chunks/{useReviewWorkflows-FmX2X--T.mjs.map → useReviewWorkflows-wJ4jZN3j.mjs.map} +1 -1
- package/dist/_chunks/{useWebhooks-2WUKsATN.mjs → useWebhooks-mNdei-OL.mjs} +2 -2
- package/dist/_chunks/{useWebhooks-2WUKsATN.mjs.map → useWebhooks-mNdei-OL.mjs.map} +1 -1
- package/dist/_chunks/{useWebhooks-mLbKEm8B.js → useWebhooks-mRRXRx5w.js} +2 -2
- package/dist/_chunks/{useWebhooks-mLbKEm8B.js.map → useWebhooks-mRRXRx5w.js.map} +1 -1
- package/dist/_chunks/{validateWorkflow-ENE3UKDG.mjs → validateWorkflow-kEbYq0vl.mjs} +2 -2
- package/dist/_chunks/{validateWorkflow-ENE3UKDG.mjs.map → validateWorkflow-kEbYq0vl.mjs.map} +1 -1
- package/dist/_chunks/{validateWorkflow-6UTLT992.js → validateWorkflow-vEqqyT_3.js} +2 -2
- package/dist/_chunks/{validateWorkflow-6UTLT992.js.map → validateWorkflow-vEqqyT_3.js.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/package.json +13 -13
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { HomePageCE } from "./HomePage-
|
|
3
|
-
import { u as useLicenseLimitNotification } from "./useLicenseLimitNotification-
|
|
2
|
+
import { HomePageCE } from "./HomePage-Kdo1txsj.mjs";
|
|
3
|
+
import { u as useLicenseLimitNotification } from "./useLicenseLimitNotification-B4qAIIeO.mjs";
|
|
4
4
|
import "react";
|
|
5
5
|
import "@strapi/design-system";
|
|
6
6
|
import "@strapi/design-system/v2";
|
|
@@ -10,10 +10,10 @@ import "react-helmet";
|
|
|
10
10
|
import "react-intl";
|
|
11
11
|
import "react-router-dom";
|
|
12
12
|
import "styled-components";
|
|
13
|
-
import "./AuthenticatedApp-
|
|
13
|
+
import "./AuthenticatedApp-yH0v7QuJ.mjs";
|
|
14
14
|
import "semver/functions/lt";
|
|
15
15
|
import "semver/functions/valid";
|
|
16
|
-
import "./index-
|
|
16
|
+
import "./index-uCIlbOdV.mjs";
|
|
17
17
|
import "react-dom/client";
|
|
18
18
|
import "invariant";
|
|
19
19
|
import "lodash/isFunction";
|
|
@@ -74,7 +74,7 @@ import "lodash/uniqBy";
|
|
|
74
74
|
import "lodash/unset";
|
|
75
75
|
import "lodash/isArray";
|
|
76
76
|
import "date-fns/parseISO";
|
|
77
|
-
import "./useContentTypes-
|
|
77
|
+
import "./useContentTypes-aFamD0Y_.mjs";
|
|
78
78
|
import "lodash/isNil";
|
|
79
79
|
const HomePageEE = () => {
|
|
80
80
|
useLicenseLimitNotification();
|
|
@@ -83,4 +83,4 @@ const HomePageEE = () => {
|
|
|
83
83
|
export {
|
|
84
84
|
HomePageEE
|
|
85
85
|
};
|
|
86
|
-
//# sourceMappingURL=HomePage-
|
|
86
|
+
//# sourceMappingURL=HomePage-wLke9vNg.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HomePage-
|
|
1
|
+
{"version":3,"file":"HomePage-wLke9vNg.mjs","sources":["../../ee/admin/src/pages/HomePage.tsx"],"sourcesContent":["import { HomePageCE } from '../../../../admin/src/pages/HomePage';\nimport { useLicenseLimitNotification } from '../hooks/useLicenseLimitNotification';\n\nexport const HomePageEE = () => {\n useLicenseLimitNotification();\n\n return <HomePageCE />;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,MAAM,aAAa,MAAM;AACF;AAE5B,6BAAQ,YAAW,CAAA,CAAA;AACrB;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
-
const HomePage = require("./HomePage-
|
|
5
|
-
const useLicenseLimitNotification = require("./useLicenseLimitNotification-
|
|
4
|
+
const HomePage = require("./HomePage-QzQTzyeU.js");
|
|
5
|
+
const useLicenseLimitNotification = require("./useLicenseLimitNotification-x0K6Rdcg.js");
|
|
6
6
|
require("react");
|
|
7
7
|
require("@strapi/design-system");
|
|
8
8
|
require("@strapi/design-system/v2");
|
|
@@ -12,10 +12,10 @@ require("react-helmet");
|
|
|
12
12
|
require("react-intl");
|
|
13
13
|
require("react-router-dom");
|
|
14
14
|
require("styled-components");
|
|
15
|
-
require("./AuthenticatedApp-
|
|
15
|
+
require("./AuthenticatedApp-NwGWm2ih.js");
|
|
16
16
|
require("semver/functions/lt");
|
|
17
17
|
require("semver/functions/valid");
|
|
18
|
-
require("./index-
|
|
18
|
+
require("./index-dk76Bb5X.js");
|
|
19
19
|
require("react-dom/client");
|
|
20
20
|
require("invariant");
|
|
21
21
|
require("lodash/isFunction");
|
|
@@ -76,11 +76,11 @@ require("lodash/uniqBy");
|
|
|
76
76
|
require("lodash/unset");
|
|
77
77
|
require("lodash/isArray");
|
|
78
78
|
require("date-fns/parseISO");
|
|
79
|
-
require("./useContentTypes-
|
|
79
|
+
require("./useContentTypes-d20Q2NEx.js");
|
|
80
80
|
require("lodash/isNil");
|
|
81
81
|
const HomePageEE = () => {
|
|
82
82
|
useLicenseLimitNotification.useLicenseLimitNotification();
|
|
83
83
|
return /* @__PURE__ */ jsxRuntime.jsx(HomePage.HomePageCE, {});
|
|
84
84
|
};
|
|
85
85
|
exports.HomePageEE = HomePageEE;
|
|
86
|
-
//# sourceMappingURL=HomePage-
|
|
86
|
+
//# sourceMappingURL=HomePage-z7Y3cOGr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HomePage-
|
|
1
|
+
{"version":3,"file":"HomePage-z7Y3cOGr.js","sources":["../../ee/admin/src/pages/HomePage.tsx"],"sourcesContent":["import { HomePageCE } from '../../../../admin/src/pages/HomePage';\nimport { useLicenseLimitNotification } from '../hooks/useLicenseLimitNotification';\n\nexport const HomePageEE = () => {\n useLicenseLimitNotification();\n\n return <HomePageCE />;\n};\n"],"names":["useLicenseLimitNotification","HomePageCE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,MAAM,aAAa,MAAM;AACFA,8BAAAA;AAE5B,wCAAQC,qBAAW,CAAA,CAAA;AACrB;;"}
|
|
@@ -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-uCIlbOdV.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-wqGU9qSe.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--kgypRaS.mjs.map
|
package/dist/_chunks/{InformationBoxEE-L8BBbY5q.mjs.map → InformationBoxEE--kgypRaS.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InformationBoxEE-L8BBbY5q.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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAM,iBAAiB,MAAM;AAC3B,QAAM,EAAE,aAAa,QAAQ,cAAc,SAAA,IAAa;AACxD,QAAM,cAAc,iBAAiB,CAAC,UAAU,MAAM,UAAU,WAAW;AACrE,QAAA,EAAE,kBAAkB;AAC1B,QAAM,EAAE,yBAAyB,eAAe,IAAI,mBAAmB;AACvE,QAAM,qBAAqB;AACrB,QAAA;AAAA,IACJ,gBAAgB,EAAE,QAAQ;AAAA,IAC1B,WAAW;AAAA,EACT,IAAA,QAAQ,YAAY,UAAU,KAAK;AACvC,QAAM,EAAE,MAAM,WAAW,QAAY,IAAA;AAAA,IACnC,CAAC;AAAA,IACD;AAAA,MACE,MAAM,wBAAwB,CAAC;AAAA,IACjC;AAAA,EAAA;AAGI,QAAA,QAAQ,MAAM,SAAS;AAEvB,QAAA,kBAAkB,cAAc,uBAAuB,KAAK;AAE5D,QAAA,CAAC,gBAAgB,EAAE,OAAO,WAAW,WAAY,CAAA,IAAI;AAErD,QAAA,eAAe,OAAO,eAA8B;AAClD,UAAA,MAAM,MAAM,eAAe;AAAA,MAC/B,MAAM,eAAe,iBAAiB;AAAA,MACtC,OAAO,OAAQ;AAAA,MACf,IAAI,YAAY;AAAA,MAChB,MAAM;AAAA,QACJ,IAAI,aAAa,SAAS,YAAY,EAAE,IAAI;AAAA,MAC9C;AAAA,IAAA,CACD;AAED,QAAI,UAAU,KAAK;AAGjB;AAAA,QACE;AAAA,UACE,QAAQ;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,OAAO,IAAI,KAAK,uBAAuB;AAAA,UACzC;AAAA,QACF;AAAA,QACA;AAAA,MAAA;AAGiB,yBAAA;AAAA,QACjB,MAAM;AAAA,QACN,SAAS;AAAA,UACP,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAClB;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EAAA;AAGF,SACG,oBAAA,OAAA,EAAM,MAAM,yBAAyB,IAAI,yBACxC,UAAC,oBAAA,MAAA,EAAK,WAAU,UAAS,KAAK,GAAG,YAAW,WAC1C,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,YAAY,cAAc;AAAA,QACxB,IAAI;AAAA,QACJ,gBAAgB;AAAA,MAAA,CACjB;AAAA,MACD,QACI,WACA,WACA,cAAc;AAAA,QACZ,IAAI;AAAA,QACJ,gBAAgB;AAAA,MACjB,CAAA,KACA,SAAS,eAAe,KAAK,MAChC;AAAA,MAEF,UAAU,CAAC,wBAAwB,CAAC,aAAa,MAAM,WAAW;AAAA,MAClE,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,OAAO,kBAAkB,gBAAgB,GAAG,SAAa,IAAA;AAAA,MAEzD,UAAU;AAAA,MACV,SAAS,MAAM,aAAa,IAAI;AAAA,MAChC,aAAa,cAAc;AAAA,QACzB,IAAI;AAAA,QACJ,gBAAgB;AAAA,MAAA,CACjB;AAAA,MACD,OAAO,cAAc;AAAA,QACnB,IAAI;AAAA,QACJ,gBAAgB;AAAA,MAAA,CACjB;AAAA,MACD,SAAS,aAAa,wBAAwB;AAAA,MAE7C,UAAA,MAAM,IAAI,CAAC,SAAS;AAEjB,eAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,OAAO,KAAK,GAAG,SAAS;AAAA,YACxB,WAAW,eAAe,MAAM,aAAa;AAAA,YAE5C,UAAA,eAAe,MAAM,aAAa;AAAA,UAAA;AAAA,UAJ9B,KAAK;AAAA,QAAA;AAAA,MAKZ,CAEH;AAAA,IAAA;AAAA,EAAA,EAEL,CAAA,EACF,CAAA;AAEJ;AC5FO,MAAM,cAAc,MAAM;AAC/B,QAAM,EAAE,aAAa,QAAQ,aAAa,cAAc,SAAA,IAAa;AAC/D,QAAA,EAAE,kBAAkB;AAC1B,QAAM,EAAE,yBAAyB,eAAe,IAAI,mBAAmB;AACvE,QAAM,qBAAqB;AACrB,QAAA,EAAE,MAAM,UAAA,IAAc;AAAA,IAC1B;AAAA,MACE,MAAM,eAAe,iBAAiB;AAAA,MACtC,OAAO,YAAa;AAAA,MACpB,IAAI,YAAa;AAAA,IACnB;AAAA,IACA;AAAA,MACE,MAAM,CAAC,aAAa,MAAM,CAAC,aAAa;AAAA,IAC1C;AAAA,EAAA;AAGF,QAAM,EAAE,MAAM,SAAS,CAAG,EAAA,IAAI,QAAQ,CAAA;AAEhC,QAAA,EAAE,eAAe;AACvB,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,MAAM,SAAsC,IAAI;AAE5F,QAAM,SAAS,WAAmB,kBAAkB,KAAK,CAAA;AAInD,QAAA,sBAAsB,cAAc,oBAAoB,KAAK;AAEnE,QAAM,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,uBAAuB;AAElD,QAAA,eAAe,OAAO,YAAuB;AAC7C,QAAA;AAYA,UAAA,SAAS,mCAAmC,KAC5C,SAAS,OAAO,mCAAmC,GAAG,EAAE,KAAK,MAAM,iBAAiB,IACpF;AACA,0BAAkB,UAAU;AAAA,MAW9B,WACE,SAAS,8CAA8C,KACvD,SAAS,OAAO,8CAA8C,GAAG,EAAE,IAAI,OAAO,QAC9E;AACA,0BAAkB,OAAO;AAAA,MAAA,OACpB;AACD,YAAA,YAAY,MAAM,aAAa;AAC3B,gBAAA,MAAM,MAAM,YAAY;AAAA,YAC5B,OAAO,YAAY;AAAA,YACnB,IAAI,YAAY;AAAA,YAChB,MAAM,eAAe,iBAAiB;AAAA,YACtC,MAAM,EAAE,IAAI,QAAQ;AAAA,UAAA,CACrB;AAED,cAAI,UAAU,KAAK;AAGjB;AAAA,cACE;AAAA,gBACE,QAAQ;AAAA,kBACN,MAAM;AAAA,kBACN,OAAO,IAAI,KAAK,oBAAoB;AAAA,kBACpC,MAAM;AAAA,gBACR;AAAA,cACF;AAAA,cACA;AAAA,YAAA;AAGiB,+BAAA;AAAA,cACjB,MAAM;AAAA,cACN,SAAS;AAAA,gBACP,IAAI;AAAA,gBACJ,gBAAgB;AAAA,cAClB;AAAA,YAAA,CACD;AAAA,UACH;AAAA,QACF;AAAA,MACF;AAAA,aACOA,QAAO;AAAA,IAGhB;AAAA,EAAA;AAGF,QAAM,EAAE,eAAe,IAAI,mBAAmB,qBAAqB,KAAK,KAAK;AAE7E,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MACE,OAAO,WAAW,KAClB,cAAc;AAAA,UACZ,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,QAEH,MAAM;AAAA,QACN,IAAI;AAAA,QAEJ,+BAAC,MAAK,EAAA,WAAU,UAAS,KAAK,GAAG,YAAW,WAC1C,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,UAAU,OAAO,WAAW;AAAA,cAC5B,OAAQ,SAAS,eAAe,KAAK,KAAM;AAAA,cAC3C,MAAM;AAAA,cACN,IAAI;AAAA,cACJ,OAAO,qBAAqB;AAAA,cAC5B,UAAU;AAAA,cACV,OAAO,cAAc;AAAA,gBACnB,IAAI;AAAA,gBACJ,gBAAgB;AAAA,cAAA,CACjB;AAAA,cACD,WACE,uBACE;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,IAAG;AAAA,kBACH,QAAQ;AAAA,kBACR,YAAY,qBAAqB;AAAA,kBACjC,aAAa,mBAAmB,aAAa,eAAe;AAAA,kBAC5D,WAAS;AAAA,kBACT,QAAQ;AAAA,kBACR,OAAO;AAAA,kBACP,aAAY;AAAA,gBAAA;AAAA,cACd;AAAA,cAIJ,kBAAkB,MAChB,qBAAC,MAAK,EAAA,IAAG,QAAO,gBAAe,iBAAgB,YAAW,UAAS,OAAM,QACvE,UAAA;AAAA,gBAAA,oBAAC,cAAW,WAAU,cAAa,UAAQ,MACxC,UAAA,qBAAqB,QAAQ,GAChC,CAAA;AAAA,gBACC,YACC,oBAAC,QAAO,EAAA,OAAK,MAAC,OAAO,EAAE,SAAS,OAAO,GAAG,eAAY,SAAA,CAAS,IAC7D;AAAA,cAAA,GACN;AAAA,cAGD,iBAAO,IAAI,CAAC,EAAE,IAAI,OAAO,WAAW;AACnC,sBAAM,EAAE,gBAAAC,gBAAAA,IAAmB,mBAAmB,KAAK,KAAK;AAGtD,uBAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBAEC,WACE;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBACC,QAAQ;AAAA,wBACR,YAAY;AAAA,wBACZ,aAAaA,oBAAmB,aAAa,eAAe;AAAA,wBAC5D,WAAS;AAAA,wBACT,QAAQ;AAAA,wBACR,OAAO;AAAA,sBAAA;AAAA,oBACT;AAAA,oBAEF,OAAO;AAAA,oBACP,WAAW;AAAA,oBAEV,UAAA;AAAA,kBAAA;AAAA,kBAdI;AAAA,gBAAA;AAAA,cAeP,CAEH;AAAA,YAAA;AAAA,UACH;AAAA,8BACC,WAAU,EAAA;AAAA,8BACV,YAAW,EAAA;AAAA,QAAA,GACd;AAAA,MAAA;AAAA,IACF;AAAA,IAEA;AAAA,MAAC,YAAY;AAAA,MAAZ;AAAA,QACC,QAAQ,mBAAmB;AAAA,QAC3B,SAAS,MAAM,kBAAkB,IAAI;AAAA,QAErC,UAAA;AAAA,UAAC,oBAAA,YAAY,OAAZ,EACE,UAAc,cAAA;AAAA,YACb,IAAI;AAAA,YACJ,gBAAgB;AAAA,UACjB,CAAA,GACH;AAAA,UAEC,oBAAA,YAAY,MAAZ,EACE,UAAc,cAAA;AAAA,YACb,IAAI;AAAA,YACJ,gBAAgB;AAAA,UACjB,CAAA,GACH;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,IAEA,qBAAC,YAAY,MAAZ,EAAiB,QAAQ,mBAAmB,SAAS,SAAS,MAAM,kBAAkB,IAAI,GACzF,UAAA;AAAA,MAAC,oBAAA,YAAY,OAAZ,EACE,UAAc,cAAA;AAAA,QACb,IAAI;AAAA,QACJ,gBAAgB;AAAA,MACjB,CAAA,GACH;AAAA,MAEC,oBAAA,YAAY,MAAZ,EACE,UAAc,cAAA;AAAA,QACb,IAAI;AAAA,QACJ,gBAAgB;AAAA,MACjB,CAAA,GACH;AAAA,IAAA,GACF;AAAA,EACF,EAAA,CAAA;AAEJ;AClPA,MAAM,mBAAmB,MAAM;AAC7B,QAAM,EAAE,iBAAiB,OAAO,IAAI,yBAAyB;AAEvD,QAAA,4BAA4B,QAAQ,SAAS,mBAAmB;AAGpE,SAAA,qBAAC,YAAY,MAAZ,EACC,UAAA;AAAA,IAAC,oBAAA,YAAY,OAAZ,EAAkB;AAAA,IAClB,6BAA6B,CAAC,mBAE3B,qBAAA,UAAA,EAAA,UAAA;AAAA,MAAA,oBAAC,aAAY,EAAA;AAAA,0BACZ,gBAAe,EAAA;AAAA,IAAA,GAClB;AAAA,IAEF,oBAAC,YAAY,MAAZ,EAAiB;AAAA,EACpB,EAAA,CAAA;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"InformationBoxEE--kgypRaS.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-dk76Bb5X.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-jSCUSyS1.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-olWazw63.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InformationBoxEE-QnIjVrwB.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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAM,iBAAiB,MAAM;AAC3B,QAAM,EAAE,aAAa,QAAQ,cAAc,SAAA,IAAaA,aAAAA;AACxD,QAAM,cAAcC,MAAAA,iBAAiB,CAAC,UAAU,MAAM,UAAU,WAAW;AACrE,QAAA,EAAE,kBAAkBC,UAAAA;AAC1B,QAAM,EAAE,yBAAyB,eAAe,IAAIC,aAAmB,mBAAA;AACvE,QAAM,qBAAqBC,aAAAA;AACrB,QAAA;AAAA,IACJ,gBAAgB,EAAE,QAAQ;AAAA,IAC1B,WAAW;AAAA,EACT,IAAAC,qBAAQ,YAAY,UAAU,KAAK;AACvC,QAAM,EAAE,MAAM,WAAW,QAAY,IAAAC,MAAA;AAAA,IACnC,CAAC;AAAA,IACD;AAAA,MACE,MAAM,wBAAwB,CAAC;AAAA,IACjC;AAAA,EAAA;AAGI,QAAA,QAAQ,MAAM,SAAS;AAEvB,QAAA,kBAAkB,cAAcC,UAAuB,uBAAA,KAAK;AAE5D,QAAA,CAAC,gBAAgB,EAAE,OAAO,WAAW,WAAY,CAAA,IAAIC,gBAAAA;AAErD,QAAA,eAAe,OAAO,eAA8B;AAClD,UAAA,MAAM,MAAM,eAAe;AAAA,MAC/B,MAAM,eAAe,iBAAiB;AAAA,MACtC,OAAO,OAAQ;AAAA,MACf,IAAI,YAAY;AAAA,MAChB,MAAM;AAAA,QACJ,IAAI,aAAa,SAAS,YAAY,EAAE,IAAI;AAAA,MAC9C;AAAA,IAAA,CACD;AAED,QAAI,UAAU,KAAK;AAGjB;AAAA,QACE;AAAA,UACE,QAAQ;AAAA,YACN,MAAM;AAAA,YACN,MAAMD,UAAA;AAAA,YACN,OAAO,IAAI,KAAKA,iCAAuB;AAAA,UACzC;AAAA,QACF;AAAA,QACA;AAAA,MAAA;AAGiB,yBAAA;AAAA,QACjB,MAAM;AAAA,QACN,SAAS;AAAA,UACP,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAClB;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EAAA;AAGF,SACGE,2BAAAA,IAAAC,aAAAA,OAAA,EAAM,MAAMH,UAAAA,yBAAyB,IAAIA,UAAA,yBACxC,UAACE,2BAAAA,IAAAE,aAAAA,MAAA,EAAK,WAAU,UAAS,KAAK,GAAG,YAAW,WAC1C,UAAAF,2BAAA;AAAA,IAACG,aAAA;AAAA,IAAA;AAAA,MACC,YAAY,cAAc;AAAA,QACxB,IAAI;AAAA,QACJ,gBAAgB;AAAA,MAAA,CACjB;AAAA,MACD,QACI,WACA,WACA,cAAc;AAAA,QACZ,IAAI;AAAA,QACJ,gBAAgB;AAAA,MACjB,CAAA,KACA,SAAS,eAAe,KAAK,MAChC;AAAA,MAEF,UAAU,CAAC,wBAAwB,CAAC,aAAa,MAAM,WAAW;AAAA,MAClE,MAAML,UAAA;AAAA,MACN,IAAIA,UAAA;AAAA,MACJ,OAAO,kBAAkB,gBAAgB,GAAG,SAAa,IAAA;AAAA,MAEzD,UAAU;AAAA,MACV,SAAS,MAAM,aAAa,IAAI;AAAA,MAChC,aAAa,cAAc;AAAA,QACzB,IAAI;AAAA,QACJ,gBAAgB;AAAA,MAAA,CACjB;AAAA,MACD,OAAO,cAAc;AAAA,QACnB,IAAI;AAAA,QACJ,gBAAgB;AAAA,MAAA,CACjB;AAAA,MACD,SAAS,aAAa,wBAAwB;AAAA,MAE7C,UAAA,MAAM,IAAI,CAAC,SAAS;AAEjB,eAAAE,2BAAA;AAAA,UAACI,aAAA;AAAA,UAAA;AAAA,YAEC,OAAO,KAAK,GAAG,SAAS;AAAA,YACxB,WAAWC,MAAAA,eAAe,MAAM,aAAa;AAAA,YAE5C,UAAAA,MAAAA,eAAe,MAAM,aAAa;AAAA,UAAA;AAAA,UAJ9B,KAAK;AAAA,QAAA;AAAA,MAKZ,CAEH;AAAA,IAAA;AAAA,EAAA,EAEL,CAAA,EACF,CAAA;AAEJ;AC5FO,MAAM,cAAc,MAAM;AAC/B,QAAM,EAAE,aAAa,QAAQ,aAAa,cAAc,SAAA,IAAad,aAAAA;AAC/D,QAAA,EAAE,kBAAkBE,UAAAA;AAC1B,QAAM,EAAE,yBAAyB,eAAe,IAAIC,aAAmB,mBAAA;AACvE,QAAM,qBAAqBC,aAAAA;AACrB,QAAA,EAAE,MAAM,UAAA,IAAcW,gBAAA;AAAA,IAC1B;AAAA,MACE,MAAM,eAAe,iBAAiB;AAAA,MACtC,OAAO,YAAa;AAAA,MACpB,IAAI,YAAa;AAAA,IACnB;AAAA,IACA;AAAA,MACE,MAAM,CAAC,aAAa,MAAM,CAAC,aAAa;AAAA,IAC1C;AAAA,EAAA;AAGF,QAAM,EAAE,MAAM,SAAS,CAAG,EAAA,IAAI,QAAQ,CAAA;AAEhC,QAAA,EAAE,eAAeC,MAAAA;AACvB,QAAM,CAAC,gBAAgB,iBAAiB,IAAIC,iBAAM,SAAsC,IAAI;AAE5F,QAAM,SAAS,WAAmB,kBAAkB,KAAK,CAAA;AAInD,QAAA,sBAAsB,cAAcC,UAAoB,oBAAA,KAAK;AAEnE,QAAM,CAAC,aAAa,EAAE,MAAM,CAAC,IAAIC,gBAAuB,uBAAA;AAElD,QAAA,eAAe,OAAO,YAAuB;AAC7C,QAAA;AAYA,UAAA,SAASC,YAAAA,mCAAmC,KAC5C,SAAS,OAAOA,YAAAA,mCAAmC,GAAG,EAAE,KAAK,MAAM,iBAAiB,IACpF;AACA,0BAAkB,UAAU;AAAA,MAW9B,WACE,SAASC,0DAA8C,KACvD,SAAS,OAAOA,YAA8C,8CAAA,GAAG,EAAE,IAAI,OAAO,QAC9E;AACA,0BAAkB,OAAO;AAAA,MAAA,OACpB;AACD,YAAA,YAAY,MAAM,aAAa;AAC3B,gBAAA,MAAM,MAAM,YAAY;AAAA,YAC5B,OAAO,YAAY;AAAA,YACnB,IAAI,YAAY;AAAA,YAChB,MAAM,eAAe,iBAAiB;AAAA,YACtC,MAAM,EAAE,IAAI,QAAQ;AAAA,UAAA,CACrB;AAED,cAAI,UAAU,KAAK;AAGjB;AAAA,cACE;AAAA,gBACE,QAAQ;AAAA,kBACN,MAAMH,UAAA;AAAA,kBACN,OAAO,IAAI,KAAKA,8BAAoB;AAAA,kBACpC,MAAM;AAAA,gBACR;AAAA,cACF;AAAA,cACA;AAAA,YAAA;AAGiB,+BAAA;AAAA,cACjB,MAAM;AAAA,cACN,SAAS;AAAA,gBACP,IAAI;AAAA,gBACJ,gBAAgB;AAAA,cAClB;AAAA,YAAA,CACD;AAAA,UACH;AAAA,QACF;AAAA,MACF;AAAA,aACOI,QAAO;AAAA,IAGhB;AAAA,EAAA;AAGF,QAAM,EAAE,eAAe,IAAIC,OAAAA,mBAAmB,qBAAqB,KAAK,KAAK;AAE7E,SAEIC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAAAhB,2BAAA;AAAA,MAACC,aAAA;AAAA,MAAA;AAAA,QACC,MACE,OAAO,WAAW,KAClB,cAAc;AAAA,UACZ,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,QAEH,MAAMQ,UAAA;AAAA,QACN,IAAIA,UAAA;AAAA,QAEJ,0CAACP,mBAAK,EAAA,WAAU,UAAS,KAAK,GAAG,YAAW,WAC1C,UAAA;AAAA,UAAAF,2BAAA;AAAA,YAACiB,aAAA;AAAA,YAAA;AAAA,cACC,UAAU,OAAO,WAAW;AAAA,cAC5B,OAAQ,SAAS,eAAe,KAAK,KAAM;AAAA,cAC3C,MAAMR,UAAA;AAAA,cACN,IAAIA,UAAA;AAAA,cACJ,OAAO,qBAAqB;AAAA,cAC5B,UAAU;AAAA,cACV,OAAO,cAAc;AAAA,gBACnB,IAAI;AAAA,gBACJ,gBAAgB;AAAA,cAAA,CACjB;AAAA,cACD,WACE,uBACET,2BAAA;AAAA,gBAACE,aAAA;AAAA,gBAAA;AAAA,kBACC,IAAG;AAAA,kBACH,QAAQ;AAAA,kBACR,YAAY,qBAAqB;AAAA,kBACjC,aAAa,mBAAmB,aAAa,eAAe;AAAA,kBAC5D,WAAS;AAAA,kBACT,QAAQ;AAAA,kBACR,OAAO;AAAA,kBACP,aAAY;AAAA,gBAAA;AAAA,cACd;AAAA,cAIJ,kBAAkB,MAChBa,2BAAA,KAACb,mBAAK,EAAA,IAAG,QAAO,gBAAe,iBAAgB,YAAW,UAAS,OAAM,QACvE,UAAA;AAAA,gBAAAF,2BAAAA,IAACkB,2BAAW,WAAU,cAAa,UAAQ,MACxC,UAAA,qBAAqB,QAAQ,GAChC,CAAA;AAAA,gBACC,YACClB,2BAAAA,IAACmB,aAAAA,QAAO,EAAA,OAAK,MAAC,OAAO,EAAE,SAAS,OAAO,GAAG,eAAY,SAAA,CAAS,IAC7D;AAAA,cAAA,GACN;AAAA,cAGD,iBAAO,IAAI,CAAC,EAAE,IAAI,OAAO,WAAW;AACnC,sBAAM,EAAE,gBAAAC,gBAAAA,IAAmBN,OAAAA,mBAAmB,KAAK,KAAK;AAGtD,uBAAAd,2BAAA;AAAA,kBAACqB,aAAA;AAAA,kBAAA;AAAA,oBAEC,WACErB,2BAAA;AAAA,sBAACE,aAAA;AAAA,sBAAA;AAAA,wBACC,QAAQ;AAAA,wBACR,YAAY;AAAA,wBACZ,aAAakB,oBAAmB,aAAa,eAAe;AAAA,wBAC5D,WAAS;AAAA,wBACT,QAAQ;AAAA,wBACR,OAAO;AAAA,sBAAA;AAAA,oBACT;AAAA,oBAEF,OAAO;AAAA,oBACP,WAAW;AAAA,oBAEV,UAAA;AAAA,kBAAA;AAAA,kBAdI;AAAA,gBAAA;AAAA,cAeP,CAEH;AAAA,YAAA;AAAA,UACH;AAAA,yCACCE,aAAU,WAAA,EAAA;AAAA,yCACVC,aAAW,YAAA,EAAA;AAAA,QAAA,GACd;AAAA,MAAA;AAAA,IACF;AAAA,IAEAR,2BAAA;AAAA,MAACS,YAAAA,YAAY;AAAA,MAAZ;AAAA,QACC,QAAQ,mBAAmB;AAAA,QAC3B,SAAS,MAAM,kBAAkB,IAAI;AAAA,QAErC,UAAA;AAAA,UAACxB,2BAAAA,IAAAwB,YAAAA,YAAY,OAAZ,EACE,UAAc,cAAA;AAAA,YACb,IAAI;AAAA,YACJ,gBAAgB;AAAA,UACjB,CAAA,GACH;AAAA,UAECxB,2BAAAA,IAAAwB,YAAAA,YAAY,MAAZ,EACE,UAAc,cAAA;AAAA,YACb,IAAI;AAAA,YACJ,gBAAgB;AAAA,UACjB,CAAA,GACH;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,IAEAT,2BAAAA,KAACS,YAAY,YAAA,MAAZ,EAAiB,QAAQ,mBAAmB,SAAS,SAAS,MAAM,kBAAkB,IAAI,GACzF,UAAA;AAAA,MAACxB,2BAAAA,IAAAwB,YAAAA,YAAY,OAAZ,EACE,UAAc,cAAA;AAAA,QACb,IAAI;AAAA,QACJ,gBAAgB;AAAA,MACjB,CAAA,GACH;AAAA,MAECxB,2BAAAA,IAAAwB,YAAAA,YAAY,MAAZ,EACE,UAAc,cAAA;AAAA,QACb,IAAI;AAAA,QACJ,gBAAgB;AAAA,MACjB,CAAA,GACH;AAAA,IAAA,GACF;AAAA,EACF,EAAA,CAAA;AAEJ;AClPA,MAAM,mBAAmB,MAAM;AAC7B,QAAM,EAAE,iBAAiB,OAAO,IAAIjC,aAAyB,yBAAA;AAEvD,QAAA,4BAA4B,QAAQ,SAAS,mBAAmB;AAGpE,SAAAwB,gCAACU,MAAAA,YAAY,MAAZ,EACC,UAAA;AAAA,IAACzB,+BAAAyB,MAAAA,YAAY,OAAZ,EAAkB;AAAA,IAClB,6BAA6B,CAAC,mBAE3BV,2BAAA,KAAAC,WAAA,UAAA,EAAA,UAAA;AAAA,MAAAhB,2BAAA,IAAC,aAAY,EAAA;AAAA,qCACZ,gBAAe,EAAA;AAAA,IAAA,GAClB;AAAA,IAEFA,+BAACyB,MAAAA,YAAY,MAAZ,EAAiB;AAAA,EACpB,EAAA,CAAA;AAEJ;;"}
|
|
1
|
+
{"version":3,"file":"InformationBoxEE-olWazw63.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-NwGWm2ih.js");
|
|
11
|
+
const index = require("./index-dk76Bb5X.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--kmq_m77.js.map
|
package/dist/_chunks/{InstalledPluginsPage-5FMbbylg.js.map → InstalledPluginsPage--kmq_m77.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstalledPluginsPage
|
|
1
|
+
{"version":3,"file":"InstalledPluginsPage--kmq_m77.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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,MAAM,uBAAuB,MAAM;AAC3B,QAAA,EAAE,kBAAkBA,UAAAA;AACpB,QAAA,EAAE,iBAAiBC,aAAAA;AACzB,QAAM,qBAAqBC,aAAAA;AAC3B,QAAM,EAAE,yBAAyB,eAAe,IAAIC,aAAmB,mBAAA;AAClDC,eAAAA;AAErB,QAAM,EAAE,WAAW,MAAM,UAAUC,MAAmB,mBAAA;AAEtDC,mBAAM,UAAU,MAAM;AACpB,QAAI,MAAM;AACR;AAAA,QACE;AAAA,UACE;AAAA,YACE,IAAI;AAAA,YACJ,gBAAgB;AAAA,UAClB;AAAA,UACA;AAAA,YACE,QAAQ,cAAc;AAAA,cACpB,IAAI;AAAA,cACJ,gBAAgB;AAAA,YAAA,CACjB;AAAA,UACH;AAAA,QACF;AAAA,MAAA;AAAA,IAEJ;AAEA,QAAI,OAAO;AACU,yBAAA;AAAA,QACjB,MAAM;AAAA,QACN,SAAS,eAAe,KAAK;AAAA,MAAA,CAC9B;AAAA,IACH;AAAA,EAAA,GACC,CAAC,MAAM,OAAO,gBAAgB,eAAe,cAAc,kBAAkB,CAAC;AAEjF,MAAI,WAAW;AAEX,WAAAC,2BAAAA,IAACC,aAAAA,UACC,UAACD,2BAAA,IAAAE,aAAA,MAAA,EAAK,aAAS,MACb,UAAAF,2BAAAA,IAACG,aAAAA,sBAAqB,CAAA,CAAA,EAAA,CACxB,EACF,CAAA;AAAA,EAEJ;AAGE,SAAAH,2BAAAA,IAACC,aAAAA,QACC,EAAA,UAAAG,2BAAAA,KAACF,aAAAA,MACC,EAAA,UAAA;AAAA,IAAAF,2BAAA;AAAA,MAACK,aAAA;AAAA,MAAA;AAAA,QACC,OAAO,cAAc;AAAA,UACnB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,QACD,UAAU,cAAc;AAAA,UACtB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAAA,IACH;AAAA,IACAL,2BAAA,IAACM,aACC,eAAA,EAAA,UAAAF,2BAAAA,KAACG,aAAAA,OAAM,EAAA,UAAU,GAAG,UAAU,MAAM,SAAS,UAAU,IAAI,GACzD,UAAA;AAAA,MAACP,2BAAA,IAAAQ,aAAA,OAAA,EACC,0CAACC,aAAAA,IACC,EAAA,UAAA;AAAA,QAAAT,2BAAAA,IAACU,mBACC,UAACV,2BAAA,IAAAW,aAAA,YAAA,EAAW,SAAQ,SAAQ,WAAU,cACnC,UAAc,cAAA;AAAA,UACb,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB,GACH,EACF,CAAA;AAAA,QACAX,2BAAAA,IAACU,mBACC,UAACV,2BAAA,IAAAW,aAAA,YAAA,EAAW,SAAQ,SAAQ,WAAU,cACnC,UAAc,cAAA;AAAA,UACb,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB,GACH,EACF,CAAA;AAAA,MAAA,EAAA,CACF,EACF,CAAA;AAAA,MACAX,2BAAAA,IAACY,aACE,OAAA,EAAA,UAAA,MAAM,QAAQ,IAAI,CAAC,EAAE,MAAM,aAAa,YAAA,MAAkB;AACzD,+CACGH,iBACC,EAAA,UAAA;AAAA,UAACT,2BAAAA,IAAAa,aAAAA,IAAA,EACC,yCAACF,aAAW,YAAA,EAAA,WAAU,cAAa,SAAQ,SAAQ,YAAW,QAC3D,UAAc,cAAA;AAAA,YACb,IAAI,kBAAkB,IAAI;AAAA,YAC1B,gBAAgB;AAAA,UAAA,CACjB,GACH,EACF,CAAA;AAAA,yCACCE,aAAAA,IACC,EAAA,UAAAb,2BAAA,IAACW,yBAAW,EAAA,WAAU,cACnB,UAAc,cAAA;AAAA,YACb,IAAI,kBAAkB,IAAI;AAAA,YAC1B,gBAAgB;AAAA,UAAA,CACjB,GACH,EACF,CAAA;AAAA,QAAA,EAAA,GAhBO,IAiBT;AAAA,MAEH,CAAA,GACH;AAAA,IAAA,EAAA,CACF,EACF,CAAA;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ;AAEA,MAAM,gCAAgC,MAAM;AACpC,QAAA,EAAE,kBAAkBlB,UAAAA;AACpB,QAAA,cAAcqB,uBAAYC,iBAAAA,sBAAsB;AAEtD,SACGX,2BAAAA,KAAAY,aAAAA,sBAAA,EAAqB,aAAa,YAAY,aAAa,MAC1D,UAAA;AAAA,IAAAhB,2BAAA;AAAA,MAACiB,YAAA;AAAA,MAAA;AAAA,QACC,OAAO,cAAc;AAAA,UACnB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAAA,IACH;AAAA,mCACC,sBAAqB,EAAA;AAAA,EACxB,EAAA,CAAA;AAEJ;;;"}
|
package/dist/_chunks/{InstalledPluginsPage-9wzLhUvI.mjs → InstalledPluginsPage-tUGcWfqi.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-yH0v7QuJ.mjs";
|
|
9
|
+
import { q as useGetPluginsQuery } from "./index-uCIlbOdV.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-tUGcWfqi.mjs.map
|
package/dist/_chunks/{InstalledPluginsPage-9wzLhUvI.mjs.map → InstalledPluginsPage-tUGcWfqi.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstalledPluginsPage-
|
|
1
|
+
{"version":3,"file":"InstalledPluginsPage-tUGcWfqi.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-uCIlbOdV.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-7iBDHQI7.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout-
|
|
1
|
+
{"version":3,"file":"Layout-7iBDHQI7.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-dk76Bb5X.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-97zMCrZ2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout
|
|
1
|
+
{"version":3,"file":"Layout-97zMCrZ2.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;;;;;"}
|
|
@@ -6,8 +6,8 @@ import { CheckPagePermissions, useAPIErrorHandler, useNotification, useFocusWhen
|
|
|
6
6
|
import { Plus, Trash, Pencil, EmptyDocuments } from "@strapi/icons";
|
|
7
7
|
import { useIntl } from "react-intl";
|
|
8
8
|
import { useHistory, useLocation, NavLink } from "react-router-dom";
|
|
9
|
-
import { j as useTypedSelector } from "./index-
|
|
10
|
-
import { u as useWebhooks } from "./useWebhooks-
|
|
9
|
+
import { j as useTypedSelector } from "./index-uCIlbOdV.mjs";
|
|
10
|
+
import { u as useWebhooks } from "./useWebhooks-mNdei-OL.mjs";
|
|
11
11
|
import "react-dom/client";
|
|
12
12
|
import "invariant";
|
|
13
13
|
import "lodash/isFunction";
|
|
@@ -382,4 +382,4 @@ export {
|
|
|
382
382
|
ListPage,
|
|
383
383
|
ProtectedListPage
|
|
384
384
|
};
|
|
385
|
-
//# sourceMappingURL=ListPage-
|
|
385
|
+
//# sourceMappingURL=ListPage-06NSdpsS.mjs.map
|