@strapi/admin 4.25.23 → 4.26.0
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-iASat0Hw.js → AdminSeatInfo-CcnrDPFr.js} +3 -3
- package/dist/_chunks/{AdminSeatInfo-iASat0Hw.js.map → AdminSeatInfo-CcnrDPFr.js.map} +1 -1
- package/dist/_chunks/{AdminSeatInfo-LXgNjwsq.mjs → AdminSeatInfo-gLztRe97.mjs} +3 -3
- package/dist/_chunks/{AdminSeatInfo-LXgNjwsq.mjs.map → AdminSeatInfo-gLztRe97.mjs.map} +1 -1
- package/dist/_chunks/{AuthenticatedApp-Bfl9hK_h.mjs → AuthenticatedApp-9hmvxLus.mjs} +20 -20
- package/dist/_chunks/{AuthenticatedApp-Bfl9hK_h.mjs.map → AuthenticatedApp-9hmvxLus.mjs.map} +1 -1
- package/dist/_chunks/{AuthenticatedApp-BhDorlD8.js → AuthenticatedApp-WZhpPnNK.js} +20 -20
- package/dist/_chunks/{AuthenticatedApp-BhDorlD8.js.map → AuthenticatedApp-WZhpPnNK.js.map} +1 -1
- package/dist/_chunks/{CreateActionEE-fa-xpnfx.js → CreateActionEE-jpIeNaRY.js} +2 -2
- package/dist/_chunks/{CreateActionEE-fa-xpnfx.js.map → CreateActionEE-jpIeNaRY.js.map} +1 -1
- package/dist/_chunks/{CreateActionEE-H-fQGqjA.mjs → CreateActionEE-yjoda5Hb.mjs} +2 -2
- package/dist/_chunks/{CreateActionEE-H-fQGqjA.mjs.map → CreateActionEE-yjoda5Hb.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-xF4vGlFt.js → CreatePage-0Mt-xoxO.js} +3 -3
- package/dist/_chunks/{CreatePage-xF4vGlFt.js.map → CreatePage-0Mt-xoxO.js.map} +1 -1
- package/dist/_chunks/{CreatePage--54BSoB7.js → CreatePage-A08bjELp.js} +8 -8
- package/dist/_chunks/{CreatePage--54BSoB7.js.map → CreatePage-A08bjELp.js.map} +1 -1
- package/dist/_chunks/{CreatePage-sZwN4-t1.mjs → CreatePage-_3GFnssV.mjs} +3 -3
- package/dist/_chunks/{CreatePage-sZwN4-t1.mjs.map → CreatePage-_3GFnssV.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-fxCGcrNa.js → CreatePage-dw59ltG7.js} +6 -6
- package/dist/_chunks/{CreatePage-fxCGcrNa.js.map → CreatePage-dw59ltG7.js.map} +1 -1
- package/dist/_chunks/{CreatePage-VaJ3geMW.mjs → CreatePage-gKmLd90c.mjs} +8 -8
- package/dist/_chunks/{CreatePage-VaJ3geMW.mjs.map → CreatePage-gKmLd90c.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-yCJUQ_Q_.mjs → CreatePage-y2qFb3EW.mjs} +6 -6
- package/dist/_chunks/{CreatePage-yCJUQ_Q_.mjs.map → CreatePage-y2qFb3EW.mjs.map} +1 -1
- package/dist/_chunks/{CreateView-qLcZo0lL.mjs → CreateView-48K591De.mjs} +6 -6
- package/dist/_chunks/{CreateView-qLcZo0lL.mjs.map → CreateView-48K591De.mjs.map} +1 -1
- package/dist/_chunks/{CreateView--YWdFkar.mjs → CreateView-icsdK0LP.mjs} +6 -6
- package/dist/_chunks/{CreateView--YWdFkar.mjs.map → CreateView-icsdK0LP.mjs.map} +1 -1
- package/dist/_chunks/{CreateView-iobgSsYH.js → CreateView-iw5zdito.js} +6 -6
- package/dist/_chunks/{CreateView-iobgSsYH.js.map → CreateView-iw5zdito.js.map} +1 -1
- package/dist/_chunks/{CreateView-0cT0WTX3.js → CreateView-r0wXY7d9.js} +6 -6
- package/dist/_chunks/{CreateView-0cT0WTX3.js.map → CreateView-r0wXY7d9.js.map} +1 -1
- package/dist/_chunks/{EditPage-41veRB1H.js → EditPage-6p8Brxzp.js} +6 -6
- package/dist/_chunks/{EditPage-41veRB1H.js.map → EditPage-6p8Brxzp.js.map} +1 -1
- package/dist/_chunks/{EditPage-j7PAa8iL.mjs → EditPage-eBgXmlCr.mjs} +6 -6
- package/dist/_chunks/{EditPage-j7PAa8iL.mjs.map → EditPage-eBgXmlCr.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-9L9QFEhI.mjs → EditPage-fuMYcO_D.mjs} +9 -9
- package/dist/_chunks/{EditPage-9L9QFEhI.mjs.map → EditPage-fuMYcO_D.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-RVuaalPM.mjs → EditPage-jvG5GlJc.mjs} +4 -4
- package/dist/_chunks/{EditPage-RVuaalPM.mjs.map → EditPage-jvG5GlJc.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-MbDaNryL.js → EditPage-nGqO0c8E.js} +4 -4
- package/dist/_chunks/{EditPage-MbDaNryL.js.map → EditPage-nGqO0c8E.js.map} +1 -1
- package/dist/_chunks/{EditPage-TKSrKZIB.js → EditPage-pYEEit-R.js} +9 -9
- package/dist/_chunks/{EditPage-TKSrKZIB.js.map → EditPage-pYEEit-R.js.map} +1 -1
- package/dist/_chunks/{EditPage-eakBPGh3.mjs → EditPage-ps19Ubuk.mjs} +6 -6
- package/dist/_chunks/{EditPage-eakBPGh3.mjs.map → EditPage-ps19Ubuk.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-IqschOA1.js → EditPage-rf_a255j.js} +6 -6
- package/dist/_chunks/{EditPage-IqschOA1.js.map → EditPage-rf_a255j.js.map} +1 -1
- package/dist/_chunks/{EditView-jWLX1Tyq.js → EditView-9KEeAO94.js} +4 -4
- package/dist/_chunks/{EditView-jWLX1Tyq.js.map → EditView-9KEeAO94.js.map} +1 -1
- package/dist/_chunks/{EditView-y7Ru7MBN.mjs → EditView-Pd1zWX47.mjs} +4 -4
- package/dist/_chunks/{EditView-y7Ru7MBN.mjs.map → EditView-Pd1zWX47.mjs.map} +1 -1
- package/dist/_chunks/{EditViewPage-K3F6kESh.mjs → EditViewPage-Jje9Oegz.mjs} +4 -4
- package/dist/_chunks/{EditViewPage-K3F6kESh.mjs.map → EditViewPage-Jje9Oegz.mjs.map} +1 -1
- package/dist/_chunks/{EditViewPage-26ouX4XT.js → EditViewPage-KQhcQtqd.js} +4 -4
- package/dist/_chunks/{EditViewPage-26ouX4XT.js.map → EditViewPage-KQhcQtqd.js.map} +1 -1
- package/dist/_chunks/{EventsTable-KDjZ2cVf.mjs → EventsTable-OjN46vKG.mjs} +6 -6
- package/dist/_chunks/{EventsTable-KDjZ2cVf.mjs.map → EventsTable-OjN46vKG.mjs.map} +1 -1
- package/dist/_chunks/{EventsTable-LXrDlBfr.js → EventsTable-SMVq4K27.js} +6 -6
- package/dist/_chunks/{EventsTable-LXrDlBfr.js.map → EventsTable-SMVq4K27.js.map} +1 -1
- package/dist/_chunks/{HomePage-ednXn0_w.mjs → HomePage-1PlFSGc-.mjs} +6 -6
- package/dist/_chunks/{HomePage-ednXn0_w.mjs.map → HomePage-1PlFSGc-.mjs.map} +1 -1
- package/dist/_chunks/{HomePage-FResDoxA.js → HomePage-_OZ837dF.js} +5 -5
- package/dist/_chunks/{HomePage-FResDoxA.js.map → HomePage-_OZ837dF.js.map} +1 -1
- package/dist/_chunks/{HomePage-eu--l8xF.mjs → HomePage-iGGPufdI.mjs} +5 -5
- package/dist/_chunks/{HomePage-eu--l8xF.mjs.map → HomePage-iGGPufdI.mjs.map} +1 -1
- package/dist/_chunks/{HomePage-Ze3G8iUH.js → HomePage-zkMkOLZy.js} +6 -6
- package/dist/_chunks/{HomePage-Ze3G8iUH.js.map → HomePage-zkMkOLZy.js.map} +1 -1
- package/dist/_chunks/{InformationBoxEE-paMrWUnO.js → InformationBoxEE-RkUQObb9.js} +3 -3
- package/dist/_chunks/{InformationBoxEE-paMrWUnO.js.map → InformationBoxEE-RkUQObb9.js.map} +1 -1
- package/dist/_chunks/{InformationBoxEE-Gdo1XAgx.mjs → InformationBoxEE-Y8w2OZfF.mjs} +3 -3
- package/dist/_chunks/{InformationBoxEE-Gdo1XAgx.mjs.map → InformationBoxEE-Y8w2OZfF.mjs.map} +1 -1
- package/dist/_chunks/{InstalledPluginsPage-CqVr2dr6.js → InstalledPluginsPage-6VEamMx-.js} +3 -3
- package/dist/_chunks/{InstalledPluginsPage-CqVr2dr6.js.map → InstalledPluginsPage-6VEamMx-.js.map} +1 -1
- package/dist/_chunks/{InstalledPluginsPage-bwx1FfBD.mjs → InstalledPluginsPage-FLV-i16T.mjs} +3 -3
- package/dist/_chunks/{InstalledPluginsPage-bwx1FfBD.mjs.map → InstalledPluginsPage-FLV-i16T.mjs.map} +1 -1
- package/dist/_chunks/{Layout-Z16aTYpZ.mjs → Layout-BbFzmdA3.mjs} +2 -2
- package/dist/_chunks/{Layout-Z16aTYpZ.mjs.map → Layout-BbFzmdA3.mjs.map} +1 -1
- package/dist/_chunks/{Layout-3Lv7Nso2.js → Layout-yDFhMeG0.js} +2 -2
- package/dist/_chunks/{Layout-3Lv7Nso2.js.map → Layout-yDFhMeG0.js.map} +1 -1
- package/dist/_chunks/{ListPage-psHwJBW1.js → ListPage-3_Rmx0WL.js} +8 -8
- package/dist/_chunks/{ListPage-psHwJBW1.js.map → ListPage-3_Rmx0WL.js.map} +1 -1
- package/dist/_chunks/{ListPage-X6S-Jwbi.mjs → ListPage-59QCcSqZ.mjs} +8 -8
- package/dist/_chunks/{ListPage-X6S-Jwbi.mjs.map → ListPage-59QCcSqZ.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-oCa14URs.js → ListPage-AUecxlA9.js} +6 -6
- package/dist/_chunks/{ListPage-oCa14URs.js.map → ListPage-AUecxlA9.js.map} +1 -1
- package/dist/_chunks/{ListPage-hRUBs_lX.mjs → ListPage-Lqx57Glr.mjs} +7 -7
- package/dist/_chunks/{ListPage-hRUBs_lX.mjs.map → ListPage-Lqx57Glr.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-5xEl9tYB.js → ListPage-QhtuDpJA.js} +7 -7
- package/dist/_chunks/{ListPage-5xEl9tYB.js.map → ListPage-QhtuDpJA.js.map} +1 -1
- package/dist/_chunks/{ListPage-9qAYgALl.mjs → ListPage-WJP01btb.mjs} +4 -4
- package/dist/_chunks/{ListPage-9qAYgALl.mjs.map → ListPage-WJP01btb.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-jzaajX-e.js → ListPage-Zab_MlPC.js} +3 -3
- package/dist/_chunks/{ListPage-jzaajX-e.js.map → ListPage-Zab_MlPC.js.map} +1 -1
- package/dist/_chunks/{ListPage-TJvZ4Mf5.mjs → ListPage-iaetHfR8.mjs} +6 -6
- package/dist/_chunks/{ListPage-TJvZ4Mf5.mjs.map → ListPage-iaetHfR8.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-lXXuYlv5.mjs → ListPage-iiklTiAf.mjs} +3 -3
- package/dist/_chunks/{ListPage-lXXuYlv5.mjs.map → ListPage-iiklTiAf.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-zhVYinNj.js → ListPage-kz10SAjp.js} +4 -4
- package/dist/_chunks/{ListPage-zhVYinNj.js.map → ListPage-kz10SAjp.js.map} +1 -1
- package/dist/_chunks/{ListPage-IK__4Lpf.mjs → ListPage-r1G44Ymw.mjs} +2 -2
- package/dist/_chunks/{ListPage-IK__4Lpf.mjs.map → ListPage-r1G44Ymw.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-PpuyFTj7.js → ListPage-zsMQLWZe.js} +2 -2
- package/dist/_chunks/{ListPage-PpuyFTj7.js.map → ListPage-zsMQLWZe.js.map} +1 -1
- package/dist/_chunks/{ListView-jQQs_cJl.js → ListView-5XArx3Uw.js} +3 -3
- package/dist/_chunks/{ListView-jQQs_cJl.js.map → ListView-5XArx3Uw.js.map} +1 -1
- package/dist/_chunks/{ListView-3Fg7Y56o.js → ListView-baie7EdX.js} +3 -3
- package/dist/_chunks/{ListView-3Fg7Y56o.js.map → ListView-baie7EdX.js.map} +1 -1
- package/dist/_chunks/{ListView-HLSZD4QG.mjs → ListView-dF3W-1qO.mjs} +3 -3
- package/dist/_chunks/{ListView-HLSZD4QG.mjs.map → ListView-dF3W-1qO.mjs.map} +1 -1
- package/dist/_chunks/{ListView-LqnkQPSw.mjs → ListView-mKtPXw3S.mjs} +3 -3
- package/dist/_chunks/{ListView-LqnkQPSw.mjs.map → ListView-mKtPXw3S.mjs.map} +1 -1
- package/dist/_chunks/{Login-sL4b-7I_.mjs → Login-fNgnBkZN.mjs} +2 -2
- package/dist/_chunks/{Login-sL4b-7I_.mjs.map → Login-fNgnBkZN.mjs.map} +1 -1
- package/dist/_chunks/{Login-vU5BXAqP.js → Login-xMEWYqb3.js} +2 -2
- package/dist/_chunks/{Login-vU5BXAqP.js.map → Login-xMEWYqb3.js.map} +1 -1
- package/dist/_chunks/{MagicLinkEE-sBUcBylX.mjs → MagicLinkEE-7ImmXKjt.mjs} +4 -4
- package/dist/_chunks/{MagicLinkEE-sBUcBylX.mjs.map → MagicLinkEE-7ImmXKjt.mjs.map} +1 -1
- package/dist/_chunks/{MagicLinkEE-mupgFg4V.js → MagicLinkEE-8eVOHtWs.js} +4 -4
- package/dist/_chunks/{MagicLinkEE-mupgFg4V.js.map → MagicLinkEE-8eVOHtWs.js.map} +1 -1
- package/dist/_chunks/{MarketplacePage-gM6Owfe4.mjs → MarketplacePage-9gMDs0VU.mjs} +3 -3
- package/dist/_chunks/{MarketplacePage-gM6Owfe4.mjs.map → MarketplacePage-9gMDs0VU.mjs.map} +1 -1
- package/dist/_chunks/{MarketplacePage-IjKH_WKo.js → MarketplacePage-Xg7mos0Q.js} +3 -3
- package/dist/_chunks/{MarketplacePage-IjKH_WKo.js.map → MarketplacePage-Xg7mos0Q.js.map} +1 -1
- package/dist/_chunks/{Permissions-bKkzuzDV.js → Permissions-hFoxbU5P.js} +2 -2
- package/dist/_chunks/{Permissions-bKkzuzDV.js.map → Permissions-hFoxbU5P.js.map} +1 -1
- package/dist/_chunks/{Permissions-DcS4EUNN.mjs → Permissions-zCLsoAGa.mjs} +2 -2
- package/dist/_chunks/{Permissions-DcS4EUNN.mjs.map → Permissions-zCLsoAGa.mjs.map} +1 -1
- package/dist/_chunks/{ProfilePage-1wRz5NN3.mjs → ProfilePage-31ZnqdJz.mjs} +3 -3
- package/dist/_chunks/{ProfilePage-1wRz5NN3.mjs.map → ProfilePage-31ZnqdJz.mjs.map} +1 -1
- package/dist/_chunks/{ProfilePage-BheU04B3.js → ProfilePage-v0d-63SV.js} +3 -3
- package/dist/_chunks/{ProfilePage-BheU04B3.js.map → ProfilePage-v0d-63SV.js.map} +1 -1
- package/dist/_chunks/{ReviewWorkflowsColumn-jL2QtJeb.mjs → ReviewWorkflowsColumn-bEpMVnyq.mjs} +2 -2
- package/dist/_chunks/{ReviewWorkflowsColumn-jL2QtJeb.mjs.map → ReviewWorkflowsColumn-bEpMVnyq.mjs.map} +1 -1
- package/dist/_chunks/{ReviewWorkflowsColumn-Bmm5pCUA.js → ReviewWorkflowsColumn-jFslDSOJ.js} +2 -2
- package/dist/_chunks/{ReviewWorkflowsColumn-Bmm5pCUA.js.map → ReviewWorkflowsColumn-jFslDSOJ.js.map} +1 -1
- package/dist/_chunks/{SelectRoles-avun6PVn.mjs → SelectRoles-397jvh3w.mjs} +3 -3
- package/dist/_chunks/{SelectRoles-avun6PVn.mjs.map → SelectRoles-397jvh3w.mjs.map} +1 -1
- package/dist/_chunks/{SelectRoles-8cZLkMEi.js → SelectRoles-zOmfqKL0.js} +3 -3
- package/dist/_chunks/{SelectRoles-8cZLkMEi.js.map → SelectRoles-zOmfqKL0.js.map} +1 -1
- package/dist/_chunks/{SettingsPage-Leij7RZb.mjs → SettingsPage-ge7YVBZh.mjs} +21 -21
- package/dist/_chunks/{SettingsPage-Leij7RZb.mjs.map → SettingsPage-ge7YVBZh.mjs.map} +1 -1
- package/dist/_chunks/{SettingsPage-vNzZJ3ag.js → SettingsPage-mNt0QiTY.js} +21 -21
- package/dist/_chunks/{SettingsPage-vNzZJ3ag.js.map → SettingsPage-mNt0QiTY.js.map} +1 -1
- package/dist/_chunks/{SingleSignOnPage-PvhdP6KP.mjs → SingleSignOnPage-LgnrCYCc.mjs} +3 -3
- package/dist/_chunks/{SingleSignOnPage-PvhdP6KP.mjs.map → SingleSignOnPage-LgnrCYCc.mjs.map} +1 -1
- package/dist/_chunks/{SingleSignOnPage-r9DBE6xY.js → SingleSignOnPage-M8yMsFLO.js} +3 -3
- package/dist/_chunks/{SingleSignOnPage-r9DBE6xY.js.map → SingleSignOnPage-M8yMsFLO.js.map} +1 -1
- package/dist/_chunks/{TokenTypeSelect-AIpez_wn.mjs → TokenTypeSelect-5ERmNfP1.mjs} +2 -2
- package/dist/_chunks/{TokenTypeSelect-AIpez_wn.mjs.map → TokenTypeSelect-5ERmNfP1.mjs.map} +1 -1
- package/dist/_chunks/{TokenTypeSelect-q02cCXwZ.js → TokenTypeSelect-9HpXl_PF.js} +2 -2
- package/dist/_chunks/{TokenTypeSelect-q02cCXwZ.js.map → TokenTypeSelect-9HpXl_PF.js.map} +1 -1
- package/dist/_chunks/{apiTokens-cNgZGltX.js → apiTokens-_zIqFUDl.js} +2 -2
- package/dist/_chunks/{apiTokens-cNgZGltX.js.map → apiTokens-_zIqFUDl.js.map} +1 -1
- package/dist/_chunks/{apiTokens-MDVd3qb9.mjs → apiTokens-yQ6rHhJk.mjs} +2 -2
- package/dist/_chunks/{apiTokens-MDVd3qb9.mjs.map → apiTokens-yQ6rHhJk.mjs.map} +1 -1
- package/dist/_chunks/{constants-7my2QI_T.js → constants-1LJYNtJf.js} +2 -2
- package/dist/_chunks/{constants-7my2QI_T.js.map → constants-1LJYNtJf.js.map} +1 -1
- package/dist/_chunks/{constants-X4ivu2Z3.js → constants-BRLS-pE4.js} +4 -4
- package/dist/_chunks/{constants-X4ivu2Z3.js.map → constants-BRLS-pE4.js.map} +1 -1
- package/dist/_chunks/{constants-HiPaWTSX.mjs → constants-Fs0PGeXa.mjs} +4 -4
- package/dist/_chunks/{constants-HiPaWTSX.mjs.map → constants-Fs0PGeXa.mjs.map} +1 -1
- package/dist/_chunks/{constants-W3sunVeW.mjs → constants-GxbFWMRK.mjs} +2 -2
- package/dist/_chunks/{constants-W3sunVeW.mjs.map → constants-GxbFWMRK.mjs.map} +1 -1
- package/dist/_chunks/{constants-7MMo0xYE.mjs → constants-HE_pNGiL.mjs} +6 -6
- package/dist/_chunks/{constants-7MMo0xYE.mjs.map → constants-HE_pNGiL.mjs.map} +1 -1
- package/dist/_chunks/{constants-eHUirbuN.js → constants-ODlahW77.js} +2 -2
- package/dist/_chunks/{constants-eHUirbuN.js.map → constants-ODlahW77.js.map} +1 -1
- package/dist/_chunks/{constants-rjmpwCpB.mjs → constants-T-cuT2Ca.mjs} +2 -2
- package/dist/_chunks/{constants-rjmpwCpB.mjs.map → constants-T-cuT2Ca.mjs.map} +1 -1
- package/dist/_chunks/{constants-ODhwlQKw.js → constants-VC_tKTEj.js} +6 -6
- package/dist/_chunks/{constants-ODhwlQKw.js.map → constants-VC_tKTEj.js.map} +1 -1
- package/dist/_chunks/{index-5hP8C9h_.mjs → index-KlaImB-Z.mjs} +10 -10
- package/dist/_chunks/{index-5hP8C9h_.mjs.map → index-KlaImB-Z.mjs.map} +1 -1
- package/dist/_chunks/{index-hdB0LcQU.js → index-nzsPp67p.js} +10 -10
- package/dist/_chunks/{index-hdB0LcQU.js.map → index-nzsPp67p.js.map} +1 -1
- package/dist/_chunks/{reviewWorkflows-pvz0btjd.js → reviewWorkflows-6LYktuSC.js} +2 -2
- package/dist/_chunks/{reviewWorkflows-pvz0btjd.js.map → reviewWorkflows-6LYktuSC.js.map} +1 -1
- package/dist/_chunks/{reviewWorkflows-NT8a9pbP.mjs → reviewWorkflows-xaCXGNG_.mjs} +2 -2
- package/dist/_chunks/{reviewWorkflows-NT8a9pbP.mjs.map → reviewWorkflows-xaCXGNG_.mjs.map} +1 -1
- package/dist/_chunks/{transferTokens-n2fnxAr8.js → transferTokens-2uzdnbMv.js} +2 -2
- package/dist/_chunks/{transferTokens-n2fnxAr8.js.map → transferTokens-2uzdnbMv.js.map} +1 -1
- package/dist/_chunks/{transferTokens-WJTQc-sG.mjs → transferTokens-nEqTmvrl.mjs} +2 -2
- package/dist/_chunks/{transferTokens-WJTQc-sG.mjs.map → transferTokens-nEqTmvrl.mjs.map} +1 -1
- package/dist/_chunks/{useAdminRoles-MXgNiQEp.js → useAdminRoles-GDWeBZj1.js} +2 -2
- package/dist/_chunks/{useAdminRoles-MXgNiQEp.js.map → useAdminRoles-GDWeBZj1.js.map} +1 -1
- package/dist/_chunks/{useAdminRoles-GLrN6UE1.mjs → useAdminRoles-LDuoVSqV.mjs} +2 -2
- package/dist/_chunks/{useAdminRoles-GLrN6UE1.mjs.map → useAdminRoles-LDuoVSqV.mjs.map} +1 -1
- package/dist/_chunks/{useContentTypes-3V7R5Vlq.mjs → useContentTypes-96_zKnV_.mjs} +2 -2
- package/dist/_chunks/{useContentTypes-3V7R5Vlq.mjs.map → useContentTypes-96_zKnV_.mjs.map} +1 -1
- package/dist/_chunks/{useContentTypes-lP8pXI_b.js → useContentTypes-sr3aXJbS.js} +2 -2
- package/dist/_chunks/{useContentTypes-lP8pXI_b.js.map → useContentTypes-sr3aXJbS.js.map} +1 -1
- package/dist/_chunks/{useLicenseLimitNotification-BF8lNWgZ.js → useLicenseLimitNotification-3yitZJCi.js} +2 -2
- package/dist/_chunks/{useLicenseLimitNotification-BF8lNWgZ.js.map → useLicenseLimitNotification-3yitZJCi.js.map} +1 -1
- package/dist/_chunks/{useLicenseLimitNotification-_Isg3hBw.mjs → useLicenseLimitNotification-Tb12lIXD.mjs} +2 -2
- package/dist/_chunks/{useLicenseLimitNotification-_Isg3hBw.mjs.map → useLicenseLimitNotification-Tb12lIXD.mjs.map} +1 -1
- package/dist/_chunks/{useReviewWorkflows-sUSNw5FU.js → useReviewWorkflows-D7TMsQhe.js} +2 -2
- package/dist/_chunks/{useReviewWorkflows-sUSNw5FU.js.map → useReviewWorkflows-D7TMsQhe.js.map} +1 -1
- package/dist/_chunks/{useReviewWorkflows-c_5Ue4p0.mjs → useReviewWorkflows-sjtDLjeH.mjs} +2 -2
- package/dist/_chunks/{useReviewWorkflows-c_5Ue4p0.mjs.map → useReviewWorkflows-sjtDLjeH.mjs.map} +1 -1
- package/dist/_chunks/{useWebhooks-NEbJu8zy.mjs → useWebhooks-m2S17Isk.mjs} +2 -2
- package/dist/_chunks/{useWebhooks-NEbJu8zy.mjs.map → useWebhooks-m2S17Isk.mjs.map} +1 -1
- package/dist/_chunks/{useWebhooks-rUXZtGhD.js → useWebhooks-nFFf0Nl-.js} +2 -2
- package/dist/_chunks/{useWebhooks-rUXZtGhD.js.map → useWebhooks-nFFf0Nl-.js.map} +1 -1
- package/dist/_chunks/{validateWorkflow-UickdeaD.js → validateWorkflow-3iIakrPp.js} +2 -2
- package/dist/_chunks/{validateWorkflow-UickdeaD.js.map → validateWorkflow-3iIakrPp.js.map} +1 -1
- package/dist/_chunks/{validateWorkflow-g9vIjmAt.mjs → validateWorkflow-LfwdPU9V.mjs} +2 -2
- package/dist/_chunks/{validateWorkflow-g9vIjmAt.mjs.map → validateWorkflow-LfwdPU9V.mjs.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/package.json +12 -12
|
@@ -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-_OZ837dF.js");
|
|
5
|
+
const useLicenseLimitNotification = require("./useLicenseLimitNotification-3yitZJCi.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-WZhpPnNK.js");
|
|
16
16
|
require("semver/functions/lt");
|
|
17
17
|
require("semver/functions/valid");
|
|
18
|
-
require("./index-
|
|
18
|
+
require("./index-nzsPp67p.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-sr3aXJbS.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-zkMkOLZy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HomePage-
|
|
1
|
+
{"version":3,"file":"HomePage-zkMkOLZy.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;;"}
|
|
@@ -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-nzsPp67p.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-6LYktuSC.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-RkUQObb9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InformationBoxEE-paMrWUnO.js","sources":["../../ee/admin/src/content-manager/pages/EditView/components/AssigneeSelect.tsx","../../ee/admin/src/content-manager/pages/EditView/components/StageSelect.tsx","../../ee/admin/src/content-manager/pages/EditView/components/InformationBoxEE.tsx"],"sourcesContent":["import { Combobox, ComboboxOption, Field, Flex } from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useNotification,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\n\nimport { getDisplayName } from '../../../../../../../admin/src/content-manager/utils/users';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useAdminUsers } from '../../../../../../../admin/src/services/users';\nimport { useUpdateAssigneeMutation } from '../../../../services/reviewWorkflows';\n\nimport { ASSIGNEE_ATTRIBUTE_NAME } from './constants';\n\nconst AssigneeSelect = () => {\n const { initialData, layout, isSingleType, onChange } = useCMEditViewDataManager();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const {\n allowedActions: { canRead },\n isLoading: isLoadingPermissions,\n } = useRBAC(permissions.settings?.users);\n const { data, isLoading, isError } = useAdminUsers(\n {},\n {\n skip: isLoadingPermissions || !canRead,\n }\n );\n\n const users = data?.users || [];\n\n const currentAssignee = initialData?.[ASSIGNEE_ATTRIBUTE_NAME] ?? null;\n\n const [updateAssignee, { error, isLoading: isMutating }] = useUpdateAssigneeMutation();\n\n const handleChange = async (assigneeId: string | null) => {\n const res = await updateAssignee({\n slug: isSingleType ? 'single-types' : 'collection-types',\n model: layout!.uid,\n id: initialData.id!,\n data: {\n id: assigneeId ? parseInt(assigneeId, 10) : null,\n },\n });\n\n if ('data' in res) {\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange?.(\n {\n target: {\n type: '',\n name: ASSIGNEE_ATTRIBUTE_NAME,\n value: res.data[ASSIGNEE_ATTRIBUTE_NAME],\n },\n },\n true\n );\n\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.assignee.notification.saved',\n defaultMessage: 'Assignee updated',\n },\n });\n }\n };\n\n return (\n <Field name={ASSIGNEE_ATTRIBUTE_NAME} id={ASSIGNEE_ATTRIBUTE_NAME}>\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <Combobox\n clearLabel={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.clear',\n defaultMessage: 'Clear assignee',\n })}\n error={\n ((isError &&\n canRead &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.error',\n defaultMessage: 'An error occurred while fetching users',\n })) ||\n (error && formatAPIError(error))) ??\n undefined\n }\n disabled={!isLoadingPermissions && !isLoading && users.length === 0}\n name={ASSIGNEE_ATTRIBUTE_NAME}\n id={ASSIGNEE_ATTRIBUTE_NAME}\n value={currentAssignee ? currentAssignee.id.toString() : null}\n // @ts-expect-error - DS Combobox wants to return number or string, this will be fixed in V2.\n onChange={handleChange}\n onClear={() => handleChange(null)}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select …',\n })}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.label',\n defaultMessage: 'Assignee',\n })}\n loading={isLoading || isLoadingPermissions || isMutating}\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id.toString()}\n textValue={getDisplayName(user, formatMessage)}\n >\n {getDisplayName(user, formatMessage)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n </Flex>\n </Field>\n );\n};\n\nexport { AssigneeSelect };\n","import * as React from 'react';\n\nimport {\n SingleSelect,\n SingleSelectOption,\n Field,\n FieldError,\n FieldHint,\n Flex,\n Loader,\n Typography,\n} from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useNotification,\n} from '@strapi/helper-plugin';\nimport { Entity } from '@strapi/types';\nimport { useIntl } from 'react-intl';\n\nimport { useLicenseLimits } from '../../../../hooks/useLicenseLimits';\nimport { LimitsModal } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal';\nimport {\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n} from '../../../../pages/SettingsPage/pages/ReviewWorkflows/constants';\nimport { getStageColorByHex } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/utils/colors';\nimport { useGetStagesQuery, useUpdateStageMutation } from '../../../../services/reviewWorkflows';\n\nimport { STAGE_ATTRIBUTE_NAME } from './constants';\n\nexport const StageSelect = () => {\n const { initialData, layout: contentType, isSingleType, onChange } = useCMEditViewDataManager();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const { data, isLoading } = useGetStagesQuery(\n {\n slug: isSingleType ? 'single-types' : 'collection-types',\n model: contentType!.uid,\n id: initialData!.id!,\n },\n {\n skip: !initialData?.id || !contentType?.uid,\n }\n );\n\n const { meta, stages = [] } = data ?? {};\n\n const { getFeature } = useLicenseLimits();\n const [showLimitModal, setShowLimitModal] = React.useState<'stage' | 'workflow' | null>(null);\n\n const limits = getFeature<string>('review-workflows') ?? {};\n // it is possible to rely on initialData here, because it always will\n // be updated at the same time when modifiedData is updated, otherwise\n // the entity is flagged as modified\n const activeWorkflowStage = initialData?.[STAGE_ATTRIBUTE_NAME] ?? null;\n\n const [updateStage, { error }] = useUpdateStageMutation();\n\n const handleChange = async (stageId: Entity.ID) => {\n try {\n /**\n * If the current license has a limit:\n * check if the total count of workflows exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n\n if (\n limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10) < (meta?.workflowCount ?? 0)\n ) {\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit:\n * check if the total count of stages exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n } else if (\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10) < stages.length\n ) {\n setShowLimitModal('stage');\n } else {\n if (initialData.id && contentType) {\n const res = await updateStage({\n model: contentType.uid,\n id: initialData.id,\n slug: isSingleType ? 'single-types' : 'collection-types',\n data: { id: stageId },\n });\n\n if ('data' in res) {\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange?.(\n {\n target: {\n name: STAGE_ATTRIBUTE_NAME,\n value: res.data[STAGE_ATTRIBUTE_NAME],\n type: '',\n },\n },\n true\n );\n\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.stage.notification.saved',\n defaultMessage: 'Review stage updated',\n },\n });\n }\n }\n }\n } catch (error) {\n // react-query@v3: the error doesn't have to be handled here\n // see: https://github.com/TanStack/query/issues/121\n }\n };\n\n const { themeColorName } = getStageColorByHex(activeWorkflowStage?.color) ?? {};\n\n return (\n <>\n <Field\n hint={\n stages.length === 0 &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.stages.no-transition',\n defaultMessage: 'You don’t have the permission to update this stage.',\n })\n }\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n >\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <SingleSelect\n disabled={stages.length === 0}\n error={(error && formatAPIError(error)) || undefined}\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n value={activeWorkflowStage?.id}\n onChange={handleChange}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.stage.label',\n defaultMessage: 'Review stage',\n })}\n startIcon={\n activeWorkflowStage && (\n <Flex\n as=\"span\"\n height={2}\n background={activeWorkflowStage?.color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n marginRight=\"-3px\"\n />\n )\n }\n // @ts-expect-error – `customizeContent` is not correctly typed in the DS.\n customizeContent={() => (\n <Flex as=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis>\n {activeWorkflowStage?.name ?? ''}\n </Typography>\n {isLoading ? (\n <Loader small style={{ display: 'flex' }} data-testid=\"loader\" />\n ) : null}\n </Flex>\n )}\n >\n {stages.map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={id}\n textValue={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <FieldHint />\n <FieldError />\n </Flex>\n </Field>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'workflow'}\n onClose={() => setShowLimitModal(null)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n\n <LimitsModal.Root isOpen={showLimitModal === 'stage'} onClose={() => setShowLimitModal(null)}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </>\n );\n};\n","import { useCMEditViewDataManager } from '@strapi/helper-plugin';\n\nimport { Information } from '../../../../../../../admin/src/content-manager/pages/EditView/components/Information';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nconst InformationBoxEE = () => {\n const { isCreatingEntry, layout } = useCMEditViewDataManager();\n\n const hasReviewWorkflowsEnabled = layout?.options?.reviewWorkflows ?? false;\n\n return (\n <Information.Root>\n <Information.Title />\n {hasReviewWorkflowsEnabled && !isCreatingEntry && (\n <>\n <StageSelect />\n <AssigneeSelect />\n </>\n )}\n <Information.Body />\n </Information.Root>\n );\n};\n\nexport { InformationBoxEE };\n"],"names":["useCMEditViewDataManager","useTypedSelector","useIntl","useAPIErrorHandler","useNotification","useRBAC","useAdminUsers","ASSIGNEE_ATTRIBUTE_NAME","useUpdateAssigneeMutation","jsx","Field","Flex","Combobox","ComboboxOption","getDisplayName","useGetStagesQuery","useLicenseLimits","React","STAGE_ATTRIBUTE_NAME","useUpdateStageMutation","CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME","CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME","error","getStageColorByHex","jsxs","Fragment","SingleSelect","Typography","Loader","themeColorName","SingleSelectOption","FieldHint","FieldError","LimitsModal","Information"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InformationBoxEE-RkUQObb9.js","sources":["../../ee/admin/src/content-manager/pages/EditView/components/AssigneeSelect.tsx","../../ee/admin/src/content-manager/pages/EditView/components/StageSelect.tsx","../../ee/admin/src/content-manager/pages/EditView/components/InformationBoxEE.tsx"],"sourcesContent":["import { Combobox, ComboboxOption, Field, Flex } from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useNotification,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\n\nimport { getDisplayName } from '../../../../../../../admin/src/content-manager/utils/users';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useAdminUsers } from '../../../../../../../admin/src/services/users';\nimport { useUpdateAssigneeMutation } from '../../../../services/reviewWorkflows';\n\nimport { ASSIGNEE_ATTRIBUTE_NAME } from './constants';\n\nconst AssigneeSelect = () => {\n const { initialData, layout, isSingleType, onChange } = useCMEditViewDataManager();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const {\n allowedActions: { canRead },\n isLoading: isLoadingPermissions,\n } = useRBAC(permissions.settings?.users);\n const { data, isLoading, isError } = useAdminUsers(\n {},\n {\n skip: isLoadingPermissions || !canRead,\n }\n );\n\n const users = data?.users || [];\n\n const currentAssignee = initialData?.[ASSIGNEE_ATTRIBUTE_NAME] ?? null;\n\n const [updateAssignee, { error, isLoading: isMutating }] = useUpdateAssigneeMutation();\n\n const handleChange = async (assigneeId: string | null) => {\n const res = await updateAssignee({\n slug: isSingleType ? 'single-types' : 'collection-types',\n model: layout!.uid,\n id: initialData.id!,\n data: {\n id: assigneeId ? parseInt(assigneeId, 10) : null,\n },\n });\n\n if ('data' in res) {\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange?.(\n {\n target: {\n type: '',\n name: ASSIGNEE_ATTRIBUTE_NAME,\n value: res.data[ASSIGNEE_ATTRIBUTE_NAME],\n },\n },\n true\n );\n\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.assignee.notification.saved',\n defaultMessage: 'Assignee updated',\n },\n });\n }\n };\n\n return (\n <Field name={ASSIGNEE_ATTRIBUTE_NAME} id={ASSIGNEE_ATTRIBUTE_NAME}>\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <Combobox\n clearLabel={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.clear',\n defaultMessage: 'Clear assignee',\n })}\n error={\n ((isError &&\n canRead &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.error',\n defaultMessage: 'An error occurred while fetching users',\n })) ||\n (error && formatAPIError(error))) ??\n undefined\n }\n disabled={!isLoadingPermissions && !isLoading && users.length === 0}\n name={ASSIGNEE_ATTRIBUTE_NAME}\n id={ASSIGNEE_ATTRIBUTE_NAME}\n value={currentAssignee ? currentAssignee.id.toString() : null}\n // @ts-expect-error - DS Combobox wants to return number or string, this will be fixed in V2.\n onChange={handleChange}\n onClear={() => handleChange(null)}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select …',\n })}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.label',\n defaultMessage: 'Assignee',\n })}\n loading={isLoading || isLoadingPermissions || isMutating}\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id.toString()}\n textValue={getDisplayName(user, formatMessage)}\n >\n {getDisplayName(user, formatMessage)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n </Flex>\n </Field>\n );\n};\n\nexport { AssigneeSelect };\n","import * as React from 'react';\n\nimport {\n SingleSelect,\n SingleSelectOption,\n Field,\n FieldError,\n FieldHint,\n Flex,\n Loader,\n Typography,\n} from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useNotification,\n} from '@strapi/helper-plugin';\nimport { Entity } from '@strapi/types';\nimport { useIntl } from 'react-intl';\n\nimport { useLicenseLimits } from '../../../../hooks/useLicenseLimits';\nimport { LimitsModal } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal';\nimport {\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n} from '../../../../pages/SettingsPage/pages/ReviewWorkflows/constants';\nimport { getStageColorByHex } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/utils/colors';\nimport { useGetStagesQuery, useUpdateStageMutation } from '../../../../services/reviewWorkflows';\n\nimport { STAGE_ATTRIBUTE_NAME } from './constants';\n\nexport const StageSelect = () => {\n const { initialData, layout: contentType, isSingleType, onChange } = useCMEditViewDataManager();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const { data, isLoading } = useGetStagesQuery(\n {\n slug: isSingleType ? 'single-types' : 'collection-types',\n model: contentType!.uid,\n id: initialData!.id!,\n },\n {\n skip: !initialData?.id || !contentType?.uid,\n }\n );\n\n const { meta, stages = [] } = data ?? {};\n\n const { getFeature } = useLicenseLimits();\n const [showLimitModal, setShowLimitModal] = React.useState<'stage' | 'workflow' | null>(null);\n\n const limits = getFeature<string>('review-workflows') ?? {};\n // it is possible to rely on initialData here, because it always will\n // be updated at the same time when modifiedData is updated, otherwise\n // the entity is flagged as modified\n const activeWorkflowStage = initialData?.[STAGE_ATTRIBUTE_NAME] ?? null;\n\n const [updateStage, { error }] = useUpdateStageMutation();\n\n const handleChange = async (stageId: Entity.ID) => {\n try {\n /**\n * If the current license has a limit:\n * check if the total count of workflows exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n\n if (\n limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10) < (meta?.workflowCount ?? 0)\n ) {\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit:\n * check if the total count of stages exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n } else if (\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10) < stages.length\n ) {\n setShowLimitModal('stage');\n } else {\n if (initialData.id && contentType) {\n const res = await updateStage({\n model: contentType.uid,\n id: initialData.id,\n slug: isSingleType ? 'single-types' : 'collection-types',\n data: { id: stageId },\n });\n\n if ('data' in res) {\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange?.(\n {\n target: {\n name: STAGE_ATTRIBUTE_NAME,\n value: res.data[STAGE_ATTRIBUTE_NAME],\n type: '',\n },\n },\n true\n );\n\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.stage.notification.saved',\n defaultMessage: 'Review stage updated',\n },\n });\n }\n }\n }\n } catch (error) {\n // react-query@v3: the error doesn't have to be handled here\n // see: https://github.com/TanStack/query/issues/121\n }\n };\n\n const { themeColorName } = getStageColorByHex(activeWorkflowStage?.color) ?? {};\n\n return (\n <>\n <Field\n hint={\n stages.length === 0 &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.stages.no-transition',\n defaultMessage: 'You don’t have the permission to update this stage.',\n })\n }\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n >\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <SingleSelect\n disabled={stages.length === 0}\n error={(error && formatAPIError(error)) || undefined}\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n value={activeWorkflowStage?.id}\n onChange={handleChange}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.stage.label',\n defaultMessage: 'Review stage',\n })}\n startIcon={\n activeWorkflowStage && (\n <Flex\n as=\"span\"\n height={2}\n background={activeWorkflowStage?.color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n marginRight=\"-3px\"\n />\n )\n }\n // @ts-expect-error – `customizeContent` is not correctly typed in the DS.\n customizeContent={() => (\n <Flex as=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis>\n {activeWorkflowStage?.name ?? ''}\n </Typography>\n {isLoading ? (\n <Loader small style={{ display: 'flex' }} data-testid=\"loader\" />\n ) : null}\n </Flex>\n )}\n >\n {stages.map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={id}\n textValue={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <FieldHint />\n <FieldError />\n </Flex>\n </Field>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'workflow'}\n onClose={() => setShowLimitModal(null)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n\n <LimitsModal.Root isOpen={showLimitModal === 'stage'} onClose={() => setShowLimitModal(null)}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </>\n );\n};\n","import { useCMEditViewDataManager } from '@strapi/helper-plugin';\n\nimport { Information } from '../../../../../../../admin/src/content-manager/pages/EditView/components/Information';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nconst InformationBoxEE = () => {\n const { isCreatingEntry, layout } = useCMEditViewDataManager();\n\n const hasReviewWorkflowsEnabled = layout?.options?.reviewWorkflows ?? false;\n\n return (\n <Information.Root>\n <Information.Title />\n {hasReviewWorkflowsEnabled && !isCreatingEntry && (\n <>\n <StageSelect />\n <AssigneeSelect />\n </>\n )}\n <Information.Body />\n </Information.Root>\n );\n};\n\nexport { InformationBoxEE };\n"],"names":["useCMEditViewDataManager","useTypedSelector","useIntl","useAPIErrorHandler","useNotification","useRBAC","useAdminUsers","ASSIGNEE_ATTRIBUTE_NAME","useUpdateAssigneeMutation","jsx","Field","Flex","Combobox","ComboboxOption","getDisplayName","useGetStagesQuery","useLicenseLimits","React","STAGE_ATTRIBUTE_NAME","useUpdateStageMutation","CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME","CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME","error","getStageColorByHex","jsxs","Fragment","SingleSelect","Typography","Loader","themeColorName","SingleSelectOption","FieldHint","FieldError","LimitsModal","Information"],"mappings":"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"}
|
|
@@ -1,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-KlaImB-Z.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-xaCXGNG_.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-Y8w2OZfF.mjs.map
|
package/dist/_chunks/{InformationBoxEE-Gdo1XAgx.mjs.map → InformationBoxEE-Y8w2OZfF.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InformationBoxEE-Gdo1XAgx.mjs","sources":["../../ee/admin/src/content-manager/pages/EditView/components/AssigneeSelect.tsx","../../ee/admin/src/content-manager/pages/EditView/components/StageSelect.tsx","../../ee/admin/src/content-manager/pages/EditView/components/InformationBoxEE.tsx"],"sourcesContent":["import { Combobox, ComboboxOption, Field, Flex } from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useNotification,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\n\nimport { getDisplayName } from '../../../../../../../admin/src/content-manager/utils/users';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useAdminUsers } from '../../../../../../../admin/src/services/users';\nimport { useUpdateAssigneeMutation } from '../../../../services/reviewWorkflows';\n\nimport { ASSIGNEE_ATTRIBUTE_NAME } from './constants';\n\nconst AssigneeSelect = () => {\n const { initialData, layout, isSingleType, onChange } = useCMEditViewDataManager();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const {\n allowedActions: { canRead },\n isLoading: isLoadingPermissions,\n } = useRBAC(permissions.settings?.users);\n const { data, isLoading, isError } = useAdminUsers(\n {},\n {\n skip: isLoadingPermissions || !canRead,\n }\n );\n\n const users = data?.users || [];\n\n const currentAssignee = initialData?.[ASSIGNEE_ATTRIBUTE_NAME] ?? null;\n\n const [updateAssignee, { error, isLoading: isMutating }] = useUpdateAssigneeMutation();\n\n const handleChange = async (assigneeId: string | null) => {\n const res = await updateAssignee({\n slug: isSingleType ? 'single-types' : 'collection-types',\n model: layout!.uid,\n id: initialData.id!,\n data: {\n id: assigneeId ? parseInt(assigneeId, 10) : null,\n },\n });\n\n if ('data' in res) {\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange?.(\n {\n target: {\n type: '',\n name: ASSIGNEE_ATTRIBUTE_NAME,\n value: res.data[ASSIGNEE_ATTRIBUTE_NAME],\n },\n },\n true\n );\n\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.assignee.notification.saved',\n defaultMessage: 'Assignee updated',\n },\n });\n }\n };\n\n return (\n <Field name={ASSIGNEE_ATTRIBUTE_NAME} id={ASSIGNEE_ATTRIBUTE_NAME}>\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <Combobox\n clearLabel={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.clear',\n defaultMessage: 'Clear assignee',\n })}\n error={\n ((isError &&\n canRead &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.error',\n defaultMessage: 'An error occurred while fetching users',\n })) ||\n (error && formatAPIError(error))) ??\n undefined\n }\n disabled={!isLoadingPermissions && !isLoading && users.length === 0}\n name={ASSIGNEE_ATTRIBUTE_NAME}\n id={ASSIGNEE_ATTRIBUTE_NAME}\n value={currentAssignee ? currentAssignee.id.toString() : null}\n // @ts-expect-error - DS Combobox wants to return number or string, this will be fixed in V2.\n onChange={handleChange}\n onClear={() => handleChange(null)}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select …',\n })}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.label',\n defaultMessage: 'Assignee',\n })}\n loading={isLoading || isLoadingPermissions || isMutating}\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id.toString()}\n textValue={getDisplayName(user, formatMessage)}\n >\n {getDisplayName(user, formatMessage)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n </Flex>\n </Field>\n );\n};\n\nexport { AssigneeSelect };\n","import * as React from 'react';\n\nimport {\n SingleSelect,\n SingleSelectOption,\n Field,\n FieldError,\n FieldHint,\n Flex,\n Loader,\n Typography,\n} from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useNotification,\n} from '@strapi/helper-plugin';\nimport { Entity } from '@strapi/types';\nimport { useIntl } from 'react-intl';\n\nimport { useLicenseLimits } from '../../../../hooks/useLicenseLimits';\nimport { LimitsModal } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal';\nimport {\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n} from '../../../../pages/SettingsPage/pages/ReviewWorkflows/constants';\nimport { getStageColorByHex } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/utils/colors';\nimport { useGetStagesQuery, useUpdateStageMutation } from '../../../../services/reviewWorkflows';\n\nimport { STAGE_ATTRIBUTE_NAME } from './constants';\n\nexport const StageSelect = () => {\n const { initialData, layout: contentType, isSingleType, onChange } = useCMEditViewDataManager();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const { data, isLoading } = useGetStagesQuery(\n {\n slug: isSingleType ? 'single-types' : 'collection-types',\n model: contentType!.uid,\n id: initialData!.id!,\n },\n {\n skip: !initialData?.id || !contentType?.uid,\n }\n );\n\n const { meta, stages = [] } = data ?? {};\n\n const { getFeature } = useLicenseLimits();\n const [showLimitModal, setShowLimitModal] = React.useState<'stage' | 'workflow' | null>(null);\n\n const limits = getFeature<string>('review-workflows') ?? {};\n // it is possible to rely on initialData here, because it always will\n // be updated at the same time when modifiedData is updated, otherwise\n // the entity is flagged as modified\n const activeWorkflowStage = initialData?.[STAGE_ATTRIBUTE_NAME] ?? null;\n\n const [updateStage, { error }] = useUpdateStageMutation();\n\n const handleChange = async (stageId: Entity.ID) => {\n try {\n /**\n * If the current license has a limit:\n * check if the total count of workflows exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n\n if (\n limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10) < (meta?.workflowCount ?? 0)\n ) {\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit:\n * check if the total count of stages exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n } else if (\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10) < stages.length\n ) {\n setShowLimitModal('stage');\n } else {\n if (initialData.id && contentType) {\n const res = await updateStage({\n model: contentType.uid,\n id: initialData.id,\n slug: isSingleType ? 'single-types' : 'collection-types',\n data: { id: stageId },\n });\n\n if ('data' in res) {\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange?.(\n {\n target: {\n name: STAGE_ATTRIBUTE_NAME,\n value: res.data[STAGE_ATTRIBUTE_NAME],\n type: '',\n },\n },\n true\n );\n\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.stage.notification.saved',\n defaultMessage: 'Review stage updated',\n },\n });\n }\n }\n }\n } catch (error) {\n // react-query@v3: the error doesn't have to be handled here\n // see: https://github.com/TanStack/query/issues/121\n }\n };\n\n const { themeColorName } = getStageColorByHex(activeWorkflowStage?.color) ?? {};\n\n return (\n <>\n <Field\n hint={\n stages.length === 0 &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.stages.no-transition',\n defaultMessage: 'You don’t have the permission to update this stage.',\n })\n }\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n >\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <SingleSelect\n disabled={stages.length === 0}\n error={(error && formatAPIError(error)) || undefined}\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n value={activeWorkflowStage?.id}\n onChange={handleChange}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.stage.label',\n defaultMessage: 'Review stage',\n })}\n startIcon={\n activeWorkflowStage && (\n <Flex\n as=\"span\"\n height={2}\n background={activeWorkflowStage?.color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n marginRight=\"-3px\"\n />\n )\n }\n // @ts-expect-error – `customizeContent` is not correctly typed in the DS.\n customizeContent={() => (\n <Flex as=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis>\n {activeWorkflowStage?.name ?? ''}\n </Typography>\n {isLoading ? (\n <Loader small style={{ display: 'flex' }} data-testid=\"loader\" />\n ) : null}\n </Flex>\n )}\n >\n {stages.map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={id}\n textValue={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <FieldHint />\n <FieldError />\n </Flex>\n </Field>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'workflow'}\n onClose={() => setShowLimitModal(null)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n\n <LimitsModal.Root isOpen={showLimitModal === 'stage'} onClose={() => setShowLimitModal(null)}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </>\n );\n};\n","import { useCMEditViewDataManager } from '@strapi/helper-plugin';\n\nimport { Information } from '../../../../../../../admin/src/content-manager/pages/EditView/components/Information';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nconst InformationBoxEE = () => {\n const { isCreatingEntry, layout } = useCMEditViewDataManager();\n\n const hasReviewWorkflowsEnabled = layout?.options?.reviewWorkflows ?? false;\n\n return (\n <Information.Root>\n <Information.Title />\n {hasReviewWorkflowsEnabled && !isCreatingEntry && (\n <>\n <StageSelect />\n <AssigneeSelect />\n </>\n )}\n <Information.Body />\n </Information.Root>\n );\n};\n\nexport { InformationBoxEE };\n"],"names":["error","themeColorName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InformationBoxEE-Y8w2OZfF.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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"}
|
|
@@ -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-WZhpPnNK.js");
|
|
11
|
+
const index = require("./index-nzsPp67p.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-6VEamMx-.js.map
|
package/dist/_chunks/{InstalledPluginsPage-CqVr2dr6.js.map → InstalledPluginsPage-6VEamMx-.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstalledPluginsPage-
|
|
1
|
+
{"version":3,"file":"InstalledPluginsPage-6VEamMx-.js","sources":["../../admin/src/pages/InstalledPluginsPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n ContentLayout,\n HeaderLayout,\n Layout,\n Main,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n useNotifyAT,\n} from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n LoadingIndicatorPage,\n useAPIErrorHandler,\n useFocusWhenNavigate,\n useNotification,\n} from '@strapi/helper-plugin';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { selectAdminPermissions } from '../selectors';\nimport { useGetPluginsQuery } from '../services/admin';\n\nconst InstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const { notifyStatus } = useNotifyAT();\n const toggleNotification = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n useFocusWhenNavigate();\n\n const { isLoading, data, error } = useGetPluginsQuery();\n\n React.useEffect(() => {\n if (data) {\n notifyStatus(\n formatMessage(\n {\n id: 'app.utils.notify.data-loaded',\n defaultMessage: 'The {target} has loaded',\n },\n {\n target: formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n }),\n }\n )\n );\n }\n\n if (error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n }\n }, [data, error, formatAPIError, formatMessage, notifyStatus, toggleNotification]);\n\n if (isLoading) {\n return (\n <Layout>\n <Main aria-busy>\n <LoadingIndicatorPage />\n </Main>\n </Layout>\n );\n }\n\n return (\n <Layout>\n <Main>\n <HeaderLayout\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n subtitle={formatMessage({\n id: 'app.components.ListPluginsPage.description',\n defaultMessage: 'List of the installed plugins in the project.',\n })}\n />\n <ContentLayout>\n <Table colCount={2} rowCount={data?.plugins?.length ?? 0 + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'description',\n })}\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {data?.plugins.map(({ name, displayName, description }) => {\n return (\n <Tr key={name}>\n <Td>\n <Typography textColor=\"neutral800\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: `global.plugins.${name}`,\n defaultMessage: displayName,\n })}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: `global.plugins.${name}.description`,\n defaultMessage: description,\n })}\n </Typography>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n </ContentLayout>\n </Main>\n </Layout>\n );\n};\n\nconst ProtectedInstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <CheckPagePermissions permissions={permissions.marketplace?.main}>\n <Helmet\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n />\n <InstalledPluginsPage />\n </CheckPagePermissions>\n );\n};\n\nexport { ProtectedInstalledPluginsPage, InstalledPluginsPage };\n"],"names":["useIntl","useNotifyAT","useNotification","useAPIErrorHandler","useFocusWhenNavigate","useGetPluginsQuery","React","jsx","Layout","Main","LoadingIndicatorPage","jsxs","HeaderLayout","ContentLayout","Table","Thead","Tr","Th","Typography","Tbody","Td","useSelector","selectAdminPermissions","CheckPagePermissions","Helmet"],"mappings":"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"}
|
package/dist/_chunks/{InstalledPluginsPage-bwx1FfBD.mjs → InstalledPluginsPage-FLV-i16T.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-9hmvxLus.mjs";
|
|
9
|
+
import { q as useGetPluginsQuery } from "./index-KlaImB-Z.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-FLV-i16T.mjs.map
|
package/dist/_chunks/{InstalledPluginsPage-bwx1FfBD.mjs.map → InstalledPluginsPage-FLV-i16T.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstalledPluginsPage-
|
|
1
|
+
{"version":3,"file":"InstalledPluginsPage-FLV-i16T.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-KlaImB-Z.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-BbFzmdA3.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout-
|
|
1
|
+
{"version":3,"file":"Layout-BbFzmdA3.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-nzsPp67p.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-yDFhMeG0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout-
|
|
1
|
+
{"version":3,"file":"Layout-yDFhMeG0.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;;;;;"}
|
|
@@ -7,14 +7,14 @@ const helperPlugin = require("@strapi/helper-plugin");
|
|
|
7
7
|
const qs = require("qs");
|
|
8
8
|
const reactIntl = require("react-intl");
|
|
9
9
|
const reactRouterDom = require("react-router-dom");
|
|
10
|
-
const index = require("./index-
|
|
10
|
+
const index = require("./index-nzsPp67p.js");
|
|
11
11
|
const Filters = require("./Filters-Gdnt7qft.js");
|
|
12
12
|
const Icons = require("@strapi/icons");
|
|
13
13
|
const v2 = require("@strapi/design-system/v2");
|
|
14
14
|
const formik = require("formik");
|
|
15
15
|
const yup = require("yup");
|
|
16
|
-
const SelectRoles = require("./SelectRoles-
|
|
17
|
-
const AuthenticatedApp = require("./AuthenticatedApp-
|
|
16
|
+
const SelectRoles = require("./SelectRoles-zOmfqKL0.js");
|
|
17
|
+
const AuthenticatedApp = require("./AuthenticatedApp-WZhpPnNK.js");
|
|
18
18
|
require("react-dom/client");
|
|
19
19
|
require("invariant");
|
|
20
20
|
require("lodash/isFunction");
|
|
@@ -74,7 +74,7 @@ require("lodash/uniqBy");
|
|
|
74
74
|
require("lodash/unset");
|
|
75
75
|
require("lodash/isArray");
|
|
76
76
|
require("date-fns/parseISO");
|
|
77
|
-
require("./useAdminRoles-
|
|
77
|
+
require("./useAdminRoles-GDWeBZj1.js");
|
|
78
78
|
require("semver/functions/lt");
|
|
79
79
|
require("semver/functions/valid");
|
|
80
80
|
function _interopNamespace(e) {
|
|
@@ -140,7 +140,7 @@ const ModalForm = ({ onToggle }) => {
|
|
|
140
140
|
);
|
|
141
141
|
const MagicLink = index.useEnterprise(
|
|
142
142
|
SelectRoles.MagicLinkCE,
|
|
143
|
-
async () => (await Promise.resolve().then(() => require("./MagicLinkEE-
|
|
143
|
+
async () => (await Promise.resolve().then(() => require("./MagicLinkEE-8eVOHtWs.js"))).MagicLinkEE
|
|
144
144
|
);
|
|
145
145
|
const [createUser] = index.useCreateUserMutation();
|
|
146
146
|
const headerTitle = formatMessage({
|
|
@@ -455,7 +455,7 @@ const ListPageCE = () => {
|
|
|
455
455
|
const { pagination, users } = data ?? {};
|
|
456
456
|
const CreateAction = index.useEnterprise(
|
|
457
457
|
CreateActionCE,
|
|
458
|
-
async () => (await Promise.resolve().then(() => require("./CreateActionEE-
|
|
458
|
+
async () => (await Promise.resolve().then(() => require("./CreateActionEE-jpIeNaRY.js"))).CreateActionEE
|
|
459
459
|
);
|
|
460
460
|
const headers = TABLE_HEADERS.map((header) => ({
|
|
461
461
|
...header,
|
|
@@ -662,7 +662,7 @@ const ListPage = () => {
|
|
|
662
662
|
ListPageCE,
|
|
663
663
|
async () => (
|
|
664
664
|
// eslint-disable-next-line import/no-cycle
|
|
665
|
-
(await Promise.resolve().then(() => require("./ListPage-
|
|
665
|
+
(await Promise.resolve().then(() => require("./ListPage-QhtuDpJA.js"))).UserListPageEE
|
|
666
666
|
)
|
|
667
667
|
);
|
|
668
668
|
if (!UsersListPage) {
|
|
@@ -677,4 +677,4 @@ const ProtectedListPage = () => {
|
|
|
677
677
|
exports.ListPage = ListPage;
|
|
678
678
|
exports.ListPageCE = ListPageCE;
|
|
679
679
|
exports.ProtectedListPage = ProtectedListPage;
|
|
680
|
-
//# sourceMappingURL=ListPage-
|
|
680
|
+
//# sourceMappingURL=ListPage-3_Rmx0WL.js.map
|