@strapi/admin 5.0.0-alpha.0 → 5.0.0-alpha.2
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-YaA1q_2d.js → AdminSeatInfo-JtsYpBbO.js} +3 -3
- package/dist/_chunks/{AdminSeatInfo-YaA1q_2d.js.map → AdminSeatInfo-JtsYpBbO.js.map} +1 -1
- package/dist/_chunks/{AdminSeatInfo-l78lfIiY.mjs → AdminSeatInfo-ZZsKxX-S.mjs} +3 -3
- package/dist/_chunks/{AdminSeatInfo-l78lfIiY.mjs.map → AdminSeatInfo-ZZsKxX-S.mjs.map} +1 -1
- package/dist/_chunks/{ApplicationInfoPage-Zn5JU2zd.mjs → ApplicationInfoPage-NhhWzHF1.mjs} +7 -8
- package/dist/_chunks/ApplicationInfoPage-NhhWzHF1.mjs.map +1 -0
- package/dist/_chunks/{ApplicationInfoPage-PHLA1Ysy.js → ApplicationInfoPage-xj1SCaSR.js} +5 -6
- package/dist/_chunks/ApplicationInfoPage-xj1SCaSR.js.map +1 -0
- package/dist/_chunks/{AuthResponse-1aYRF7_3.mjs → AuthResponse-jIqWZLMh.mjs} +2 -2
- package/dist/_chunks/{AuthResponse-1aYRF7_3.mjs.map → AuthResponse-jIqWZLMh.mjs.map} +1 -1
- package/dist/_chunks/{AuthResponse-7NG3smr6.js → AuthResponse-maUe9KWA.js} +2 -2
- package/dist/_chunks/{AuthResponse-7NG3smr6.js.map → AuthResponse-maUe9KWA.js.map} +1 -1
- package/dist/_chunks/{AuthenticatedLayout-a7KNOdln.mjs → AuthenticatedLayout-Ffy6uoNF.mjs} +22 -15
- package/dist/_chunks/{AuthenticatedLayout-a7KNOdln.mjs.map → AuthenticatedLayout-Ffy6uoNF.mjs.map} +1 -1
- package/dist/_chunks/{AuthenticatedLayout-5r4rzKeb.js → AuthenticatedLayout-kxORHKAl.js} +22 -15
- package/dist/_chunks/{AuthenticatedLayout-5r4rzKeb.js.map → AuthenticatedLayout-kxORHKAl.js.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-R3qV_iCR.js → ComponentConfigurationPage-JMCc1P7r.js} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-R3qV_iCR.js.map → ComponentConfigurationPage-JMCc1P7r.js.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-pb8HhFAg.mjs → ComponentConfigurationPage-oiBCHXQO.mjs} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-pb8HhFAg.mjs.map → ComponentConfigurationPage-oiBCHXQO.mjs.map} +1 -1
- package/dist/_chunks/{CreateActionEE-a2zWCIpQ.js → CreateActionEE-ThopeFZP.js} +2 -2
- package/dist/_chunks/{CreateActionEE-a2zWCIpQ.js.map → CreateActionEE-ThopeFZP.js.map} +1 -1
- package/dist/_chunks/{CreateActionEE-hb4Pr-SD.mjs → CreateActionEE-VMKfXSGW.mjs} +2 -2
- package/dist/_chunks/{CreateActionEE-hb4Pr-SD.mjs.map → CreateActionEE-VMKfXSGW.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-Bil0egZ1.mjs → CreatePage-6AeIanOF.mjs} +7 -7
- package/dist/_chunks/{CreatePage-Bil0egZ1.mjs.map → CreatePage-6AeIanOF.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-h5L6QP47.mjs → CreatePage-Gh5xb10f.mjs} +3 -3
- package/dist/_chunks/{CreatePage-h5L6QP47.mjs.map → CreatePage-Gh5xb10f.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-MAI6XyNg.js → CreatePage-JIHfFWS7.js} +3 -3
- package/dist/_chunks/{CreatePage-MAI6XyNg.js.map → CreatePage-JIHfFWS7.js.map} +1 -1
- package/dist/_chunks/{CreatePage-nl6zKkKT.js → CreatePage-WWKaoNH7.js} +7 -7
- package/dist/_chunks/{CreatePage-nl6zKkKT.js.map → CreatePage-WWKaoNH7.js.map} +1 -1
- package/dist/_chunks/{CreatePage-UC4uBFUR.mjs → CreatePage-hxFhldpL.mjs} +3 -3
- package/dist/_chunks/{CreatePage-UC4uBFUR.mjs.map → CreatePage-hxFhldpL.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-NSKUL8l4.js → CreatePage-yjmy0z57.js} +3 -3
- package/dist/_chunks/{CreatePage-NSKUL8l4.js.map → CreatePage-yjmy0z57.js.map} +1 -1
- package/dist/_chunks/{CreateView-kc0iM0LS.js → CreateView-J48m0lSL.js} +3 -3
- package/dist/_chunks/{CreateView-kc0iM0LS.js.map → CreateView-J48m0lSL.js.map} +1 -1
- package/dist/_chunks/{CreateView-3DMhoCPN.js → CreateView-Vqd1PVrJ.js} +3 -3
- package/dist/_chunks/{CreateView-3DMhoCPN.js.map → CreateView-Vqd1PVrJ.js.map} +1 -1
- package/dist/_chunks/{CreateView-RVrFxAFt.mjs → CreateView-oBp0NzJx.mjs} +3 -3
- package/dist/_chunks/{CreateView-RVrFxAFt.mjs.map → CreateView-oBp0NzJx.mjs.map} +1 -1
- package/dist/_chunks/{CreateView-DuSt3AcE.mjs → CreateView-qzpeDBvR.mjs} +3 -3
- package/dist/_chunks/{CreateView-DuSt3AcE.mjs.map → CreateView-qzpeDBvR.mjs.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-y_TvxjZM.mjs → EditConfigurationPage-MAUfMzG6.mjs} +3 -3
- package/dist/_chunks/{EditConfigurationPage-y_TvxjZM.mjs.map → EditConfigurationPage-MAUfMzG6.mjs.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-OpEZOvAG.js → EditConfigurationPage-PKHUVKGD.js} +3 -3
- package/dist/_chunks/{EditConfigurationPage-OpEZOvAG.js.map → EditConfigurationPage-PKHUVKGD.js.map} +1 -1
- package/dist/_chunks/{EditPage-9aK8IFXY.js → EditPage-7bVupT7n.js} +8 -8
- package/dist/_chunks/{EditPage-9aK8IFXY.js.map → EditPage-7bVupT7n.js.map} +1 -1
- package/dist/_chunks/{EditPage-VoRR5DCQ.mjs → EditPage-DQUZsl8H.mjs} +9 -10
- package/dist/_chunks/EditPage-DQUZsl8H.mjs.map +1 -0
- package/dist/_chunks/{EditPage-PpBP7TBo.js → EditPage-Hxt5uBXk.js} +4 -4
- package/dist/_chunks/{EditPage-PpBP7TBo.js.map → EditPage-Hxt5uBXk.js.map} +1 -1
- package/dist/_chunks/{EditPage-fDVAYmuS.mjs → EditPage-Izmz7bdh.mjs} +8 -8
- package/dist/_chunks/{EditPage-fDVAYmuS.mjs.map → EditPage-Izmz7bdh.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-A6olBfVm.js → EditPage-QA0-S3kV.js} +7 -8
- package/dist/_chunks/EditPage-QA0-S3kV.js.map +1 -0
- package/dist/_chunks/{EditPage-_swY0Hy-.mjs → EditPage-THSaM4-0.mjs} +4 -4
- package/dist/_chunks/{EditPage-_swY0Hy-.mjs.map → EditPage-THSaM4-0.mjs.map} +1 -1
- package/dist/_chunks/{EditPage-QoDSqYYq.js → EditPage-vUQIn3OJ.js} +5 -5
- package/dist/_chunks/{EditPage-QoDSqYYq.js.map → EditPage-vUQIn3OJ.js.map} +1 -1
- package/dist/_chunks/{EditPage-wfPrhkA7.mjs → EditPage-zpnfFOjc.mjs} +5 -5
- package/dist/_chunks/{EditPage-wfPrhkA7.mjs.map → EditPage-zpnfFOjc.mjs.map} +1 -1
- package/dist/_chunks/{EditView-C_ynfmtW.js → EditView-63ynF0vf.js} +5 -6
- package/dist/_chunks/EditView-63ynF0vf.js.map +1 -0
- package/dist/_chunks/{EditView-EuUw_2zc.mjs → EditView-cfOpTlAi.mjs} +7 -8
- package/dist/_chunks/EditView-cfOpTlAi.mjs.map +1 -0
- package/dist/_chunks/{EditViewPage-Z_e1dpbU.js → EditViewPage--SujdXIG.js} +5 -6
- package/dist/_chunks/EditViewPage--SujdXIG.js.map +1 -0
- package/dist/_chunks/{EditViewPage-xYzUSAwS.mjs → EditViewPage-JFzIJClS.mjs} +4 -5
- package/dist/_chunks/EditViewPage-JFzIJClS.mjs.map +1 -0
- package/dist/_chunks/{EditViewPage-XtJmgPi5.js → EditViewPage-kkCJlZyh.js} +6 -7
- package/dist/_chunks/EditViewPage-kkCJlZyh.js.map +1 -0
- package/dist/_chunks/{EditViewPage-8uPO5GWR.mjs → EditViewPage-vz8UJ4U_.mjs} +7 -8
- package/dist/_chunks/EditViewPage-vz8UJ4U_.mjs.map +1 -0
- package/dist/_chunks/{EventsTable-hI0aV29K.js → EventsTable-1X4uyY8J.js} +2 -2
- package/dist/_chunks/{EventsTable-hI0aV29K.js.map → EventsTable-1X4uyY8J.js.map} +1 -1
- package/dist/_chunks/{EventsTable-WP7PUujH.mjs → EventsTable-dN2MNNFu.mjs} +2 -2
- package/dist/_chunks/{EventsTable-WP7PUujH.mjs.map → EventsTable-dN2MNNFu.mjs.map} +1 -1
- package/dist/_chunks/{FieldTypeIcon-Is5Qjngf.mjs → FieldTypeIcon-4-UZzZla.mjs} +2 -2
- package/dist/_chunks/{FieldTypeIcon-Is5Qjngf.mjs.map → FieldTypeIcon-4-UZzZla.mjs.map} +1 -1
- package/dist/_chunks/{FieldTypeIcon-OeDSkshr.js → FieldTypeIcon-wxfhExw2.js} +2 -2
- package/dist/_chunks/{FieldTypeIcon-OeDSkshr.js.map → FieldTypeIcon-wxfhExw2.js.map} +1 -1
- package/dist/_chunks/{Filters-tMd2Q5jg.mjs → Filters--lh-i85A.mjs} +2 -3
- package/dist/_chunks/Filters--lh-i85A.mjs.map +1 -0
- package/dist/_chunks/{Filters-xVuf1kg6.js → Filters-V0VODaNk.js} +4 -5
- package/dist/_chunks/Filters-V0VODaNk.js.map +1 -0
- package/dist/_chunks/{Form-EiK_H9BI.js → Form-6QJjWK34.js} +3 -3
- package/dist/_chunks/{Form-EiK_H9BI.js.map → Form-6QJjWK34.js.map} +1 -1
- package/dist/_chunks/{Form-sZKjSFQC.mjs → Form-HXiNxSZi.mjs} +3 -3
- package/dist/_chunks/{Form-sZKjSFQC.mjs.map → Form-HXiNxSZi.mjs.map} +1 -1
- package/dist/_chunks/{History-1AF4LH3c.mjs → History-CRGqDfHr.mjs} +4 -5
- package/dist/_chunks/History-CRGqDfHr.mjs.map +1 -0
- package/dist/_chunks/{History-V_ik1IL0.js → History-R_4lEy01.js} +9 -10
- package/dist/_chunks/History-R_4lEy01.js.map +1 -0
- package/dist/_chunks/{HomePage-7Xva17wM.mjs → HomePage-GJRtRqAj.mjs} +3 -3
- package/dist/_chunks/{HomePage-7Xva17wM.mjs.map → HomePage-GJRtRqAj.mjs.map} +1 -1
- package/dist/_chunks/{HomePage-C6Ivli1q.mjs → HomePage-Si17pjt5.mjs} +4 -4
- package/dist/_chunks/{HomePage-C6Ivli1q.mjs.map → HomePage-Si17pjt5.mjs.map} +1 -1
- package/dist/_chunks/{HomePage-yrIp1-eG.js → HomePage-oiaJD-JE.js} +4 -4
- package/dist/_chunks/{HomePage-yrIp1-eG.js.map → HomePage-oiaJD-JE.js.map} +1 -1
- package/dist/_chunks/{HomePage-zL7HPV7A.js → HomePage-rEW7Jpww.js} +3 -3
- package/dist/_chunks/{HomePage-zL7HPV7A.js.map → HomePage-rEW7Jpww.js.map} +1 -1
- package/dist/_chunks/{InputRenderer-iP1kRki4.mjs → InputRenderer-JfwBoJk0.mjs} +23 -8
- package/dist/_chunks/InputRenderer-JfwBoJk0.mjs.map +1 -0
- package/dist/_chunks/{InputRenderer-RMnWnPI4.js → InputRenderer-hWILsDgK.js} +25 -10
- package/dist/_chunks/InputRenderer-hWILsDgK.js.map +1 -0
- package/dist/_chunks/{InstalledPluginsPage-7m_FfOGl.mjs → InstalledPluginsPage-XqzfeZgq.mjs} +5 -7
- package/dist/_chunks/InstalledPluginsPage-XqzfeZgq.mjs.map +1 -0
- package/dist/_chunks/{InstalledPluginsPage-PrMyistN.js → InstalledPluginsPage-ao6yYe7N.js} +4 -6
- package/dist/_chunks/InstalledPluginsPage-ao6yYe7N.js.map +1 -0
- package/dist/_chunks/{Layout-tDfvrUZo.mjs → Layout-2dctwEHz.mjs} +2 -2
- package/dist/_chunks/{Layout-tDfvrUZo.mjs.map → Layout-2dctwEHz.mjs.map} +1 -1
- package/dist/_chunks/{Layout-EDS3Yv8X.mjs → Layout-3sYAgWn4.mjs} +4 -4
- package/dist/_chunks/{Layout-EDS3Yv8X.mjs.map → Layout-3sYAgWn4.mjs.map} +1 -1
- package/dist/_chunks/{Layout-DC68R0Fa.js → Layout-4vMUN0Ez.js} +2 -2
- package/dist/_chunks/{Layout-DC68R0Fa.js.map → Layout-4vMUN0Ez.js.map} +1 -1
- package/dist/_chunks/{Layout-9Li8e-qi.js → Layout-kbqdKkiF.js} +4 -4
- package/dist/_chunks/{Layout-9Li8e-qi.js.map → Layout-kbqdKkiF.js.map} +1 -1
- package/dist/_chunks/{ListConfigurationPage-Gl8AA-2t.js → ListConfigurationPage-BXuW_9Wt.js} +3 -3
- package/dist/_chunks/{ListConfigurationPage-Gl8AA-2t.js.map → ListConfigurationPage-BXuW_9Wt.js.map} +1 -1
- package/dist/_chunks/{ListConfigurationPage-7O7HiJjG.mjs → ListConfigurationPage-lPILAPkW.mjs} +3 -3
- package/dist/_chunks/{ListConfigurationPage-7O7HiJjG.mjs.map → ListConfigurationPage-lPILAPkW.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-_i7RNkUF.js → ListPage-02WM7Pt9.js} +6 -7
- package/dist/_chunks/ListPage-02WM7Pt9.js.map +1 -0
- package/dist/_chunks/{ListPage-em8KMoKx.js → ListPage-7TAp-q4k.js} +8 -9
- package/dist/_chunks/ListPage-7TAp-q4k.js.map +1 -0
- package/dist/_chunks/{ListPage-RlY1nro4.mjs → ListPage-EdOy02-v.mjs} +6 -7
- package/dist/_chunks/ListPage-EdOy02-v.mjs.map +1 -0
- package/dist/_chunks/{ListPage-1q5Fi4W9.mjs → ListPage-OaldiDCh.mjs} +50 -51
- package/dist/_chunks/ListPage-OaldiDCh.mjs.map +1 -0
- package/dist/_chunks/{ListPage-cBvO_gYR.mjs → ListPage-R8Qs69v7.mjs} +3 -3
- package/dist/_chunks/{ListPage-cBvO_gYR.mjs.map → ListPage-R8Qs69v7.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-DZBRIMkE.mjs → ListPage-SCTNGhhO.mjs} +6 -7
- package/dist/_chunks/ListPage-SCTNGhhO.mjs.map +1 -0
- package/dist/_chunks/{ListPage-God7L19W.mjs → ListPage-YZ45BiMe.mjs} +10 -11
- package/dist/_chunks/ListPage-YZ45BiMe.mjs.map +1 -0
- package/dist/_chunks/{ListPage-skKuhRrN.js → ListPage-ZWUo77nT.js} +49 -49
- package/dist/_chunks/ListPage-ZWUo77nT.js.map +1 -0
- package/dist/_chunks/{ListPage-0eDZZ7Zw.js → ListPage-bE4a6YkV.js} +3 -3
- package/dist/_chunks/{ListPage-0eDZZ7Zw.js.map → ListPage-bE4a6YkV.js.map} +1 -1
- package/dist/_chunks/{ListPage-Ky2tG2bd.mjs → ListPage-p17R2Gql.mjs} +10 -14
- package/dist/_chunks/ListPage-p17R2Gql.mjs.map +1 -0
- package/dist/_chunks/{ListPage-NdzVJ_Ed.js → ListPage-rCVvOLlD.js} +9 -13
- package/dist/_chunks/ListPage-rCVvOLlD.js.map +1 -0
- package/dist/_chunks/{ListPage-aElBcYPH.js → ListPage-u6uVacPz.js} +4 -5
- package/dist/_chunks/ListPage-u6uVacPz.js.map +1 -0
- package/dist/_chunks/{ListView-hm-mjZ8N.mjs → ListView--O7X6dMw.mjs} +7 -8
- package/dist/_chunks/ListView--O7X6dMw.mjs.map +1 -0
- package/dist/_chunks/{ListView--mxDKrnG.js → ListView-SsUn5vcn.js} +5 -6
- package/dist/_chunks/ListView-SsUn5vcn.js.map +1 -0
- package/dist/_chunks/{ListView-vP-PjR4p.js → ListView-ZkjwQBXQ.js} +5 -6
- package/dist/_chunks/ListView-ZkjwQBXQ.js.map +1 -0
- package/dist/_chunks/{ListView-QEgFV6dm.mjs → ListView-oP-C8SCR.mjs} +7 -8
- package/dist/_chunks/ListView-oP-C8SCR.mjs.map +1 -0
- package/dist/_chunks/{ListViewPage-xOVa04T_.mjs → ListViewPage-1VNVP9Rw.mjs} +10 -11
- package/dist/_chunks/ListViewPage-1VNVP9Rw.mjs.map +1 -0
- package/dist/_chunks/{ListViewPage-NiwpwxBR.js → ListViewPage-idgrhBAP.js} +14 -15
- package/dist/_chunks/ListViewPage-idgrhBAP.js.map +1 -0
- package/dist/_chunks/{Login-0FtP5Ck_.js → Login-4Igrm6CC.js} +2 -2
- package/dist/_chunks/{Login-0FtP5Ck_.js.map → Login-4Igrm6CC.js.map} +1 -1
- package/dist/_chunks/{Login-IFCsIrab.mjs → Login-B55AM-7k.mjs} +2 -2
- package/dist/_chunks/{Login-IFCsIrab.mjs.map → Login-B55AM-7k.mjs.map} +1 -1
- package/dist/_chunks/{MagicLinkEE-eaU4kQ6o.mjs → MagicLinkEE-Zy_9ZZ7y.mjs} +3 -3
- package/dist/_chunks/{MagicLinkEE-eaU4kQ6o.mjs.map → MagicLinkEE-Zy_9ZZ7y.mjs.map} +1 -1
- package/dist/_chunks/{MagicLinkEE-S7dXBaH0.js → MagicLinkEE-v7xTuVEA.js} +3 -3
- package/dist/_chunks/{MagicLinkEE-S7dXBaH0.js.map → MagicLinkEE-v7xTuVEA.js.map} +1 -1
- package/dist/_chunks/{MarketplacePage-f0ZrC_p8.mjs → MarketplacePage-UGys0LVN.mjs} +3 -5
- package/dist/_chunks/MarketplacePage-UGys0LVN.mjs.map +1 -0
- package/dist/_chunks/{MarketplacePage-zSQ_GRnZ.js → MarketplacePage-tWKM5xe8.js} +5 -7
- package/dist/_chunks/MarketplacePage-tWKM5xe8.js.map +1 -0
- package/dist/_chunks/{NoContentTypePage-ER4yVLjV.mjs → NoContentTypePage-BaaTD5uB.mjs} +4 -6
- package/dist/_chunks/NoContentTypePage-BaaTD5uB.mjs.map +1 -0
- package/dist/_chunks/{NoContentTypePage-_XU8B8oQ.js → NoContentTypePage-Lbuve_Uu.js} +3 -5
- package/dist/_chunks/NoContentTypePage-Lbuve_Uu.js.map +1 -0
- package/dist/_chunks/{NoPermissionsPage-DcFRsCHz.mjs → NoPermissionsPage--Oa97N7k.mjs} +5 -7
- package/dist/_chunks/NoPermissionsPage--Oa97N7k.mjs.map +1 -0
- package/dist/_chunks/{NoPermissionsPage-5A4Hwjad.js → NoPermissionsPage-q44k5VFX.js} +3 -5
- package/dist/_chunks/NoPermissionsPage-q44k5VFX.js.map +1 -0
- package/dist/_chunks/{Permissions--rdF1ZKQ.js → Permissions-CFuwI0Ni.js} +2 -2
- package/dist/_chunks/{Permissions--rdF1ZKQ.js.map → Permissions-CFuwI0Ni.js.map} +1 -1
- package/dist/_chunks/{Permissions-Ke5fqSQ2.mjs → Permissions-NbmBkSB4.mjs} +2 -2
- package/dist/_chunks/{Permissions-Ke5fqSQ2.mjs.map → Permissions-NbmBkSB4.mjs.map} +1 -1
- package/dist/_chunks/{PrivateRoute-dWrZb-9J.mjs → PrivateRoute-YN_98pM_.mjs} +2 -2
- package/dist/_chunks/{PrivateRoute-dWrZb-9J.mjs.map → PrivateRoute-YN_98pM_.mjs.map} +1 -1
- package/dist/_chunks/{PrivateRoute-GLTcdbu8.js → PrivateRoute-avlq1MEy.js} +2 -2
- package/dist/_chunks/{PrivateRoute-GLTcdbu8.js.map → PrivateRoute-avlq1MEy.js.map} +1 -1
- package/dist/_chunks/{ProfilePage-EEcNKnGH.js → ProfilePage-brPbqDP1.js} +4 -6
- package/dist/_chunks/ProfilePage-brPbqDP1.js.map +1 -0
- package/dist/_chunks/{ProfilePage-bE7txhNu.mjs → ProfilePage-eCIvxxJY.mjs} +5 -7
- package/dist/_chunks/ProfilePage-eCIvxxJY.mjs.map +1 -0
- package/dist/_chunks/{ReviewWorkflowsColumn-hJRkAN5a.js → ReviewWorkflowsColumn-HfjzpLFU.js} +2 -2
- package/dist/_chunks/{ReviewWorkflowsColumn-hJRkAN5a.js.map → ReviewWorkflowsColumn-HfjzpLFU.js.map} +1 -1
- package/dist/_chunks/{ReviewWorkflowsColumn-FDxVKdto.mjs → ReviewWorkflowsColumn-sPZxvFUd.mjs} +2 -2
- package/dist/_chunks/{ReviewWorkflowsColumn-FDxVKdto.mjs.map → ReviewWorkflowsColumn-sPZxvFUd.mjs.map} +1 -1
- package/dist/_chunks/{SelectRoles-XK5HcBdP.js → SelectRoles-BmNzL0q5.js} +4 -5
- package/dist/_chunks/SelectRoles-BmNzL0q5.js.map +1 -0
- package/dist/_chunks/{SelectRoles-Iih1yeTu.mjs → SelectRoles-jvH4WUf6.mjs} +3 -4
- package/dist/_chunks/SelectRoles-jvH4WUf6.mjs.map +1 -0
- package/dist/_chunks/{SingleSignOnPage-uURRsIxP.js → SingleSignOnPage-ZyiHtZxJ.js} +4 -5
- package/dist/_chunks/SingleSignOnPage-ZyiHtZxJ.js.map +1 -0
- package/dist/_chunks/{SingleSignOnPage-vOeDxBfa.mjs → SingleSignOnPage-aMd3wcAh.mjs} +6 -7
- package/dist/_chunks/SingleSignOnPage-aMd3wcAh.mjs.map +1 -0
- package/dist/_chunks/{Table-k6gVR2KH.mjs → Table-591I_RMU.mjs} +2 -3
- package/dist/_chunks/Table-591I_RMU.mjs.map +1 -0
- package/dist/_chunks/{Table-VsNr4Mha.js → Table-aUfykqgd.js} +3 -4
- package/dist/_chunks/Table-aUfykqgd.js.map +1 -0
- package/dist/_chunks/{TokenTypeSelect-Z9iyoteG.mjs → TokenTypeSelect-vIBdBE9t.mjs} +2 -3
- package/dist/_chunks/TokenTypeSelect-vIBdBE9t.mjs.map +1 -0
- package/dist/_chunks/{TokenTypeSelect-QN_bDdss.js → TokenTypeSelect-vp-54yBv.js} +3 -4
- package/dist/_chunks/TokenTypeSelect-vp-54yBv.js.map +1 -0
- package/dist/_chunks/{UseCasePage-xAlTWOcX.js → UseCasePage-0_alQEc9.js} +3 -3
- package/dist/_chunks/{UseCasePage-xAlTWOcX.js.map → UseCasePage-0_alQEc9.js.map} +1 -1
- package/dist/_chunks/{UseCasePage-qJwKBweD.mjs → UseCasePage-Cxu2FeWo.mjs} +3 -3
- package/dist/_chunks/{UseCasePage-qJwKBweD.mjs.map → UseCasePage-Cxu2FeWo.mjs.map} +1 -1
- package/dist/_chunks/{apiTokens-b3w4qO8B.js → apiTokens-IG3rF-G2.js} +2 -2
- package/dist/_chunks/{apiTokens-b3w4qO8B.js.map → apiTokens-IG3rF-G2.js.map} +1 -1
- package/dist/_chunks/{apiTokens-dGGyJI-w.mjs → apiTokens-wLmJ3Liv.mjs} +2 -2
- package/dist/_chunks/{apiTokens-dGGyJI-w.mjs.map → apiTokens-wLmJ3Liv.mjs.map} +1 -1
- package/dist/_chunks/{constants-WjN6I3sL.mjs → constants-0OGkpIzK.mjs} +3 -3
- package/dist/_chunks/{constants-WjN6I3sL.mjs.map → constants-0OGkpIzK.mjs.map} +1 -1
- package/dist/_chunks/{constants-PHXhIuUs.js → constants-7yqqXq3r.js} +2 -2
- package/dist/_chunks/{constants-PHXhIuUs.js.map → constants-7yqqXq3r.js.map} +1 -1
- package/dist/_chunks/{constants-ruIkLWCb.mjs → constants-JgR8CVx2.mjs} +2 -2
- package/dist/_chunks/{constants-ruIkLWCb.mjs.map → constants-JgR8CVx2.mjs.map} +1 -1
- package/dist/_chunks/{constants-IZEgEoW9.js → constants-XJLrl2Tl.js} +3 -3
- package/dist/_chunks/{constants-IZEgEoW9.js.map → constants-XJLrl2Tl.js.map} +1 -1
- package/dist/_chunks/{index-5ZvCaCyY.mjs → index-GIVuHJgC.mjs} +347 -188
- package/dist/_chunks/index-GIVuHJgC.mjs.map +1 -0
- package/dist/_chunks/{index-ibtz273H.js → index-haHGOQMJ.js} +270 -110
- package/dist/_chunks/index-haHGOQMJ.js.map +1 -0
- package/dist/_chunks/{selectors-JBxTdRJK.mjs → selectors--2Vzk8PA.mjs} +2 -2
- package/dist/_chunks/{selectors-JBxTdRJK.mjs.map → selectors--2Vzk8PA.mjs.map} +1 -1
- package/dist/_chunks/{selectors-TFKI8arF.js → selectors-NSSzzIzx.js} +2 -2
- package/dist/_chunks/{selectors-TFKI8arF.js.map → selectors-NSSzzIzx.js.map} +1 -1
- package/dist/_chunks/{transferTokens-4KlyXDql.mjs → transferTokens-WIsWKVbF.mjs} +2 -2
- package/dist/_chunks/{transferTokens-4KlyXDql.mjs.map → transferTokens-WIsWKVbF.mjs.map} +1 -1
- package/dist/_chunks/{transferTokens-G-suI4pp.js → transferTokens-xL4mlopP.js} +2 -2
- package/dist/_chunks/{transferTokens-G-suI4pp.js.map → transferTokens-xL4mlopP.js.map} +1 -1
- package/dist/_chunks/{useAdminRoles-7_YWhmkQ.mjs → useAdminRoles--ozrdfW_.mjs} +2 -2
- package/dist/_chunks/{useAdminRoles-7_YWhmkQ.mjs.map → useAdminRoles--ozrdfW_.mjs.map} +1 -1
- package/dist/_chunks/{useAdminRoles-o4dxsCcY.js → useAdminRoles-Y25Pjlcy.js} +2 -2
- package/dist/_chunks/{useAdminRoles-o4dxsCcY.js.map → useAdminRoles-Y25Pjlcy.js.map} +1 -1
- package/dist/_chunks/{useContentTypes-dRoMxL8c.js → useContentTypes-Vr8jkHQL.js} +2 -2
- package/dist/_chunks/{useContentTypes-dRoMxL8c.js.map → useContentTypes-Vr8jkHQL.js.map} +1 -1
- package/dist/_chunks/{useContentTypes-x6OLbsWe.mjs → useContentTypes-ralhLmpD.mjs} +2 -2
- package/dist/_chunks/{useContentTypes-x6OLbsWe.mjs.map → useContentTypes-ralhLmpD.mjs.map} +1 -1
- package/dist/_chunks/{useLicenseLimitNotification-wzvrsJoL.mjs → useLicenseLimitNotification-RSTkqcfW.mjs} +2 -2
- package/dist/_chunks/{useLicenseLimitNotification-wzvrsJoL.mjs.map → useLicenseLimitNotification-RSTkqcfW.mjs.map} +1 -1
- package/dist/_chunks/{useLicenseLimitNotification-BaSsY40x.js → useLicenseLimitNotification-fSsffVh-.js} +2 -2
- package/dist/_chunks/{useLicenseLimitNotification-BaSsY40x.js.map → useLicenseLimitNotification-fSsffVh-.js.map} +1 -1
- package/dist/_chunks/{useReviewWorkflows-PAvhwNm3.mjs → useReviewWorkflows--7WPIykR.mjs} +2 -2
- package/dist/_chunks/{useReviewWorkflows-PAvhwNm3.mjs.map → useReviewWorkflows--7WPIykR.mjs.map} +1 -1
- package/dist/_chunks/{useReviewWorkflows-3SKYABe_.js → useReviewWorkflows-4t3eVbDa.js} +2 -2
- package/dist/_chunks/{useReviewWorkflows-3SKYABe_.js.map → useReviewWorkflows-4t3eVbDa.js.map} +1 -1
- package/dist/_chunks/{useSyncRbac-f7CCq_yt.js → useSyncRbac-Fw5UPeMQ.js} +2 -2
- package/dist/_chunks/{useSyncRbac-f7CCq_yt.js.map → useSyncRbac-Fw5UPeMQ.js.map} +1 -1
- package/dist/_chunks/{useSyncRbac-Kt8Li0Yf.mjs → useSyncRbac-JNQibLFa.mjs} +2 -2
- package/dist/_chunks/{useSyncRbac-Kt8Li0Yf.mjs.map → useSyncRbac-JNQibLFa.mjs.map} +1 -1
- package/dist/_chunks/{useWebhooks-Fhm21I_2.js → useWebhooks-IXb4Ks8E.js} +2 -2
- package/dist/_chunks/{useWebhooks-Fhm21I_2.js.map → useWebhooks-IXb4Ks8E.js.map} +1 -1
- package/dist/_chunks/{useWebhooks-6rWM4vzd.mjs → useWebhooks-sfNt0r3v.mjs} +2 -2
- package/dist/_chunks/{useWebhooks-6rWM4vzd.mjs.map → useWebhooks-sfNt0r3v.mjs.map} +1 -1
- package/dist/_chunks/{validateWorkflow-DlwU9a4N.mjs → validateWorkflow-YRBggwod.mjs} +2 -2
- package/dist/_chunks/{validateWorkflow-DlwU9a4N.mjs.map → validateWorkflow-YRBggwod.mjs.map} +1 -1
- package/dist/_chunks/{validateWorkflow-1g4fl4e7.js → validateWorkflow-akFNValJ.js} +2 -2
- package/dist/_chunks/{validateWorkflow-1g4fl4e7.js.map → validateWorkflow-akFNValJ.js.map} +1 -1
- package/dist/_chunks/{validation-NckIpCgz.js → validation--QPWqn0e.js} +2 -2
- package/dist/_chunks/{validation-NckIpCgz.js.map → validation--QPWqn0e.js.map} +1 -1
- package/dist/_chunks/{validation-aaWzg0nE.mjs → validation-hlioQ0PO.mjs} +2 -2
- package/dist/_chunks/{validation-aaWzg0nE.mjs.map → validation-hlioQ0PO.mjs.map} +1 -1
- package/dist/admin/index.js +4 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +21 -18
- package/dist/admin/src/components/PageHelpers.d.ts +6 -2
- package/dist/admin/src/content-manager/history/services/historyVersion.d.ts +1 -1
- package/dist/admin/src/content-manager/history/tests/mockData.d.ts +692 -0
- package/dist/admin/src/content-manager/history/tests/server.d.ts +3 -0
- package/dist/admin/src/content-manager/services/api.d.ts +1 -1
- package/dist/admin/src/content-manager/services/components.d.ts +2 -2
- package/dist/admin/src/content-manager/services/contentTypes.d.ts +3 -3
- package/dist/admin/src/content-manager/services/documents.d.ts +17 -20
- package/dist/admin/src/content-manager/services/init.d.ts +1 -1
- package/dist/admin/src/content-manager/services/relations.d.ts +2 -2
- package/dist/admin/src/content-manager/services/uid.d.ts +3 -3
- package/dist/admin/src/core/store/configure.d.ts +2 -2
- package/dist/admin/src/core/store/hooks.d.ts +3 -3
- package/dist/admin/src/hooks/useAPIErrorHandler.d.ts +2 -1
- package/dist/admin/src/hooks/useClipboard.d.ts +4 -0
- package/dist/admin/src/hooks/useFetchClient.d.ts +43 -0
- package/dist/admin/src/hooks/useFocusInputField.d.ts +20 -0
- package/dist/admin/src/hooks/useQueryParams.d.ts +5 -0
- package/dist/admin/src/index.d.ts +8 -6
- package/dist/admin/src/selectors.d.ts +2 -2
- package/dist/admin/src/utils/baseQuery.d.ts +1 -1
- package/dist/admin/src/utils/getFetchClient.d.ts +30 -0
- package/dist/admin/src/utils/normalizeAPIError.d.ts +2 -2
- package/dist/admin/tests/index.js +49173 -0
- package/dist/admin/tests/index.js.map +1 -0
- package/dist/admin/tests/index.mjs +49135 -0
- package/dist/admin/tests/index.mjs.map +1 -0
- package/dist/admin/tests/mockData.d.ts +2053 -0
- package/dist/admin/tests/server.d.ts +2 -0
- package/dist/admin/tests/setup.d.ts +1 -0
- package/dist/admin/tests/store.d.ts +468 -0
- package/dist/admin/tests/utils.d.ts +511 -0
- package/package.json +19 -12
- package/dist/_chunks/ApplicationInfoPage-PHLA1Ysy.js.map +0 -1
- package/dist/_chunks/ApplicationInfoPage-Zn5JU2zd.mjs.map +0 -1
- package/dist/_chunks/EditPage-A6olBfVm.js.map +0 -1
- package/dist/_chunks/EditPage-VoRR5DCQ.mjs.map +0 -1
- package/dist/_chunks/EditView-C_ynfmtW.js.map +0 -1
- package/dist/_chunks/EditView-EuUw_2zc.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-8uPO5GWR.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-XtJmgPi5.js.map +0 -1
- package/dist/_chunks/EditViewPage-Z_e1dpbU.js.map +0 -1
- package/dist/_chunks/EditViewPage-xYzUSAwS.mjs.map +0 -1
- package/dist/_chunks/Filters-tMd2Q5jg.mjs.map +0 -1
- package/dist/_chunks/Filters-xVuf1kg6.js.map +0 -1
- package/dist/_chunks/History-1AF4LH3c.mjs.map +0 -1
- package/dist/_chunks/History-V_ik1IL0.js.map +0 -1
- package/dist/_chunks/InputRenderer-RMnWnPI4.js.map +0 -1
- package/dist/_chunks/InputRenderer-iP1kRki4.mjs.map +0 -1
- package/dist/_chunks/InstalledPluginsPage-7m_FfOGl.mjs.map +0 -1
- package/dist/_chunks/InstalledPluginsPage-PrMyistN.js.map +0 -1
- package/dist/_chunks/ListPage-1q5Fi4W9.mjs.map +0 -1
- package/dist/_chunks/ListPage-DZBRIMkE.mjs.map +0 -1
- package/dist/_chunks/ListPage-God7L19W.mjs.map +0 -1
- package/dist/_chunks/ListPage-Ky2tG2bd.mjs.map +0 -1
- package/dist/_chunks/ListPage-NdzVJ_Ed.js.map +0 -1
- package/dist/_chunks/ListPage-RlY1nro4.mjs.map +0 -1
- package/dist/_chunks/ListPage-_i7RNkUF.js.map +0 -1
- package/dist/_chunks/ListPage-aElBcYPH.js.map +0 -1
- package/dist/_chunks/ListPage-em8KMoKx.js.map +0 -1
- package/dist/_chunks/ListPage-skKuhRrN.js.map +0 -1
- package/dist/_chunks/ListView--mxDKrnG.js.map +0 -1
- package/dist/_chunks/ListView-QEgFV6dm.mjs.map +0 -1
- package/dist/_chunks/ListView-hm-mjZ8N.mjs.map +0 -1
- package/dist/_chunks/ListView-vP-PjR4p.js.map +0 -1
- package/dist/_chunks/ListViewPage-NiwpwxBR.js.map +0 -1
- package/dist/_chunks/ListViewPage-xOVa04T_.mjs.map +0 -1
- package/dist/_chunks/MarketplacePage-f0ZrC_p8.mjs.map +0 -1
- package/dist/_chunks/MarketplacePage-zSQ_GRnZ.js.map +0 -1
- package/dist/_chunks/NoContentTypePage-ER4yVLjV.mjs.map +0 -1
- package/dist/_chunks/NoContentTypePage-_XU8B8oQ.js.map +0 -1
- package/dist/_chunks/NoPermissionsPage-5A4Hwjad.js.map +0 -1
- package/dist/_chunks/NoPermissionsPage-DcFRsCHz.mjs.map +0 -1
- package/dist/_chunks/ProfilePage-EEcNKnGH.js.map +0 -1
- package/dist/_chunks/ProfilePage-bE7txhNu.mjs.map +0 -1
- package/dist/_chunks/SelectRoles-Iih1yeTu.mjs.map +0 -1
- package/dist/_chunks/SelectRoles-XK5HcBdP.js.map +0 -1
- package/dist/_chunks/SingleSignOnPage-uURRsIxP.js.map +0 -1
- package/dist/_chunks/SingleSignOnPage-vOeDxBfa.mjs.map +0 -1
- package/dist/_chunks/Table-VsNr4Mha.js.map +0 -1
- package/dist/_chunks/Table-k6gVR2KH.mjs.map +0 -1
- package/dist/_chunks/TokenTypeSelect-QN_bDdss.js.map +0 -1
- package/dist/_chunks/TokenTypeSelect-Z9iyoteG.mjs.map +0 -1
- package/dist/_chunks/index-5ZvCaCyY.mjs.map +0 -1
- package/dist/_chunks/index-ibtz273H.js.map +0 -1
- package/dist/admin/src/types/errors.d.ts +0 -2
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"History-1AF4LH3c.mjs","sources":["../../admin/src/content-manager/history/components/VersionContent.tsx","../../admin/src/content-manager/history/components/VersionHeader.tsx","../../admin/src/content-manager/history/components/VersionsList.tsx","../../admin/src/content-manager/history/services/historyVersion.ts","../../admin/src/content-manager/history/pages/History.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, ContentLayout, Flex, Grid, GridItem, Typography } from '@strapi/design-system';\n\nimport { Form } from '../../../components/Form';\nimport {\n InputRenderer,\n type InputRendererProps,\n} from '../../pages/EditView/components/InputRenderer';\nimport { useHistoryContext } from '../pages/History';\n\n/* -------------------------------------------------------------------------------------------------\n * CustomInputRenderer\n * -----------------------------------------------------------------------------------------------*/\n\n// The renderers for these types will be added in future PRs, they need special handling\nconst UNSUPPORTED_TYPES = ['media', 'relation'];\n\nconst CustomInputRenderer = (props: InputRendererProps) => {\n if (UNSUPPORTED_TYPES.includes(props.type)) {\n return <Typography>TODO: support {props.type}</Typography>;\n }\n\n return <InputRenderer {...props} />;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionContent = () => {\n const { version, layout } = useHistoryContext('VersionContent', (state) => ({\n version: state.selectedVersion,\n layout: state.layout,\n }));\n\n return (\n <ContentLayout>\n <Form disabled={true} method=\"PUT\" initialValues={version.data}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6} position=\"relative\">\n {layout.map((panel, index) => {\n if (panel.some((row) => row.some((field) => field.type === 'dynamiczone'))) {\n const [row] = panel;\n const [field] = row;\n\n return (\n <Grid key={field.name} gap={4}>\n <GridItem col={12} s={12} xs={12}>\n <CustomInputRenderer {...field} />\n </GridItem>\n </Grid>\n );\n }\n\n return (\n <Box\n key={index}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingLeft={6}\n paddingRight={6}\n paddingTop={6}\n paddingBottom={6}\n borderColor=\"neutral150\"\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {panel.map((row, gridRowIndex) => (\n <Grid key={gridRowIndex} gap={4}>\n {row.map(({ size, ...field }) => {\n return (\n <GridItem col={size} key={field.name} s={12} xs={12}>\n <CustomInputRenderer {...field} />\n </GridItem>\n );\n })}\n </Grid>\n ))}\n </Flex>\n </Box>\n );\n })}\n </Flex>\n </Form>\n </ContentLayout>\n );\n};\n\nexport { VersionContent };\n","import * as React from 'react';\n\nimport { HeaderLayout, Typography } from '@strapi/design-system';\nimport { Link } from '@strapi/design-system/v2';\nimport { useQueryParams } from '@strapi/helper-plugin';\nimport { ArrowLeft } from '@strapi/icons';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useParams, type To } from 'react-router-dom';\n\nimport { COLLECTION_TYPES } from '../../constants/collections';\nimport { useHistoryContext } from '../pages/History';\n\ninterface VersionHeaderProps {\n headerId: string;\n}\n\nexport const VersionHeader = ({ headerId }: VersionHeaderProps) => {\n const { formatMessage, formatDate } = useIntl();\n const { version, mainField, schema } = useHistoryContext('VersionHeader', (state) => ({\n version: state.selectedVersion,\n mainField: state.mainField,\n schema: state.schema,\n }));\n const [{ query }] = useQueryParams<{\n plugins?: Record<string, unknown>;\n }>();\n const { collectionType } = useParams<{ collectionType: string }>();\n\n const mainFieldValue = version.data[mainField];\n\n const getBackLink = (): To => {\n const pluginsQueryParams = stringify({ plugins: query.plugins }, { encode: false });\n\n if (collectionType === COLLECTION_TYPES) {\n return {\n pathname: `../${collectionType}/${version.contentType}/${version.relatedDocumentId}`,\n search: pluginsQueryParams,\n };\n }\n\n return {\n pathname: `../${collectionType}/${version.contentType}`,\n search: pluginsQueryParams,\n };\n };\n\n return (\n <HeaderLayout\n id={headerId}\n title={formatDate(new Date(version.createdAt), {\n year: 'numeric',\n month: 'numeric',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n })}\n subtitle={\n <Typography variant=\"epsilon\">\n {formatMessage(\n {\n id: 'content-manager.history.version.subtitle',\n defaultMessage:\n '{hasLocale, select, true {{subtitle}, in {locale}} other {{subtitle}}}',\n },\n {\n hasLocale: Boolean(version.locale),\n subtitle: `${mainFieldValue || ''} (${schema.info.singularName})`.trim(),\n locale: version.locale?.name,\n }\n )}\n </Typography>\n }\n navigationAction={\n <Link\n startIcon={<ArrowLeft />}\n as={NavLink}\n // @ts-expect-error - types are not inferred correctly through the as prop.\n to={getBackLink()}\n >\n {formatMessage({\n id: 'global.back',\n defaultMessage: 'Back',\n })}\n </Link>\n }\n />\n );\n};\n","import * as React from 'react';\n\nimport { Box, Flex, Typography, type BoxProps } from '@strapi/design-system';\nimport { useQueryParams } from '@strapi/helper-plugin';\nimport { stringify } from 'qs';\nimport { type MessageDescriptor, useIntl } from 'react-intl';\nimport { Link } from 'react-router-dom';\n\nimport { RelativeTime } from '../../../components/RelativeTime';\nimport { getDisplayName } from '../../../utils/users';\nimport { useHistoryContext } from '../pages/History';\n\nimport type { Contracts } from '@strapi/plugin-content-manager/_internal/shared';\n\n/* -------------------------------------------------------------------------------------------------\n * BlueText\n * -----------------------------------------------------------------------------------------------*/\n\nconst BlueText = (children: React.ReactNode) => (\n <Typography textColor=\"primary600\">{children}</Typography>\n);\n\n/* -------------------------------------------------------------------------------------------------\n * VersionCard\n * -----------------------------------------------------------------------------------------------*/\n\ninterface StatusData {\n background: BoxProps['background'];\n border: BoxProps['borderColor'];\n text: BoxProps['color'];\n message: MessageDescriptor;\n}\n\ninterface VersionCardProps {\n version: Contracts.HistoryVersions.HistoryVersionDataResponse;\n isCurrent: boolean;\n}\n\nconst VersionCard = ({ version, isCurrent }: VersionCardProps) => {\n const { formatDate, formatMessage } = useIntl();\n const [{ query }] = useQueryParams<{ id?: string }>();\n\n const statusData = ((): StatusData => {\n switch (version.status) {\n case 'draft':\n return {\n background: 'secondary100',\n border: 'secondary200',\n text: 'secondary700',\n message: {\n id: 'content-manager.containers.List.draft',\n defaultMessage: 'Draft',\n },\n };\n case 'modified':\n return {\n background: 'alternative100',\n border: 'alternative200',\n text: 'alternative700',\n message: {\n // TODO: check the translation key once D&P v5 is done\n id: 'content-manager.containers.List.modified',\n defaultMessage: 'Modified',\n },\n };\n case 'published':\n default:\n return {\n background: 'success100',\n border: 'success200',\n text: 'success700',\n message: {\n id: 'content-manager.containers.List.published',\n defaultMessage: 'Published',\n },\n };\n }\n })();\n const isActive = query.id === version.id.toString();\n const author = version.createdBy && getDisplayName(version.createdBy, formatMessage);\n\n return (\n <Flex\n direction=\"column\"\n alignItems=\"flex-start\"\n gap={3}\n hasRadius\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor={isActive ? 'primary600' : 'neutral200'}\n paddingTop={5}\n paddingBottom={5}\n paddingLeft={5}\n paddingRight={5}\n as={Link}\n to={`?${stringify({ ...query, id: version.id })}`}\n style={{ textDecoration: 'none' }}\n >\n <Flex direction=\"column\" gap={1} alignItems=\"flex-start\">\n <Typography as=\"h3\" fontWeight=\"semiBold\">\n {formatDate(version.createdAt, {\n day: 'numeric',\n month: 'numeric',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n })}\n </Typography>\n <Typography as=\"p\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'content-manager.history.sidebar.versionDescription',\n defaultMessage:\n '{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}',\n },\n {\n distanceToNow: <RelativeTime timestamp={new Date(version.createdAt)} />,\n author,\n isAnonymous: !Boolean(version.createdBy),\n isCurrent,\n b: BlueText,\n }\n )}\n </Typography>\n </Flex>\n {version.status && (\n <Box\n background={statusData.background}\n borderStyle=\"solid\"\n borderWidth=\"1px\"\n borderColor={statusData.border}\n hasRadius\n paddingLeft=\"6px\"\n paddingRight=\"6px\"\n paddingTop=\"2px\"\n paddingBottom=\"2px\"\n >\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor={statusData.text}>\n {formatMessage(statusData.message)}\n </Typography>\n </Box>\n )}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PaginationButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PaginationButtonProps {\n page: number;\n children: React.ReactNode;\n}\n\nconst PaginationButton = ({ page, children }: PaginationButtonProps) => {\n const [{ query }] = useQueryParams<{ id?: string }>();\n\n // Remove the id from the pagination link, so that the history page can redirect\n // to the id of the first history version in the new page once it's loaded\n const { id: _id, ...queryRest } = query;\n\n return (\n <Link to={{ search: stringify({ ...queryRest, page }) }} style={{ textDecoration: 'none' }}>\n <Typography variant=\"omega\" textColor=\"primary600\">\n {children}\n </Typography>\n </Link>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionsList\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionsList = () => {\n const { formatMessage } = useIntl();\n const { versions, page } = useHistoryContext('VersionsList', (state) => ({\n versions: state.versions,\n page: state.page,\n }));\n\n return (\n <Flex\n shrink={0}\n direction=\"column\"\n alignItems=\"stretch\"\n width=\"320px\"\n height=\"100vh\"\n background=\"neutral0\"\n borderColor=\"neutral200\"\n borderWidth=\"0 0 0 1px\"\n borderStyle=\"solid\"\n as=\"aside\"\n >\n <Flex\n direction=\"row\"\n justifyContent=\"space-between\"\n padding={4}\n borderColor=\"neutral200\"\n borderWidth=\"0 0 1px\"\n borderStyle=\"solid\"\n as=\"header\"\n >\n <Typography as=\"h2\" variant=\"omega\" fontWeight=\"semiBold\">\n {formatMessage({\n id: 'content-manager.history.sidebar.title',\n defaultMessage: 'Versions',\n })}\n </Typography>\n <Box background=\"neutral150\" hasRadius padding={1}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {versions.meta.pagination.total}\n </Typography>\n </Box>\n </Flex>\n <Box flex={1} overflow=\"auto\">\n {versions.meta.pagination.page > 1 && (\n <Box paddingTop={4} textAlign=\"center\">\n <PaginationButton page={page - 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-newer',\n defaultMessage: 'Show newer versions',\n })}\n </PaginationButton>\n </Box>\n )}\n <Flex\n direction=\"column\"\n gap={3}\n paddingTop={5}\n paddingBottom={5}\n paddingLeft={4}\n paddingRight={4}\n as=\"ul\"\n alignItems=\"stretch\"\n >\n {versions.data.map((version, index) => (\n <li\n key={version.id}\n aria-label={formatMessage({\n id: 'content-manager.history.sidebar.title.version-card.aria-label',\n defaultMessage: 'Version card',\n })}\n >\n <VersionCard version={version} isCurrent={page === 1 && index === 0} />\n </li>\n ))}\n </Flex>\n {versions.meta.pagination.page < versions.meta.pagination.pageCount && (\n <Box paddingBottom={5} textAlign=\"center\">\n <PaginationButton page={page + 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-older',\n defaultMessage: 'Show older versions',\n })}\n </PaginationButton>\n </Box>\n )}\n </Box>\n </Flex>\n );\n};\n\nexport { VersionsList };\n","import { Contracts } from '@strapi/plugin-content-manager/_internal/shared';\n\nimport { contentManagerApi } from '../../services/api';\n\nconst historyVersionsApi = contentManagerApi.injectEndpoints({\n endpoints: (builder) => ({\n getHistoryVersions: builder.query<\n Contracts.HistoryVersions.GetHistoryVersions.Response,\n Contracts.HistoryVersions.GetHistoryVersions.Request['query']\n >({\n query(params) {\n return {\n url: `/content-manager/history-versions`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n providesTags: ['HistoryVersion'],\n }),\n }),\n});\n\nconst { useGetHistoryVersionsQuery } = historyVersionsApi;\n\nexport { useGetHistoryVersionsQuery };\n","import * as React from 'react';\n\nimport { Box, Flex, Main } from '@strapi/design-system';\nimport { useQueryParams } from '@strapi/helper-plugin';\nimport { Contracts } from '@strapi/plugin-content-manager/_internal/shared';\nimport { stringify } from 'qs';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { Navigate, useParams } from 'react-router-dom';\n\nimport { createContext } from '../../../components/Context';\nimport { Page } from '../../../components/PageHelpers';\nimport { COLLECTION_TYPES } from '../../constants/collections';\nimport { DocumentRBAC } from '../../features/DocumentRBAC';\nimport { useDocument } from '../../hooks/useDocument';\nimport { type EditLayout, useDocumentLayout } from '../../hooks/useDocumentLayout';\nimport { useSyncRbac } from '../../hooks/useSyncRbac';\nimport { buildValidParams } from '../../utils/api';\nimport { VersionContent } from '../components/VersionContent';\nimport { VersionHeader } from '../components/VersionHeader';\nimport { VersionsList } from '../components/VersionsList';\nimport { useGetHistoryVersionsQuery } from '../services/historyVersion';\n\nimport type { UID } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * HistoryProvider\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HistoryContextValue {\n contentType: UID.ContentType;\n id?: string; // null for single types\n layout: EditLayout['layout'];\n selectedVersion: Contracts.HistoryVersions.HistoryVersionDataResponse;\n // Errors are handled outside of the provider, so we exclude errors from the response type\n versions: Extract<\n Contracts.HistoryVersions.GetHistoryVersions.Response,\n { data: Array<Contracts.HistoryVersions.HistoryVersionDataResponse> }\n >;\n page: number;\n mainField: string;\n schema: Contracts.ContentTypes.ContentType;\n}\n\nconst [HistoryProvider, useHistoryContext] = createContext<HistoryContextValue>('HistoryPage');\n\n/* -------------------------------------------------------------------------------------------------\n * HistoryPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst HistoryPage = () => {\n const headerId = React.useId();\n const { formatMessage } = useIntl();\n const {\n slug,\n id: documentId,\n collectionType,\n } = useParams<{\n collectionType: string;\n slug: UID.ContentType;\n id: string;\n }>();\n\n const { isLoading: isLoadingDocument, schema } = useDocument({\n collectionType: collectionType!,\n model: slug!,\n });\n\n const {\n isLoading: isLoadingLayout,\n edit: {\n layout,\n settings: { displayName, mainField },\n },\n } = useDocumentLayout(slug!);\n\n // Parse state from query params\n const [{ query }] = useQueryParams<{\n page?: number;\n id?: string;\n plugins?: Record<string, unknown>;\n }>();\n const { id: selectedVersionId, ...queryWithoutId } = query;\n const validQueryParamsWithoutId = buildValidParams(queryWithoutId);\n const page = validQueryParamsWithoutId.page ? Number(validQueryParamsWithoutId.page) : 1;\n\n const versionsResponse = useGetHistoryVersionsQuery(\n {\n contentType: slug!,\n ...(documentId ? { documentId } : {}),\n // Omit id since it's not needed by the endpoint and caused extra refetches\n ...validQueryParamsWithoutId,\n },\n { refetchOnMountOrArgChange: true }\n );\n\n /**\n * When the page is first mounted, if there's already data in the cache, RTK has a fullfilled\n * status for the first render, right before it triggers a new request. This means the code\n * briefly reaches the part that redirects to the first history version (if none is set).\n * But since that data is stale, that means auto-selecting a version that may not be the most\n * recent. To avoid this, we identify through requestId if the query is stale despite the\n * fullfilled status, and show the loader in that case.\n * This means we essentially don't want cache. We always refetch when the page mounts, and\n * we always show the loader until we have the most recent data. That's fine for this page.\n */\n const initialRequestId = React.useRef(versionsResponse.requestId);\n const isStaleRequest = versionsResponse.requestId === initialRequestId.current;\n\n /**\n * Ensure that we have the necessary data to render the page:\n * - slug for single types\n * - slug _and_ documentId for collection types\n */\n if (!slug || (collectionType === COLLECTION_TYPES && !documentId)) {\n return <Navigate to=\"/content-manager\" />;\n }\n\n if (isLoadingDocument || isLoadingLayout || versionsResponse.isFetching || isStaleRequest) {\n return <Page.Loading />;\n }\n\n // It was a success, handle empty data\n if (!versionsResponse.isError && !versionsResponse.data?.data?.length) {\n return <Page.NoData />;\n }\n\n // We have data, handle selected version\n if (versionsResponse.data?.data?.length && !selectedVersionId) {\n return (\n <Navigate\n to={{ search: stringify({ ...query, id: versionsResponse.data.data[0].id }) }}\n replace\n />\n );\n }\n\n const selectedVersion = versionsResponse.data?.data?.find(\n (version) => version.id.toString() === selectedVersionId\n );\n if (\n versionsResponse.isError ||\n !layout ||\n !schema ||\n !selectedVersion ||\n // This should not happen as it's covered by versionsResponse.isError, but we need it for TS\n versionsResponse.data.error\n ) {\n return <Page.Error />;\n }\n\n return (\n <>\n <Helmet\n title={formatMessage(\n {\n id: 'content-manager.history.page-title',\n defaultMessage: '{contentType} history',\n },\n {\n contentType: displayName,\n }\n )}\n />\n <HistoryProvider\n contentType={slug}\n id={documentId}\n schema={schema}\n layout={layout}\n selectedVersion={selectedVersion}\n versions={versionsResponse.data}\n page={page}\n mainField={mainField}\n >\n <Flex direction=\"row\" alignItems=\"flex-start\">\n <Main grow={1} height=\"100vh\" overflow=\"auto\" labelledBy={headerId}>\n <VersionHeader headerId={headerId} />\n <VersionContent />\n </Main>\n <VersionsList />\n </Flex>\n </HistoryProvider>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedHistoryPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedHistoryPage = () => {\n const { slug } = useParams<{\n slug: string;\n }>();\n const [{ query }] = useQueryParams();\n const { permissions = [], isLoading, isError } = useSyncRbac(slug ?? '', query, 'History');\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if ((!isLoading && isError) || !slug) {\n return (\n <Box height=\"100vh\">\n <Page.Error />\n </Box>\n );\n }\n\n return (\n <Box height=\"100vh\">\n <Page.Protect permissions={permissions}>\n {({ permissions }) => (\n <DocumentRBAC permissions={permissions}>\n <HistoryPage />\n </DocumentRBAC>\n )}\n </Page.Protect>\n </Box>\n );\n};\n\nexport { ProtectedHistoryPage, HistoryProvider, useHistoryContext };\nexport type { HistoryContextValue };\n"],"names":["Link","permissions"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"History-V_ik1IL0.js","sources":["../../admin/src/content-manager/history/components/VersionContent.tsx","../../admin/src/content-manager/history/components/VersionHeader.tsx","../../admin/src/content-manager/history/components/VersionsList.tsx","../../admin/src/content-manager/history/services/historyVersion.ts","../../admin/src/content-manager/history/pages/History.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, ContentLayout, Flex, Grid, GridItem, Typography } from '@strapi/design-system';\n\nimport { Form } from '../../../components/Form';\nimport {\n InputRenderer,\n type InputRendererProps,\n} from '../../pages/EditView/components/InputRenderer';\nimport { useHistoryContext } from '../pages/History';\n\n/* -------------------------------------------------------------------------------------------------\n * CustomInputRenderer\n * -----------------------------------------------------------------------------------------------*/\n\n// The renderers for these types will be added in future PRs, they need special handling\nconst UNSUPPORTED_TYPES = ['media', 'relation'];\n\nconst CustomInputRenderer = (props: InputRendererProps) => {\n if (UNSUPPORTED_TYPES.includes(props.type)) {\n return <Typography>TODO: support {props.type}</Typography>;\n }\n\n return <InputRenderer {...props} />;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionContent = () => {\n const { version, layout } = useHistoryContext('VersionContent', (state) => ({\n version: state.selectedVersion,\n layout: state.layout,\n }));\n\n return (\n <ContentLayout>\n <Form disabled={true} method=\"PUT\" initialValues={version.data}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6} position=\"relative\">\n {layout.map((panel, index) => {\n if (panel.some((row) => row.some((field) => field.type === 'dynamiczone'))) {\n const [row] = panel;\n const [field] = row;\n\n return (\n <Grid key={field.name} gap={4}>\n <GridItem col={12} s={12} xs={12}>\n <CustomInputRenderer {...field} />\n </GridItem>\n </Grid>\n );\n }\n\n return (\n <Box\n key={index}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingLeft={6}\n paddingRight={6}\n paddingTop={6}\n paddingBottom={6}\n borderColor=\"neutral150\"\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {panel.map((row, gridRowIndex) => (\n <Grid key={gridRowIndex} gap={4}>\n {row.map(({ size, ...field }) => {\n return (\n <GridItem col={size} key={field.name} s={12} xs={12}>\n <CustomInputRenderer {...field} />\n </GridItem>\n );\n })}\n </Grid>\n ))}\n </Flex>\n </Box>\n );\n })}\n </Flex>\n </Form>\n </ContentLayout>\n );\n};\n\nexport { VersionContent };\n","import * as React from 'react';\n\nimport { HeaderLayout, Typography } from '@strapi/design-system';\nimport { Link } from '@strapi/design-system/v2';\nimport { useQueryParams } from '@strapi/helper-plugin';\nimport { ArrowLeft } from '@strapi/icons';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useParams, type To } from 'react-router-dom';\n\nimport { COLLECTION_TYPES } from '../../constants/collections';\nimport { useHistoryContext } from '../pages/History';\n\ninterface VersionHeaderProps {\n headerId: string;\n}\n\nexport const VersionHeader = ({ headerId }: VersionHeaderProps) => {\n const { formatMessage, formatDate } = useIntl();\n const { version, mainField, schema } = useHistoryContext('VersionHeader', (state) => ({\n version: state.selectedVersion,\n mainField: state.mainField,\n schema: state.schema,\n }));\n const [{ query }] = useQueryParams<{\n plugins?: Record<string, unknown>;\n }>();\n const { collectionType } = useParams<{ collectionType: string }>();\n\n const mainFieldValue = version.data[mainField];\n\n const getBackLink = (): To => {\n const pluginsQueryParams = stringify({ plugins: query.plugins }, { encode: false });\n\n if (collectionType === COLLECTION_TYPES) {\n return {\n pathname: `../${collectionType}/${version.contentType}/${version.relatedDocumentId}`,\n search: pluginsQueryParams,\n };\n }\n\n return {\n pathname: `../${collectionType}/${version.contentType}`,\n search: pluginsQueryParams,\n };\n };\n\n return (\n <HeaderLayout\n id={headerId}\n title={formatDate(new Date(version.createdAt), {\n year: 'numeric',\n month: 'numeric',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n })}\n subtitle={\n <Typography variant=\"epsilon\">\n {formatMessage(\n {\n id: 'content-manager.history.version.subtitle',\n defaultMessage:\n '{hasLocale, select, true {{subtitle}, in {locale}} other {{subtitle}}}',\n },\n {\n hasLocale: Boolean(version.locale),\n subtitle: `${mainFieldValue || ''} (${schema.info.singularName})`.trim(),\n locale: version.locale?.name,\n }\n )}\n </Typography>\n }\n navigationAction={\n <Link\n startIcon={<ArrowLeft />}\n as={NavLink}\n // @ts-expect-error - types are not inferred correctly through the as prop.\n to={getBackLink()}\n >\n {formatMessage({\n id: 'global.back',\n defaultMessage: 'Back',\n })}\n </Link>\n }\n />\n );\n};\n","import * as React from 'react';\n\nimport { Box, Flex, Typography, type BoxProps } from '@strapi/design-system';\nimport { useQueryParams } from '@strapi/helper-plugin';\nimport { stringify } from 'qs';\nimport { type MessageDescriptor, useIntl } from 'react-intl';\nimport { Link } from 'react-router-dom';\n\nimport { RelativeTime } from '../../../components/RelativeTime';\nimport { getDisplayName } from '../../../utils/users';\nimport { useHistoryContext } from '../pages/History';\n\nimport type { Contracts } from '@strapi/plugin-content-manager/_internal/shared';\n\n/* -------------------------------------------------------------------------------------------------\n * BlueText\n * -----------------------------------------------------------------------------------------------*/\n\nconst BlueText = (children: React.ReactNode) => (\n <Typography textColor=\"primary600\">{children}</Typography>\n);\n\n/* -------------------------------------------------------------------------------------------------\n * VersionCard\n * -----------------------------------------------------------------------------------------------*/\n\ninterface StatusData {\n background: BoxProps['background'];\n border: BoxProps['borderColor'];\n text: BoxProps['color'];\n message: MessageDescriptor;\n}\n\ninterface VersionCardProps {\n version: Contracts.HistoryVersions.HistoryVersionDataResponse;\n isCurrent: boolean;\n}\n\nconst VersionCard = ({ version, isCurrent }: VersionCardProps) => {\n const { formatDate, formatMessage } = useIntl();\n const [{ query }] = useQueryParams<{ id?: string }>();\n\n const statusData = ((): StatusData => {\n switch (version.status) {\n case 'draft':\n return {\n background: 'secondary100',\n border: 'secondary200',\n text: 'secondary700',\n message: {\n id: 'content-manager.containers.List.draft',\n defaultMessage: 'Draft',\n },\n };\n case 'modified':\n return {\n background: 'alternative100',\n border: 'alternative200',\n text: 'alternative700',\n message: {\n // TODO: check the translation key once D&P v5 is done\n id: 'content-manager.containers.List.modified',\n defaultMessage: 'Modified',\n },\n };\n case 'published':\n default:\n return {\n background: 'success100',\n border: 'success200',\n text: 'success700',\n message: {\n id: 'content-manager.containers.List.published',\n defaultMessage: 'Published',\n },\n };\n }\n })();\n const isActive = query.id === version.id.toString();\n const author = version.createdBy && getDisplayName(version.createdBy, formatMessage);\n\n return (\n <Flex\n direction=\"column\"\n alignItems=\"flex-start\"\n gap={3}\n hasRadius\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor={isActive ? 'primary600' : 'neutral200'}\n paddingTop={5}\n paddingBottom={5}\n paddingLeft={5}\n paddingRight={5}\n as={Link}\n to={`?${stringify({ ...query, id: version.id })}`}\n style={{ textDecoration: 'none' }}\n >\n <Flex direction=\"column\" gap={1} alignItems=\"flex-start\">\n <Typography as=\"h3\" fontWeight=\"semiBold\">\n {formatDate(version.createdAt, {\n day: 'numeric',\n month: 'numeric',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n })}\n </Typography>\n <Typography as=\"p\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'content-manager.history.sidebar.versionDescription',\n defaultMessage:\n '{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}',\n },\n {\n distanceToNow: <RelativeTime timestamp={new Date(version.createdAt)} />,\n author,\n isAnonymous: !Boolean(version.createdBy),\n isCurrent,\n b: BlueText,\n }\n )}\n </Typography>\n </Flex>\n {version.status && (\n <Box\n background={statusData.background}\n borderStyle=\"solid\"\n borderWidth=\"1px\"\n borderColor={statusData.border}\n hasRadius\n paddingLeft=\"6px\"\n paddingRight=\"6px\"\n paddingTop=\"2px\"\n paddingBottom=\"2px\"\n >\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor={statusData.text}>\n {formatMessage(statusData.message)}\n </Typography>\n </Box>\n )}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PaginationButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PaginationButtonProps {\n page: number;\n children: React.ReactNode;\n}\n\nconst PaginationButton = ({ page, children }: PaginationButtonProps) => {\n const [{ query }] = useQueryParams<{ id?: string }>();\n\n // Remove the id from the pagination link, so that the history page can redirect\n // to the id of the first history version in the new page once it's loaded\n const { id: _id, ...queryRest } = query;\n\n return (\n <Link to={{ search: stringify({ ...queryRest, page }) }} style={{ textDecoration: 'none' }}>\n <Typography variant=\"omega\" textColor=\"primary600\">\n {children}\n </Typography>\n </Link>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionsList\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionsList = () => {\n const { formatMessage } = useIntl();\n const { versions, page } = useHistoryContext('VersionsList', (state) => ({\n versions: state.versions,\n page: state.page,\n }));\n\n return (\n <Flex\n shrink={0}\n direction=\"column\"\n alignItems=\"stretch\"\n width=\"320px\"\n height=\"100vh\"\n background=\"neutral0\"\n borderColor=\"neutral200\"\n borderWidth=\"0 0 0 1px\"\n borderStyle=\"solid\"\n as=\"aside\"\n >\n <Flex\n direction=\"row\"\n justifyContent=\"space-between\"\n padding={4}\n borderColor=\"neutral200\"\n borderWidth=\"0 0 1px\"\n borderStyle=\"solid\"\n as=\"header\"\n >\n <Typography as=\"h2\" variant=\"omega\" fontWeight=\"semiBold\">\n {formatMessage({\n id: 'content-manager.history.sidebar.title',\n defaultMessage: 'Versions',\n })}\n </Typography>\n <Box background=\"neutral150\" hasRadius padding={1}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {versions.meta.pagination.total}\n </Typography>\n </Box>\n </Flex>\n <Box flex={1} overflow=\"auto\">\n {versions.meta.pagination.page > 1 && (\n <Box paddingTop={4} textAlign=\"center\">\n <PaginationButton page={page - 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-newer',\n defaultMessage: 'Show newer versions',\n })}\n </PaginationButton>\n </Box>\n )}\n <Flex\n direction=\"column\"\n gap={3}\n paddingTop={5}\n paddingBottom={5}\n paddingLeft={4}\n paddingRight={4}\n as=\"ul\"\n alignItems=\"stretch\"\n >\n {versions.data.map((version, index) => (\n <li\n key={version.id}\n aria-label={formatMessage({\n id: 'content-manager.history.sidebar.title.version-card.aria-label',\n defaultMessage: 'Version card',\n })}\n >\n <VersionCard version={version} isCurrent={page === 1 && index === 0} />\n </li>\n ))}\n </Flex>\n {versions.meta.pagination.page < versions.meta.pagination.pageCount && (\n <Box paddingBottom={5} textAlign=\"center\">\n <PaginationButton page={page + 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-older',\n defaultMessage: 'Show older versions',\n })}\n </PaginationButton>\n </Box>\n )}\n </Box>\n </Flex>\n );\n};\n\nexport { VersionsList };\n","import { Contracts } from '@strapi/plugin-content-manager/_internal/shared';\n\nimport { contentManagerApi } from '../../services/api';\n\nconst historyVersionsApi = contentManagerApi.injectEndpoints({\n endpoints: (builder) => ({\n getHistoryVersions: builder.query<\n Contracts.HistoryVersions.GetHistoryVersions.Response,\n Contracts.HistoryVersions.GetHistoryVersions.Request['query']\n >({\n query(params) {\n return {\n url: `/content-manager/history-versions`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n providesTags: ['HistoryVersion'],\n }),\n }),\n});\n\nconst { useGetHistoryVersionsQuery } = historyVersionsApi;\n\nexport { useGetHistoryVersionsQuery };\n","import * as React from 'react';\n\nimport { Box, Flex, Main } from '@strapi/design-system';\nimport { useQueryParams } from '@strapi/helper-plugin';\nimport { Contracts } from '@strapi/plugin-content-manager/_internal/shared';\nimport { stringify } from 'qs';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { Navigate, useParams } from 'react-router-dom';\n\nimport { createContext } from '../../../components/Context';\nimport { Page } from '../../../components/PageHelpers';\nimport { COLLECTION_TYPES } from '../../constants/collections';\nimport { DocumentRBAC } from '../../features/DocumentRBAC';\nimport { useDocument } from '../../hooks/useDocument';\nimport { type EditLayout, useDocumentLayout } from '../../hooks/useDocumentLayout';\nimport { useSyncRbac } from '../../hooks/useSyncRbac';\nimport { buildValidParams } from '../../utils/api';\nimport { VersionContent } from '../components/VersionContent';\nimport { VersionHeader } from '../components/VersionHeader';\nimport { VersionsList } from '../components/VersionsList';\nimport { useGetHistoryVersionsQuery } from '../services/historyVersion';\n\nimport type { UID } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * HistoryProvider\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HistoryContextValue {\n contentType: UID.ContentType;\n id?: string; // null for single types\n layout: EditLayout['layout'];\n selectedVersion: Contracts.HistoryVersions.HistoryVersionDataResponse;\n // Errors are handled outside of the provider, so we exclude errors from the response type\n versions: Extract<\n Contracts.HistoryVersions.GetHistoryVersions.Response,\n { data: Array<Contracts.HistoryVersions.HistoryVersionDataResponse> }\n >;\n page: number;\n mainField: string;\n schema: Contracts.ContentTypes.ContentType;\n}\n\nconst [HistoryProvider, useHistoryContext] = createContext<HistoryContextValue>('HistoryPage');\n\n/* -------------------------------------------------------------------------------------------------\n * HistoryPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst HistoryPage = () => {\n const headerId = React.useId();\n const { formatMessage } = useIntl();\n const {\n slug,\n id: documentId,\n collectionType,\n } = useParams<{\n collectionType: string;\n slug: UID.ContentType;\n id: string;\n }>();\n\n const { isLoading: isLoadingDocument, schema } = useDocument({\n collectionType: collectionType!,\n model: slug!,\n });\n\n const {\n isLoading: isLoadingLayout,\n edit: {\n layout,\n settings: { displayName, mainField },\n },\n } = useDocumentLayout(slug!);\n\n // Parse state from query params\n const [{ query }] = useQueryParams<{\n page?: number;\n id?: string;\n plugins?: Record<string, unknown>;\n }>();\n const { id: selectedVersionId, ...queryWithoutId } = query;\n const validQueryParamsWithoutId = buildValidParams(queryWithoutId);\n const page = validQueryParamsWithoutId.page ? Number(validQueryParamsWithoutId.page) : 1;\n\n const versionsResponse = useGetHistoryVersionsQuery(\n {\n contentType: slug!,\n ...(documentId ? { documentId } : {}),\n // Omit id since it's not needed by the endpoint and caused extra refetches\n ...validQueryParamsWithoutId,\n },\n { refetchOnMountOrArgChange: true }\n );\n\n /**\n * When the page is first mounted, if there's already data in the cache, RTK has a fullfilled\n * status for the first render, right before it triggers a new request. This means the code\n * briefly reaches the part that redirects to the first history version (if none is set).\n * But since that data is stale, that means auto-selecting a version that may not be the most\n * recent. To avoid this, we identify through requestId if the query is stale despite the\n * fullfilled status, and show the loader in that case.\n * This means we essentially don't want cache. We always refetch when the page mounts, and\n * we always show the loader until we have the most recent data. That's fine for this page.\n */\n const initialRequestId = React.useRef(versionsResponse.requestId);\n const isStaleRequest = versionsResponse.requestId === initialRequestId.current;\n\n /**\n * Ensure that we have the necessary data to render the page:\n * - slug for single types\n * - slug _and_ documentId for collection types\n */\n if (!slug || (collectionType === COLLECTION_TYPES && !documentId)) {\n return <Navigate to=\"/content-manager\" />;\n }\n\n if (isLoadingDocument || isLoadingLayout || versionsResponse.isFetching || isStaleRequest) {\n return <Page.Loading />;\n }\n\n // It was a success, handle empty data\n if (!versionsResponse.isError && !versionsResponse.data?.data?.length) {\n return <Page.NoData />;\n }\n\n // We have data, handle selected version\n if (versionsResponse.data?.data?.length && !selectedVersionId) {\n return (\n <Navigate\n to={{ search: stringify({ ...query, id: versionsResponse.data.data[0].id }) }}\n replace\n />\n );\n }\n\n const selectedVersion = versionsResponse.data?.data?.find(\n (version) => version.id.toString() === selectedVersionId\n );\n if (\n versionsResponse.isError ||\n !layout ||\n !schema ||\n !selectedVersion ||\n // This should not happen as it's covered by versionsResponse.isError, but we need it for TS\n versionsResponse.data.error\n ) {\n return <Page.Error />;\n }\n\n return (\n <>\n <Helmet\n title={formatMessage(\n {\n id: 'content-manager.history.page-title',\n defaultMessage: '{contentType} history',\n },\n {\n contentType: displayName,\n }\n )}\n />\n <HistoryProvider\n contentType={slug}\n id={documentId}\n schema={schema}\n layout={layout}\n selectedVersion={selectedVersion}\n versions={versionsResponse.data}\n page={page}\n mainField={mainField}\n >\n <Flex direction=\"row\" alignItems=\"flex-start\">\n <Main grow={1} height=\"100vh\" overflow=\"auto\" labelledBy={headerId}>\n <VersionHeader headerId={headerId} />\n <VersionContent />\n </Main>\n <VersionsList />\n </Flex>\n </HistoryProvider>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedHistoryPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedHistoryPage = () => {\n const { slug } = useParams<{\n slug: string;\n }>();\n const [{ query }] = useQueryParams();\n const { permissions = [], isLoading, isError } = useSyncRbac(slug ?? '', query, 'History');\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if ((!isLoading && isError) || !slug) {\n return (\n <Box height=\"100vh\">\n <Page.Error />\n </Box>\n );\n }\n\n return (\n <Box height=\"100vh\">\n <Page.Protect permissions={permissions}>\n {({ permissions }) => (\n <DocumentRBAC permissions={permissions}>\n <HistoryPage />\n </DocumentRBAC>\n )}\n </Page.Protect>\n </Box>\n );\n};\n\nexport { ProtectedHistoryPage, HistoryProvider, useHistoryContext };\nexport type { HistoryContextValue };\n"],"names":["Typography","jsx","InputRenderer","ContentLayout","Form","Flex","index","Grid","GridItem","Box","useIntl","useQueryParams","useParams","stringify","COLLECTION_TYPES","HeaderLayout","Link","ArrowLeft","NavLink","getDisplayName","jsxs","RelativeTime","contentManagerApi","createContext","React","useDocument","useDocumentLayout","buildValidParams","Navigate","Page","Fragment","Helmet","Main","useSyncRbac","permissions","DocumentRBAC"],"mappings":"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"}
|