@strapi/admin 5.0.0-alpha.1 → 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-TjK5LW2b.js → AdminSeatInfo-JtsYpBbO.js} +3 -3
- package/dist/_chunks/{AdminSeatInfo-TjK5LW2b.js.map → AdminSeatInfo-JtsYpBbO.js.map} +1 -1
- package/dist/_chunks/{AdminSeatInfo-20pkL95U.mjs → AdminSeatInfo-ZZsKxX-S.mjs} +3 -3
- package/dist/_chunks/{AdminSeatInfo-20pkL95U.mjs.map → AdminSeatInfo-ZZsKxX-S.mjs.map} +1 -1
- package/dist/_chunks/{ApplicationInfoPage-ed6y9Q-B.mjs → ApplicationInfoPage-NhhWzHF1.mjs} +15 -15
- package/dist/_chunks/ApplicationInfoPage-NhhWzHF1.mjs.map +1 -0
- package/dist/_chunks/{ApplicationInfoPage-1OdKMDYH.js → ApplicationInfoPage-xj1SCaSR.js} +13 -13
- package/dist/_chunks/ApplicationInfoPage-xj1SCaSR.js.map +1 -0
- package/dist/_chunks/{AuthResponse-Hxop00n-.mjs → AuthResponse-jIqWZLMh.mjs} +2 -2
- package/dist/_chunks/{AuthResponse-Hxop00n-.mjs.map → AuthResponse-jIqWZLMh.mjs.map} +1 -1
- package/dist/_chunks/{AuthResponse-sca_wjIN.js → AuthResponse-maUe9KWA.js} +2 -2
- package/dist/_chunks/{AuthResponse-sca_wjIN.js.map → AuthResponse-maUe9KWA.js.map} +1 -1
- package/dist/_chunks/{AuthenticatedLayout-knXNB2i2.mjs → AuthenticatedLayout-Ffy6uoNF.mjs} +27 -22
- package/dist/_chunks/AuthenticatedLayout-Ffy6uoNF.mjs.map +1 -0
- package/dist/_chunks/{AuthenticatedLayout-PPlOm7kb.js → AuthenticatedLayout-kxORHKAl.js} +29 -25
- package/dist/_chunks/AuthenticatedLayout-kxORHKAl.js.map +1 -0
- package/dist/_chunks/{ComponentConfigurationPage-xZMDjeVf.js → ComponentConfigurationPage-JMCc1P7r.js} +12 -11
- package/dist/_chunks/ComponentConfigurationPage-JMCc1P7r.js.map +1 -0
- package/dist/_chunks/{ComponentConfigurationPage-okd3XovW.mjs → ComponentConfigurationPage-oiBCHXQO.mjs} +12 -11
- package/dist/_chunks/ComponentConfigurationPage-oiBCHXQO.mjs.map +1 -0
- package/dist/_chunks/{CreateActionEE-E6YNdAVx.js → CreateActionEE-ThopeFZP.js} +2 -2
- package/dist/_chunks/{CreateActionEE-E6YNdAVx.js.map → CreateActionEE-ThopeFZP.js.map} +1 -1
- package/dist/_chunks/{CreateActionEE-PaZYJ410.mjs → CreateActionEE-VMKfXSGW.mjs} +2 -2
- package/dist/_chunks/{CreateActionEE-PaZYJ410.mjs.map → CreateActionEE-VMKfXSGW.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-P1F3dkB3.mjs → CreatePage-6AeIanOF.mjs} +16 -17
- package/dist/_chunks/CreatePage-6AeIanOF.mjs.map +1 -0
- package/dist/_chunks/{CreatePage-PM_r99U5.mjs → CreatePage-Gh5xb10f.mjs} +9 -10
- package/dist/_chunks/CreatePage-Gh5xb10f.mjs.map +1 -0
- package/dist/_chunks/{CreatePage-hlkPO2Cv.js → CreatePage-JIHfFWS7.js} +3 -3
- package/dist/_chunks/{CreatePage-hlkPO2Cv.js.map → CreatePage-JIHfFWS7.js.map} +1 -1
- package/dist/_chunks/{CreatePage-1Oi4-aR6.js → CreatePage-WWKaoNH7.js} +16 -17
- package/dist/_chunks/CreatePage-WWKaoNH7.js.map +1 -0
- package/dist/_chunks/{CreatePage-6458K0l9.mjs → CreatePage-hxFhldpL.mjs} +3 -3
- package/dist/_chunks/{CreatePage-6458K0l9.mjs.map → CreatePage-hxFhldpL.mjs.map} +1 -1
- package/dist/_chunks/{CreatePage-DmNFNVN9.js → CreatePage-yjmy0z57.js} +9 -10
- package/dist/_chunks/CreatePage-yjmy0z57.js.map +1 -0
- package/dist/_chunks/{CreateView-AWmN1xWJ.js → CreateView-J48m0lSL.js} +3 -3
- package/dist/_chunks/{CreateView-AWmN1xWJ.js.map → CreateView-J48m0lSL.js.map} +1 -1
- package/dist/_chunks/{CreateView-hUH4bf5k.js → CreateView-Vqd1PVrJ.js} +3 -3
- package/dist/_chunks/{CreateView-hUH4bf5k.js.map → CreateView-Vqd1PVrJ.js.map} +1 -1
- package/dist/_chunks/{CreateView-cTvLLIgu.mjs → CreateView-oBp0NzJx.mjs} +3 -3
- package/dist/_chunks/{CreateView-cTvLLIgu.mjs.map → CreateView-oBp0NzJx.mjs.map} +1 -1
- package/dist/_chunks/{CreateView-pBI75ZwZ.mjs → CreateView-qzpeDBvR.mjs} +3 -3
- package/dist/_chunks/{CreateView-pBI75ZwZ.mjs.map → CreateView-qzpeDBvR.mjs.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-LItt0mJo.mjs → EditConfigurationPage-MAUfMzG6.mjs} +11 -10
- package/dist/_chunks/EditConfigurationPage-MAUfMzG6.mjs.map +1 -0
- package/dist/_chunks/{EditConfigurationPage-PZ4yq1bM.js → EditConfigurationPage-PKHUVKGD.js} +11 -10
- package/dist/_chunks/EditConfigurationPage-PKHUVKGD.js.map +1 -0
- package/dist/_chunks/{EditPage-W6hncyNY.js → EditPage-7bVupT7n.js} +15 -15
- package/dist/_chunks/EditPage-7bVupT7n.js.map +1 -0
- package/dist/_chunks/{EditPage-MPNLCYgQ.mjs → EditPage-DQUZsl8H.mjs} +16 -17
- package/dist/_chunks/EditPage-DQUZsl8H.mjs.map +1 -0
- package/dist/_chunks/{EditPage-mU2WAH0F.js → EditPage-Hxt5uBXk.js} +10 -11
- package/dist/_chunks/EditPage-Hxt5uBXk.js.map +1 -0
- package/dist/_chunks/{EditPage-30rqjB1d.mjs → EditPage-Izmz7bdh.mjs} +16 -16
- package/dist/_chunks/EditPage-Izmz7bdh.mjs.map +1 -0
- package/dist/_chunks/{EditPage-_N_lm93z.js → EditPage-QA0-S3kV.js} +14 -15
- package/dist/_chunks/EditPage-QA0-S3kV.js.map +1 -0
- package/dist/_chunks/{EditPage--EPGgPNr.mjs → EditPage-THSaM4-0.mjs} +10 -11
- package/dist/_chunks/EditPage-THSaM4-0.mjs.map +1 -0
- package/dist/_chunks/{EditPage-RpzlPkkU.js → EditPage-vUQIn3OJ.js} +18 -19
- package/dist/_chunks/{EditPage-RpzlPkkU.js.map → EditPage-vUQIn3OJ.js.map} +1 -1
- package/dist/_chunks/{EditPage-GRIZWtGz.mjs → EditPage-zpnfFOjc.mjs} +18 -19
- package/dist/_chunks/{EditPage-GRIZWtGz.mjs.map → EditPage-zpnfFOjc.mjs.map} +1 -1
- package/dist/_chunks/{EditView-wDP9PNQY.js → EditView-63ynF0vf.js} +12 -13
- package/dist/_chunks/EditView-63ynF0vf.js.map +1 -0
- package/dist/_chunks/{EditView-0lXpbgG0.mjs → EditView-cfOpTlAi.mjs} +14 -15
- package/dist/_chunks/EditView-cfOpTlAi.mjs.map +1 -0
- package/dist/_chunks/{EditViewPage-0Pd8zBi7.js → EditViewPage--SujdXIG.js} +16 -18
- package/dist/_chunks/EditViewPage--SujdXIG.js.map +1 -0
- package/dist/_chunks/{EditViewPage-R6diW-gL.mjs → EditViewPage-JFzIJClS.mjs} +6 -7
- package/dist/_chunks/EditViewPage-JFzIJClS.mjs.map +1 -0
- package/dist/_chunks/{EditViewPage-ed0-10GO.js → EditViewPage-kkCJlZyh.js} +8 -9
- package/dist/_chunks/EditViewPage-kkCJlZyh.js.map +1 -0
- package/dist/_chunks/{EditViewPage-uWYR_o8w.mjs → EditViewPage-vz8UJ4U_.mjs} +17 -18
- package/dist/_chunks/EditViewPage-vz8UJ4U_.mjs.map +1 -0
- package/dist/_chunks/{EventsTable-R_AHW6Z4.js → EventsTable-1X4uyY8J.js} +2 -2
- package/dist/_chunks/{EventsTable-R_AHW6Z4.js.map → EventsTable-1X4uyY8J.js.map} +1 -1
- package/dist/_chunks/{EventsTable-CqN6AzV9.mjs → EventsTable-dN2MNNFu.mjs} +2 -2
- package/dist/_chunks/{EventsTable-CqN6AzV9.mjs.map → EventsTable-dN2MNNFu.mjs.map} +1 -1
- package/dist/_chunks/{FieldTypeIcon-rAK1gg9p.mjs → FieldTypeIcon-4-UZzZla.mjs} +2 -2
- package/dist/_chunks/{FieldTypeIcon-rAK1gg9p.mjs.map → FieldTypeIcon-4-UZzZla.mjs.map} +1 -1
- package/dist/_chunks/{FieldTypeIcon-1WDWx0cR.js → FieldTypeIcon-wxfhExw2.js} +2 -2
- package/dist/_chunks/{FieldTypeIcon-1WDWx0cR.js.map → FieldTypeIcon-wxfhExw2.js.map} +1 -1
- package/dist/_chunks/{Filters-rPaxqj4F.mjs → Filters--lh-i85A.mjs} +2 -3
- package/dist/_chunks/Filters--lh-i85A.mjs.map +1 -0
- package/dist/_chunks/{Filters-f6ghLf0Z.js → Filters-V0VODaNk.js} +4 -5
- package/dist/_chunks/Filters-V0VODaNk.js.map +1 -0
- package/dist/_chunks/{Form-eqzCPjSo.js → Form-6QJjWK34.js} +5 -6
- package/dist/_chunks/Form-6QJjWK34.js.map +1 -0
- package/dist/_chunks/{Form-QOZA9Aq6.mjs → Form-HXiNxSZi.mjs} +5 -6
- package/dist/_chunks/Form-HXiNxSZi.mjs.map +1 -0
- package/dist/_chunks/{History-Eq4_WQPf.mjs → History-CRGqDfHr.mjs} +4 -5
- package/dist/_chunks/History-CRGqDfHr.mjs.map +1 -0
- package/dist/_chunks/{History-j00hpmXV.js → History-R_4lEy01.js} +9 -10
- package/dist/_chunks/History-R_4lEy01.js.map +1 -0
- package/dist/_chunks/{HomePage-gTElgmEK.mjs → HomePage-GJRtRqAj.mjs} +3 -3
- package/dist/_chunks/{HomePage-gTElgmEK.mjs.map → HomePage-GJRtRqAj.mjs.map} +1 -1
- package/dist/_chunks/{HomePage-O-TRGX5T.mjs → HomePage-Si17pjt5.mjs} +5 -6
- package/dist/_chunks/HomePage-Si17pjt5.mjs.map +1 -0
- package/dist/_chunks/{HomePage-3IVOMrYf.js → HomePage-oiaJD-JE.js} +5 -6
- package/dist/_chunks/HomePage-oiaJD-JE.js.map +1 -0
- package/dist/_chunks/{HomePage-79fqDlve.js → HomePage-rEW7Jpww.js} +3 -3
- package/dist/_chunks/{HomePage-79fqDlve.js.map → HomePage-rEW7Jpww.js.map} +1 -1
- package/dist/_chunks/{InputRenderer-bJwYq9ga.mjs → InputRenderer-JfwBoJk0.mjs} +40 -18
- package/dist/_chunks/InputRenderer-JfwBoJk0.mjs.map +1 -0
- package/dist/_chunks/{InputRenderer-AVDw8MeU.js → InputRenderer-hWILsDgK.js} +42 -20
- package/dist/_chunks/InputRenderer-hWILsDgK.js.map +1 -0
- package/dist/_chunks/{InstalledPluginsPage-R2hVFPZl.mjs → InstalledPluginsPage-XqzfeZgq.mjs} +7 -9
- package/dist/_chunks/InstalledPluginsPage-XqzfeZgq.mjs.map +1 -0
- package/dist/_chunks/{InstalledPluginsPage-FkR2xkQz.js → InstalledPluginsPage-ao6yYe7N.js} +6 -8
- package/dist/_chunks/InstalledPluginsPage-ao6yYe7N.js.map +1 -0
- package/dist/_chunks/{Layout-omCNy92r.mjs → Layout-2dctwEHz.mjs} +2 -2
- package/dist/_chunks/{Layout-omCNy92r.mjs.map → Layout-2dctwEHz.mjs.map} +1 -1
- package/dist/_chunks/{Layout-cV6Se3U9.mjs → Layout-3sYAgWn4.mjs} +6 -6
- package/dist/_chunks/Layout-3sYAgWn4.mjs.map +1 -0
- package/dist/_chunks/{Layout-jweb3cF3.js → Layout-4vMUN0Ez.js} +2 -2
- package/dist/_chunks/{Layout-jweb3cF3.js.map → Layout-4vMUN0Ez.js.map} +1 -1
- package/dist/_chunks/{Layout-G49-Vc5u.js → Layout-kbqdKkiF.js} +5 -5
- package/dist/_chunks/Layout-kbqdKkiF.js.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-70qtv4Ci.js → ListConfigurationPage-BXuW_9Wt.js} +10 -11
- package/dist/_chunks/ListConfigurationPage-BXuW_9Wt.js.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-PrJNO_6y.mjs → ListConfigurationPage-lPILAPkW.mjs} +10 -11
- package/dist/_chunks/ListConfigurationPage-lPILAPkW.mjs.map +1 -0
- package/dist/_chunks/{ListPage-78Cv8Vfq.js → ListPage-02WM7Pt9.js} +11 -12
- package/dist/_chunks/ListPage-02WM7Pt9.js.map +1 -0
- package/dist/_chunks/{ListPage-2lswUYQN.js → ListPage-7TAp-q4k.js} +15 -16
- package/dist/_chunks/ListPage-7TAp-q4k.js.map +1 -0
- package/dist/_chunks/{ListPage-edro79m2.mjs → ListPage-EdOy02-v.mjs} +11 -12
- package/dist/_chunks/ListPage-EdOy02-v.mjs.map +1 -0
- package/dist/_chunks/{ListPage-mAUCZIg8.mjs → ListPage-OaldiDCh.mjs} +57 -59
- package/dist/_chunks/ListPage-OaldiDCh.mjs.map +1 -0
- package/dist/_chunks/{ListPage-Q81SX0vA.mjs → ListPage-R8Qs69v7.mjs} +3 -3
- package/dist/_chunks/{ListPage-Q81SX0vA.mjs.map → ListPage-R8Qs69v7.mjs.map} +1 -1
- package/dist/_chunks/{ListPage-Cvn3WbMH.mjs → ListPage-SCTNGhhO.mjs} +16 -17
- package/dist/_chunks/ListPage-SCTNGhhO.mjs.map +1 -0
- package/dist/_chunks/{ListPage-xFkcmM1b.mjs → ListPage-YZ45BiMe.mjs} +17 -18
- package/dist/_chunks/ListPage-YZ45BiMe.mjs.map +1 -0
- package/dist/_chunks/{ListPage-7dZ3nYvc.js → ListPage-ZWUo77nT.js} +55 -56
- package/dist/_chunks/ListPage-ZWUo77nT.js.map +1 -0
- package/dist/_chunks/{ListPage-Ms6egnF5.js → ListPage-bE4a6YkV.js} +3 -3
- package/dist/_chunks/{ListPage-Ms6egnF5.js.map → ListPage-bE4a6YkV.js.map} +1 -1
- package/dist/_chunks/{ListPage-NmUS_cOz.mjs → ListPage-p17R2Gql.mjs} +14 -18
- package/dist/_chunks/ListPage-p17R2Gql.mjs.map +1 -0
- package/dist/_chunks/{ListPage-Pf5LxUYn.js → ListPage-rCVvOLlD.js} +14 -20
- package/dist/_chunks/ListPage-rCVvOLlD.js.map +1 -0
- package/dist/_chunks/{ListPage-yymh17qi.js → ListPage-u6uVacPz.js} +14 -15
- package/dist/_chunks/ListPage-u6uVacPz.js.map +1 -0
- package/dist/_chunks/{ListView--43zLiHW.mjs → ListView--O7X6dMw.mjs} +13 -14
- package/dist/_chunks/ListView--O7X6dMw.mjs.map +1 -0
- package/dist/_chunks/{ListView-YtMAQnXL.js → ListView-SsUn5vcn.js} +11 -12
- package/dist/_chunks/ListView-SsUn5vcn.js.map +1 -0
- package/dist/_chunks/{ListView-nfA6o3qO.js → ListView-ZkjwQBXQ.js} +10 -11
- package/dist/_chunks/ListView-ZkjwQBXQ.js.map +1 -0
- package/dist/_chunks/{ListView-qPiKeCxj.mjs → ListView-oP-C8SCR.mjs} +12 -13
- package/dist/_chunks/ListView-oP-C8SCR.mjs.map +1 -0
- package/dist/_chunks/{ListViewPage-fPFonK_X.mjs → ListViewPage-1VNVP9Rw.mjs} +12 -13
- package/dist/_chunks/ListViewPage-1VNVP9Rw.mjs.map +1 -0
- package/dist/_chunks/{ListViewPage-Ys7-G2XX.js → ListViewPage-idgrhBAP.js} +16 -17
- package/dist/_chunks/ListViewPage-idgrhBAP.js.map +1 -0
- package/dist/_chunks/{Login-Ge3DZEpr.js → Login-4Igrm6CC.js} +2 -2
- package/dist/_chunks/{Login-Ge3DZEpr.js.map → Login-4Igrm6CC.js.map} +1 -1
- package/dist/_chunks/{Login-6kXI90Vy.mjs → Login-B55AM-7k.mjs} +2 -2
- package/dist/_chunks/{Login-6kXI90Vy.mjs.map → Login-B55AM-7k.mjs.map} +1 -1
- package/dist/_chunks/{MagicLinkEE-HXWaLr0K.mjs → MagicLinkEE-Zy_9ZZ7y.mjs} +3 -3
- package/dist/_chunks/{MagicLinkEE-HXWaLr0K.mjs.map → MagicLinkEE-Zy_9ZZ7y.mjs.map} +1 -1
- package/dist/_chunks/{MagicLinkEE-sXtA2gUK.js → MagicLinkEE-v7xTuVEA.js} +3 -3
- package/dist/_chunks/{MagicLinkEE-sXtA2gUK.js.map → MagicLinkEE-v7xTuVEA.js.map} +1 -1
- package/dist/_chunks/{MarketplacePage-hVOJ9_0k.mjs → MarketplacePage-UGys0LVN.mjs} +20 -17
- package/dist/_chunks/MarketplacePage-UGys0LVN.mjs.map +1 -0
- package/dist/_chunks/{MarketplacePage-s8KDwNwK.js → MarketplacePage-tWKM5xe8.js} +22 -19
- package/dist/_chunks/MarketplacePage-tWKM5xe8.js.map +1 -0
- package/dist/_chunks/{NoContentTypePage-szvJnQKF.mjs → NoContentTypePage-BaaTD5uB.mjs} +4 -6
- package/dist/_chunks/NoContentTypePage-BaaTD5uB.mjs.map +1 -0
- package/dist/_chunks/{NoContentTypePage-7YEcgsE3.js → NoContentTypePage-Lbuve_Uu.js} +3 -5
- package/dist/_chunks/NoContentTypePage-Lbuve_Uu.js.map +1 -0
- package/dist/_chunks/{NoPermissionsPage-pqQFFlXa.mjs → NoPermissionsPage--Oa97N7k.mjs} +5 -7
- package/dist/_chunks/NoPermissionsPage--Oa97N7k.mjs.map +1 -0
- package/dist/_chunks/{NoPermissionsPage-UX-5msLb.js → NoPermissionsPage-q44k5VFX.js} +3 -5
- package/dist/_chunks/NoPermissionsPage-q44k5VFX.js.map +1 -0
- package/dist/_chunks/{Permissions-a0IZJ8dM.js → Permissions-CFuwI0Ni.js} +5 -6
- package/dist/_chunks/Permissions-CFuwI0Ni.js.map +1 -0
- package/dist/_chunks/{Permissions-NUaDxULo.mjs → Permissions-NbmBkSB4.mjs} +3 -3
- package/dist/_chunks/Permissions-NbmBkSB4.mjs.map +1 -0
- package/dist/_chunks/{PrivateRoute-eP4-pBby.mjs → PrivateRoute-YN_98pM_.mjs} +2 -2
- package/dist/_chunks/{PrivateRoute-eP4-pBby.mjs.map → PrivateRoute-YN_98pM_.mjs.map} +1 -1
- package/dist/_chunks/{PrivateRoute-KGxyTa5b.js → PrivateRoute-avlq1MEy.js} +2 -2
- package/dist/_chunks/{PrivateRoute-KGxyTa5b.js.map → PrivateRoute-avlq1MEy.js.map} +1 -1
- package/dist/_chunks/{ProfilePage-MBCGqbc_.js → ProfilePage-brPbqDP1.js} +14 -16
- package/dist/_chunks/ProfilePage-brPbqDP1.js.map +1 -0
- package/dist/_chunks/{ProfilePage-LXB-_EZ8.mjs → ProfilePage-eCIvxxJY.mjs} +15 -17
- package/dist/_chunks/ProfilePage-eCIvxxJY.mjs.map +1 -0
- package/dist/_chunks/{ReviewWorkflowsColumn-Ancp7-x3.js → ReviewWorkflowsColumn-HfjzpLFU.js} +2 -2
- package/dist/_chunks/{ReviewWorkflowsColumn-Ancp7-x3.js.map → ReviewWorkflowsColumn-HfjzpLFU.js.map} +1 -1
- package/dist/_chunks/{ReviewWorkflowsColumn-WzYpj2O3.mjs → ReviewWorkflowsColumn-sPZxvFUd.mjs} +2 -2
- package/dist/_chunks/{ReviewWorkflowsColumn-WzYpj2O3.mjs.map → ReviewWorkflowsColumn-sPZxvFUd.mjs.map} +1 -1
- package/dist/_chunks/{SelectRoles-Pr2wqehq.js → SelectRoles-BmNzL0q5.js} +9 -7
- package/dist/_chunks/SelectRoles-BmNzL0q5.js.map +1 -0
- package/dist/_chunks/{SelectRoles-Dxz_rAaT.mjs → SelectRoles-jvH4WUf6.mjs} +8 -6
- package/dist/_chunks/SelectRoles-jvH4WUf6.mjs.map +1 -0
- package/dist/_chunks/{SingleSignOnPage-4dK4id8H.js → SingleSignOnPage-ZyiHtZxJ.js} +10 -11
- package/dist/_chunks/SingleSignOnPage-ZyiHtZxJ.js.map +1 -0
- package/dist/_chunks/{SingleSignOnPage-gxgIeURz.mjs → SingleSignOnPage-aMd3wcAh.mjs} +12 -13
- package/dist/_chunks/SingleSignOnPage-aMd3wcAh.mjs.map +1 -0
- package/dist/_chunks/{Table-NiTkS4IC.mjs → Table-591I_RMU.mjs} +2 -3
- package/dist/_chunks/Table-591I_RMU.mjs.map +1 -0
- package/dist/_chunks/{Table-_9gVkGGi.js → Table-aUfykqgd.js} +3 -4
- package/dist/_chunks/Table-aUfykqgd.js.map +1 -0
- package/dist/_chunks/{TokenTypeSelect-jtfCyMMZ.mjs → TokenTypeSelect-vIBdBE9t.mjs} +9 -10
- package/dist/_chunks/TokenTypeSelect-vIBdBE9t.mjs.map +1 -0
- package/dist/_chunks/{TokenTypeSelect-3aWUm1cW.js → TokenTypeSelect-vp-54yBv.js} +10 -11
- package/dist/_chunks/TokenTypeSelect-vp-54yBv.js.map +1 -0
- package/dist/_chunks/{UseCasePage-QK-B8FfM.js → UseCasePage-0_alQEc9.js} +6 -7
- package/dist/_chunks/UseCasePage-0_alQEc9.js.map +1 -0
- package/dist/_chunks/{UseCasePage-0qXYZ8kt.mjs → UseCasePage-Cxu2FeWo.mjs} +6 -7
- package/dist/_chunks/UseCasePage-Cxu2FeWo.mjs.map +1 -0
- package/dist/_chunks/{apiTokens-TayNdk_V.js → apiTokens-IG3rF-G2.js} +2 -2
- package/dist/_chunks/{apiTokens-TayNdk_V.js.map → apiTokens-IG3rF-G2.js.map} +1 -1
- package/dist/_chunks/{apiTokens-DO6vkoyd.mjs → apiTokens-wLmJ3Liv.mjs} +2 -2
- package/dist/_chunks/{apiTokens-DO6vkoyd.mjs.map → apiTokens-wLmJ3Liv.mjs.map} +1 -1
- package/dist/_chunks/{constants-_T5uxsuv.mjs → constants-0OGkpIzK.mjs} +3 -3
- package/dist/_chunks/{constants-_T5uxsuv.mjs.map → constants-0OGkpIzK.mjs.map} +1 -1
- package/dist/_chunks/{constants-RZp8o_c4.js → constants-7yqqXq3r.js} +2 -2
- package/dist/_chunks/{constants-RZp8o_c4.js.map → constants-7yqqXq3r.js.map} +1 -1
- package/dist/_chunks/{constants-FEW7x2Od.mjs → constants-JgR8CVx2.mjs} +2 -2
- package/dist/_chunks/{constants-FEW7x2Od.mjs.map → constants-JgR8CVx2.mjs.map} +1 -1
- package/dist/_chunks/{constants-Xd-X3SCR.js → constants-XJLrl2Tl.js} +3 -3
- package/dist/_chunks/{constants-Xd-X3SCR.js.map → constants-XJLrl2Tl.js.map} +1 -1
- package/dist/_chunks/{index-hjUhNUvw.mjs → index-GIVuHJgC.mjs} +647 -312
- package/dist/_chunks/index-GIVuHJgC.mjs.map +1 -0
- package/dist/_chunks/{index-ejSDPT-T.js → index-haHGOQMJ.js} +553 -218
- package/dist/_chunks/index-haHGOQMJ.js.map +1 -0
- package/dist/_chunks/{selectors-uLWxH-jN.mjs → selectors--2Vzk8PA.mjs} +2 -2
- package/dist/_chunks/{selectors-uLWxH-jN.mjs.map → selectors--2Vzk8PA.mjs.map} +1 -1
- package/dist/_chunks/{selectors-T2YIN4Fb.js → selectors-NSSzzIzx.js} +2 -2
- package/dist/_chunks/{selectors-T2YIN4Fb.js.map → selectors-NSSzzIzx.js.map} +1 -1
- package/dist/_chunks/{transferTokens-jdkk-sPx.mjs → transferTokens-WIsWKVbF.mjs} +2 -2
- package/dist/_chunks/{transferTokens-jdkk-sPx.mjs.map → transferTokens-WIsWKVbF.mjs.map} +1 -1
- package/dist/_chunks/{transferTokens-T-kGMb3U.js → transferTokens-xL4mlopP.js} +2 -2
- package/dist/_chunks/{transferTokens-T-kGMb3U.js.map → transferTokens-xL4mlopP.js.map} +1 -1
- package/dist/_chunks/{useAdminRoles-QJQS1BCd.mjs → useAdminRoles--ozrdfW_.mjs} +2 -2
- package/dist/_chunks/{useAdminRoles-QJQS1BCd.mjs.map → useAdminRoles--ozrdfW_.mjs.map} +1 -1
- package/dist/_chunks/{useAdminRoles-SnzC_mvy.js → useAdminRoles-Y25Pjlcy.js} +2 -2
- package/dist/_chunks/{useAdminRoles-SnzC_mvy.js.map → useAdminRoles-Y25Pjlcy.js.map} +1 -1
- package/dist/_chunks/{useContentTypes-Lpg-eJmK.js → useContentTypes-Vr8jkHQL.js} +4 -5
- package/dist/_chunks/useContentTypes-Vr8jkHQL.js.map +1 -0
- package/dist/_chunks/{useContentTypes-U-n1-lz0.mjs → useContentTypes-ralhLmpD.mjs} +4 -5
- package/dist/_chunks/useContentTypes-ralhLmpD.mjs.map +1 -0
- package/dist/_chunks/{useLicenseLimitNotification-yJHxF4YO.mjs → useLicenseLimitNotification-RSTkqcfW.mjs} +5 -6
- package/dist/_chunks/useLicenseLimitNotification-RSTkqcfW.mjs.map +1 -0
- package/dist/_chunks/{useLicenseLimitNotification-Hjv_LKmp.js → useLicenseLimitNotification-fSsffVh-.js} +5 -6
- package/dist/_chunks/useLicenseLimitNotification-fSsffVh-.js.map +1 -0
- package/dist/_chunks/{useReviewWorkflows-0rQx2KxS.mjs → useReviewWorkflows--7WPIykR.mjs} +2 -2
- package/dist/_chunks/{useReviewWorkflows-0rQx2KxS.mjs.map → useReviewWorkflows--7WPIykR.mjs.map} +1 -1
- package/dist/_chunks/{useReviewWorkflows-QoSEilRp.js → useReviewWorkflows-4t3eVbDa.js} +2 -2
- package/dist/_chunks/{useReviewWorkflows-QoSEilRp.js.map → useReviewWorkflows-4t3eVbDa.js.map} +1 -1
- package/dist/_chunks/{useSyncRbac-hZJWbmmY.js → useSyncRbac-Fw5UPeMQ.js} +2 -2
- package/dist/_chunks/{useSyncRbac-hZJWbmmY.js.map → useSyncRbac-Fw5UPeMQ.js.map} +1 -1
- package/dist/_chunks/{useSyncRbac-wVgN6XIc.mjs → useSyncRbac-JNQibLFa.mjs} +2 -2
- package/dist/_chunks/{useSyncRbac-wVgN6XIc.mjs.map → useSyncRbac-JNQibLFa.mjs.map} +1 -1
- package/dist/_chunks/{useWebhooks-1ZG0V0Mc.js → useWebhooks-IXb4Ks8E.js} +2 -2
- package/dist/_chunks/{useWebhooks-1ZG0V0Mc.js.map → useWebhooks-IXb4Ks8E.js.map} +1 -1
- package/dist/_chunks/{useWebhooks-WBwti5Jl.mjs → useWebhooks-sfNt0r3v.mjs} +2 -2
- package/dist/_chunks/{useWebhooks-WBwti5Jl.mjs.map → useWebhooks-sfNt0r3v.mjs.map} +1 -1
- package/dist/_chunks/{validateWorkflow-23kb45Oa.mjs → validateWorkflow-YRBggwod.mjs} +5 -6
- package/dist/_chunks/validateWorkflow-YRBggwod.mjs.map +1 -0
- package/dist/_chunks/{validateWorkflow-MaEpFiHz.js → validateWorkflow-akFNValJ.js} +8 -9
- package/dist/_chunks/validateWorkflow-akFNValJ.js.map +1 -0
- package/dist/_chunks/{validation-7cD0kJHF.js → validation--QPWqn0e.js} +2 -2
- package/dist/_chunks/{validation-7cD0kJHF.js.map → validation--QPWqn0e.js.map} +1 -1
- package/dist/_chunks/{validation-rilbXPnt.mjs → validation-hlioQ0PO.mjs} +2 -2
- package/dist/_chunks/{validation-rilbXPnt.mjs.map → validation-hlioQ0PO.mjs.map} +1 -1
- package/dist/admin/index.js +7 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +28 -22
- 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/pages/EditView/components/DocumentActions.d.ts +2 -1
- 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/features/AppInfo.d.ts +22 -0
- package/dist/admin/src/features/Notifications.d.ts +47 -0
- package/dist/admin/src/hooks/useAPIErrorHandler.d.ts +4 -3
- 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 -4
- package/dist/admin/src/pages/Marketplace/components/NpmPackageCard.d.ts +1 -1
- package/dist/admin/src/pages/Marketplace/components/NpmPackagesGrid.d.ts +1 -1
- package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +2 -2
- 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/getYupInnerErrors.d.ts +7 -0
- package/dist/admin/src/utils/normalizeAPIError.d.ts +2 -2
- package/dist/admin/src/utils/users.d.ts +1 -1
- 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/dist/server/src/validation/api-tokens.d.ts +4 -27
- package/dist/server/src/validation/api-tokens.d.ts.map +1 -1
- package/dist/server/src/validation/authentication/register.d.ts +2 -8
- package/dist/server/src/validation/authentication/register.d.ts.map +1 -1
- package/dist/server/src/validation/permission.d.ts +4 -53
- package/dist/server/src/validation/permission.d.ts.map +1 -1
- package/dist/server/src/validation/policies/hasPermissions.d.ts +2 -7
- package/dist/server/src/validation/policies/hasPermissions.d.ts.map +1 -1
- package/dist/server/src/validation/role.d.ts +6 -23
- package/dist/server/src/validation/role.d.ts.map +1 -1
- package/dist/server/src/validation/transfer/token.d.ts +4 -23
- package/dist/server/src/validation/transfer/token.d.ts.map +1 -1
- package/dist/server/src/validation/user.d.ts +8 -56
- package/dist/server/src/validation/user.d.ts.map +1 -1
- package/package.json +12 -12
- package/dist/_chunks/ApplicationInfoPage-1OdKMDYH.js.map +0 -1
- package/dist/_chunks/ApplicationInfoPage-ed6y9Q-B.mjs.map +0 -1
- package/dist/_chunks/AuthenticatedLayout-PPlOm7kb.js.map +0 -1
- package/dist/_chunks/AuthenticatedLayout-knXNB2i2.mjs.map +0 -1
- package/dist/_chunks/ComponentConfigurationPage-okd3XovW.mjs.map +0 -1
- package/dist/_chunks/ComponentConfigurationPage-xZMDjeVf.js.map +0 -1
- package/dist/_chunks/CreatePage-1Oi4-aR6.js.map +0 -1
- package/dist/_chunks/CreatePage-DmNFNVN9.js.map +0 -1
- package/dist/_chunks/CreatePage-P1F3dkB3.mjs.map +0 -1
- package/dist/_chunks/CreatePage-PM_r99U5.mjs.map +0 -1
- package/dist/_chunks/EditConfigurationPage-LItt0mJo.mjs.map +0 -1
- package/dist/_chunks/EditConfigurationPage-PZ4yq1bM.js.map +0 -1
- package/dist/_chunks/EditPage--EPGgPNr.mjs.map +0 -1
- package/dist/_chunks/EditPage-30rqjB1d.mjs.map +0 -1
- package/dist/_chunks/EditPage-MPNLCYgQ.mjs.map +0 -1
- package/dist/_chunks/EditPage-W6hncyNY.js.map +0 -1
- package/dist/_chunks/EditPage-_N_lm93z.js.map +0 -1
- package/dist/_chunks/EditPage-mU2WAH0F.js.map +0 -1
- package/dist/_chunks/EditView-0lXpbgG0.mjs.map +0 -1
- package/dist/_chunks/EditView-wDP9PNQY.js.map +0 -1
- package/dist/_chunks/EditViewPage-0Pd8zBi7.js.map +0 -1
- package/dist/_chunks/EditViewPage-R6diW-gL.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-ed0-10GO.js.map +0 -1
- package/dist/_chunks/EditViewPage-uWYR_o8w.mjs.map +0 -1
- package/dist/_chunks/Filters-f6ghLf0Z.js.map +0 -1
- package/dist/_chunks/Filters-rPaxqj4F.mjs.map +0 -1
- package/dist/_chunks/Form-QOZA9Aq6.mjs.map +0 -1
- package/dist/_chunks/Form-eqzCPjSo.js.map +0 -1
- package/dist/_chunks/History-Eq4_WQPf.mjs.map +0 -1
- package/dist/_chunks/History-j00hpmXV.js.map +0 -1
- package/dist/_chunks/HomePage-3IVOMrYf.js.map +0 -1
- package/dist/_chunks/HomePage-O-TRGX5T.mjs.map +0 -1
- package/dist/_chunks/InputRenderer-AVDw8MeU.js.map +0 -1
- package/dist/_chunks/InputRenderer-bJwYq9ga.mjs.map +0 -1
- package/dist/_chunks/InstalledPluginsPage-FkR2xkQz.js.map +0 -1
- package/dist/_chunks/InstalledPluginsPage-R2hVFPZl.mjs.map +0 -1
- package/dist/_chunks/Layout-G49-Vc5u.js.map +0 -1
- package/dist/_chunks/Layout-cV6Se3U9.mjs.map +0 -1
- package/dist/_chunks/ListConfigurationPage-70qtv4Ci.js.map +0 -1
- package/dist/_chunks/ListConfigurationPage-PrJNO_6y.mjs.map +0 -1
- package/dist/_chunks/ListPage-2lswUYQN.js.map +0 -1
- package/dist/_chunks/ListPage-78Cv8Vfq.js.map +0 -1
- package/dist/_chunks/ListPage-7dZ3nYvc.js.map +0 -1
- package/dist/_chunks/ListPage-Cvn3WbMH.mjs.map +0 -1
- package/dist/_chunks/ListPage-NmUS_cOz.mjs.map +0 -1
- package/dist/_chunks/ListPage-Pf5LxUYn.js.map +0 -1
- package/dist/_chunks/ListPage-edro79m2.mjs.map +0 -1
- package/dist/_chunks/ListPage-mAUCZIg8.mjs.map +0 -1
- package/dist/_chunks/ListPage-xFkcmM1b.mjs.map +0 -1
- package/dist/_chunks/ListPage-yymh17qi.js.map +0 -1
- package/dist/_chunks/ListView--43zLiHW.mjs.map +0 -1
- package/dist/_chunks/ListView-YtMAQnXL.js.map +0 -1
- package/dist/_chunks/ListView-nfA6o3qO.js.map +0 -1
- package/dist/_chunks/ListView-qPiKeCxj.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-Ys7-G2XX.js.map +0 -1
- package/dist/_chunks/ListViewPage-fPFonK_X.mjs.map +0 -1
- package/dist/_chunks/MarketplacePage-hVOJ9_0k.mjs.map +0 -1
- package/dist/_chunks/MarketplacePage-s8KDwNwK.js.map +0 -1
- package/dist/_chunks/NoContentTypePage-7YEcgsE3.js.map +0 -1
- package/dist/_chunks/NoContentTypePage-szvJnQKF.mjs.map +0 -1
- package/dist/_chunks/NoPermissionsPage-UX-5msLb.js.map +0 -1
- package/dist/_chunks/NoPermissionsPage-pqQFFlXa.mjs.map +0 -1
- package/dist/_chunks/Permissions-NUaDxULo.mjs.map +0 -1
- package/dist/_chunks/Permissions-a0IZJ8dM.js.map +0 -1
- package/dist/_chunks/ProfilePage-LXB-_EZ8.mjs.map +0 -1
- package/dist/_chunks/ProfilePage-MBCGqbc_.js.map +0 -1
- package/dist/_chunks/SelectRoles-Dxz_rAaT.mjs.map +0 -1
- package/dist/_chunks/SelectRoles-Pr2wqehq.js.map +0 -1
- package/dist/_chunks/SingleSignOnPage-4dK4id8H.js.map +0 -1
- package/dist/_chunks/SingleSignOnPage-gxgIeURz.mjs.map +0 -1
- package/dist/_chunks/Table-NiTkS4IC.mjs.map +0 -1
- package/dist/_chunks/Table-_9gVkGGi.js.map +0 -1
- package/dist/_chunks/TokenTypeSelect-3aWUm1cW.js.map +0 -1
- package/dist/_chunks/TokenTypeSelect-jtfCyMMZ.mjs.map +0 -1
- package/dist/_chunks/UseCasePage-0qXYZ8kt.mjs.map +0 -1
- package/dist/_chunks/UseCasePage-QK-B8FfM.js.map +0 -1
- package/dist/_chunks/index-ejSDPT-T.js.map +0 -1
- package/dist/_chunks/index-hjUhNUvw.mjs.map +0 -1
- package/dist/_chunks/useContentTypes-Lpg-eJmK.js.map +0 -1
- package/dist/_chunks/useContentTypes-U-n1-lz0.mjs.map +0 -1
- package/dist/_chunks/useLicenseLimitNotification-Hjv_LKmp.js.map +0 -1
- package/dist/_chunks/useLicenseLimitNotification-yJHxF4YO.mjs.map +0 -1
- package/dist/_chunks/validateWorkflow-23kb45Oa.mjs.map +0 -1
- package/dist/_chunks/validateWorkflow-MaEpFiHz.js.map +0 -1
- package/dist/admin/src/types/errors.d.ts +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table-591I_RMU.mjs","sources":["../../admin/src/pages/Settings/components/Tokens/Table.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, IconButton, Typography, useCollator } from '@strapi/design-system';\nimport { Link } from '@strapi/design-system/v2';\nimport { Pencil, Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useNavigate } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { ApiToken } from '../../../../../../shared/contracts/api-token';\nimport { SanitizedTransferToken } from '../../../../../../shared/contracts/transfer';\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { RelativeTime } from '../../../../components/RelativeTime';\nimport { Table as TableImpl } from '../../../../components/Table';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useQueryParams } from '../../../../hooks/useQueryParams';\n\nimport type { Entity } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * Table\n * -----------------------------------------------------------------------------------------------*/\n\ninterface TableProps\n extends Pick<TableImpl.Props<SanitizedTransferToken | ApiToken>, 'headers' | 'isLoading'> {\n onConfirmDelete: (id: Entity.ID) => void;\n permissions: {\n canRead: boolean;\n canDelete: boolean;\n canUpdate: boolean;\n };\n tokens: SanitizedTransferToken[] | ApiToken[];\n tokenType: 'api-token' | 'transfer-token';\n}\n\nconst Table = ({\n permissions,\n headers = [],\n isLoading = false,\n tokens = [],\n onConfirmDelete,\n tokenType,\n}: TableProps) => {\n const [{ query }] = useQueryParams<{ sort?: string }>();\n const { formatMessage, locale } = useIntl();\n const [, sortOrder] = query && query.sort ? query.sort.split(':') : [undefined, 'ASC'];\n const navigate = useNavigate();\n const { trackUsage } = useTracking();\n const formatter = useCollator(locale);\n\n const sortedTokens = [...tokens].sort((a, b) => {\n return sortOrder === 'DESC'\n ? formatter.compare(b.name, a.name)\n : formatter.compare(a.name, b.name);\n });\n\n const { canDelete, canUpdate, canRead } = permissions;\n\n const handleRowClick = (id: Entity.ID) => () => {\n if (canRead) {\n trackUsage('willEditTokenFromList', {\n tokenType,\n });\n navigate(id.toString());\n }\n };\n\n return (\n <TableImpl.Root headers={headers} rows={sortedTokens} isLoading={isLoading}>\n <TableImpl.Content>\n <TableImpl.Head>\n {headers.map((header) => (\n <TableImpl.HeaderCell key={header.name} {...header} />\n ))}\n </TableImpl.Head>\n <TableImpl.Empty />\n <TableImpl.Loading />\n <TableImpl.Body>\n {sortedTokens.map((token) => (\n <TableImpl.Row key={token.id} onClick={handleRowClick(token.id)}>\n <TableImpl.Cell maxWidth={`${250 / 16}rem`}>\n <Typography textColor=\"neutral800\" fontWeight=\"bold\" ellipsis>\n {token.name}\n </Typography>\n </TableImpl.Cell>\n <TableImpl.Cell maxWidth={`${250 / 16}rem`}>\n <Typography textColor=\"neutral800\" ellipsis>\n {token.description}\n </Typography>\n </TableImpl.Cell>\n <TableImpl.Cell>\n <Typography textColor=\"neutral800\">\n {/* @ts-expect-error One of the tokens doesn't have createdAt */}\n <RelativeTime timestamp={new Date(token.createdAt)} />\n </Typography>\n </TableImpl.Cell>\n <TableImpl.Cell>\n {token.lastUsedAt && (\n <Typography textColor=\"neutral800\">\n <RelativeTime\n timestamp={new Date(token.lastUsedAt)}\n customIntervals={[\n {\n unit: 'hours',\n threshold: 1,\n text: formatMessage({\n id: 'Settings.apiTokens.lastHour',\n defaultMessage: 'last hour',\n }),\n },\n ]}\n />\n </Typography>\n )}\n </TableImpl.Cell>\n {canUpdate || canRead || canDelete ? (\n <TableImpl.Cell>\n <Flex justifyContent=\"end\">\n {canUpdate && <UpdateButton tokenName={token.name} tokenId={token.id} />}\n {canDelete && (\n <DeleteButton\n tokenName={token.name}\n onClickDelete={() => onConfirmDelete?.(token.id)}\n tokenType={tokenType}\n />\n )}\n </Flex>\n </TableImpl.Cell>\n ) : null}\n </TableImpl.Row>\n ))}\n </TableImpl.Body>\n </TableImpl.Content>\n </TableImpl.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * CRUD Buttons\n * -----------------------------------------------------------------------------------------------*/\n\nconst MESSAGES_MAP = {\n edit: {\n id: 'app.component.table.edit',\n defaultMessage: 'Edit {target}',\n },\n read: {\n id: 'app.component.table.read',\n defaultMessage: 'Read {target}',\n },\n};\n\ninterface DefaultButtonProps {\n tokenName: string;\n tokenId: Entity.ID;\n buttonType?: 'edit' | 'read';\n children: React.ReactNode;\n}\n\nconst DefaultButton = ({\n tokenName,\n tokenId,\n buttonType = 'edit',\n children,\n}: DefaultButtonProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <LinkStyled\n forwardedAs={NavLink}\n to={tokenId.toString()}\n title={formatMessage(MESSAGES_MAP[buttonType], { target: tokenName })}\n >\n {children}\n </LinkStyled>\n );\n};\n\nconst LinkStyled = styled(Link)`\n svg {\n path {\n fill: ${({ theme }) => theme.colors.neutral500};\n }\n }\n\n &:hover,\n &:focus {\n svg {\n path {\n fill: ${({ theme }) => theme.colors.neutral800};\n }\n }\n }\n`;\n\ninterface DeleteButtonProps extends Pick<ButtonProps, 'tokenName'>, Pick<TableProps, 'tokenType'> {\n onClickDelete: () => void;\n}\n\nconst DeleteButton = ({ tokenName, onClickDelete, tokenType }: DeleteButtonProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [showConfirmDialog, setShowConfirmDialog] = React.useState(false);\n const handleClickDelete = () => {\n setShowConfirmDialog(false);\n trackUsage('willDeleteToken', {\n tokenType,\n });\n onClickDelete();\n };\n\n return (\n <Box paddingLeft={1} onClick={(e) => e.stopPropagation()}>\n <IconButton\n onClick={() => {\n setShowConfirmDialog(true);\n }}\n label={formatMessage(\n {\n id: 'global.delete-target',\n defaultMessage: 'Delete {target}',\n },\n { target: `${tokenName}` }\n )}\n name=\"delete\"\n borderWidth={0}\n icon={<Trash />}\n />\n <ConfirmDialog\n onClose={() => setShowConfirmDialog(false)}\n onConfirm={handleClickDelete}\n isOpen={showConfirmDialog}\n />\n </Box>\n );\n};\n\ninterface ButtonProps {\n tokenName: string;\n tokenId: Entity.ID;\n}\n\nconst UpdateButton = ({ tokenName, tokenId }: ButtonProps) => {\n return (\n <DefaultButton tokenName={tokenName} tokenId={tokenId}>\n <Pencil width={12} />\n </DefaultButton>\n );\n};\n\nexport { Table };\nexport type { TableProps };\n"],"names":["TableImpl"],"mappings":"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"}
|
|
@@ -3,12 +3,11 @@ const jsxRuntime = require("react/jsx-runtime");
|
|
|
3
3
|
const React = require("react");
|
|
4
4
|
const designSystem = require("@strapi/design-system");
|
|
5
5
|
const v2 = require("@strapi/design-system/v2");
|
|
6
|
-
const helperPlugin = require("@strapi/helper-plugin");
|
|
7
6
|
const Icons = require("@strapi/icons");
|
|
8
7
|
const reactIntl = require("react-intl");
|
|
9
8
|
const reactRouterDom = require("react-router-dom");
|
|
10
9
|
const styled = require("styled-components");
|
|
11
|
-
const index = require("./index-
|
|
10
|
+
const index = require("./index-haHGOQMJ.js");
|
|
12
11
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
13
12
|
function _interopNamespace(e) {
|
|
14
13
|
if (e && e.__esModule)
|
|
@@ -38,7 +37,7 @@ const Table = ({
|
|
|
38
37
|
onConfirmDelete,
|
|
39
38
|
tokenType
|
|
40
39
|
}) => {
|
|
41
|
-
const [{ query }] =
|
|
40
|
+
const [{ query }] = index.useQueryParams();
|
|
42
41
|
const { formatMessage, locale } = reactIntl.useIntl();
|
|
43
42
|
const [, sortOrder] = query && query.sort ? query.sort.split(":") : [void 0, "ASC"];
|
|
44
43
|
const navigate = reactRouterDom.useNavigate();
|
|
@@ -181,4 +180,4 @@ const UpdateButton = ({ tokenName, tokenId }) => {
|
|
|
181
180
|
return /* @__PURE__ */ jsxRuntime.jsx(DefaultButton, { tokenName, tokenId, children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Pencil, { width: 12 }) });
|
|
182
181
|
};
|
|
183
182
|
exports.Table = Table;
|
|
184
|
-
//# sourceMappingURL=Table-
|
|
183
|
+
//# sourceMappingURL=Table-aUfykqgd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table-aUfykqgd.js","sources":["../../admin/src/pages/Settings/components/Tokens/Table.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, IconButton, Typography, useCollator } from '@strapi/design-system';\nimport { Link } from '@strapi/design-system/v2';\nimport { Pencil, Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useNavigate } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { ApiToken } from '../../../../../../shared/contracts/api-token';\nimport { SanitizedTransferToken } from '../../../../../../shared/contracts/transfer';\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { RelativeTime } from '../../../../components/RelativeTime';\nimport { Table as TableImpl } from '../../../../components/Table';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useQueryParams } from '../../../../hooks/useQueryParams';\n\nimport type { Entity } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * Table\n * -----------------------------------------------------------------------------------------------*/\n\ninterface TableProps\n extends Pick<TableImpl.Props<SanitizedTransferToken | ApiToken>, 'headers' | 'isLoading'> {\n onConfirmDelete: (id: Entity.ID) => void;\n permissions: {\n canRead: boolean;\n canDelete: boolean;\n canUpdate: boolean;\n };\n tokens: SanitizedTransferToken[] | ApiToken[];\n tokenType: 'api-token' | 'transfer-token';\n}\n\nconst Table = ({\n permissions,\n headers = [],\n isLoading = false,\n tokens = [],\n onConfirmDelete,\n tokenType,\n}: TableProps) => {\n const [{ query }] = useQueryParams<{ sort?: string }>();\n const { formatMessage, locale } = useIntl();\n const [, sortOrder] = query && query.sort ? query.sort.split(':') : [undefined, 'ASC'];\n const navigate = useNavigate();\n const { trackUsage } = useTracking();\n const formatter = useCollator(locale);\n\n const sortedTokens = [...tokens].sort((a, b) => {\n return sortOrder === 'DESC'\n ? formatter.compare(b.name, a.name)\n : formatter.compare(a.name, b.name);\n });\n\n const { canDelete, canUpdate, canRead } = permissions;\n\n const handleRowClick = (id: Entity.ID) => () => {\n if (canRead) {\n trackUsage('willEditTokenFromList', {\n tokenType,\n });\n navigate(id.toString());\n }\n };\n\n return (\n <TableImpl.Root headers={headers} rows={sortedTokens} isLoading={isLoading}>\n <TableImpl.Content>\n <TableImpl.Head>\n {headers.map((header) => (\n <TableImpl.HeaderCell key={header.name} {...header} />\n ))}\n </TableImpl.Head>\n <TableImpl.Empty />\n <TableImpl.Loading />\n <TableImpl.Body>\n {sortedTokens.map((token) => (\n <TableImpl.Row key={token.id} onClick={handleRowClick(token.id)}>\n <TableImpl.Cell maxWidth={`${250 / 16}rem`}>\n <Typography textColor=\"neutral800\" fontWeight=\"bold\" ellipsis>\n {token.name}\n </Typography>\n </TableImpl.Cell>\n <TableImpl.Cell maxWidth={`${250 / 16}rem`}>\n <Typography textColor=\"neutral800\" ellipsis>\n {token.description}\n </Typography>\n </TableImpl.Cell>\n <TableImpl.Cell>\n <Typography textColor=\"neutral800\">\n {/* @ts-expect-error One of the tokens doesn't have createdAt */}\n <RelativeTime timestamp={new Date(token.createdAt)} />\n </Typography>\n </TableImpl.Cell>\n <TableImpl.Cell>\n {token.lastUsedAt && (\n <Typography textColor=\"neutral800\">\n <RelativeTime\n timestamp={new Date(token.lastUsedAt)}\n customIntervals={[\n {\n unit: 'hours',\n threshold: 1,\n text: formatMessage({\n id: 'Settings.apiTokens.lastHour',\n defaultMessage: 'last hour',\n }),\n },\n ]}\n />\n </Typography>\n )}\n </TableImpl.Cell>\n {canUpdate || canRead || canDelete ? (\n <TableImpl.Cell>\n <Flex justifyContent=\"end\">\n {canUpdate && <UpdateButton tokenName={token.name} tokenId={token.id} />}\n {canDelete && (\n <DeleteButton\n tokenName={token.name}\n onClickDelete={() => onConfirmDelete?.(token.id)}\n tokenType={tokenType}\n />\n )}\n </Flex>\n </TableImpl.Cell>\n ) : null}\n </TableImpl.Row>\n ))}\n </TableImpl.Body>\n </TableImpl.Content>\n </TableImpl.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * CRUD Buttons\n * -----------------------------------------------------------------------------------------------*/\n\nconst MESSAGES_MAP = {\n edit: {\n id: 'app.component.table.edit',\n defaultMessage: 'Edit {target}',\n },\n read: {\n id: 'app.component.table.read',\n defaultMessage: 'Read {target}',\n },\n};\n\ninterface DefaultButtonProps {\n tokenName: string;\n tokenId: Entity.ID;\n buttonType?: 'edit' | 'read';\n children: React.ReactNode;\n}\n\nconst DefaultButton = ({\n tokenName,\n tokenId,\n buttonType = 'edit',\n children,\n}: DefaultButtonProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <LinkStyled\n forwardedAs={NavLink}\n to={tokenId.toString()}\n title={formatMessage(MESSAGES_MAP[buttonType], { target: tokenName })}\n >\n {children}\n </LinkStyled>\n );\n};\n\nconst LinkStyled = styled(Link)`\n svg {\n path {\n fill: ${({ theme }) => theme.colors.neutral500};\n }\n }\n\n &:hover,\n &:focus {\n svg {\n path {\n fill: ${({ theme }) => theme.colors.neutral800};\n }\n }\n }\n`;\n\ninterface DeleteButtonProps extends Pick<ButtonProps, 'tokenName'>, Pick<TableProps, 'tokenType'> {\n onClickDelete: () => void;\n}\n\nconst DeleteButton = ({ tokenName, onClickDelete, tokenType }: DeleteButtonProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [showConfirmDialog, setShowConfirmDialog] = React.useState(false);\n const handleClickDelete = () => {\n setShowConfirmDialog(false);\n trackUsage('willDeleteToken', {\n tokenType,\n });\n onClickDelete();\n };\n\n return (\n <Box paddingLeft={1} onClick={(e) => e.stopPropagation()}>\n <IconButton\n onClick={() => {\n setShowConfirmDialog(true);\n }}\n label={formatMessage(\n {\n id: 'global.delete-target',\n defaultMessage: 'Delete {target}',\n },\n { target: `${tokenName}` }\n )}\n name=\"delete\"\n borderWidth={0}\n icon={<Trash />}\n />\n <ConfirmDialog\n onClose={() => setShowConfirmDialog(false)}\n onConfirm={handleClickDelete}\n isOpen={showConfirmDialog}\n />\n </Box>\n );\n};\n\ninterface ButtonProps {\n tokenName: string;\n tokenId: Entity.ID;\n}\n\nconst UpdateButton = ({ tokenName, tokenId }: ButtonProps) => {\n return (\n <DefaultButton tokenName={tokenName} tokenId={tokenId}>\n <Pencil width={12} />\n </DefaultButton>\n );\n};\n\nexport { Table };\nexport type { TableProps };\n"],"names":["useQueryParams","useIntl","useNavigate","useTracking","useCollator","jsx","TableImpl","jsxs","Typography","RelativeTime","Flex","NavLink","styled","Link","React","Box","IconButton","Trash","ConfirmDialog","Pencil"],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { HeaderLayout, Flex, Button, IconButton, SingleSelect, SingleSelectOption, Typography, Textarea, TextInput } from "@strapi/design-system";
|
|
4
|
-
import { useNotification, useClipboard } from "@strapi/helper-plugin";
|
|
5
4
|
import { Check, Refresh, Duplicate, Key } from "@strapi/icons";
|
|
6
5
|
import { useIntl } from "react-intl";
|
|
7
|
-
import {
|
|
6
|
+
import { a1 as BackButton, u as useNotification, o as useAPIErrorHandler, bl as useRegenerateTokenMutation, M as ConfirmDialog, d as useTracking, y as useClipboard } from "./index-GIVuHJgC.mjs";
|
|
8
7
|
import { C as ContentBox } from "./ContentBox-EWvnSfCf.mjs";
|
|
9
8
|
import { format, addDays } from "date-fns";
|
|
10
9
|
import * as locales from "date-fns/locale";
|
|
@@ -12,7 +11,7 @@ const Regenerate = ({ onRegenerate, url }) => {
|
|
|
12
11
|
const { formatMessage } = useIntl();
|
|
13
12
|
const [showConfirmDialog, setShowConfirmDialog] = React.useState(false);
|
|
14
13
|
const [isLoadingConfirmation, setIsLoadingConfirmation] = React.useState(false);
|
|
15
|
-
const toggleNotification = useNotification();
|
|
14
|
+
const { toggleNotification } = useNotification();
|
|
16
15
|
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
|
|
17
16
|
const [regenerateToken] = useRegenerateTokenMutation();
|
|
18
17
|
const regenerateData = async () => {
|
|
@@ -20,7 +19,7 @@ const Regenerate = ({ onRegenerate, url }) => {
|
|
|
20
19
|
const res = await regenerateToken(url);
|
|
21
20
|
if ("error" in res) {
|
|
22
21
|
toggleNotification({
|
|
23
|
-
type: "
|
|
22
|
+
type: "danger",
|
|
24
23
|
message: formatAPIError(res.error)
|
|
25
24
|
});
|
|
26
25
|
return;
|
|
@@ -30,11 +29,11 @@ const Regenerate = ({ onRegenerate, url }) => {
|
|
|
30
29
|
}
|
|
31
30
|
} catch (error) {
|
|
32
31
|
toggleNotification({
|
|
33
|
-
type: "
|
|
34
|
-
message: {
|
|
32
|
+
type: "danger",
|
|
33
|
+
message: formatMessage({
|
|
35
34
|
id: "notification.error",
|
|
36
35
|
defaultMessage: "Something went wrong"
|
|
37
|
-
}
|
|
36
|
+
})
|
|
38
37
|
});
|
|
39
38
|
} finally {
|
|
40
39
|
setIsLoadingConfirmation(false);
|
|
@@ -145,7 +144,7 @@ const FormHead = ({
|
|
|
145
144
|
};
|
|
146
145
|
const TokenBox = ({ token, tokenType }) => {
|
|
147
146
|
const { formatMessage } = useIntl();
|
|
148
|
-
const toggleNotification = useNotification();
|
|
147
|
+
const { toggleNotification } = useNotification();
|
|
149
148
|
const { trackUsage } = useTracking();
|
|
150
149
|
const { copy } = useClipboard();
|
|
151
150
|
const handleClick = (token2) => async () => {
|
|
@@ -157,7 +156,7 @@ const TokenBox = ({ token, tokenType }) => {
|
|
|
157
156
|
});
|
|
158
157
|
toggleNotification({
|
|
159
158
|
type: "success",
|
|
160
|
-
message: { id: "Settings.tokens.notification.copied" }
|
|
159
|
+
message: formatMessage({ id: "Settings.tokens.notification.copied" })
|
|
161
160
|
});
|
|
162
161
|
}
|
|
163
162
|
}
|
|
@@ -351,4 +350,4 @@ export {
|
|
|
351
350
|
TokenTypeSelect as b,
|
|
352
351
|
TokenBox as c
|
|
353
352
|
};
|
|
354
|
-
//# sourceMappingURL=TokenTypeSelect-
|
|
353
|
+
//# sourceMappingURL=TokenTypeSelect-vIBdBE9t.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenTypeSelect-vIBdBE9t.mjs","sources":["../../admin/src/pages/Settings/components/Tokens/FormHead.tsx","../../admin/src/pages/Settings/components/Tokens/TokenBox.tsx","../../admin/src/utils/locales.ts","../../admin/src/pages/Settings/pages/ApiTokens/EditView/utils/getDateOfExpiration.ts","../../admin/src/pages/Settings/utils/forms.ts","../../admin/src/pages/Settings/components/Tokens/LifeSpanInput.tsx","../../admin/src/pages/Settings/components/Tokens/TokenDescription.tsx","../../admin/src/pages/Settings/components/Tokens/TokenName.tsx","../../admin/src/pages/Settings/components/Tokens/TokenTypeSelect.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex, HeaderLayout } from '@strapi/design-system';\nimport { Check, Refresh } from '@strapi/icons';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRegenerateTokenMutation } from '../../../../services/api';\n\nimport type { Entity } from '@strapi/types';\n\ninterface RegenerateProps {\n onRegenerate?: (newKey: string) => void;\n url: string;\n}\n\nconst Regenerate = ({ onRegenerate, url }: RegenerateProps) => {\n const { formatMessage } = useIntl();\n const [showConfirmDialog, setShowConfirmDialog] = React.useState(false);\n\n const [isLoadingConfirmation, setIsLoadingConfirmation] = React.useState(false);\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const [regenerateToken] = useRegenerateTokenMutation();\n\n const regenerateData = async () => {\n try {\n const res = await regenerateToken(url);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n if (onRegenerate) {\n onRegenerate(res.data.accessKey);\n }\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n }),\n });\n } finally {\n setIsLoadingConfirmation(false);\n }\n };\n\n const handleConfirmRegeneration = async () => {\n regenerateData();\n setShowConfirmDialog(false);\n };\n\n return (\n <>\n <Button\n startIcon={<Refresh />}\n type=\"button\"\n size=\"S\"\n variant=\"tertiary\"\n onClick={() => setShowConfirmDialog(true)}\n name=\"regenerate\"\n >\n {formatMessage({\n id: 'Settings.tokens.regenerate',\n defaultMessage: 'Regenerate',\n })}\n </Button>\n\n <ConfirmDialog\n isOpen={showConfirmDialog}\n onClose={() => setShowConfirmDialog(false)}\n title={formatMessage({\n id: 'Settings.tokens.RegenerateDialog.title',\n defaultMessage: 'Regenerate token',\n })}\n endAction={\n <Button\n startIcon={<Refresh />}\n loading={isLoadingConfirmation}\n onClick={handleConfirmRegeneration}\n >\n {formatMessage({\n id: 'Settings.tokens.Button.regenerate',\n defaultMessage: 'Regenerate',\n })}\n </Button>\n }\n >\n {formatMessage({\n id: 'Settings.tokens.popUpWarning.message',\n defaultMessage: 'Are you sure you want to regenerate this token?',\n })}\n </ConfirmDialog>\n </>\n );\n};\n\ninterface Token {\n id: Entity.ID;\n name: string;\n}\n\ninterface FormHeadProps<TToken extends Token | null> {\n title: MessageDescriptor;\n token: TToken;\n canEditInputs: boolean;\n canRegenerate: boolean;\n setToken: (token: TToken) => void;\n isSubmitting: boolean;\n regenerateUrl: string;\n}\n\nexport const FormHead = <TToken extends Token | null>({\n title,\n token,\n setToken,\n canEditInputs,\n canRegenerate,\n isSubmitting,\n regenerateUrl,\n}: FormHeadProps<TToken>) => {\n const { formatMessage } = useIntl();\n const handleRegenerate = (newKey: string) => {\n setToken({\n ...token,\n accessKey: newKey,\n });\n };\n\n return (\n <HeaderLayout\n title={token?.name || formatMessage(title)}\n primaryAction={\n canEditInputs ? (\n <Flex gap={2}>\n {canRegenerate && token?.id && (\n <Regenerate\n onRegenerate={handleRegenerate}\n url={`${regenerateUrl}${token?.id ?? ''}`}\n />\n )}\n <Button\n disabled={isSubmitting}\n loading={isSubmitting}\n startIcon={<Check />}\n type=\"submit\"\n size=\"S\"\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n ) : (\n canRegenerate &&\n token?.id && (\n <Regenerate\n onRegenerate={handleRegenerate}\n url={`${regenerateUrl}${token?.id ?? ''}`}\n />\n )\n )\n }\n navigationAction={<BackButton />}\n ellipsis\n />\n );\n};\n","import { IconButton } from '@strapi/design-system';\nimport { Duplicate, Key } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { ContentBox } from '../../../../components/ContentBox';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useClipboard } from '../../../../hooks/useClipboard';\n\ninterface TokenBoxProps {\n token?: string;\n tokenType: 'transfer-token' | 'api-token';\n}\n\nexport const TokenBox = ({ token, tokenType }: TokenBoxProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { trackUsage } = useTracking();\n\n const { copy } = useClipboard();\n\n const handleClick = (token: TokenBoxProps['token']) => async () => {\n if (token) {\n const didCopy = await copy(token);\n\n if (didCopy) {\n trackUsage('didCopyTokenKey', {\n tokenType,\n });\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'Settings.tokens.notification.copied' }),\n });\n }\n }\n };\n\n return (\n <ContentBox\n endAction={\n token && (\n <span style={{ alignSelf: 'start' }}>\n <IconButton\n label={formatMessage({\n id: 'app.component.CopyToClipboard.label',\n defaultMessage: 'Copy to clipboard',\n })}\n onClick={handleClick(token)}\n borderWidth={0}\n icon={<Duplicate />}\n style={{ padding: 0, height: '1rem' }}\n />\n </span>\n )\n }\n title={\n token ||\n formatMessage({\n id: 'Settings.tokens.copy.editTitle',\n defaultMessage: 'This token isn’t accessible anymore.',\n })\n }\n subtitle={\n token\n ? formatMessage({\n id: 'Settings.tokens.copy.lastWarning',\n defaultMessage: 'Make sure to copy this token, you won’t be able to see it again!',\n })\n : formatMessage({\n id: 'Settings.tokens.copy.editMessage',\n defaultMessage: 'For security reasons, you can only see your token once.',\n })\n }\n icon={<Key />}\n iconBackground=\"neutral100\"\n />\n );\n};\n","import * as locales from 'date-fns/locale';\n\ntype LocaleName = keyof typeof locales;\n\n/**\n * Returns a valid date-fns locale name from a Strapi Admin locale.\n * Defaults to 'enUS' if the locale is not found.\n */\nconst getDateFnsLocaleName = (locale: string): LocaleName => {\n if (Object.keys(locales).includes(locale)) {\n return locale as LocaleName;\n }\n\n return 'enUS';\n};\n\nexport { getDateFnsLocaleName };\n","import { addDays, format } from 'date-fns';\nimport * as locales from 'date-fns/locale';\n\nimport { getDateFnsLocaleName } from '../../../../../../utils/locales';\n\nexport const getDateOfExpiration = (\n createdAt: string,\n duration: number | null,\n language: string = 'en'\n) => {\n if (duration && typeof duration === 'number') {\n const durationInDays = duration / 24 / 60 / 60 / 1000;\n\n return format(addDays(new Date(createdAt), durationInDays), 'PPP', {\n locale: locales[getDateFnsLocaleName(language)],\n });\n }\n\n return 'Unlimited';\n};\n","import { MessageDescriptor } from 'react-intl';\n\nconst isErrorMessageMessageDescriptor = (\n message: string | MessageDescriptor\n): message is MessageDescriptor => {\n return typeof message === 'object' && message !== null && 'id' in message;\n};\n\nexport { isErrorMessageMessageDescriptor };\n","import { SingleSelectOption, SingleSelect, Typography } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { getDateOfExpiration } from '../../pages/ApiTokens/EditView/utils/getDateOfExpiration';\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\nimport type { ApiToken } from '../../../../../../shared/contracts/api-token';\nimport type { TransferToken } from '../../../../../../shared/contracts/transfer';\n\ninterface LifeSpanInputProps {\n error?: string | MessageDescriptor;\n value?: string | number | null;\n onChange: (event: { target: { name: string; value: string } }) => void;\n isCreating: boolean;\n token: Partial<TransferToken> | Partial<ApiToken> | null;\n}\n\nexport const LifeSpanInput = ({\n token,\n error,\n value,\n onChange,\n isCreating,\n}: LifeSpanInputProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n <SingleSelect\n name=\"lifespan\"\n label={formatMessage({\n id: 'Settings.tokens.form.duration',\n defaultMessage: 'Token duration',\n })}\n value={value}\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error)\n ? error\n : { id: error, defaultMessage: error }\n )\n : undefined\n }\n onChange={(value) => {\n // @ts-expect-error – DS v2 won't support number types for select\n onChange({ target: { name: 'lifespan', value } });\n }}\n required\n disabled={!isCreating}\n placeholder=\"Select\"\n >\n <SingleSelectOption value=\"604800000\">\n {formatMessage({\n id: 'Settings.tokens.duration.7-days',\n defaultMessage: '7 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"2592000000\">\n {formatMessage({\n id: 'Settings.tokens.duration.30-days',\n defaultMessage: '30 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"7776000000\">\n {formatMessage({\n id: 'Settings.tokens.duration.90-days',\n defaultMessage: '90 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"0\">\n {formatMessage({\n id: 'Settings.tokens.duration.unlimited',\n defaultMessage: 'Unlimited',\n })}\n </SingleSelectOption>\n </SingleSelect>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {!isCreating &&\n `${formatMessage({\n id: 'Settings.tokens.duration.expiration-date',\n defaultMessage: 'Expiration date',\n // @ts-expect-error – TODO: fix this.\n })}: ${getDateOfExpiration(token?.createdAt, parseInt(value ?? '', 10))}`}\n </Typography>\n </>\n );\n};\n","import { Textarea, TextareaProps } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenDescriptionProps extends Pick<TextareaProps, 'onChange' | 'value'> {\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n}\n\nexport const TokenDescription = ({\n error,\n value,\n onChange,\n canEditInputs,\n}: TokenDescriptionProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Textarea\n label={formatMessage({\n id: 'Settings.tokens.form.description',\n defaultMessage: 'Description',\n })}\n id=\"description\"\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error)\n ? error\n : {\n id: error,\n defaultMessage: error,\n }\n )\n : undefined\n }\n onChange={onChange}\n disabled={!canEditInputs}\n >\n {value}\n </Textarea>\n );\n};\n","import { TextInput, TextInputProps } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenNameProps extends Pick<TextInputProps, 'onChange' | 'value'> {\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n}\n\nexport const TokenName = ({ error, value, onChange, canEditInputs }: TokenNameProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <TextInput\n name=\"name\"\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error) ? error : { id: error, defaultMessage: error }\n )\n : undefined\n }\n label={formatMessage({\n id: 'Settings.tokens.form.name',\n defaultMessage: 'Name',\n })}\n onChange={onChange}\n value={value}\n disabled={!canEditInputs}\n required\n />\n );\n};\n","import { SingleSelectOption, SingleSelect, SingleSelectProps } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenTypeSelectProps extends Pick<SingleSelectProps, 'onChange' | 'value'> {\n name?: string;\n options: Array<{\n label: MessageDescriptor;\n value: string;\n }>;\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n label: MessageDescriptor;\n}\n\nexport const TokenTypeSelect = ({\n name = 'type',\n error,\n value,\n onChange,\n canEditInputs,\n options = [],\n label,\n}: TokenTypeSelectProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <SingleSelect\n name={name}\n label={formatMessage({\n id: label.id,\n defaultMessage: label.defaultMessage,\n })}\n value={value}\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error) ? error : { id: error, defaultMessage: error }\n )\n : undefined\n }\n onChange={onChange}\n placeholder=\"Select\"\n required\n disabled={!canEditInputs}\n >\n {options &&\n options.map(({ value, label }) => (\n <SingleSelectOption key={value} value={value}>\n {formatMessage(label)}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n );\n};\n"],"names":["token","value","label"],"mappings":"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"}
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
const jsxRuntime = require("react/jsx-runtime");
|
|
3
3
|
const React = require("react");
|
|
4
4
|
const designSystem = require("@strapi/design-system");
|
|
5
|
-
const helperPlugin = require("@strapi/helper-plugin");
|
|
6
5
|
const Icons = require("@strapi/icons");
|
|
7
6
|
const reactIntl = require("react-intl");
|
|
8
|
-
const index = require("./index-
|
|
7
|
+
const index = require("./index-haHGOQMJ.js");
|
|
9
8
|
const ContentBox = require("./ContentBox-4TRGOJYI.js");
|
|
10
9
|
const dateFns = require("date-fns");
|
|
11
10
|
const locales = require("date-fns/locale");
|
|
@@ -33,7 +32,7 @@ const Regenerate = ({ onRegenerate, url }) => {
|
|
|
33
32
|
const { formatMessage } = reactIntl.useIntl();
|
|
34
33
|
const [showConfirmDialog, setShowConfirmDialog] = React__namespace.useState(false);
|
|
35
34
|
const [isLoadingConfirmation, setIsLoadingConfirmation] = React__namespace.useState(false);
|
|
36
|
-
const toggleNotification =
|
|
35
|
+
const { toggleNotification } = index.useNotification();
|
|
37
36
|
const { _unstableFormatAPIError: formatAPIError } = index.useAPIErrorHandler();
|
|
38
37
|
const [regenerateToken] = index.useRegenerateTokenMutation();
|
|
39
38
|
const regenerateData = async () => {
|
|
@@ -41,7 +40,7 @@ const Regenerate = ({ onRegenerate, url }) => {
|
|
|
41
40
|
const res = await regenerateToken(url);
|
|
42
41
|
if ("error" in res) {
|
|
43
42
|
toggleNotification({
|
|
44
|
-
type: "
|
|
43
|
+
type: "danger",
|
|
45
44
|
message: formatAPIError(res.error)
|
|
46
45
|
});
|
|
47
46
|
return;
|
|
@@ -51,11 +50,11 @@ const Regenerate = ({ onRegenerate, url }) => {
|
|
|
51
50
|
}
|
|
52
51
|
} catch (error) {
|
|
53
52
|
toggleNotification({
|
|
54
|
-
type: "
|
|
55
|
-
message: {
|
|
53
|
+
type: "danger",
|
|
54
|
+
message: formatMessage({
|
|
56
55
|
id: "notification.error",
|
|
57
56
|
defaultMessage: "Something went wrong"
|
|
58
|
-
}
|
|
57
|
+
})
|
|
59
58
|
});
|
|
60
59
|
} finally {
|
|
61
60
|
setIsLoadingConfirmation(false);
|
|
@@ -166,9 +165,9 @@ const FormHead = ({
|
|
|
166
165
|
};
|
|
167
166
|
const TokenBox = ({ token, tokenType }) => {
|
|
168
167
|
const { formatMessage } = reactIntl.useIntl();
|
|
169
|
-
const toggleNotification =
|
|
168
|
+
const { toggleNotification } = index.useNotification();
|
|
170
169
|
const { trackUsage } = index.useTracking();
|
|
171
|
-
const { copy } =
|
|
170
|
+
const { copy } = index.useClipboard();
|
|
172
171
|
const handleClick = (token2) => async () => {
|
|
173
172
|
if (token2) {
|
|
174
173
|
const didCopy = await copy(token2);
|
|
@@ -178,7 +177,7 @@ const TokenBox = ({ token, tokenType }) => {
|
|
|
178
177
|
});
|
|
179
178
|
toggleNotification({
|
|
180
179
|
type: "success",
|
|
181
|
-
message: { id: "Settings.tokens.notification.copied" }
|
|
180
|
+
message: formatMessage({ id: "Settings.tokens.notification.copied" })
|
|
182
181
|
});
|
|
183
182
|
}
|
|
184
183
|
}
|
|
@@ -370,4 +369,4 @@ exports.TokenBox = TokenBox;
|
|
|
370
369
|
exports.TokenDescription = TokenDescription;
|
|
371
370
|
exports.TokenName = TokenName;
|
|
372
371
|
exports.TokenTypeSelect = TokenTypeSelect;
|
|
373
|
-
//# sourceMappingURL=TokenTypeSelect-
|
|
372
|
+
//# sourceMappingURL=TokenTypeSelect-vp-54yBv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenTypeSelect-vp-54yBv.js","sources":["../../admin/src/pages/Settings/components/Tokens/FormHead.tsx","../../admin/src/pages/Settings/components/Tokens/TokenBox.tsx","../../admin/src/utils/locales.ts","../../admin/src/pages/Settings/pages/ApiTokens/EditView/utils/getDateOfExpiration.ts","../../admin/src/pages/Settings/utils/forms.ts","../../admin/src/pages/Settings/components/Tokens/LifeSpanInput.tsx","../../admin/src/pages/Settings/components/Tokens/TokenDescription.tsx","../../admin/src/pages/Settings/components/Tokens/TokenName.tsx","../../admin/src/pages/Settings/components/Tokens/TokenTypeSelect.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex, HeaderLayout } from '@strapi/design-system';\nimport { Check, Refresh } from '@strapi/icons';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRegenerateTokenMutation } from '../../../../services/api';\n\nimport type { Entity } from '@strapi/types';\n\ninterface RegenerateProps {\n onRegenerate?: (newKey: string) => void;\n url: string;\n}\n\nconst Regenerate = ({ onRegenerate, url }: RegenerateProps) => {\n const { formatMessage } = useIntl();\n const [showConfirmDialog, setShowConfirmDialog] = React.useState(false);\n\n const [isLoadingConfirmation, setIsLoadingConfirmation] = React.useState(false);\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const [regenerateToken] = useRegenerateTokenMutation();\n\n const regenerateData = async () => {\n try {\n const res = await regenerateToken(url);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n if (onRegenerate) {\n onRegenerate(res.data.accessKey);\n }\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n }),\n });\n } finally {\n setIsLoadingConfirmation(false);\n }\n };\n\n const handleConfirmRegeneration = async () => {\n regenerateData();\n setShowConfirmDialog(false);\n };\n\n return (\n <>\n <Button\n startIcon={<Refresh />}\n type=\"button\"\n size=\"S\"\n variant=\"tertiary\"\n onClick={() => setShowConfirmDialog(true)}\n name=\"regenerate\"\n >\n {formatMessage({\n id: 'Settings.tokens.regenerate',\n defaultMessage: 'Regenerate',\n })}\n </Button>\n\n <ConfirmDialog\n isOpen={showConfirmDialog}\n onClose={() => setShowConfirmDialog(false)}\n title={formatMessage({\n id: 'Settings.tokens.RegenerateDialog.title',\n defaultMessage: 'Regenerate token',\n })}\n endAction={\n <Button\n startIcon={<Refresh />}\n loading={isLoadingConfirmation}\n onClick={handleConfirmRegeneration}\n >\n {formatMessage({\n id: 'Settings.tokens.Button.regenerate',\n defaultMessage: 'Regenerate',\n })}\n </Button>\n }\n >\n {formatMessage({\n id: 'Settings.tokens.popUpWarning.message',\n defaultMessage: 'Are you sure you want to regenerate this token?',\n })}\n </ConfirmDialog>\n </>\n );\n};\n\ninterface Token {\n id: Entity.ID;\n name: string;\n}\n\ninterface FormHeadProps<TToken extends Token | null> {\n title: MessageDescriptor;\n token: TToken;\n canEditInputs: boolean;\n canRegenerate: boolean;\n setToken: (token: TToken) => void;\n isSubmitting: boolean;\n regenerateUrl: string;\n}\n\nexport const FormHead = <TToken extends Token | null>({\n title,\n token,\n setToken,\n canEditInputs,\n canRegenerate,\n isSubmitting,\n regenerateUrl,\n}: FormHeadProps<TToken>) => {\n const { formatMessage } = useIntl();\n const handleRegenerate = (newKey: string) => {\n setToken({\n ...token,\n accessKey: newKey,\n });\n };\n\n return (\n <HeaderLayout\n title={token?.name || formatMessage(title)}\n primaryAction={\n canEditInputs ? (\n <Flex gap={2}>\n {canRegenerate && token?.id && (\n <Regenerate\n onRegenerate={handleRegenerate}\n url={`${regenerateUrl}${token?.id ?? ''}`}\n />\n )}\n <Button\n disabled={isSubmitting}\n loading={isSubmitting}\n startIcon={<Check />}\n type=\"submit\"\n size=\"S\"\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n ) : (\n canRegenerate &&\n token?.id && (\n <Regenerate\n onRegenerate={handleRegenerate}\n url={`${regenerateUrl}${token?.id ?? ''}`}\n />\n )\n )\n }\n navigationAction={<BackButton />}\n ellipsis\n />\n );\n};\n","import { IconButton } from '@strapi/design-system';\nimport { Duplicate, Key } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { ContentBox } from '../../../../components/ContentBox';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useClipboard } from '../../../../hooks/useClipboard';\n\ninterface TokenBoxProps {\n token?: string;\n tokenType: 'transfer-token' | 'api-token';\n}\n\nexport const TokenBox = ({ token, tokenType }: TokenBoxProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { trackUsage } = useTracking();\n\n const { copy } = useClipboard();\n\n const handleClick = (token: TokenBoxProps['token']) => async () => {\n if (token) {\n const didCopy = await copy(token);\n\n if (didCopy) {\n trackUsage('didCopyTokenKey', {\n tokenType,\n });\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'Settings.tokens.notification.copied' }),\n });\n }\n }\n };\n\n return (\n <ContentBox\n endAction={\n token && (\n <span style={{ alignSelf: 'start' }}>\n <IconButton\n label={formatMessage({\n id: 'app.component.CopyToClipboard.label',\n defaultMessage: 'Copy to clipboard',\n })}\n onClick={handleClick(token)}\n borderWidth={0}\n icon={<Duplicate />}\n style={{ padding: 0, height: '1rem' }}\n />\n </span>\n )\n }\n title={\n token ||\n formatMessage({\n id: 'Settings.tokens.copy.editTitle',\n defaultMessage: 'This token isn’t accessible anymore.',\n })\n }\n subtitle={\n token\n ? formatMessage({\n id: 'Settings.tokens.copy.lastWarning',\n defaultMessage: 'Make sure to copy this token, you won’t be able to see it again!',\n })\n : formatMessage({\n id: 'Settings.tokens.copy.editMessage',\n defaultMessage: 'For security reasons, you can only see your token once.',\n })\n }\n icon={<Key />}\n iconBackground=\"neutral100\"\n />\n );\n};\n","import * as locales from 'date-fns/locale';\n\ntype LocaleName = keyof typeof locales;\n\n/**\n * Returns a valid date-fns locale name from a Strapi Admin locale.\n * Defaults to 'enUS' if the locale is not found.\n */\nconst getDateFnsLocaleName = (locale: string): LocaleName => {\n if (Object.keys(locales).includes(locale)) {\n return locale as LocaleName;\n }\n\n return 'enUS';\n};\n\nexport { getDateFnsLocaleName };\n","import { addDays, format } from 'date-fns';\nimport * as locales from 'date-fns/locale';\n\nimport { getDateFnsLocaleName } from '../../../../../../utils/locales';\n\nexport const getDateOfExpiration = (\n createdAt: string,\n duration: number | null,\n language: string = 'en'\n) => {\n if (duration && typeof duration === 'number') {\n const durationInDays = duration / 24 / 60 / 60 / 1000;\n\n return format(addDays(new Date(createdAt), durationInDays), 'PPP', {\n locale: locales[getDateFnsLocaleName(language)],\n });\n }\n\n return 'Unlimited';\n};\n","import { MessageDescriptor } from 'react-intl';\n\nconst isErrorMessageMessageDescriptor = (\n message: string | MessageDescriptor\n): message is MessageDescriptor => {\n return typeof message === 'object' && message !== null && 'id' in message;\n};\n\nexport { isErrorMessageMessageDescriptor };\n","import { SingleSelectOption, SingleSelect, Typography } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { getDateOfExpiration } from '../../pages/ApiTokens/EditView/utils/getDateOfExpiration';\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\nimport type { ApiToken } from '../../../../../../shared/contracts/api-token';\nimport type { TransferToken } from '../../../../../../shared/contracts/transfer';\n\ninterface LifeSpanInputProps {\n error?: string | MessageDescriptor;\n value?: string | number | null;\n onChange: (event: { target: { name: string; value: string } }) => void;\n isCreating: boolean;\n token: Partial<TransferToken> | Partial<ApiToken> | null;\n}\n\nexport const LifeSpanInput = ({\n token,\n error,\n value,\n onChange,\n isCreating,\n}: LifeSpanInputProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n <SingleSelect\n name=\"lifespan\"\n label={formatMessage({\n id: 'Settings.tokens.form.duration',\n defaultMessage: 'Token duration',\n })}\n value={value}\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error)\n ? error\n : { id: error, defaultMessage: error }\n )\n : undefined\n }\n onChange={(value) => {\n // @ts-expect-error – DS v2 won't support number types for select\n onChange({ target: { name: 'lifespan', value } });\n }}\n required\n disabled={!isCreating}\n placeholder=\"Select\"\n >\n <SingleSelectOption value=\"604800000\">\n {formatMessage({\n id: 'Settings.tokens.duration.7-days',\n defaultMessage: '7 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"2592000000\">\n {formatMessage({\n id: 'Settings.tokens.duration.30-days',\n defaultMessage: '30 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"7776000000\">\n {formatMessage({\n id: 'Settings.tokens.duration.90-days',\n defaultMessage: '90 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"0\">\n {formatMessage({\n id: 'Settings.tokens.duration.unlimited',\n defaultMessage: 'Unlimited',\n })}\n </SingleSelectOption>\n </SingleSelect>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {!isCreating &&\n `${formatMessage({\n id: 'Settings.tokens.duration.expiration-date',\n defaultMessage: 'Expiration date',\n // @ts-expect-error – TODO: fix this.\n })}: ${getDateOfExpiration(token?.createdAt, parseInt(value ?? '', 10))}`}\n </Typography>\n </>\n );\n};\n","import { Textarea, TextareaProps } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenDescriptionProps extends Pick<TextareaProps, 'onChange' | 'value'> {\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n}\n\nexport const TokenDescription = ({\n error,\n value,\n onChange,\n canEditInputs,\n}: TokenDescriptionProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Textarea\n label={formatMessage({\n id: 'Settings.tokens.form.description',\n defaultMessage: 'Description',\n })}\n id=\"description\"\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error)\n ? error\n : {\n id: error,\n defaultMessage: error,\n }\n )\n : undefined\n }\n onChange={onChange}\n disabled={!canEditInputs}\n >\n {value}\n </Textarea>\n );\n};\n","import { TextInput, TextInputProps } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenNameProps extends Pick<TextInputProps, 'onChange' | 'value'> {\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n}\n\nexport const TokenName = ({ error, value, onChange, canEditInputs }: TokenNameProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <TextInput\n name=\"name\"\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error) ? error : { id: error, defaultMessage: error }\n )\n : undefined\n }\n label={formatMessage({\n id: 'Settings.tokens.form.name',\n defaultMessage: 'Name',\n })}\n onChange={onChange}\n value={value}\n disabled={!canEditInputs}\n required\n />\n );\n};\n","import { SingleSelectOption, SingleSelect, SingleSelectProps } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenTypeSelectProps extends Pick<SingleSelectProps, 'onChange' | 'value'> {\n name?: string;\n options: Array<{\n label: MessageDescriptor;\n value: string;\n }>;\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n label: MessageDescriptor;\n}\n\nexport const TokenTypeSelect = ({\n name = 'type',\n error,\n value,\n onChange,\n canEditInputs,\n options = [],\n label,\n}: TokenTypeSelectProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <SingleSelect\n name={name}\n label={formatMessage({\n id: label.id,\n defaultMessage: label.defaultMessage,\n })}\n value={value}\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error) ? error : { id: error, defaultMessage: error }\n )\n : undefined\n }\n onChange={onChange}\n placeholder=\"Select\"\n required\n disabled={!canEditInputs}\n >\n {options &&\n options.map(({ value, label }) => (\n <SingleSelectOption key={value} value={value}>\n {formatMessage(label)}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n );\n};\n"],"names":["useIntl","React","useNotification","useAPIErrorHandler","useRegenerateTokenMutation","jsxs","Fragment","jsx","Button","Refresh","ConfirmDialog","HeaderLayout","Flex","Check","BackButton","useTracking","useClipboard","token","ContentBox","IconButton","Duplicate","Key","locales","format","addDays","SingleSelect","value","SingleSelectOption","Typography","Textarea","TextInput","label"],"mappings":"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"}
|
|
@@ -3,13 +3,12 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
4
|
const React = require("react");
|
|
5
5
|
const designSystem = require("@strapi/design-system");
|
|
6
|
-
const helperPlugin = require("@strapi/helper-plugin");
|
|
7
6
|
const qs = require("qs");
|
|
8
7
|
const reactIntl = require("react-intl");
|
|
9
8
|
const reactRouterDom = require("react-router-dom");
|
|
10
9
|
const styled = require("styled-components");
|
|
11
|
-
const PrivateRoute = require("./PrivateRoute-
|
|
12
|
-
const index = require("./index-
|
|
10
|
+
const PrivateRoute = require("./PrivateRoute-avlq1MEy.js");
|
|
11
|
+
const index = require("./index-haHGOQMJ.js");
|
|
13
12
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
14
13
|
function _interopNamespace(e) {
|
|
15
14
|
if (e && e.__esModule)
|
|
@@ -79,7 +78,7 @@ const TypographyCenter = styled__default.default(designSystem.Typography)`
|
|
|
79
78
|
text-align: center;
|
|
80
79
|
`;
|
|
81
80
|
const UseCasePage = () => {
|
|
82
|
-
const toggleNotification =
|
|
81
|
+
const { toggleNotification } = index.useNotification();
|
|
83
82
|
const location = reactRouterDom.useLocation();
|
|
84
83
|
const navigate = reactRouterDom.useNavigate();
|
|
85
84
|
const { formatMessage } = reactIntl.useIntl();
|
|
@@ -108,10 +107,10 @@ const UseCasePage = () => {
|
|
|
108
107
|
});
|
|
109
108
|
toggleNotification({
|
|
110
109
|
type: "success",
|
|
111
|
-
message: {
|
|
110
|
+
message: formatMessage({
|
|
112
111
|
id: "Usecase.notification.success.project-created",
|
|
113
112
|
defaultMessage: "Project has been successfully created"
|
|
114
|
-
}
|
|
113
|
+
})
|
|
115
114
|
});
|
|
116
115
|
navigate("/");
|
|
117
116
|
} catch (err) {
|
|
@@ -166,4 +165,4 @@ const PrivateUseCasePage = () => {
|
|
|
166
165
|
exports.PrivateUseCasePage = PrivateUseCasePage;
|
|
167
166
|
exports.UseCasePage = UseCasePage;
|
|
168
167
|
exports.options = options;
|
|
169
|
-
//# sourceMappingURL=UseCasePage-
|
|
168
|
+
//# sourceMappingURL=UseCasePage-0_alQEc9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UseCasePage-0_alQEc9.js","sources":["../../admin/src/pages/UseCasePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Main,\n Option,\n Select,\n TextButton,\n TextInput,\n Typography,\n} from '@strapi/design-system';\nimport { parse } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { PrivateRoute } from '../components/PrivateRoute';\nimport { Logo } from '../components/UnauthenticatedLogo';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { LayoutContent, UnauthenticatedLayout } from '../layouts/UnauthenticatedLayout';\n\nexport const options = [\n {\n intlLabel: {\n id: 'Usecase.front-end',\n defaultMessage: 'Front-end developer',\n },\n value: 'front_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.back-end',\n defaultMessage: 'Back-end developer',\n },\n value: 'back_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.full-stack',\n defaultMessage: 'Full-stack developer',\n },\n value: 'full_stack_developer',\n },\n {\n intlLabel: {\n id: 'global.content-manager',\n defaultMessage: 'Content Manager',\n },\n value: 'content_manager',\n },\n {\n intlLabel: {\n id: 'Usecase.content-creator',\n defaultMessage: 'Content Creator',\n },\n value: 'content_creator',\n },\n {\n intlLabel: {\n id: 'Usecase.other',\n defaultMessage: 'Other',\n },\n value: 'other',\n },\n];\n\nconst TypographyCenter = styled(Typography)`\n text-align: center;\n`;\n\nconst UseCasePage = () => {\n const { toggleNotification } = useNotification();\n const location = useLocation();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const [role, setRole] = React.useState<string | number | null>(null);\n const [otherRole, setOtherRole] = React.useState('');\n\n const { firstname, email } = useAuth('UseCasePage', (state) => state.user) ?? {};\n const { hasAdmin } = parse(location.search, { ignoreQueryPrefix: true });\n const isOther = role === 'other';\n\n const handleSubmit = async (event: React.FormEvent, skipPersona: boolean) => {\n event.preventDefault();\n try {\n await fetch('https://analytics.strapi.io/register', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n email,\n username: firstname,\n firstAdmin: Boolean(!hasAdmin),\n persona: {\n role: skipPersona ? undefined : role,\n otherRole: skipPersona ? undefined : otherRole,\n },\n }),\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'Usecase.notification.success.project-created',\n defaultMessage: 'Project has been successfully created',\n }),\n });\n navigate('/');\n } catch (err) {\n // Silent\n }\n };\n\n return (\n <UnauthenticatedLayout>\n <Main labelledBy=\"usecase-title\">\n <LayoutContent>\n <form onSubmit={(e) => handleSubmit(e, false)}>\n <Flex direction=\"column\" paddingBottom={7}>\n <Logo />\n <Box paddingTop={6} paddingBottom={1} width={`${250 / 16}rem`}>\n <TypographyCenter variant=\"alpha\" as=\"h1\" id=\"usecase-title\">\n {formatMessage({\n id: 'Usecase.title',\n defaultMessage: 'Tell us a bit more about yourself',\n })}\n </TypographyCenter>\n </Box>\n </Flex>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Select\n id=\"usecase\"\n data-testid=\"usecase\"\n label={formatMessage({\n id: 'Usecase.input.work-type',\n defaultMessage: 'What type of work do you do?',\n })}\n // onClear={() => setRole(null)}\n // clearLabel={formatMessage({ id: 'clearLabel', defaultMessage: 'Clear' })}\n onChange={(value) => setRole(value)}\n value={role}\n >\n {options.map(({ intlLabel, value }) => (\n <Option key={value} value={value}>\n {formatMessage(intlLabel)}\n </Option>\n ))}\n </Select>\n {isOther && (\n <TextInput\n name=\"other\"\n label={formatMessage({ id: 'Usecase.other', defaultMessage: 'Other' })}\n value={otherRole}\n onChange={(e) => setOtherRole(e.target.value)}\n data-testid=\"other\"\n />\n )}\n <Button type=\"submit\" size=\"L\" fullWidth disabled={!role}>\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Flex>\n </form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <TextButton onClick={(event) => handleSubmit(event, true)}>\n {formatMessage({\n id: 'Usecase.button.skip',\n defaultMessage: 'Skip this question',\n })}\n </TextButton>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst PrivateUseCasePage = () => {\n return (\n <PrivateRoute>\n <UseCasePage />\n </PrivateRoute>\n );\n};\n\nexport { PrivateUseCasePage, UseCasePage };\n"],"names":["styled","Typography","useNotification","useLocation","useNavigate","useIntl","React","useAuth","parse","jsx","UnauthenticatedLayout","jsxs","Main","LayoutContent","Flex","Logo","Box","Select","Option","TextInput","Button","TextButton","PrivateRoute"],"mappings":"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"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { Typography, Main, Flex, Box, Select, Option, TextInput, Button, TextButton } from "@strapi/design-system";
|
|
4
|
-
import { useNotification } from "@strapi/helper-plugin";
|
|
5
4
|
import { parse } from "qs";
|
|
6
5
|
import { useIntl } from "react-intl";
|
|
7
6
|
import { useLocation, useNavigate } from "react-router-dom";
|
|
8
7
|
import styled from "styled-components";
|
|
9
|
-
import { P as PrivateRoute } from "./PrivateRoute-
|
|
10
|
-
import { u as useAuth, U as UnauthenticatedLayout, L as LayoutContent,
|
|
8
|
+
import { P as PrivateRoute } from "./PrivateRoute-YN_98pM_.mjs";
|
|
9
|
+
import { u as useNotification, a as useAuth, U as UnauthenticatedLayout, L as LayoutContent, b as Logo } from "./index-GIVuHJgC.mjs";
|
|
11
10
|
const options = [
|
|
12
11
|
{
|
|
13
12
|
intlLabel: {
|
|
@@ -56,7 +55,7 @@ const TypographyCenter = styled(Typography)`
|
|
|
56
55
|
text-align: center;
|
|
57
56
|
`;
|
|
58
57
|
const UseCasePage = () => {
|
|
59
|
-
const toggleNotification = useNotification();
|
|
58
|
+
const { toggleNotification } = useNotification();
|
|
60
59
|
const location = useLocation();
|
|
61
60
|
const navigate = useNavigate();
|
|
62
61
|
const { formatMessage } = useIntl();
|
|
@@ -85,10 +84,10 @@ const UseCasePage = () => {
|
|
|
85
84
|
});
|
|
86
85
|
toggleNotification({
|
|
87
86
|
type: "success",
|
|
88
|
-
message: {
|
|
87
|
+
message: formatMessage({
|
|
89
88
|
id: "Usecase.notification.success.project-created",
|
|
90
89
|
defaultMessage: "Project has been successfully created"
|
|
91
|
-
}
|
|
90
|
+
})
|
|
92
91
|
});
|
|
93
92
|
navigate("/");
|
|
94
93
|
} catch (err) {
|
|
@@ -145,4 +144,4 @@ export {
|
|
|
145
144
|
UseCasePage,
|
|
146
145
|
options
|
|
147
146
|
};
|
|
148
|
-
//# sourceMappingURL=UseCasePage-
|
|
147
|
+
//# sourceMappingURL=UseCasePage-Cxu2FeWo.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UseCasePage-Cxu2FeWo.mjs","sources":["../../admin/src/pages/UseCasePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Main,\n Option,\n Select,\n TextButton,\n TextInput,\n Typography,\n} from '@strapi/design-system';\nimport { parse } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { PrivateRoute } from '../components/PrivateRoute';\nimport { Logo } from '../components/UnauthenticatedLogo';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { LayoutContent, UnauthenticatedLayout } from '../layouts/UnauthenticatedLayout';\n\nexport const options = [\n {\n intlLabel: {\n id: 'Usecase.front-end',\n defaultMessage: 'Front-end developer',\n },\n value: 'front_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.back-end',\n defaultMessage: 'Back-end developer',\n },\n value: 'back_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.full-stack',\n defaultMessage: 'Full-stack developer',\n },\n value: 'full_stack_developer',\n },\n {\n intlLabel: {\n id: 'global.content-manager',\n defaultMessage: 'Content Manager',\n },\n value: 'content_manager',\n },\n {\n intlLabel: {\n id: 'Usecase.content-creator',\n defaultMessage: 'Content Creator',\n },\n value: 'content_creator',\n },\n {\n intlLabel: {\n id: 'Usecase.other',\n defaultMessage: 'Other',\n },\n value: 'other',\n },\n];\n\nconst TypographyCenter = styled(Typography)`\n text-align: center;\n`;\n\nconst UseCasePage = () => {\n const { toggleNotification } = useNotification();\n const location = useLocation();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const [role, setRole] = React.useState<string | number | null>(null);\n const [otherRole, setOtherRole] = React.useState('');\n\n const { firstname, email } = useAuth('UseCasePage', (state) => state.user) ?? {};\n const { hasAdmin } = parse(location.search, { ignoreQueryPrefix: true });\n const isOther = role === 'other';\n\n const handleSubmit = async (event: React.FormEvent, skipPersona: boolean) => {\n event.preventDefault();\n try {\n await fetch('https://analytics.strapi.io/register', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n email,\n username: firstname,\n firstAdmin: Boolean(!hasAdmin),\n persona: {\n role: skipPersona ? undefined : role,\n otherRole: skipPersona ? undefined : otherRole,\n },\n }),\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'Usecase.notification.success.project-created',\n defaultMessage: 'Project has been successfully created',\n }),\n });\n navigate('/');\n } catch (err) {\n // Silent\n }\n };\n\n return (\n <UnauthenticatedLayout>\n <Main labelledBy=\"usecase-title\">\n <LayoutContent>\n <form onSubmit={(e) => handleSubmit(e, false)}>\n <Flex direction=\"column\" paddingBottom={7}>\n <Logo />\n <Box paddingTop={6} paddingBottom={1} width={`${250 / 16}rem`}>\n <TypographyCenter variant=\"alpha\" as=\"h1\" id=\"usecase-title\">\n {formatMessage({\n id: 'Usecase.title',\n defaultMessage: 'Tell us a bit more about yourself',\n })}\n </TypographyCenter>\n </Box>\n </Flex>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Select\n id=\"usecase\"\n data-testid=\"usecase\"\n label={formatMessage({\n id: 'Usecase.input.work-type',\n defaultMessage: 'What type of work do you do?',\n })}\n // onClear={() => setRole(null)}\n // clearLabel={formatMessage({ id: 'clearLabel', defaultMessage: 'Clear' })}\n onChange={(value) => setRole(value)}\n value={role}\n >\n {options.map(({ intlLabel, value }) => (\n <Option key={value} value={value}>\n {formatMessage(intlLabel)}\n </Option>\n ))}\n </Select>\n {isOther && (\n <TextInput\n name=\"other\"\n label={formatMessage({ id: 'Usecase.other', defaultMessage: 'Other' })}\n value={otherRole}\n onChange={(e) => setOtherRole(e.target.value)}\n data-testid=\"other\"\n />\n )}\n <Button type=\"submit\" size=\"L\" fullWidth disabled={!role}>\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Flex>\n </form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <TextButton onClick={(event) => handleSubmit(event, true)}>\n {formatMessage({\n id: 'Usecase.button.skip',\n defaultMessage: 'Skip this question',\n })}\n </TextButton>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst PrivateUseCasePage = () => {\n return (\n <PrivateRoute>\n <UseCasePage />\n </PrivateRoute>\n );\n};\n\nexport { PrivateUseCasePage, UseCasePage };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const index = require("./index-
|
|
2
|
+
const index = require("./index-haHGOQMJ.js");
|
|
3
3
|
const transferTokenService = index.adminApi.injectEndpoints({
|
|
4
4
|
endpoints: (builder) => ({
|
|
5
5
|
getAPITokens: builder.query({
|
|
@@ -56,4 +56,4 @@ exports.useDeleteAPITokenMutation = useDeleteAPITokenMutation;
|
|
|
56
56
|
exports.useGetAPITokenQuery = useGetAPITokenQuery;
|
|
57
57
|
exports.useGetAPITokensQuery = useGetAPITokensQuery;
|
|
58
58
|
exports.useUpdateAPITokenMutation = useUpdateAPITokenMutation;
|
|
59
|
-
//# sourceMappingURL=apiTokens-
|
|
59
|
+
//# sourceMappingURL=apiTokens-IG3rF-G2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiTokens-
|
|
1
|
+
{"version":3,"file":"apiTokens-IG3rF-G2.js","sources":["../../admin/src/services/apiTokens.ts"],"sourcesContent":["import * as ApiToken from '../../../shared/contracts/api-token';\n\nimport { adminApi } from './api';\n\nconst transferTokenService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getAPITokens: builder.query<ApiToken.List.Response['data'], void>({\n query: () => '/admin/api-tokens',\n transformResponse: (response: ApiToken.List.Response) => response.data,\n providesTags: (res, _err) => [\n ...(res?.map(({ id }) => ({ type: 'ApiToken' as const, id })) ?? []),\n { type: 'ApiToken' as const, id: 'LIST' },\n ],\n }),\n getAPIToken: builder.query<ApiToken.Get.Response['data'], ApiToken.Get.Params['id']>({\n query: (id) => `/admin/api-tokens/${id}`,\n transformResponse: (response: ApiToken.Get.Response) => response.data,\n providesTags: (res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n createAPIToken: builder.mutation<\n ApiToken.Create.Response['data'],\n ApiToken.Create.Request['body']\n >({\n query: (body) => ({\n url: '/admin/api-tokens',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: ApiToken.Create.Response) => response.data,\n invalidatesTags: [{ type: 'ApiToken' as const, id: 'LIST' }],\n }),\n deleteAPIToken: builder.mutation<\n ApiToken.Revoke.Response['data'],\n ApiToken.Revoke.Params['id']\n >({\n query: (id) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'DELETE',\n }),\n transformResponse: (response: ApiToken.Revoke.Response) => response.data,\n invalidatesTags: (_res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n updateAPIToken: builder.mutation<\n ApiToken.Update.Response['data'],\n ApiToken.Update.Params & ApiToken.Update.Request['body']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: ApiToken.Update.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'ApiToken' as const, id }],\n }),\n }),\n overrideExisting: false,\n});\n\nconst {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n} = transferTokenService;\n\nexport {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n};\n"],"names":["adminApi"],"mappings":";;AAIA,MAAM,uBAAuBA,eAAS,gBAAgB;AAAA,EACpD,WAAW,CAAC,aAAa;AAAA,IACvB,cAAc,QAAQ,MAA4C;AAAA,MAChE,OAAO,MAAM;AAAA,MACb,mBAAmB,CAAC,aAAqC,SAAS;AAAA,MAClE,cAAc,CAAC,KAAK,SAAS;AAAA,QAC3B,GAAI,KAAK,IAAI,CAAC,EAAE,GAAU,OAAA,EAAE,MAAM,YAAqB,KAAK,KAAK,CAAC;AAAA,QAClE,EAAE,MAAM,YAAqB,IAAI,OAAO;AAAA,MAC1C;AAAA,IAAA,CACD;AAAA,IACD,aAAa,QAAQ,MAAgE;AAAA,MACnF,OAAO,CAAC,OAAO,qBAAqB,EAAE;AAAA,MACtC,mBAAmB,CAAC,aAAoC,SAAS;AAAA,MACjE,cAAc,CAAC,KAAK,MAAM,OAAO,CAAC,EAAE,MAAM,YAAqB,IAAI;AAAA,IAAA,CACpE;AAAA,IACD,gBAAgB,QAAQ,SAGtB;AAAA,MACA,OAAO,CAAC,UAAU;AAAA,QAChB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,MAAA;AAAA,MAER,mBAAmB,CAAC,aAAuC,SAAS;AAAA,MACpE,iBAAiB,CAAC,EAAE,MAAM,YAAqB,IAAI,QAAQ;AAAA,IAAA,CAC5D;AAAA,IACD,gBAAgB,QAAQ,SAGtB;AAAA,MACA,OAAO,CAAC,QAAQ;AAAA,QACd,KAAK,qBAAqB,EAAE;AAAA,QAC5B,QAAQ;AAAA,MAAA;AAAA,MAEV,mBAAmB,CAAC,aAAuC,SAAS;AAAA,MACpE,iBAAiB,CAAC,MAAM,MAAM,OAAO,CAAC,EAAE,MAAM,YAAqB,IAAI;AAAA,IAAA,CACxE;AAAA,IACD,gBAAgB,QAAQ,SAGtB;AAAA,MACA,OAAO,CAAC,EAAE,IAAI,GAAG,YAAY;AAAA,QAC3B,KAAK,qBAAqB,EAAE;AAAA,QAC5B,QAAQ;AAAA,QACR,MAAM;AAAA,MAAA;AAAA,MAER,mBAAmB,CAAC,aAAuC,SAAS;AAAA,MACpE,iBAAiB,CAAC,MAAM,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,YAAqB,IAAI;AAAA,IAAA,CAC5E;AAAA,EAAA;AAAA,EAEH,kBAAkB;AACpB,CAAC;AAEK,MAAA;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAI;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as adminApi } from "./index-GIVuHJgC.mjs";
|
|
2
2
|
const transferTokenService = adminApi.injectEndpoints({
|
|
3
3
|
endpoints: (builder) => ({
|
|
4
4
|
getAPITokens: builder.query({
|
|
@@ -57,4 +57,4 @@ export {
|
|
|
57
57
|
useUpdateAPITokenMutation as d,
|
|
58
58
|
useGetAPITokensQuery as u
|
|
59
59
|
};
|
|
60
|
-
//# sourceMappingURL=apiTokens-
|
|
60
|
+
//# sourceMappingURL=apiTokens-wLmJ3Liv.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiTokens-
|
|
1
|
+
{"version":3,"file":"apiTokens-wLmJ3Liv.mjs","sources":["../../admin/src/services/apiTokens.ts"],"sourcesContent":["import * as ApiToken from '../../../shared/contracts/api-token';\n\nimport { adminApi } from './api';\n\nconst transferTokenService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getAPITokens: builder.query<ApiToken.List.Response['data'], void>({\n query: () => '/admin/api-tokens',\n transformResponse: (response: ApiToken.List.Response) => response.data,\n providesTags: (res, _err) => [\n ...(res?.map(({ id }) => ({ type: 'ApiToken' as const, id })) ?? []),\n { type: 'ApiToken' as const, id: 'LIST' },\n ],\n }),\n getAPIToken: builder.query<ApiToken.Get.Response['data'], ApiToken.Get.Params['id']>({\n query: (id) => `/admin/api-tokens/${id}`,\n transformResponse: (response: ApiToken.Get.Response) => response.data,\n providesTags: (res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n createAPIToken: builder.mutation<\n ApiToken.Create.Response['data'],\n ApiToken.Create.Request['body']\n >({\n query: (body) => ({\n url: '/admin/api-tokens',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: ApiToken.Create.Response) => response.data,\n invalidatesTags: [{ type: 'ApiToken' as const, id: 'LIST' }],\n }),\n deleteAPIToken: builder.mutation<\n ApiToken.Revoke.Response['data'],\n ApiToken.Revoke.Params['id']\n >({\n query: (id) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'DELETE',\n }),\n transformResponse: (response: ApiToken.Revoke.Response) => response.data,\n invalidatesTags: (_res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n updateAPIToken: builder.mutation<\n ApiToken.Update.Response['data'],\n ApiToken.Update.Params & ApiToken.Update.Request['body']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: ApiToken.Update.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'ApiToken' as const, id }],\n }),\n }),\n overrideExisting: false,\n});\n\nconst {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n} = transferTokenService;\n\nexport {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n};\n"],"names":[],"mappings":";AAIA,MAAM,uBAAuB,SAAS,gBAAgB;AAAA,EACpD,WAAW,CAAC,aAAa;AAAA,IACvB,cAAc,QAAQ,MAA4C;AAAA,MAChE,OAAO,MAAM;AAAA,MACb,mBAAmB,CAAC,aAAqC,SAAS;AAAA,MAClE,cAAc,CAAC,KAAK,SAAS;AAAA,QAC3B,GAAI,KAAK,IAAI,CAAC,EAAE,GAAU,OAAA,EAAE,MAAM,YAAqB,KAAK,KAAK,CAAC;AAAA,QAClE,EAAE,MAAM,YAAqB,IAAI,OAAO;AAAA,MAC1C;AAAA,IAAA,CACD;AAAA,IACD,aAAa,QAAQ,MAAgE;AAAA,MACnF,OAAO,CAAC,OAAO,qBAAqB,EAAE;AAAA,MACtC,mBAAmB,CAAC,aAAoC,SAAS;AAAA,MACjE,cAAc,CAAC,KAAK,MAAM,OAAO,CAAC,EAAE,MAAM,YAAqB,IAAI;AAAA,IAAA,CACpE;AAAA,IACD,gBAAgB,QAAQ,SAGtB;AAAA,MACA,OAAO,CAAC,UAAU;AAAA,QAChB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,MAAA;AAAA,MAER,mBAAmB,CAAC,aAAuC,SAAS;AAAA,MACpE,iBAAiB,CAAC,EAAE,MAAM,YAAqB,IAAI,QAAQ;AAAA,IAAA,CAC5D;AAAA,IACD,gBAAgB,QAAQ,SAGtB;AAAA,MACA,OAAO,CAAC,QAAQ;AAAA,QACd,KAAK,qBAAqB,EAAE;AAAA,QAC5B,QAAQ;AAAA,MAAA;AAAA,MAEV,mBAAmB,CAAC,aAAuC,SAAS;AAAA,MACpE,iBAAiB,CAAC,MAAM,MAAM,OAAO,CAAC,EAAE,MAAM,YAAqB,IAAI;AAAA,IAAA,CACxE;AAAA,IACD,gBAAgB,QAAQ,SAGtB;AAAA,MACA,OAAO,CAAC,EAAE,IAAI,GAAG,YAAY;AAAA,QAC3B,KAAK,qBAAqB,EAAE;AAAA,QAC5B,QAAQ;AAAA,QACR,MAAM;AAAA,MAAA;AAAA,MAER,mBAAmB,CAAC,aAAuC,SAAS;AAAA,MACpE,iBAAiB,CAAC,MAAM,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,YAAqB,IAAI;AAAA,IAAA,CAC5E;AAAA,EAAA;AAAA,EAEH,kBAAkB;AACpB,CAAC;AAEK,MAAA;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAI;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { D as useAdminUsers, E as useField, g as getDisplayName, am as useDoc, aj as getStageColorByHex, bo as STAGE_ATTRIBUTE_NAME, ar as getTranslation, bp as ASSIGNEE_ATTRIBUTE_NAME } from "./index-GIVuHJgC.mjs";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { Combobox, ComboboxOption, SingleSelect, Flex, Typography, Loader, SingleSelectOption } from "@strapi/design-system";
|
|
5
5
|
import { useIntl } from "react-intl";
|
|
6
|
-
import { u as useReviewWorkflows } from "./useReviewWorkflows
|
|
6
|
+
import { u as useReviewWorkflows } from "./useReviewWorkflows--7WPIykR.mjs";
|
|
7
7
|
const AssigneeFilter = ({ name }) => {
|
|
8
8
|
const [page, setPage] = React.useState(1);
|
|
9
9
|
const { formatMessage } = useIntl();
|
|
@@ -166,4 +166,4 @@ export {
|
|
|
166
166
|
REVIEW_WORKFLOW_COLUMNS_EE,
|
|
167
167
|
REVIEW_WORKFLOW_FILTERS
|
|
168
168
|
};
|
|
169
|
-
//# sourceMappingURL=constants-
|
|
169
|
+
//# sourceMappingURL=constants-0OGkpIzK.mjs.map
|