@strapi/admin 5.0.0-beta.14 → 5.0.0-beta.16
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/admin/{AdminSeatInfo-bN561B3v.js → AdminSeatInfo--6CF5KmZ.js} +3 -3
- package/dist/admin/{AdminSeatInfo-bN561B3v.js.map → AdminSeatInfo--6CF5KmZ.js.map} +1 -1
- package/dist/admin/{AdminSeatInfo-88MFOtJf.mjs → AdminSeatInfo-qof08cHD.mjs} +3 -3
- package/dist/admin/{AdminSeatInfo-88MFOtJf.mjs.map → AdminSeatInfo-qof08cHD.mjs.map} +1 -1
- package/dist/admin/{ApplicationInfoPage-wbM7lUA1.mjs → ApplicationInfoPage-7KPzyZX-.mjs} +102 -87
- package/dist/admin/ApplicationInfoPage-7KPzyZX-.mjs.map +1 -0
- package/dist/admin/{ApplicationInfoPage-xNNMcZi9.js → ApplicationInfoPage-7OmisqKU.js} +102 -87
- package/dist/admin/ApplicationInfoPage-7OmisqKU.js.map +1 -0
- package/dist/admin/{AuthResponse-PxLid1A-.js → AuthResponse-LGLqHDJ8.js} +9 -5
- package/dist/admin/AuthResponse-LGLqHDJ8.js.map +1 -0
- package/dist/admin/{AuthResponse-pxi-Fo2T.mjs → AuthResponse-w9sLaK77.mjs} +9 -5
- package/dist/admin/AuthResponse-w9sLaK77.mjs.map +1 -0
- package/dist/admin/{AuthenticatedLayout-OYxkbi9J.js → AuthenticatedLayout-a4QO4f2R.js} +16 -13
- package/dist/admin/{AuthenticatedLayout-OYxkbi9J.js.map → AuthenticatedLayout-a4QO4f2R.js.map} +1 -1
- package/dist/admin/{AuthenticatedLayout-sfukig9h.mjs → AuthenticatedLayout-aqNxYphH.mjs} +16 -13
- package/dist/admin/{AuthenticatedLayout-sfukig9h.mjs.map → AuthenticatedLayout-aqNxYphH.mjs.map} +1 -1
- package/dist/admin/{CreatePage-wIEUvVoT.mjs → CreatePage-BGjnH82B.mjs} +8 -9
- package/dist/admin/CreatePage-BGjnH82B.mjs.map +1 -0
- package/dist/admin/{CreatePage-5iwkDlyg.js → CreatePage-iSGC18gN.js} +3 -3
- package/dist/admin/{CreatePage-5iwkDlyg.js.map → CreatePage-iSGC18gN.js.map} +1 -1
- package/dist/admin/{CreatePage-HR-X4o8O.mjs → CreatePage-rzPvQ7ae.mjs} +3 -3
- package/dist/admin/{CreatePage-HR-X4o8O.mjs.map → CreatePage-rzPvQ7ae.mjs.map} +1 -1
- package/dist/admin/{CreatePage-w05sR-tr.js → CreatePage-xWsNDYvx.js} +7 -8
- package/dist/admin/CreatePage-xWsNDYvx.js.map +1 -0
- package/dist/admin/{CreateView-CBKxYeXK.mjs → CreateView-0WQg_fQZ.mjs} +3 -3
- package/dist/admin/{CreateView-CBKxYeXK.mjs.map → CreateView-0WQg_fQZ.mjs.map} +1 -1
- package/dist/admin/{CreateView-_61QqZgM.js → CreateView-9QlN4b17.js} +3 -3
- package/dist/admin/{CreateView-_61QqZgM.js.map → CreateView-9QlN4b17.js.map} +1 -1
- package/dist/admin/{CreateView-XYAPG5p4.js → CreateView-oFEGIOMA.js} +3 -3
- package/dist/admin/{CreateView-XYAPG5p4.js.map → CreateView-oFEGIOMA.js.map} +1 -1
- package/dist/admin/{CreateView-oVQplM-A.mjs → CreateView-vCM4rnNp.mjs} +3 -3
- package/dist/admin/{CreateView-oVQplM-A.mjs.map → CreateView-vCM4rnNp.mjs.map} +1 -1
- package/dist/admin/{EditPage-YTX5vPhf.js → EditPage-DZ2RTmjX.js} +7 -7
- package/dist/admin/EditPage-DZ2RTmjX.js.map +1 -0
- package/dist/admin/{EditPage-azTfLOy9.js → EditPage-HUIlXspE.js} +5 -5
- package/dist/admin/{EditPage-azTfLOy9.js.map → EditPage-HUIlXspE.js.map} +1 -1
- package/dist/admin/{EditPage-sJIiBC0u.mjs → EditPage-JbHTkqIB.mjs} +7 -7
- package/dist/admin/EditPage-JbHTkqIB.mjs.map +1 -0
- package/dist/admin/{EditPage-QmWK5wLi.mjs → EditPage-_qf6gtWs.mjs} +9 -8
- package/dist/admin/{EditPage-QmWK5wLi.mjs.map → EditPage-_qf6gtWs.mjs.map} +1 -1
- package/dist/admin/{EditPage-wLLM8f2f.js → EditPage-ak7v8O1J.js} +9 -8
- package/dist/admin/{EditPage-wLLM8f2f.js.map → EditPage-ak7v8O1J.js.map} +1 -1
- package/dist/admin/{EditPage-ZDNie54Y.mjs → EditPage-h4bLbsiC.mjs} +5 -5
- package/dist/admin/{EditPage-ZDNie54Y.mjs.map → EditPage-h4bLbsiC.mjs.map} +1 -1
- package/dist/admin/{EditView-1-JFc3uR.js → EditView-5jYdR19u.js} +4 -4
- package/dist/admin/{EditView-1-JFc3uR.js.map → EditView-5jYdR19u.js.map} +1 -1
- package/dist/admin/{EditView-1xLnZamy.mjs → EditView-8FHw8DOi.mjs} +4 -4
- package/dist/admin/{EditView-1xLnZamy.mjs.map → EditView-8FHw8DOi.mjs.map} +1 -1
- package/dist/admin/{EditViewPage-Swq1Yta9.mjs → EditViewPage-6X0T10v1.mjs} +8 -7
- package/dist/admin/EditViewPage-6X0T10v1.mjs.map +1 -0
- package/dist/admin/{EditViewPage-BDKPoyIy.js → EditViewPage-NHbqLrW5.js} +8 -7
- package/dist/admin/EditViewPage-NHbqLrW5.js.map +1 -0
- package/dist/admin/{EventsTable-Jpg8f7d8.mjs → EventsTable-gYl-pCF9.mjs} +2 -2
- package/dist/admin/{EventsTable-Jpg8f7d8.mjs.map → EventsTable-gYl-pCF9.mjs.map} +1 -1
- package/dist/admin/{EventsTable-_Q772Mht.js → EventsTable-ysizwU05.js} +2 -2
- package/dist/admin/{EventsTable-_Q772Mht.js.map → EventsTable-ysizwU05.js.map} +1 -1
- package/dist/admin/{HomePage-03CDfbwR.js → HomePage--pHk_B3A.js} +3 -3
- package/dist/admin/{HomePage-03CDfbwR.js.map → HomePage--pHk_B3A.js.map} +1 -1
- package/dist/admin/{HomePage-BLhvGztr.js → HomePage-IzN9roUV.js} +4 -4
- package/dist/admin/{HomePage-BLhvGztr.js.map → HomePage-IzN9roUV.js.map} +1 -1
- package/dist/admin/{HomePage-8r_eQl5-.mjs → HomePage-XJXSYYwD.mjs} +4 -4
- package/dist/admin/{HomePage-8r_eQl5-.mjs.map → HomePage-XJXSYYwD.mjs.map} +1 -1
- package/dist/admin/{HomePage-CitC_zyC.mjs → HomePage-ZslCfH_4.mjs} +3 -3
- package/dist/admin/{HomePage-CitC_zyC.mjs.map → HomePage-ZslCfH_4.mjs.map} +1 -1
- package/dist/admin/{InstalledPluginsPage-0-3jg-QA.mjs → InstalledPluginsPage-aVU8nvIH.mjs} +4 -4
- package/dist/admin/{InstalledPluginsPage-0-3jg-QA.mjs.map → InstalledPluginsPage-aVU8nvIH.mjs.map} +1 -1
- package/dist/admin/{InstalledPluginsPage-4wGljedn.js → InstalledPluginsPage-sOBZcaYE.js} +4 -4
- package/dist/admin/{InstalledPluginsPage-4wGljedn.js.map → InstalledPluginsPage-sOBZcaYE.js.map} +1 -1
- package/dist/admin/{Layout-9uved2Bb.js → Layout-E2k-GMSH.js} +5 -5
- package/dist/admin/{Layout-9uved2Bb.js.map → Layout-E2k-GMSH.js.map} +1 -1
- package/dist/admin/{Layout-qATi5QbL.mjs → Layout-uWnmGiwe.mjs} +5 -5
- package/dist/admin/{Layout-qATi5QbL.mjs.map → Layout-uWnmGiwe.mjs.map} +1 -1
- package/dist/admin/{ListPage-man6fhdQ.js → ListPage-24lGH9Qz.js} +4 -4
- package/dist/admin/{ListPage-man6fhdQ.js.map → ListPage-24lGH9Qz.js.map} +1 -1
- package/dist/admin/{ListPage-nltl67SB.js → ListPage-901sitz-.js} +19 -15
- package/dist/admin/ListPage-901sitz-.js.map +1 -0
- package/dist/admin/{ListPage-1vSH-0tL.mjs → ListPage-Fk--jjUO.mjs} +4 -4
- package/dist/admin/{ListPage-1vSH-0tL.mjs.map → ListPage-Fk--jjUO.mjs.map} +1 -1
- package/dist/admin/{ListPage-iAFAGaPV.js → ListPage-IjiklzlN.js} +3 -3
- package/dist/admin/{ListPage-iAFAGaPV.js.map → ListPage-IjiklzlN.js.map} +1 -1
- package/dist/admin/{ListPage-IWfd9RMp.mjs → ListPage-LZh46JzH.mjs} +3 -3
- package/dist/admin/{ListPage-IWfd9RMp.mjs.map → ListPage-LZh46JzH.mjs.map} +1 -1
- package/dist/admin/{ListPage-KWjrKqby.js → ListPage-SomiQrLq.js} +5 -5
- package/dist/admin/{ListPage-KWjrKqby.js.map → ListPage-SomiQrLq.js.map} +1 -1
- package/dist/admin/{ListPage-O4MoV8Bq.mjs → ListPage-TFJDRhqk.mjs} +3 -3
- package/dist/admin/{ListPage-O4MoV8Bq.mjs.map → ListPage-TFJDRhqk.mjs.map} +1 -1
- package/dist/admin/{ListPage-BHmEVvOx.js → ListPage-htBIA-qN.js} +3 -3
- package/dist/admin/{ListPage-BHmEVvOx.js.map → ListPage-htBIA-qN.js.map} +1 -1
- package/dist/admin/{ListPage-YKB_zcjy.mjs → ListPage-ng57DLN1.mjs} +5 -5
- package/dist/admin/{ListPage-YKB_zcjy.mjs.map → ListPage-ng57DLN1.mjs.map} +1 -1
- package/dist/admin/{ListPage-JkbzV3H0.mjs → ListPage-sOKYT2xY.mjs} +20 -16
- package/dist/admin/ListPage-sOKYT2xY.mjs.map +1 -0
- package/dist/admin/{ListView-EnLlNZo9.mjs → ListView-_6sz5Ios.mjs} +4 -4
- package/dist/admin/{ListView-EnLlNZo9.mjs.map → ListView-_6sz5Ios.mjs.map} +1 -1
- package/dist/admin/{ListView-5P2kUAuu.js → ListView-hIfAzokC.js} +4 -4
- package/dist/admin/{ListView-5P2kUAuu.js.map → ListView-hIfAzokC.js.map} +1 -1
- package/dist/admin/{ListView-jegQTO3T.js → ListView-mNqhUwTp.js} +4 -4
- package/dist/admin/{ListView-jegQTO3T.js.map → ListView-mNqhUwTp.js.map} +1 -1
- package/dist/admin/{ListView-yM90pzvE.mjs → ListView-n5_FFcEb.mjs} +4 -4
- package/dist/admin/{ListView-yM90pzvE.mjs.map → ListView-n5_FFcEb.mjs.map} +1 -1
- package/dist/admin/{Login-MvCT693q.js → Login-0_8g2Rk7.js} +3 -3
- package/dist/admin/{Login-MvCT693q.js.map → Login-0_8g2Rk7.js.map} +1 -1
- package/dist/admin/{Login-_xZOQXkQ.mjs → Login-RavDpZGV.mjs} +3 -3
- package/dist/admin/{Login-_xZOQXkQ.mjs.map → Login-RavDpZGV.mjs.map} +1 -1
- package/dist/admin/{MagicLinkEE-RzDXADSQ.js → MagicLinkEE-5HcR72Be.js} +3 -3
- package/dist/admin/{MagicLinkEE-RzDXADSQ.js.map → MagicLinkEE-5HcR72Be.js.map} +1 -1
- package/dist/admin/{MagicLinkEE-vxadXP8z.mjs → MagicLinkEE-OTLJbbRm.mjs} +3 -3
- package/dist/admin/{MagicLinkEE-vxadXP8z.mjs.map → MagicLinkEE-OTLJbbRm.mjs.map} +1 -1
- package/dist/admin/{MarketplacePage-kb5_FJJA.mjs → MarketplacePage-4ofrjo-D.mjs} +3 -3
- package/dist/admin/{MarketplacePage-kb5_FJJA.mjs.map → MarketplacePage-4ofrjo-D.mjs.map} +1 -1
- package/dist/admin/{MarketplacePage-QLNjMmn-.js → MarketplacePage-wYC6JG-k.js} +3 -3
- package/dist/admin/{MarketplacePage-QLNjMmn-.js.map → MarketplacePage-wYC6JG-k.js.map} +1 -1
- package/dist/admin/{Permissions-ZJfz77Ys.mjs → Permissions-7t-Lns0S.mjs} +124 -92
- package/dist/admin/Permissions-7t-Lns0S.mjs.map +1 -0
- package/dist/admin/{Permissions-d8-I2wcO.js → Permissions-qgk7SdYP.js} +124 -92
- package/dist/admin/Permissions-qgk7SdYP.js.map +1 -0
- package/dist/admin/{PrivateRoute-nUWu4Q7I.mjs → PrivateRoute-7NWp-Izz.mjs} +2 -2
- package/dist/admin/{PrivateRoute-nUWu4Q7I.mjs.map → PrivateRoute-7NWp-Izz.mjs.map} +1 -1
- package/dist/admin/{PrivateRoute-SKQvazOx.js → PrivateRoute-DmuSS2Sg.js} +2 -2
- package/dist/admin/{PrivateRoute-SKQvazOx.js.map → PrivateRoute-DmuSS2Sg.js.map} +1 -1
- package/dist/admin/{ProfilePage-ayp8uhe5.mjs → ProfilePage-MpmLSqmz.mjs} +4 -4
- package/dist/admin/{ProfilePage-ayp8uhe5.mjs.map → ProfilePage-MpmLSqmz.mjs.map} +1 -1
- package/dist/admin/{ProfilePage-re3qYdaQ.js → ProfilePage-o2rknWPE.js} +4 -4
- package/dist/admin/{ProfilePage-re3qYdaQ.js.map → ProfilePage-o2rknWPE.js.map} +1 -1
- package/dist/admin/{PurchaseAuditLogs-k6UN3jqJ.js → PurchaseAuditLogs-4NkZKJpj.js} +2 -2
- package/dist/admin/{PurchaseAuditLogs-k6UN3jqJ.js.map → PurchaseAuditLogs-4NkZKJpj.js.map} +1 -1
- package/dist/admin/{PurchaseAuditLogs-Whcj8VHz.mjs → PurchaseAuditLogs-f9QiYMKE.mjs} +2 -2
- package/dist/admin/{PurchaseAuditLogs-Whcj8VHz.mjs.map → PurchaseAuditLogs-f9QiYMKE.mjs.map} +1 -1
- package/dist/admin/{PurchaseSingleSignOn-912fzYBP.mjs → PurchaseSingleSignOn-JC0Yqkwq.mjs} +2 -2
- package/dist/admin/{PurchaseSingleSignOn-912fzYBP.mjs.map → PurchaseSingleSignOn-JC0Yqkwq.mjs.map} +1 -1
- package/dist/admin/{PurchaseSingleSignOn-LbDVmYRg.js → PurchaseSingleSignOn-savndqqq.js} +2 -2
- package/dist/admin/{PurchaseSingleSignOn-LbDVmYRg.js.map → PurchaseSingleSignOn-savndqqq.js.map} +1 -1
- package/dist/admin/{SelectRoles-2Wg-lV_P.js → SelectRoles-BIE-2KnO.js} +4 -4
- package/dist/admin/{SelectRoles-2Wg-lV_P.js.map → SelectRoles-BIE-2KnO.js.map} +1 -1
- package/dist/admin/{SelectRoles-QBFFeBbK.mjs → SelectRoles-OQ2aeVdM.mjs} +4 -4
- package/dist/admin/{SelectRoles-QBFFeBbK.mjs.map → SelectRoles-OQ2aeVdM.mjs.map} +1 -1
- package/dist/admin/{SingleSignOnPage-vu0ozC6a.js → SingleSignOnPage-YJSSvlcS.js} +4 -4
- package/dist/admin/{SingleSignOnPage-vu0ozC6a.js.map → SingleSignOnPage-YJSSvlcS.js.map} +1 -1
- package/dist/admin/{SingleSignOnPage-8H9BXwum.mjs → SingleSignOnPage-g2us1854.mjs} +4 -4
- package/dist/admin/{SingleSignOnPage-8H9BXwum.mjs.map → SingleSignOnPage-g2us1854.mjs.map} +1 -1
- package/dist/admin/{Table-X7w_HVaN.js → Table-e2qth8Ii.js} +3 -3
- package/dist/admin/{Table-X7w_HVaN.js.map → Table-e2qth8Ii.js.map} +1 -1
- package/dist/admin/{Table-ue-m7HWb.mjs → Table-s2jnmbZ5.mjs} +3 -3
- package/dist/admin/{Table-ue-m7HWb.mjs.map → Table-s2jnmbZ5.mjs.map} +1 -1
- package/dist/admin/{Theme-QO8ntQqL.js → Theme-KfX2lO_d.js} +73 -51
- package/dist/admin/Theme-KfX2lO_d.js.map +1 -0
- package/dist/admin/{Theme-vNSAMTAv.mjs → Theme-PSeDjw5h.mjs} +71 -52
- package/dist/admin/Theme-PSeDjw5h.mjs.map +1 -0
- package/dist/admin/{TokenTypeSelect-Loy-xbd7.js → TokenTypeSelect-K7qWjM3D.js} +3 -3
- package/dist/admin/{TokenTypeSelect-Loy-xbd7.js.map → TokenTypeSelect-K7qWjM3D.js.map} +1 -1
- package/dist/admin/{TokenTypeSelect-Fkk_8lR1.mjs → TokenTypeSelect-yb2HCSAC.mjs} +3 -3
- package/dist/admin/{TokenTypeSelect-Fkk_8lR1.mjs.map → TokenTypeSelect-yb2HCSAC.mjs.map} +1 -1
- package/dist/admin/{UseCasePage-JfWTrvVI.js → UseCasePage-bligWS9U.js} +4 -4
- package/dist/admin/{UseCasePage-JfWTrvVI.js.map → UseCasePage-bligWS9U.js.map} +1 -1
- package/dist/admin/{UseCasePage-coK2qEQ8.mjs → UseCasePage-rTlZa08q.mjs} +4 -4
- package/dist/admin/{UseCasePage-coK2qEQ8.mjs.map → UseCasePage-rTlZa08q.mjs.map} +1 -1
- package/dist/admin/{constants-dII8qFln.js → constants-eyTM8z_-.js} +3 -3
- package/dist/admin/{constants-dII8qFln.js.map → constants-eyTM8z_-.js.map} +1 -1
- package/dist/admin/{constants-ju1heEre.mjs → constants-pAKoJYRR.mjs} +3 -3
- package/dist/admin/{constants-ju1heEre.mjs.map → constants-pAKoJYRR.mjs.map} +1 -1
- package/dist/admin/{index-YkJQv7zr.mjs → index-3zwKJbP6.mjs} +67 -49
- package/dist/admin/index-3zwKJbP6.mjs.map +1 -0
- package/dist/admin/{index-PMooPfic.js → index-dEjaesKw.js} +66 -48
- package/dist/admin/index-dEjaesKw.js.map +1 -0
- package/dist/admin/index.js +2 -2
- package/dist/admin/index.mjs +2 -2
- package/dist/admin/{selectors-RspXIUtJ.js → selectors-a5J4vc0Q.js} +2 -2
- package/dist/admin/{selectors-RspXIUtJ.js.map → selectors-a5J4vc0Q.js.map} +1 -1
- package/dist/admin/{selectors-jiFpk43E.mjs → selectors-hDBXHrNC.mjs} +2 -2
- package/dist/admin/{selectors-jiFpk43E.mjs.map → selectors-hDBXHrNC.mjs.map} +1 -1
- package/dist/admin/src/features/Auth.d.ts +2 -2
- package/dist/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.d.ts +0 -6
- package/dist/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.d.ts +2 -1
- package/dist/admin/src/reducer.d.ts +7 -2
- package/dist/admin/test.js +10 -9
- package/dist/admin/test.js.map +1 -1
- package/dist/admin/test.mjs +10 -9
- package/dist/admin/test.mjs.map +1 -1
- package/dist/admin/tests/store.d.ts +2 -1
- package/dist/admin/tests/utils.d.ts +2 -1
- package/dist/admin/{useAdminRoles-7-wc0xzd.js → useAdminRoles-67b27Ofl.js} +2 -2
- package/dist/admin/{useAdminRoles-7-wc0xzd.js.map → useAdminRoles-67b27Ofl.js.map} +1 -1
- package/dist/admin/{useAdminRoles-UsV_fhnq.mjs → useAdminRoles-zfTuIZ-u.mjs} +2 -2
- package/dist/admin/{useAdminRoles-UsV_fhnq.mjs.map → useAdminRoles-zfTuIZ-u.mjs.map} +1 -1
- package/dist/admin/{useLicenseLimitNotification-ZwMojvCa.js → useLicenseLimitNotification-Cb2QXH60.js} +2 -2
- package/dist/admin/{useLicenseLimitNotification-ZwMojvCa.js.map → useLicenseLimitNotification-Cb2QXH60.js.map} +1 -1
- package/dist/admin/{useLicenseLimitNotification-Nh_v-hN2.mjs → useLicenseLimitNotification-KZDZu_7z.mjs} +2 -2
- package/dist/admin/{useLicenseLimitNotification-Nh_v-hN2.mjs.map → useLicenseLimitNotification-KZDZu_7z.mjs.map} +1 -1
- package/dist/admin/{useWebhooks-opYGugiT.js → useWebhooks-0RUEkKAV.js} +4 -4
- package/dist/admin/{useWebhooks-opYGugiT.js.map → useWebhooks-0RUEkKAV.js.map} +1 -1
- package/dist/admin/{useWebhooks-bgdpL7W6.mjs → useWebhooks-7thg-d57.mjs} +4 -4
- package/dist/admin/{useWebhooks-bgdpL7W6.mjs.map → useWebhooks-7thg-d57.mjs.map} +1 -1
- package/dist/admin/{validation-GmkrMIwS.js → validation-AbOmGVzv.js} +2 -2
- package/dist/admin/{validation-GmkrMIwS.js.map → validation-AbOmGVzv.js.map} +1 -1
- package/dist/admin/{validation-b8AaACO4.mjs → validation-iHh54434.mjs} +2 -2
- package/dist/admin/{validation-b8AaACO4.mjs.map → validation-iHh54434.mjs.map} +1 -1
- package/dist/package.json.d.ts +10 -7
- package/dist/server/index.js +20 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +18 -1
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/controllers/webhooks.d.ts.map +1 -1
- package/package.json +11 -8
- package/dist/admin/ApplicationInfoPage-wbM7lUA1.mjs.map +0 -1
- package/dist/admin/ApplicationInfoPage-xNNMcZi9.js.map +0 -1
- package/dist/admin/AuthResponse-PxLid1A-.js.map +0 -1
- package/dist/admin/AuthResponse-pxi-Fo2T.mjs.map +0 -1
- package/dist/admin/CreatePage-w05sR-tr.js.map +0 -1
- package/dist/admin/CreatePage-wIEUvVoT.mjs.map +0 -1
- package/dist/admin/EditPage-YTX5vPhf.js.map +0 -1
- package/dist/admin/EditPage-sJIiBC0u.mjs.map +0 -1
- package/dist/admin/EditViewPage-BDKPoyIy.js.map +0 -1
- package/dist/admin/EditViewPage-Swq1Yta9.mjs.map +0 -1
- package/dist/admin/ListPage-JkbzV3H0.mjs.map +0 -1
- package/dist/admin/ListPage-nltl67SB.js.map +0 -1
- package/dist/admin/Permissions-ZJfz77Ys.mjs.map +0 -1
- package/dist/admin/Permissions-d8-I2wcO.js.map +0 -1
- package/dist/admin/Theme-QO8ntQqL.js.map +0 -1
- package/dist/admin/Theme-vNSAMTAv.mjs.map +0 -1
- package/dist/admin/index-PMooPfic.js.map +0 -1
- package/dist/admin/index-YkJQv7zr.mjs.map +0 -1
|
@@ -11,10 +11,10 @@ const reactIntl = require('react-intl');
|
|
|
11
11
|
const reactRouterDom = require('react-router-dom');
|
|
12
12
|
const styledComponents = require('styled-components');
|
|
13
13
|
const yup = require('yup');
|
|
14
|
-
const index = require('./index-
|
|
15
|
-
const Theme = require('./Theme-
|
|
14
|
+
const index = require('./index-dEjaesKw.js');
|
|
15
|
+
const Theme = require('./Theme-KfX2lO_d.js');
|
|
16
16
|
const admin = require('./admin-p0djr5G6.js');
|
|
17
|
-
const Permissions = require('./Permissions-
|
|
17
|
+
const Permissions = require('./Permissions-qgk7SdYP.js');
|
|
18
18
|
|
|
19
19
|
function _interopNamespace(e) {
|
|
20
20
|
if (e && e.__esModule) return e;
|
|
@@ -42,7 +42,7 @@ const CREATE_SCHEMA = yup__namespace.object().shape({
|
|
|
42
42
|
description: yup__namespace.string().required(index.errorsTrads.required.id)
|
|
43
43
|
});
|
|
44
44
|
const CreatePage = () => {
|
|
45
|
-
const
|
|
45
|
+
const { id } = reactRouterDom.useParams();
|
|
46
46
|
const { toggleNotification } = Theme.useNotification();
|
|
47
47
|
const { formatMessage } = reactIntl.useIntl();
|
|
48
48
|
const navigate = reactRouterDom.useNavigate();
|
|
@@ -52,15 +52,14 @@ const CreatePage = () => {
|
|
|
52
52
|
_unstableFormatAPIError: formatAPIError,
|
|
53
53
|
_unstableFormatValidationErrors: formatValidationErrors
|
|
54
54
|
} = Theme.useAPIErrorHandler();
|
|
55
|
-
const
|
|
56
|
-
const { isLoading: isLoadingPermissionsLayout, data: permissionsLayout } = index.useGetRolePermissionLayoutQuery({
|
|
55
|
+
const { isLoading: isLoadingPermissionsLayout, currentData: permissionsLayout } = index.useGetRolePermissionLayoutQuery({
|
|
57
56
|
/**
|
|
58
57
|
* Role here is a query param so if there's no role we pass an empty string
|
|
59
58
|
* which returns us a default layout.
|
|
60
59
|
*/
|
|
61
60
|
role: id ?? ""
|
|
62
61
|
});
|
|
63
|
-
const {
|
|
62
|
+
const { currentData: rolePermissions, isLoading: isLoadingRole } = index.useGetRolePermissionsQuery(
|
|
64
63
|
{
|
|
65
64
|
id
|
|
66
65
|
},
|
|
@@ -266,4 +265,4 @@ const ProtectedCreatePage = () => {
|
|
|
266
265
|
|
|
267
266
|
exports.CreatePage = CreatePage;
|
|
268
267
|
exports.ProtectedCreatePage = ProtectedCreatePage;
|
|
269
|
-
//# sourceMappingURL=CreatePage-
|
|
268
|
+
//# sourceMappingURL=CreatePage-xWsNDYvx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreatePage-xWsNDYvx.js","sources":["../../admin/src/pages/Settings/pages/Roles/CreatePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Field,\n Flex,\n Grid,\n Main,\n Textarea,\n TextInput,\n Typography,\n} from '@strapi/design-system';\nimport { format } from 'date-fns';\nimport { Formik, Form, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useNavigate, useParams } from 'react-router-dom';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport {\n useCreateRoleMutation,\n useGetRolePermissionLayoutQuery,\n useGetRolePermissionsQuery,\n useUpdateRolePermissionsMutation,\n} from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\n\nimport { Permissions, PermissionsAPI } from './components/Permissions';\n\n/* -------------------------------------------------------------------------------------------------\n * CreatePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst CREATE_SCHEMA = yup.object().shape({\n name: yup.string().required(translatedErrors.required.id),\n description: yup.string().required(translatedErrors.required.id),\n});\n\n/**\n * TODO: be nice if we could just infer this from the schema\n */\ninterface CreateRoleFormValues {\n name: string;\n description: string;\n}\n\n/**\n * TODO: this whole section of the app needs refactoring. Using a ref to\n * manage the state of the child is nonsensical.\n */\nconst CreatePage = () => {\n const { id } = useParams();\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const permissionsRef = React.useRef<PermissionsAPI>(null);\n const { trackUsage } = useTracking();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const { isLoading: isLoadingPermissionsLayout, currentData: permissionsLayout } =\n useGetRolePermissionLayoutQuery({\n /**\n * Role here is a query param so if there's no role we pass an empty string\n * which returns us a default layout.\n */\n role: id ?? '',\n });\n\n /**\n * We need this so if we're cloning a role, we can fetch\n * the current permissions that role has.\n */\n const { currentData: rolePermissions, isLoading: isLoadingRole } = useGetRolePermissionsQuery(\n {\n id: id!,\n },\n {\n skip: !id,\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [createRole] = useCreateRoleMutation();\n const [updateRolePermissions] = useUpdateRolePermissionsMutation();\n\n const handleCreateRoleSubmit = async (\n data: CreateRoleFormValues,\n formik: FormikHelpers<CreateRoleFormValues>\n ) => {\n try {\n if (id) {\n trackUsage('willDuplicateRole');\n } else {\n trackUsage('willCreateNewRole');\n }\n\n const res = await createRole(data);\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n const { permissionsToSend } = permissionsRef.current?.getPermissions() ?? {};\n\n if (res.data.id && Array.isArray(permissionsToSend) && permissionsToSend.length > 0) {\n const updateRes = await updateRolePermissions({\n id: res.data.id,\n permissions: permissionsToSend,\n });\n\n if ('error' in updateRes) {\n if (isBaseQueryError(updateRes.error) && updateRes.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(updateRes.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(updateRes.error),\n });\n }\n\n return;\n }\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'Settings.roles.created', defaultMessage: 'created' }),\n });\n\n navigate(`../roles/${res.data.id.toString()}`, { replace: true });\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if ((isLoadingPermissionsLayout && isLoadingRole) || !permissionsLayout) {\n return <Page.Loading />;\n }\n\n return (\n <Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Roles',\n }\n )}\n </Page.Title>\n <Formik\n initialValues={\n {\n name: '',\n description: `${formatMessage({\n id: 'Settings.roles.form.created',\n defaultMessage: 'Created',\n })} ${format(new Date(), 'PPP')}`,\n } satisfies CreateRoleFormValues\n }\n onSubmit={handleCreateRoleSubmit}\n validationSchema={CREATE_SCHEMA}\n validateOnChange={false}\n >\n {({ values, errors, handleReset, handleChange, isSubmitting }) => (\n <Form>\n <>\n <Layouts.Header\n primaryAction={\n <Flex gap={2}>\n <Button\n variant=\"secondary\"\n onClick={() => {\n handleReset();\n permissionsRef.current?.resetForm();\n }}\n size=\"L\"\n >\n {formatMessage({\n id: 'app.components.Button.reset',\n defaultMessage: 'Reset',\n })}\n </Button>\n <Button type=\"submit\" loading={isSubmitting} size=\"L\">\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n }\n title={formatMessage({\n id: 'Settings.roles.create.title',\n defaultMessage: 'Create a role',\n })}\n subtitle={formatMessage({\n id: 'Settings.roles.create.description',\n defaultMessage: 'Define the rights given to the role',\n })}\n navigationAction={<BackButton />}\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Box background=\"neutral0\" padding={6} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex justifyContent=\"space-between\">\n <Box>\n <Box>\n <Typography fontWeight=\"bold\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n </Box>\n <Box>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.roles.form.description',\n defaultMessage: 'Name and description of the role',\n })}\n </Typography>\n </Box>\n </Box>\n <UsersRoleNumber>\n {formatMessage(\n {\n id: 'Settings.roles.form.button.users-with-role',\n defaultMessage:\n '{number, plural, =0 {# users} one {# user} other {# users}} with this role',\n },\n { number: 0 }\n )}\n </UsersRoleNumber>\n </Flex>\n <Grid.Root gap={4}>\n <Grid.Item col={6}>\n <Field.Root\n name=\"name\"\n error={errors.name && formatMessage({ id: errors.name })}\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Field.Label>\n <TextInput onChange={handleChange} value={values.name} />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n <Grid.Item col={6}>\n <Field.Root\n name=\"description\"\n error={errors.description && formatMessage({ id: errors.description })}\n >\n <Field.Label>\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n </Field.Label>\n <Textarea onChange={handleChange} value={values.description} />\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Box>\n <Box shadow=\"filterShadow\" hasRadius>\n <Permissions\n isFormDisabled={false}\n ref={permissionsRef}\n permissions={rolePermissions}\n layout={permissionsLayout}\n />\n </Box>\n </Flex>\n </Layouts.Content>\n </>\n </Form>\n )}\n </Formik>\n </Main>\n );\n};\n\nconst UsersRoleNumber = styled.div`\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n padding: ${({ theme }) => `${theme.spaces[2]} ${theme.spaces[4]}`};\n color: ${({ theme }) => theme.colors.primary600};\n border-radius: ${({ theme }) => theme.borderRadius};\n font-size: 1.2rem;\n font-weight: bold;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedCreatePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedCreatePage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.roles.create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <CreatePage />\n </Page.Protect>\n );\n};\n\nexport { CreatePage, ProtectedCreatePage };\n"],"names":["yup","translatedErrors","useParams","useNotification","useIntl","useNavigate","React","useTracking","useAPIErrorHandler","useGetRolePermissionLayoutQuery","useGetRolePermissionsQuery","useCreateRoleMutation","useUpdateRolePermissionsMutation","isBaseQueryError","jsx","Page","Main","Formik","format","Form","jsxs","Fragment","Layouts","Flex","Button","BackButton","Box","Typography","Grid","Field","TextInput","Textarea","Permissions","styled","useTypedSelector"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { b as useTypedSelector, P as Page } from './Theme-
|
|
3
|
-
import { EditView } from './EditViewPage-
|
|
2
|
+
import { b as useTypedSelector, P as Page } from './Theme-PSeDjw5h.mjs';
|
|
3
|
+
import { EditView } from './EditViewPage-6X0T10v1.mjs';
|
|
4
4
|
|
|
5
5
|
const ProtectedCreateView = () => {
|
|
6
6
|
const permissions = useTypedSelector(
|
|
@@ -10,4 +10,4 @@ const ProtectedCreateView = () => {
|
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
export { ProtectedCreateView };
|
|
13
|
-
//# sourceMappingURL=CreateView-
|
|
13
|
+
//# sourceMappingURL=CreateView-0WQg_fQZ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateView-
|
|
1
|
+
{"version":3,"file":"CreateView-0WQg_fQZ.mjs","sources":["../../admin/src/pages/Settings/pages/ApiTokens/CreateView.tsx"],"sourcesContent":["import { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\n\nimport { EditView } from './EditView/EditViewPage';\n\nexport const ProtectedCreateView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['api-tokens'].create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n"],"names":[],"mappings":";;;;AAKO,MAAM,sBAAsB,MAAM;AACvC,EAAA,MAAM,WAAc,GAAA,gBAAA;AAAA,IAClB,CAAC,KAAU,KAAA,KAAA,CAAM,UAAU,WAAY,CAAA,QAAA,GAAW,YAAY,CAAE,CAAA,MAAA;AAAA,GAClE,CAAA;AAEA,EAAA,2BACG,IAAK,CAAA,OAAA,EAAL,EAAa,WACZ,EAAA,QAAA,kBAAA,GAAA,CAAC,YAAS,CACZ,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
const Theme = require('./Theme-
|
|
7
|
-
const EditViewPage = require('./EditViewPage-
|
|
6
|
+
const Theme = require('./Theme-KfX2lO_d.js');
|
|
7
|
+
const EditViewPage = require('./EditViewPage-NHbqLrW5.js');
|
|
8
8
|
|
|
9
9
|
const ProtectedCreateView = () => {
|
|
10
10
|
const permissions = Theme.useTypedSelector(
|
|
@@ -14,4 +14,4 @@ const ProtectedCreateView = () => {
|
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
exports.ProtectedCreateView = ProtectedCreateView;
|
|
17
|
-
//# sourceMappingURL=CreateView-
|
|
17
|
+
//# sourceMappingURL=CreateView-9QlN4b17.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateView-
|
|
1
|
+
{"version":3,"file":"CreateView-9QlN4b17.js","sources":["../../admin/src/pages/Settings/pages/ApiTokens/CreateView.tsx"],"sourcesContent":["import { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\n\nimport { EditView } from './EditView/EditViewPage';\n\nexport const ProtectedCreateView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['api-tokens'].create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n"],"names":["useTypedSelector","Page","jsx","EditView"],"mappings":";;;;;;;;AAKO,MAAM,sBAAsB,MAAM;AACvC,EAAA,MAAM,WAAc,GAAAA,sBAAA;AAAA,IAClB,CAAC,KAAU,KAAA,KAAA,CAAM,UAAU,WAAY,CAAA,QAAA,GAAW,YAAY,CAAE,CAAA,MAAA;AAAA,GAClE,CAAA;AAEA,EAAA,sCACGC,UAAK,CAAA,OAAA,EAAL,EAAa,WACZ,EAAA,QAAA,kBAAAC,cAAA,CAACC,yBAAS,CACZ,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
const Theme = require('./Theme-
|
|
7
|
-
const EditView = require('./EditView-
|
|
6
|
+
const Theme = require('./Theme-KfX2lO_d.js');
|
|
7
|
+
const EditView = require('./EditView-5jYdR19u.js');
|
|
8
8
|
|
|
9
9
|
const ProtectedCreateView = () => {
|
|
10
10
|
const permissions = Theme.useTypedSelector(
|
|
@@ -14,4 +14,4 @@ const ProtectedCreateView = () => {
|
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
exports.ProtectedCreateView = ProtectedCreateView;
|
|
17
|
-
//# sourceMappingURL=CreateView-
|
|
17
|
+
//# sourceMappingURL=CreateView-oFEGIOMA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateView-
|
|
1
|
+
{"version":3,"file":"CreateView-oFEGIOMA.js","sources":["../../admin/src/pages/Settings/pages/TransferTokens/CreateView.tsx"],"sourcesContent":["import { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\n\nimport { EditView } from './EditView';\n\nexport const ProtectedCreateView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens'].create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n"],"names":["useTypedSelector","Page","jsx","EditView"],"mappings":";;;;;;;;AAKO,MAAM,sBAAsB,MAAM;AACvC,EAAA,MAAM,WAAc,GAAAA,sBAAA;AAAA,IAClB,CAAC,KAAU,KAAA,KAAA,CAAM,UAAU,WAAY,CAAA,QAAA,GAAW,iBAAiB,CAAE,CAAA,MAAA;AAAA,GACvE,CAAA;AAEA,EAAA,sCACGC,UAAK,CAAA,OAAA,EAAL,EAAa,WACZ,EAAA,QAAA,kBAAAC,cAAA,CAACC,qBAAS,CACZ,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { b as useTypedSelector, P as Page } from './Theme-
|
|
3
|
-
import { EditView } from './EditView-
|
|
2
|
+
import { b as useTypedSelector, P as Page } from './Theme-PSeDjw5h.mjs';
|
|
3
|
+
import { EditView } from './EditView-8FHw8DOi.mjs';
|
|
4
4
|
|
|
5
5
|
const ProtectedCreateView = () => {
|
|
6
6
|
const permissions = useTypedSelector(
|
|
@@ -10,4 +10,4 @@ const ProtectedCreateView = () => {
|
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
export { ProtectedCreateView };
|
|
13
|
-
//# sourceMappingURL=CreateView-
|
|
13
|
+
//# sourceMappingURL=CreateView-vCM4rnNp.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateView-
|
|
1
|
+
{"version":3,"file":"CreateView-vCM4rnNp.mjs","sources":["../../admin/src/pages/Settings/pages/TransferTokens/CreateView.tsx"],"sourcesContent":["import { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\n\nimport { EditView } from './EditView';\n\nexport const ProtectedCreateView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens'].create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n"],"names":[],"mappings":";;;;AAKO,MAAM,sBAAsB,MAAM;AACvC,EAAA,MAAM,WAAc,GAAA,gBAAA;AAAA,IAClB,CAAC,KAAU,KAAA,KAAA,CAAM,UAAU,WAAY,CAAA,QAAA,GAAW,iBAAiB,CAAE,CAAA,MAAA;AAAA,GACvE,CAAA;AAEA,EAAA,2BACG,IAAK,CAAA,OAAA,EAAL,EAAa,WACZ,EAAA,QAAA,kBAAA,GAAA,CAAC,YAAS,CACZ,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -10,14 +10,14 @@ const pick = require('lodash/pick');
|
|
|
10
10
|
const reactIntl = require('react-intl');
|
|
11
11
|
const reactRouterDom = require('react-router-dom');
|
|
12
12
|
const yup = require('yup');
|
|
13
|
-
const index = require('./index-
|
|
14
|
-
const Theme = require('./Theme-
|
|
13
|
+
const index = require('./index-dEjaesKw.js');
|
|
14
|
+
const Theme = require('./Theme-KfX2lO_d.js');
|
|
15
15
|
const useEnterprise = require('./useEnterprise-DUs6BYlP.js');
|
|
16
|
-
const selectors = require('./selectors-
|
|
16
|
+
const selectors = require('./selectors-a5J4vc0Q.js');
|
|
17
17
|
const admin = require('./admin-p0djr5G6.js');
|
|
18
18
|
const users = require('./users-R5A0kUOV.js');
|
|
19
|
-
const SelectRoles = require('./SelectRoles-
|
|
20
|
-
const validation = require('./validation-
|
|
19
|
+
const SelectRoles = require('./SelectRoles-BIE-2KnO.js');
|
|
20
|
+
const validation = require('./validation-AbOmGVzv.js');
|
|
21
21
|
|
|
22
22
|
const _interopDefault = e => e && e.__esModule ? e : { default: e };
|
|
23
23
|
|
|
@@ -63,7 +63,7 @@ const EditPage = () => {
|
|
|
63
63
|
const { toggleNotification } = Theme.useNotification();
|
|
64
64
|
const MagicLink = useEnterprise.useEnterprise(
|
|
65
65
|
SelectRoles.MagicLinkCE,
|
|
66
|
-
async () => (await Promise.resolve().then(() => require('./MagicLinkEE-
|
|
66
|
+
async () => (await Promise.resolve().then(() => require('./MagicLinkEE-5HcR72Be.js'))).MagicLinkEE
|
|
67
67
|
);
|
|
68
68
|
const {
|
|
69
69
|
_unstableFormatAPIError: formatAPIError,
|
|
@@ -348,4 +348,4 @@ const ProtectedEditPage = () => {
|
|
|
348
348
|
|
|
349
349
|
exports.EditPage = EditPage;
|
|
350
350
|
exports.ProtectedEditPage = ProtectedEditPage;
|
|
351
|
-
//# sourceMappingURL=EditPage-
|
|
351
|
+
//# sourceMappingURL=EditPage-DZ2RTmjX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditPage-DZ2RTmjX.js","sources":["../../admin/src/pages/Settings/pages/Users/EditPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Typography } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport pick from 'lodash/pick';\nimport { useIntl } from 'react-intl';\nimport { useMatch, useNavigate } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { Update } from '../../../../../../shared/contracts/user';\nimport { Form, FormHelpers } from '../../../../components/Form';\nimport { InputRenderer } from '../../../../components/FormInputs/Renderer';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\nimport { useAdminUsers, useUpdateUserMutation } from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\nimport { getDisplayName } from '../../../../utils/users';\n\nimport { MagicLinkCE } from './components/MagicLinkCE';\nimport { SelectRoles } from './components/SelectRoles';\nimport { COMMON_USER_SCHEMA } from './utils/validation';\n\nconst EDIT_VALIDATION_SCHEMA = yup.object().shape({\n ...COMMON_USER_SCHEMA,\n isActive: yup.bool(),\n roles: yup\n .array()\n .min(1, {\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n })\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n});\n\nconst fieldsToPick = ['email', 'firstname', 'lastname', 'username', 'isActive', 'roles'] as const;\n\n/* -------------------------------------------------------------------------------------------------\n * EditPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst EditPage = () => {\n const { formatMessage } = useIntl();\n const match = useMatch('/settings/users/:id');\n const id = match?.params?.id ?? '';\n const navigate = useNavigate();\n const { toggleNotification } = useNotification();\n const MagicLink = useEnterprise(\n MagicLinkCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE'\n )\n ).MagicLinkEE\n );\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const permissions = useTypedSelector(selectAdminPermissions);\n\n const {\n isLoading: isLoadingRBAC,\n allowedActions: { canUpdate },\n } = useRBAC({\n read: permissions.settings?.users.read ?? [],\n update: permissions.settings?.users.update ?? [],\n });\n\n const [updateUser] = useUpdateUserMutation();\n\n const {\n data,\n error,\n isLoading: isLoadingAdminUsers,\n } = useAdminUsers(\n { id },\n {\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [user] = data?.users ?? [];\n\n React.useEffect(() => {\n if (error) {\n // Redirect the user to the homepage if is not allowed to read\n if (error.name === 'UnauthorizedError') {\n toggleNotification({\n type: 'info',\n message: formatMessage({\n id: 'notification.permission.not-allowed-read',\n defaultMessage: 'You are not allowed to see this document',\n }),\n });\n\n navigate('/');\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }\n }, [error, formatAPIError, formatMessage, navigate, toggleNotification]);\n\n const isLoading = isLoadingAdminUsers || !MagicLink || isLoadingRBAC;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n type InitialData = Pick<Update.Request['body'], (typeof fieldsToPick)[number]> & {\n confirmPassword: string;\n password: string;\n };\n\n const initialData = {\n ...pick(user, fieldsToPick),\n roles: user.roles.map(({ id }) => id),\n password: '',\n confirmPassword: '',\n } satisfies InitialData;\n\n const handleSubmit = async (body: InitialData, actions: FormHelpers<InitialData>) => {\n const { confirmPassword: _confirmPassword, ...bodyRest } = body;\n\n const res = await updateUser({\n id,\n ...bodyRest,\n });\n\n if ('error' in res && isBaseQueryError(res.error)) {\n if (res.error.name === 'ValidationError') {\n actions.setErrors(formatValidationErrors(res.error));\n }\n\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n } else {\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n\n actions.setValues({\n ...pick(body, fieldsToPick),\n password: '',\n confirmPassword: '',\n });\n }\n };\n\n return (\n <Page.Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Users',\n }\n )}\n </Page.Title>\n <Form\n method=\"PUT\"\n onSubmit={handleSubmit}\n initialValues={initialData}\n validationSchema={EDIT_VALIDATION_SCHEMA}\n >\n {({ isSubmitting, modified }) => {\n return (\n <>\n <Layouts.Header\n primaryAction={\n <Button\n disabled={isSubmitting || !canUpdate || !modified}\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n size=\"L\"\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n title={formatMessage(\n {\n id: 'app.containers.Users.EditPage.header.label',\n defaultMessage: 'Edit {name}',\n },\n {\n // @ts-expect-error – issues with the Entity ID type, still.\n name: getDisplayName(initialData),\n }\n )}\n navigationAction={<BackButton />}\n />\n <Layouts.Content>\n {user?.registrationToken && (\n <Box paddingBottom={6}>\n <MagicLink registrationToken={user.registrationToken} />\n </Box>\n )}\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid.Root gap={5}>\n {LAYOUT.map((row) =>\n row.map(({ size, label, ...field }) => {\n return (\n <Grid.Item key={field.name} col={size}>\n <InputRenderer\n {...field}\n disabled={!canUpdate}\n label={formatMessage(label)}\n placeholder={\n 'placeholder' in field\n ? formatMessage(field.placeholder)\n : undefined\n }\n />\n </Grid.Item>\n );\n })\n )}\n </Grid.Root>\n </Flex>\n </Box>\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.roles',\n defaultMessage: \"User's role\",\n })}\n </Typography>\n <Grid.Root gap={5}>\n <Grid.Item col={6} xs={12}>\n <SelectRoles disabled={!canUpdate} />\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Box>\n </Flex>\n </Layouts.Content>\n </>\n );\n }}\n </Form>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EditPage LAYOUT\n * -----------------------------------------------------------------------------------------------*/\n\nconst LAYOUT = [\n [\n {\n label: {\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n },\n name: 'firstname',\n placeholder: {\n id: 'Auth.form.firstname.placeholder',\n defaultMessage: 'e.g. Kai',\n },\n type: 'string' as const,\n size: 6,\n required: true,\n },\n {\n label: {\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n },\n name: 'lastname',\n placeholder: {\n id: 'Auth.form.lastname.placeholder',\n defaultMessage: 'e.g. Doe',\n },\n type: 'string' as const,\n size: 6,\n },\n ],\n [\n {\n label: {\n id: 'Auth.form.email.label',\n defaultMessage: 'Email',\n },\n name: 'email',\n placeholder: {\n id: 'Auth.form.email.placeholder',\n defaultMessage: 'e.g. kai.doe@strapi.io',\n },\n type: 'email' as const,\n size: 6,\n required: true,\n },\n {\n label: {\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n },\n name: 'username',\n placeholder: {\n id: 'Auth.form.username.placeholder',\n defaultMessage: 'e.g. Kai_Doe',\n },\n type: 'string' as const,\n size: 6,\n },\n ],\n [\n {\n autoComplete: 'new-password',\n label: {\n id: 'global.password',\n defaultMessage: 'Password',\n },\n name: 'password',\n type: 'password' as const,\n size: 6,\n },\n {\n autoComplete: 'new-password',\n label: {\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Password confirmation',\n },\n name: 'confirmPassword',\n type: 'password' as const,\n size: 6,\n },\n ],\n [\n {\n label: {\n id: 'Auth.form.active.label',\n defaultMessage: 'Active',\n },\n name: 'isActive',\n type: 'boolean' as const,\n size: 6,\n },\n ],\n];\n\nconst ProtectedEditPage = () => {\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.users.read);\n\n return (\n <Page.Protect permissions={permissions}>\n <EditPage />\n </Page.Protect>\n );\n};\n\nexport { EditPage, ProtectedEditPage };\n"],"names":["yup","COMMON_USER_SCHEMA","translatedErrors","useIntl","useMatch","useNavigate","useNotification","useEnterprise","MagicLinkCE","useAPIErrorHandler","useTypedSelector","selectAdminPermissions","useRBAC","useUpdateUserMutation","useAdminUsers","React","jsx","Page","pick","id","isBaseQueryError","jsxs","Form","Fragment","Layouts","Button","Check","getDisplayName","BackButton","Box","Flex","Typography","Grid","InputRenderer","SelectRoles"],"mappings":"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"}
|
|
@@ -9,11 +9,11 @@ const formik = require('formik');
|
|
|
9
9
|
const reactIntl = require('react-intl');
|
|
10
10
|
const reactRouterDom = require('react-router-dom');
|
|
11
11
|
const yup = require('yup');
|
|
12
|
-
const index = require('./index-
|
|
13
|
-
const Theme = require('./Theme-
|
|
14
|
-
const useAdminRoles = require('./useAdminRoles-
|
|
12
|
+
const index = require('./index-dEjaesKw.js');
|
|
13
|
+
const Theme = require('./Theme-KfX2lO_d.js');
|
|
14
|
+
const useAdminRoles = require('./useAdminRoles-67b27Ofl.js');
|
|
15
15
|
const admin = require('./admin-p0djr5G6.js');
|
|
16
|
-
const Permissions = require('./Permissions-
|
|
16
|
+
const Permissions = require('./Permissions-qgk7SdYP.js');
|
|
17
17
|
|
|
18
18
|
function _interopNamespace(e) {
|
|
19
19
|
if (e && e.__esModule) return e;
|
|
@@ -294,4 +294,4 @@ const ProtectedEditPage = () => {
|
|
|
294
294
|
|
|
295
295
|
exports.EditPage = EditPage;
|
|
296
296
|
exports.ProtectedEditPage = ProtectedEditPage;
|
|
297
|
-
//# sourceMappingURL=EditPage-
|
|
297
|
+
//# sourceMappingURL=EditPage-HUIlXspE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditPage-azTfLOy9.js","sources":["../../admin/src/pages/Settings/pages/Roles/components/RoleForm.tsx","../../admin/src/pages/Settings/pages/Roles/EditPage.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Field,\n Flex,\n Grid,\n Textarea,\n TextInput,\n Typography,\n} from '@strapi/design-system';\nimport { FormikProps } from 'formik';\nimport { useIntl } from 'react-intl';\n\nimport type { AdminRole } from '../../../../../hooks/useAdminRoles';\nimport type { EditRoleFormValues } from '../EditPage';\n\ninterface RoleFormProps extends Pick<FormikProps<EditRoleFormValues>, 'values' | 'errors'> {\n onBlur: FormikProps<EditRoleFormValues>['handleBlur'];\n onChange: FormikProps<EditRoleFormValues>['handleChange'];\n disabled?: boolean;\n role: AdminRole;\n}\n\nconst RoleForm = ({ disabled, role, values, errors, onChange, onBlur }: RoleFormProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box background=\"neutral0\" padding={6} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex justifyContent=\"space-between\">\n <Box>\n <Box>\n <Typography fontWeight=\"bold\">\n {role\n ? role.name\n : formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n </Box>\n <Box>\n <Typography textColor=\"neutral500\" variant=\"pi\">\n {role\n ? role.description\n : formatMessage({\n id: 'Settings.roles.form.description',\n defaultMessage: 'Name and description of the role',\n })}\n </Typography>\n </Box>\n </Box>\n <Button disabled variant=\"secondary\">\n {formatMessage(\n {\n id: 'Settings.roles.form.button.users-with-role',\n defaultMessage:\n '{number, plural, =0 {# users} one {# user} other {# users}} with this role',\n },\n { number: role.usersCount }\n )}\n </Button>\n </Flex>\n <Grid.Root gap={4}>\n <Grid.Item col={6}>\n <Field.Root\n name=\"name\"\n error={errors.name && formatMessage({ id: errors.name })}\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Field.Label>\n <TextInput\n disabled={disabled}\n onChange={onChange}\n onBlur={onBlur}\n value={values.name || ''}\n />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n <Grid.Item col={6}>\n <Field.Root\n name=\"description\"\n error={errors.name && formatMessage({ id: errors.name })}\n >\n <Field.Label>\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n </Field.Label>\n <Textarea\n disabled={disabled}\n onChange={onChange}\n onBlur={onBlur}\n value={values.description}\n />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\nexport { RoleForm };\nexport type { RoleFormProps };\n","import * as React from 'react';\n\nimport { Box, Button, Flex, Main } from '@strapi/design-system';\nimport { Formik, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { Navigate, useMatch } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAdminRoles } from '../../../../hooks/useAdminRoles';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport {\n useGetRolePermissionLayoutQuery,\n useGetRolePermissionsQuery,\n useUpdateRoleMutation,\n useUpdateRolePermissionsMutation,\n} from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\n\nimport { Permissions, PermissionsAPI } from './components/Permissions';\nimport { RoleForm } from './components/RoleForm';\n\nconst EDIT_ROLE_SCHEMA = yup.object().shape({\n name: yup.string().required(translatedErrors.required.id),\n description: yup.string().optional(),\n});\n\n/**\n * TODO: be nice if we could just infer this from the schema\n */\ninterface EditRoleFormValues {\n name: string;\n description: string;\n}\n\nconst EditPage = () => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const match = useMatch('/settings/roles/:id');\n const id = match?.params.id;\n const permissionsRef = React.useRef<PermissionsAPI>(null);\n const { trackUsage } = useTracking();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const { isLoading: isLoadingPermissionsLayout, data: permissionsLayout } =\n useGetRolePermissionLayoutQuery({\n /**\n * Role here is a query param so if there's no role we pass an empty string\n * which returns us a default layout.\n */\n role: id ?? '',\n });\n\n const {\n roles,\n isLoading: isRoleLoading,\n refetch: refetchRole,\n } = useAdminRoles(\n { id },\n {\n refetchOnMountOrArgChange: true,\n }\n );\n\n const role = roles[0] ?? {};\n\n const { data: permissions, isLoading: isLoadingPermissions } = useGetRolePermissionsQuery(\n {\n id: id!,\n },\n {\n skip: !id,\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [updateRole] = useUpdateRoleMutation();\n const [updateRolePermissions] = useUpdateRolePermissionsMutation();\n\n if (!id) {\n return <Navigate to=\"/settings/roles\" />;\n }\n\n const handleEditRoleSubmit = async (\n data: EditRoleFormValues,\n formik: FormikHelpers<EditRoleFormValues>\n ) => {\n try {\n const { permissionsToSend, didUpdateConditions } =\n permissionsRef.current?.getPermissions() ?? {};\n\n const res = await updateRole({\n id,\n ...data,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n if (role.code !== 'strapi-super-admin' && permissionsToSend) {\n const updateRes = await updateRolePermissions({\n id: res.data.id,\n permissions: permissionsToSend,\n });\n\n if ('error' in updateRes) {\n if (isBaseQueryError(updateRes.error) && updateRes.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(updateRes.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(updateRes.error),\n });\n }\n\n return;\n }\n\n if (didUpdateConditions) {\n trackUsage('didUpdateConditions');\n }\n }\n\n permissionsRef.current?.setFormAfterSubmit();\n\n await refetchRole();\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved' }),\n });\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n const isFormDisabled = !isRoleLoading && role.code === 'strapi-super-admin';\n\n if (isLoadingPermissionsLayout || isRoleLoading || isLoadingPermissions || !permissionsLayout) {\n return <Page.Loading />;\n }\n\n return (\n <Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Roles',\n }\n )}\n </Page.Title>\n <Formik\n enableReinitialize\n initialValues={\n {\n name: role.name ?? '',\n description: role.description ?? '',\n } satisfies EditRoleFormValues\n }\n onSubmit={handleEditRoleSubmit}\n validationSchema={EDIT_ROLE_SCHEMA}\n validateOnChange={false}\n >\n {({ handleSubmit, values, errors, handleChange, handleBlur, isSubmitting }) => (\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n primaryAction={\n <Flex gap={2}>\n <Button\n type=\"submit\"\n disabled={role.code === 'strapi-super-admin'}\n loading={isSubmitting}\n size=\"L\"\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n }\n title={formatMessage({\n id: 'Settings.roles.edit.title',\n defaultMessage: 'Edit a role',\n })}\n subtitle={formatMessage({\n id: 'Settings.roles.create.description',\n defaultMessage: 'Define the rights given to the role',\n })}\n navigationAction={<BackButton />}\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <RoleForm\n disabled={isFormDisabled}\n errors={errors}\n values={values}\n onChange={handleChange}\n onBlur={handleBlur}\n role={role}\n />\n <Box shadow=\"filterShadow\" hasRadius>\n <Permissions\n isFormDisabled={isFormDisabled}\n permissions={permissions}\n ref={permissionsRef}\n layout={permissionsLayout}\n />\n </Box>\n </Flex>\n </Layouts.Content>\n </form>\n )}\n </Formik>\n </Main>\n );\n};\n\nconst ProtectedEditPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.roles.update\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditPage />\n </Page.Protect>\n );\n};\n\nexport { EditPage, ProtectedEditPage };\nexport type { EditRoleFormValues };\n"],"names":["useIntl","Box","Flex","jsxs","jsx","Typography","Button","Grid","Field","TextInput","Textarea","yup","translatedErrors","useNotification","useMatch","React","useTracking","useAPIErrorHandler","useGetRolePermissionLayoutQuery","useAdminRoles","useGetRolePermissionsQuery","useUpdateRoleMutation","useUpdateRolePermissionsMutation","Navigate","isBaseQueryError","Page","Main","Formik","Layouts","BackButton","Permissions","useTypedSelector"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EditPage-HUIlXspE.js","sources":["../../admin/src/pages/Settings/pages/Roles/components/RoleForm.tsx","../../admin/src/pages/Settings/pages/Roles/EditPage.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Field,\n Flex,\n Grid,\n Textarea,\n TextInput,\n Typography,\n} from '@strapi/design-system';\nimport { FormikProps } from 'formik';\nimport { useIntl } from 'react-intl';\n\nimport type { AdminRole } from '../../../../../hooks/useAdminRoles';\nimport type { EditRoleFormValues } from '../EditPage';\n\ninterface RoleFormProps extends Pick<FormikProps<EditRoleFormValues>, 'values' | 'errors'> {\n onBlur: FormikProps<EditRoleFormValues>['handleBlur'];\n onChange: FormikProps<EditRoleFormValues>['handleChange'];\n disabled?: boolean;\n role: AdminRole;\n}\n\nconst RoleForm = ({ disabled, role, values, errors, onChange, onBlur }: RoleFormProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box background=\"neutral0\" padding={6} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex justifyContent=\"space-between\">\n <Box>\n <Box>\n <Typography fontWeight=\"bold\">\n {role\n ? role.name\n : formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n </Box>\n <Box>\n <Typography textColor=\"neutral500\" variant=\"pi\">\n {role\n ? role.description\n : formatMessage({\n id: 'Settings.roles.form.description',\n defaultMessage: 'Name and description of the role',\n })}\n </Typography>\n </Box>\n </Box>\n <Button disabled variant=\"secondary\">\n {formatMessage(\n {\n id: 'Settings.roles.form.button.users-with-role',\n defaultMessage:\n '{number, plural, =0 {# users} one {# user} other {# users}} with this role',\n },\n { number: role.usersCount }\n )}\n </Button>\n </Flex>\n <Grid.Root gap={4}>\n <Grid.Item col={6}>\n <Field.Root\n name=\"name\"\n error={errors.name && formatMessage({ id: errors.name })}\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Field.Label>\n <TextInput\n disabled={disabled}\n onChange={onChange}\n onBlur={onBlur}\n value={values.name || ''}\n />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n <Grid.Item col={6}>\n <Field.Root\n name=\"description\"\n error={errors.name && formatMessage({ id: errors.name })}\n >\n <Field.Label>\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n </Field.Label>\n <Textarea\n disabled={disabled}\n onChange={onChange}\n onBlur={onBlur}\n value={values.description}\n />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\nexport { RoleForm };\nexport type { RoleFormProps };\n","import * as React from 'react';\n\nimport { Box, Button, Flex, Main } from '@strapi/design-system';\nimport { Formik, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { Navigate, useMatch } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAdminRoles } from '../../../../hooks/useAdminRoles';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport {\n useGetRolePermissionLayoutQuery,\n useGetRolePermissionsQuery,\n useUpdateRoleMutation,\n useUpdateRolePermissionsMutation,\n} from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\n\nimport { Permissions, PermissionsAPI } from './components/Permissions';\nimport { RoleForm } from './components/RoleForm';\n\nconst EDIT_ROLE_SCHEMA = yup.object().shape({\n name: yup.string().required(translatedErrors.required.id),\n description: yup.string().optional(),\n});\n\n/**\n * TODO: be nice if we could just infer this from the schema\n */\ninterface EditRoleFormValues {\n name: string;\n description: string;\n}\n\nconst EditPage = () => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const match = useMatch('/settings/roles/:id');\n const id = match?.params.id;\n const permissionsRef = React.useRef<PermissionsAPI>(null);\n const { trackUsage } = useTracking();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const { isLoading: isLoadingPermissionsLayout, data: permissionsLayout } =\n useGetRolePermissionLayoutQuery({\n /**\n * Role here is a query param so if there's no role we pass an empty string\n * which returns us a default layout.\n */\n role: id ?? '',\n });\n\n const {\n roles,\n isLoading: isRoleLoading,\n refetch: refetchRole,\n } = useAdminRoles(\n { id },\n {\n refetchOnMountOrArgChange: true,\n }\n );\n\n const role = roles[0] ?? {};\n\n const { data: permissions, isLoading: isLoadingPermissions } = useGetRolePermissionsQuery(\n {\n id: id!,\n },\n {\n skip: !id,\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [updateRole] = useUpdateRoleMutation();\n const [updateRolePermissions] = useUpdateRolePermissionsMutation();\n\n if (!id) {\n return <Navigate to=\"/settings/roles\" />;\n }\n\n const handleEditRoleSubmit = async (\n data: EditRoleFormValues,\n formik: FormikHelpers<EditRoleFormValues>\n ) => {\n try {\n const { permissionsToSend, didUpdateConditions } =\n permissionsRef.current?.getPermissions() ?? {};\n\n const res = await updateRole({\n id,\n ...data,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n if (role.code !== 'strapi-super-admin' && permissionsToSend) {\n const updateRes = await updateRolePermissions({\n id: res.data.id,\n permissions: permissionsToSend,\n });\n\n if ('error' in updateRes) {\n if (isBaseQueryError(updateRes.error) && updateRes.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(updateRes.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(updateRes.error),\n });\n }\n\n return;\n }\n\n if (didUpdateConditions) {\n trackUsage('didUpdateConditions');\n }\n }\n\n permissionsRef.current?.setFormAfterSubmit();\n\n await refetchRole();\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved' }),\n });\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n const isFormDisabled = !isRoleLoading && role.code === 'strapi-super-admin';\n\n if (isLoadingPermissionsLayout || isRoleLoading || isLoadingPermissions || !permissionsLayout) {\n return <Page.Loading />;\n }\n\n return (\n <Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Roles',\n }\n )}\n </Page.Title>\n <Formik\n enableReinitialize\n initialValues={\n {\n name: role.name ?? '',\n description: role.description ?? '',\n } satisfies EditRoleFormValues\n }\n onSubmit={handleEditRoleSubmit}\n validationSchema={EDIT_ROLE_SCHEMA}\n validateOnChange={false}\n >\n {({ handleSubmit, values, errors, handleChange, handleBlur, isSubmitting }) => (\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n primaryAction={\n <Flex gap={2}>\n <Button\n type=\"submit\"\n disabled={role.code === 'strapi-super-admin'}\n loading={isSubmitting}\n size=\"L\"\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n }\n title={formatMessage({\n id: 'Settings.roles.edit.title',\n defaultMessage: 'Edit a role',\n })}\n subtitle={formatMessage({\n id: 'Settings.roles.create.description',\n defaultMessage: 'Define the rights given to the role',\n })}\n navigationAction={<BackButton />}\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <RoleForm\n disabled={isFormDisabled}\n errors={errors}\n values={values}\n onChange={handleChange}\n onBlur={handleBlur}\n role={role}\n />\n <Box shadow=\"filterShadow\" hasRadius>\n <Permissions\n isFormDisabled={isFormDisabled}\n permissions={permissions}\n ref={permissionsRef}\n layout={permissionsLayout}\n />\n </Box>\n </Flex>\n </Layouts.Content>\n </form>\n )}\n </Formik>\n </Main>\n );\n};\n\nconst ProtectedEditPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.roles.update\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditPage />\n </Page.Protect>\n );\n};\n\nexport { EditPage, ProtectedEditPage };\nexport type { EditRoleFormValues };\n"],"names":["useIntl","Box","Flex","jsxs","jsx","Typography","Button","Grid","Field","TextInput","Textarea","yup","translatedErrors","useNotification","useMatch","React","useTracking","useAPIErrorHandler","useGetRolePermissionLayoutQuery","useAdminRoles","useGetRolePermissionsQuery","useUpdateRoleMutation","useUpdateRolePermissionsMutation","Navigate","isBaseQueryError","Page","Main","Formik","Layouts","BackButton","Permissions","useTypedSelector"],"mappings":"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"}
|
|
@@ -6,14 +6,14 @@ import pick from 'lodash/pick';
|
|
|
6
6
|
import { useIntl } from 'react-intl';
|
|
7
7
|
import { useMatch, useNavigate } from 'react-router-dom';
|
|
8
8
|
import * as yup from 'yup';
|
|
9
|
-
import { e as errorsTrads, j as useUpdateUserMutation, k as useAdminUsers, F as Form, b as Layouts, B as BackButton, M as MemoizedInputRenderer } from './index-
|
|
10
|
-
import { b as useTypedSelector, P as Page, a as useNotification, f as useAPIErrorHandler, k as useRBAC } from './Theme-
|
|
9
|
+
import { e as errorsTrads, j as useUpdateUserMutation, k as useAdminUsers, F as Form, b as Layouts, B as BackButton, M as MemoizedInputRenderer } from './index-3zwKJbP6.mjs';
|
|
10
|
+
import { b as useTypedSelector, P as Page, a as useNotification, f as useAPIErrorHandler, k as useRBAC } from './Theme-PSeDjw5h.mjs';
|
|
11
11
|
import { u as useEnterprise } from './useEnterprise-jpsYZWzn.mjs';
|
|
12
|
-
import { s as selectAdminPermissions } from './selectors-
|
|
12
|
+
import { s as selectAdminPermissions } from './selectors-hDBXHrNC.mjs';
|
|
13
13
|
import { i as isBaseQueryError } from './admin-B6AW0Kov.mjs';
|
|
14
14
|
import { g as getDisplayName } from './users-a4KTyEyc.mjs';
|
|
15
|
-
import { M as MagicLinkCE, S as SelectRoles } from './SelectRoles-
|
|
16
|
-
import { C as COMMON_USER_SCHEMA } from './validation-
|
|
15
|
+
import { M as MagicLinkCE, S as SelectRoles } from './SelectRoles-OQ2aeVdM.mjs';
|
|
16
|
+
import { C as COMMON_USER_SCHEMA } from './validation-iHh54434.mjs';
|
|
17
17
|
|
|
18
18
|
const EDIT_VALIDATION_SCHEMA = yup.object().shape({
|
|
19
19
|
...COMMON_USER_SCHEMA,
|
|
@@ -35,7 +35,7 @@ const EditPage = () => {
|
|
|
35
35
|
const { toggleNotification } = useNotification();
|
|
36
36
|
const MagicLink = useEnterprise(
|
|
37
37
|
MagicLinkCE,
|
|
38
|
-
async () => (await import('./MagicLinkEE-
|
|
38
|
+
async () => (await import('./MagicLinkEE-OTLJbbRm.mjs')).MagicLinkEE
|
|
39
39
|
);
|
|
40
40
|
const {
|
|
41
41
|
_unstableFormatAPIError: formatAPIError,
|
|
@@ -319,4 +319,4 @@ const ProtectedEditPage = () => {
|
|
|
319
319
|
};
|
|
320
320
|
|
|
321
321
|
export { EditPage, ProtectedEditPage };
|
|
322
|
-
//# sourceMappingURL=EditPage-
|
|
322
|
+
//# sourceMappingURL=EditPage-JbHTkqIB.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditPage-JbHTkqIB.mjs","sources":["../../admin/src/pages/Settings/pages/Users/EditPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Typography } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport pick from 'lodash/pick';\nimport { useIntl } from 'react-intl';\nimport { useMatch, useNavigate } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { Update } from '../../../../../../shared/contracts/user';\nimport { Form, FormHelpers } from '../../../../components/Form';\nimport { InputRenderer } from '../../../../components/FormInputs/Renderer';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\nimport { useAdminUsers, useUpdateUserMutation } from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\nimport { getDisplayName } from '../../../../utils/users';\n\nimport { MagicLinkCE } from './components/MagicLinkCE';\nimport { SelectRoles } from './components/SelectRoles';\nimport { COMMON_USER_SCHEMA } from './utils/validation';\n\nconst EDIT_VALIDATION_SCHEMA = yup.object().shape({\n ...COMMON_USER_SCHEMA,\n isActive: yup.bool(),\n roles: yup\n .array()\n .min(1, {\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n })\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n});\n\nconst fieldsToPick = ['email', 'firstname', 'lastname', 'username', 'isActive', 'roles'] as const;\n\n/* -------------------------------------------------------------------------------------------------\n * EditPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst EditPage = () => {\n const { formatMessage } = useIntl();\n const match = useMatch('/settings/users/:id');\n const id = match?.params?.id ?? '';\n const navigate = useNavigate();\n const { toggleNotification } = useNotification();\n const MagicLink = useEnterprise(\n MagicLinkCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE'\n )\n ).MagicLinkEE\n );\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const permissions = useTypedSelector(selectAdminPermissions);\n\n const {\n isLoading: isLoadingRBAC,\n allowedActions: { canUpdate },\n } = useRBAC({\n read: permissions.settings?.users.read ?? [],\n update: permissions.settings?.users.update ?? [],\n });\n\n const [updateUser] = useUpdateUserMutation();\n\n const {\n data,\n error,\n isLoading: isLoadingAdminUsers,\n } = useAdminUsers(\n { id },\n {\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [user] = data?.users ?? [];\n\n React.useEffect(() => {\n if (error) {\n // Redirect the user to the homepage if is not allowed to read\n if (error.name === 'UnauthorizedError') {\n toggleNotification({\n type: 'info',\n message: formatMessage({\n id: 'notification.permission.not-allowed-read',\n defaultMessage: 'You are not allowed to see this document',\n }),\n });\n\n navigate('/');\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }\n }, [error, formatAPIError, formatMessage, navigate, toggleNotification]);\n\n const isLoading = isLoadingAdminUsers || !MagicLink || isLoadingRBAC;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n type InitialData = Pick<Update.Request['body'], (typeof fieldsToPick)[number]> & {\n confirmPassword: string;\n password: string;\n };\n\n const initialData = {\n ...pick(user, fieldsToPick),\n roles: user.roles.map(({ id }) => id),\n password: '',\n confirmPassword: '',\n } satisfies InitialData;\n\n const handleSubmit = async (body: InitialData, actions: FormHelpers<InitialData>) => {\n const { confirmPassword: _confirmPassword, ...bodyRest } = body;\n\n const res = await updateUser({\n id,\n ...bodyRest,\n });\n\n if ('error' in res && isBaseQueryError(res.error)) {\n if (res.error.name === 'ValidationError') {\n actions.setErrors(formatValidationErrors(res.error));\n }\n\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n } else {\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n\n actions.setValues({\n ...pick(body, fieldsToPick),\n password: '',\n confirmPassword: '',\n });\n }\n };\n\n return (\n <Page.Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Users',\n }\n )}\n </Page.Title>\n <Form\n method=\"PUT\"\n onSubmit={handleSubmit}\n initialValues={initialData}\n validationSchema={EDIT_VALIDATION_SCHEMA}\n >\n {({ isSubmitting, modified }) => {\n return (\n <>\n <Layouts.Header\n primaryAction={\n <Button\n disabled={isSubmitting || !canUpdate || !modified}\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n size=\"L\"\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n title={formatMessage(\n {\n id: 'app.containers.Users.EditPage.header.label',\n defaultMessage: 'Edit {name}',\n },\n {\n // @ts-expect-error – issues with the Entity ID type, still.\n name: getDisplayName(initialData),\n }\n )}\n navigationAction={<BackButton />}\n />\n <Layouts.Content>\n {user?.registrationToken && (\n <Box paddingBottom={6}>\n <MagicLink registrationToken={user.registrationToken} />\n </Box>\n )}\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid.Root gap={5}>\n {LAYOUT.map((row) =>\n row.map(({ size, label, ...field }) => {\n return (\n <Grid.Item key={field.name} col={size}>\n <InputRenderer\n {...field}\n disabled={!canUpdate}\n label={formatMessage(label)}\n placeholder={\n 'placeholder' in field\n ? formatMessage(field.placeholder)\n : undefined\n }\n />\n </Grid.Item>\n );\n })\n )}\n </Grid.Root>\n </Flex>\n </Box>\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.roles',\n defaultMessage: \"User's role\",\n })}\n </Typography>\n <Grid.Root gap={5}>\n <Grid.Item col={6} xs={12}>\n <SelectRoles disabled={!canUpdate} />\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Box>\n </Flex>\n </Layouts.Content>\n </>\n );\n }}\n </Form>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EditPage LAYOUT\n * -----------------------------------------------------------------------------------------------*/\n\nconst LAYOUT = [\n [\n {\n label: {\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n },\n name: 'firstname',\n placeholder: {\n id: 'Auth.form.firstname.placeholder',\n defaultMessage: 'e.g. Kai',\n },\n type: 'string' as const,\n size: 6,\n required: true,\n },\n {\n label: {\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n },\n name: 'lastname',\n placeholder: {\n id: 'Auth.form.lastname.placeholder',\n defaultMessage: 'e.g. Doe',\n },\n type: 'string' as const,\n size: 6,\n },\n ],\n [\n {\n label: {\n id: 'Auth.form.email.label',\n defaultMessage: 'Email',\n },\n name: 'email',\n placeholder: {\n id: 'Auth.form.email.placeholder',\n defaultMessage: 'e.g. kai.doe@strapi.io',\n },\n type: 'email' as const,\n size: 6,\n required: true,\n },\n {\n label: {\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n },\n name: 'username',\n placeholder: {\n id: 'Auth.form.username.placeholder',\n defaultMessage: 'e.g. Kai_Doe',\n },\n type: 'string' as const,\n size: 6,\n },\n ],\n [\n {\n autoComplete: 'new-password',\n label: {\n id: 'global.password',\n defaultMessage: 'Password',\n },\n name: 'password',\n type: 'password' as const,\n size: 6,\n },\n {\n autoComplete: 'new-password',\n label: {\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Password confirmation',\n },\n name: 'confirmPassword',\n type: 'password' as const,\n size: 6,\n },\n ],\n [\n {\n label: {\n id: 'Auth.form.active.label',\n defaultMessage: 'Active',\n },\n name: 'isActive',\n type: 'boolean' as const,\n size: 6,\n },\n ],\n];\n\nconst ProtectedEditPage = () => {\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.users.read);\n\n return (\n <Page.Protect permissions={permissions}>\n <EditPage />\n </Page.Protect>\n );\n};\n\nexport { EditPage, ProtectedEditPage };\n"],"names":["translatedErrors","id","InputRenderer"],"mappings":";;;;;;;;;;;;;;;;;AA8BA,MAAM,sBAAyB,GAAA,GAAA,CAAI,MAAO,EAAA,CAAE,KAAM,CAAA;AAAA,EAChD,GAAG,kBAAA;AAAA,EACH,QAAA,EAAU,IAAI,IAAK,EAAA;AAAA,EACnB,KAAO,EAAA,GAAA,CACJ,KAAM,EAAA,CACN,IAAI,CAAG,EAAA;AAAA,IACN,EAAA,EAAIA,YAAiB,QAAS,CAAA,EAAA;AAAA,IAC9B,cAAgB,EAAA,wBAAA;AAAA,GACjB,EACA,QAAS,CAAA;AAAA,IACR,EAAA,EAAIA,YAAiB,QAAS,CAAA,EAAA;AAAA,IAC9B,cAAgB,EAAA,wBAAA;AAAA,GACjB,CAAA;AACL,CAAC,CAAA,CAAA;AAED,MAAM,eAAe,CAAC,OAAA,EAAS,aAAa,UAAY,EAAA,UAAA,EAAY,YAAY,OAAO,CAAA,CAAA;AAMvF,MAAM,WAAW,MAAM;AACrB,EAAM,MAAA,EAAE,aAAc,EAAA,GAAI,OAAQ,EAAA,CAAA;AAClC,EAAM,MAAA,KAAA,GAAQ,SAAS,qBAAqB,CAAA,CAAA;AAC5C,EAAM,MAAA,EAAA,GAAK,KAAO,EAAA,MAAA,EAAQ,EAAM,IAAA,EAAA,CAAA;AAChC,EAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAC7B,EAAM,MAAA,EAAE,kBAAmB,EAAA,GAAI,eAAgB,EAAA,CAAA;AAC/C,EAAA,MAAM,SAAY,GAAA,aAAA;AAAA,IAChB,WAAA;AAAA,IACA,YAEI,CAAA,MAAM,OACJ,4BACF,CACA,EAAA,WAAA;AAAA,GACN,CAAA;AACA,EAAM,MAAA;AAAA,IACJ,uBAAyB,EAAA,cAAA;AAAA,IACzB,+BAAiC,EAAA,sBAAA;AAAA,MAC/B,kBAAmB,EAAA,CAAA;AAEvB,EAAM,MAAA,WAAA,GAAc,iBAAiB,sBAAsB,CAAA,CAAA;AAE3D,EAAM,MAAA;AAAA,IACJ,SAAW,EAAA,aAAA;AAAA,IACX,cAAA,EAAgB,EAAE,SAAU,EAAA;AAAA,MAC1B,OAAQ,CAAA;AAAA,IACV,IAAM,EAAA,WAAA,CAAY,QAAU,EAAA,KAAA,CAAM,QAAQ,EAAC;AAAA,IAC3C,MAAQ,EAAA,WAAA,CAAY,QAAU,EAAA,KAAA,CAAM,UAAU,EAAC;AAAA,GAChD,CAAA,CAAA;AAED,EAAM,MAAA,CAAC,UAAU,CAAA,GAAI,qBAAsB,EAAA,CAAA;AAE3C,EAAM,MAAA;AAAA,IACJ,IAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAW,EAAA,mBAAA;AAAA,GACT,GAAA,aAAA;AAAA,IACF,EAAE,EAAG,EAAA;AAAA,IACL;AAAA,MACE,yBAA2B,EAAA,IAAA;AAAA,KAC7B;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,CAAC,IAAI,CAAI,GAAA,IAAA,EAAM,SAAS,EAAC,CAAA;AAE/B,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,KAAO,EAAA;AAET,MAAI,IAAA,KAAA,CAAM,SAAS,mBAAqB,EAAA;AACtC,QAAmB,kBAAA,CAAA;AAAA,UACjB,IAAM,EAAA,MAAA;AAAA,UACN,SAAS,aAAc,CAAA;AAAA,YACrB,EAAI,EAAA,0CAAA;AAAA,YACJ,cAAgB,EAAA,0CAAA;AAAA,WACjB,CAAA;AAAA,SACF,CAAA,CAAA;AAED,QAAA,QAAA,CAAS,GAAG,CAAA,CAAA;AAAA,OACP,MAAA;AACL,QAAmB,kBAAA,CAAA;AAAA,UACjB,IAAM,EAAA,QAAA;AAAA,UACN,OAAA,EAAS,eAAe,KAAK,CAAA;AAAA,SAC9B,CAAA,CAAA;AAAA,OACH;AAAA,KACF;AAAA,KACC,CAAC,KAAA,EAAO,gBAAgB,aAAe,EAAA,QAAA,EAAU,kBAAkB,CAAC,CAAA,CAAA;AAEvE,EAAM,MAAA,SAAA,GAAY,mBAAuB,IAAA,CAAC,SAAa,IAAA,aAAA,CAAA;AAEvD,EAAA,IAAI,SAAW,EAAA;AACb,IAAO,uBAAA,GAAA,CAAC,IAAK,CAAA,OAAA,EAAL,EAAa,CAAA,CAAA;AAAA,GACvB;AAOA,EAAA,MAAM,WAAc,GAAA;AAAA,IAClB,GAAG,IAAK,CAAA,IAAA,EAAM,YAAY,CAAA;AAAA,IAC1B,KAAA,EAAO,KAAK,KAAM,CAAA,GAAA,CAAI,CAAC,EAAE,EAAA,EAAAC,GAAG,EAAA,KAAMA,GAAE,CAAA;AAAA,IACpC,QAAU,EAAA,EAAA;AAAA,IACV,eAAiB,EAAA,EAAA;AAAA,GACnB,CAAA;AAEA,EAAM,MAAA,YAAA,GAAe,OAAO,IAAA,EAAmB,OAAsC,KAAA;AACnF,IAAA,MAAM,EAAE,eAAA,EAAiB,gBAAkB,EAAA,GAAG,UAAa,GAAA,IAAA,CAAA;AAE3D,IAAM,MAAA,GAAA,GAAM,MAAM,UAAW,CAAA;AAAA,MAC3B,EAAA;AAAA,MACA,GAAG,QAAA;AAAA,KACJ,CAAA,CAAA;AAED,IAAA,IAAI,OAAW,IAAA,GAAA,IAAO,gBAAiB,CAAA,GAAA,CAAI,KAAK,CAAG,EAAA;AACjD,MAAI,IAAA,GAAA,CAAI,KAAM,CAAA,IAAA,KAAS,iBAAmB,EAAA;AACxC,QAAA,OAAA,CAAQ,SAAU,CAAA,sBAAA,CAAuB,GAAI,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,OACrD;AAEA,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,QAAA;AAAA,QACN,OAAA,EAAS,cAAe,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,OAClC,CAAA,CAAA;AAAA,KACI,MAAA;AACL,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,SAAA;AAAA,QACN,SAAS,aAAc,CAAA,EAAE,IAAI,4BAA8B,EAAA,cAAA,EAAgB,SAAS,CAAA;AAAA,OACrF,CAAA,CAAA;AAED,MAAA,OAAA,CAAQ,SAAU,CAAA;AAAA,QAChB,GAAG,IAAK,CAAA,IAAA,EAAM,YAAY,CAAA;AAAA,QAC1B,QAAU,EAAA,EAAA;AAAA,QACV,eAAiB,EAAA,EAAA;AAAA,OAClB,CAAA,CAAA;AAAA,KACH;AAAA,GACF,CAAA;AAEA,EACE,uBAAA,IAAA,CAAC,IAAK,CAAA,IAAA,EAAL,EACC,QAAA,EAAA;AAAA,oBAAC,GAAA,CAAA,IAAA,CAAK,OAAL,EACE,QAAA,EAAA,aAAA;AAAA,MACC,EAAE,EAAA,EAAI,oBAAsB,EAAA,cAAA,EAAgB,mBAAoB,EAAA;AAAA,MAChE;AAAA,QACE,IAAM,EAAA,OAAA;AAAA,OACR;AAAA,KAEJ,EAAA,CAAA;AAAA,oBACA,GAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,MAAO,EAAA,KAAA;AAAA,QACP,QAAU,EAAA,YAAA;AAAA,QACV,aAAe,EAAA,WAAA;AAAA,QACf,gBAAkB,EAAA,sBAAA;AAAA,QAEjB,QAAC,EAAA,CAAA,EAAE,YAAc,EAAA,QAAA,EAAe,KAAA;AAC/B,UAAA,uBAEI,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,4BAAA,GAAA;AAAA,cAAC,OAAQ,CAAA,MAAA;AAAA,cAAR;AAAA,gBACC,aACE,kBAAA,GAAA;AAAA,kBAAC,MAAA;AAAA,kBAAA;AAAA,oBACC,QAAU,EAAA,YAAA,IAAgB,CAAC,SAAA,IAAa,CAAC,QAAA;AAAA,oBACzC,SAAA,sBAAY,KAAM,EAAA,EAAA,CAAA;AAAA,oBAClB,OAAS,EAAA,YAAA;AAAA,oBACT,IAAK,EAAA,QAAA;AAAA,oBACL,IAAK,EAAA,GAAA;AAAA,oBAEJ,wBAAc,EAAE,EAAA,EAAI,aAAe,EAAA,cAAA,EAAgB,QAAQ,CAAA;AAAA,mBAAA;AAAA,iBAC9D;AAAA,gBAEF,KAAO,EAAA,aAAA;AAAA,kBACL;AAAA,oBACE,EAAI,EAAA,4CAAA;AAAA,oBACJ,cAAgB,EAAA,aAAA;AAAA,mBAClB;AAAA,kBACA;AAAA;AAAA,oBAEE,IAAA,EAAM,eAAe,WAAW,CAAA;AAAA,mBAClC;AAAA,iBACF;AAAA,gBACA,gBAAA,sBAAmB,UAAW,EAAA,EAAA,CAAA;AAAA,eAAA;AAAA,aAChC;AAAA,4BACA,IAAA,CAAC,OAAQ,CAAA,OAAA,EAAR,EACE,QAAA,EAAA;AAAA,cAAM,IAAA,EAAA,iBAAA,oBACJ,GAAA,CAAA,GAAA,EAAA,EAAI,aAAe,EAAA,CAAA,EAClB,8BAAC,SAAU,EAAA,EAAA,iBAAA,EAAmB,IAAK,CAAA,iBAAA,EAAmB,CACxD,EAAA,CAAA;AAAA,mCAED,IAAK,EAAA,EAAA,SAAA,EAAU,UAAS,UAAW,EAAA,SAAA,EAAU,KAAK,CACjD,EAAA,QAAA,EAAA;AAAA,gCAAA,GAAA;AAAA,kBAAC,GAAA;AAAA,kBAAA;AAAA,oBACC,UAAW,EAAA,UAAA;AAAA,oBACX,SAAS,EAAA,IAAA;AAAA,oBACT,MAAO,EAAA,cAAA;AAAA,oBACP,UAAY,EAAA,CAAA;AAAA,oBACZ,aAAe,EAAA,CAAA;AAAA,oBACf,WAAa,EAAA,CAAA;AAAA,oBACb,YAAc,EAAA,CAAA;AAAA,oBAEd,+BAAC,IAAK,EAAA,EAAA,SAAA,EAAU,UAAS,UAAW,EAAA,SAAA,EAAU,KAAK,CACjD,EAAA,QAAA,EAAA;AAAA,sCAAA,GAAA,CAAC,UAAW,EAAA,EAAA,OAAA,EAAQ,OAAQ,EAAA,GAAA,EAAI,MAC7B,QAAc,EAAA,aAAA,CAAA;AAAA,wBACb,EAAI,EAAA,0DAAA;AAAA,wBACJ,cAAgB,EAAA,SAAA;AAAA,uBACjB,CACH,EAAA,CAAA;AAAA,0CACC,IAAK,CAAA,IAAA,EAAL,EAAU,GAAA,EAAK,GACb,QAAO,EAAA,MAAA,CAAA,GAAA;AAAA,wBAAI,CAAC,GACX,KAAA,GAAA,CAAI,GAAI,CAAA,CAAC,EAAE,IAAM,EAAA,KAAA,EAAO,GAAG,KAAA,EAAY,KAAA;AACrC,0BAAA,uBACG,GAAA,CAAA,IAAA,CAAK,IAAL,EAAA,EAA2B,KAAK,IAC/B,EAAA,QAAA,kBAAA,GAAA;AAAA,4BAACC,qBAAA;AAAA,4BAAA;AAAA,8BACE,GAAG,KAAA;AAAA,8BACJ,UAAU,CAAC,SAAA;AAAA,8BACX,KAAA,EAAO,cAAc,KAAK,CAAA;AAAA,8BAC1B,aACE,aAAiB,IAAA,KAAA,GACb,aAAc,CAAA,KAAA,CAAM,WAAW,CAC/B,GAAA,KAAA,CAAA;AAAA,6BAAA;AAAA,2BAER,EAAA,EAVc,MAAM,IAWtB,CAAA,CAAA;AAAA,yBAEH,CAAA;AAAA,uBAEL,EAAA,CAAA;AAAA,qBACF,EAAA,CAAA;AAAA,mBAAA;AAAA,iBACF;AAAA,gCACA,GAAA;AAAA,kBAAC,GAAA;AAAA,kBAAA;AAAA,oBACC,UAAW,EAAA,UAAA;AAAA,oBACX,SAAS,EAAA,IAAA;AAAA,oBACT,MAAO,EAAA,cAAA;AAAA,oBACP,UAAY,EAAA,CAAA;AAAA,oBACZ,aAAe,EAAA,CAAA;AAAA,oBACf,WAAa,EAAA,CAAA;AAAA,oBACb,YAAc,EAAA,CAAA;AAAA,oBAEd,+BAAC,IAAK,EAAA,EAAA,SAAA,EAAU,UAAS,UAAW,EAAA,SAAA,EAAU,KAAK,CACjD,EAAA,QAAA,EAAA;AAAA,sCAAA,GAAA,CAAC,UAAW,EAAA,EAAA,OAAA,EAAQ,OAAQ,EAAA,GAAA,EAAI,MAC7B,QAAc,EAAA,aAAA,CAAA;AAAA,wBACb,EAAI,EAAA,cAAA;AAAA,wBACJ,cAAgB,EAAA,aAAA;AAAA,uBACjB,CACH,EAAA,CAAA;AAAA,sCACA,GAAA,CAAC,KAAK,IAAL,EAAA,EAAU,KAAK,CACd,EAAA,QAAA,kBAAA,GAAA,CAAC,KAAK,IAAL,EAAA,EAAU,KAAK,CAAG,EAAA,EAAA,EAAI,IACrB,QAAC,kBAAA,GAAA,CAAA,WAAA,EAAA,EAAY,UAAU,CAAC,SAAA,EAAW,GACrC,CACF,EAAA,CAAA;AAAA,qBACF,EAAA,CAAA;AAAA,mBAAA;AAAA,iBACF;AAAA,eACF,EAAA,CAAA;AAAA,aACF,EAAA,CAAA;AAAA,WACF,EAAA,CAAA,CAAA;AAAA,SAEJ;AAAA,OAAA;AAAA,KACF;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,EAAA;AAMA,MAAM,MAAS,GAAA;AAAA,EACb;AAAA,IACE;AAAA,MACE,KAAO,EAAA;AAAA,QACL,EAAI,EAAA,2BAAA;AAAA,QACJ,cAAgB,EAAA,YAAA;AAAA,OAClB;AAAA,MACA,IAAM,EAAA,WAAA;AAAA,MACN,WAAa,EAAA;AAAA,QACX,EAAI,EAAA,iCAAA;AAAA,QACJ,cAAgB,EAAA,UAAA;AAAA,OAClB;AAAA,MACA,IAAM,EAAA,QAAA;AAAA,MACN,IAAM,EAAA,CAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,IACA;AAAA,MACE,KAAO,EAAA;AAAA,QACL,EAAI,EAAA,0BAAA;AAAA,QACJ,cAAgB,EAAA,WAAA;AAAA,OAClB;AAAA,MACA,IAAM,EAAA,UAAA;AAAA,MACN,WAAa,EAAA;AAAA,QACX,EAAI,EAAA,gCAAA;AAAA,QACJ,cAAgB,EAAA,UAAA;AAAA,OAClB;AAAA,MACA,IAAM,EAAA,QAAA;AAAA,MACN,IAAM,EAAA,CAAA;AAAA,KACR;AAAA,GACF;AAAA,EACA;AAAA,IACE;AAAA,MACE,KAAO,EAAA;AAAA,QACL,EAAI,EAAA,uBAAA;AAAA,QACJ,cAAgB,EAAA,OAAA;AAAA,OAClB;AAAA,MACA,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA;AAAA,QACX,EAAI,EAAA,6BAAA;AAAA,QACJ,cAAgB,EAAA,wBAAA;AAAA,OAClB;AAAA,MACA,IAAM,EAAA,OAAA;AAAA,MACN,IAAM,EAAA,CAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,IACA;AAAA,MACE,KAAO,EAAA;AAAA,QACL,EAAI,EAAA,0BAAA;AAAA,QACJ,cAAgB,EAAA,UAAA;AAAA,OAClB;AAAA,MACA,IAAM,EAAA,UAAA;AAAA,MACN,WAAa,EAAA;AAAA,QACX,EAAI,EAAA,gCAAA;AAAA,QACJ,cAAgB,EAAA,cAAA;AAAA,OAClB;AAAA,MACA,IAAM,EAAA,QAAA;AAAA,MACN,IAAM,EAAA,CAAA;AAAA,KACR;AAAA,GACF;AAAA,EACA;AAAA,IACE;AAAA,MACE,YAAc,EAAA,cAAA;AAAA,MACd,KAAO,EAAA;AAAA,QACL,EAAI,EAAA,iBAAA;AAAA,QACJ,cAAgB,EAAA,UAAA;AAAA,OAClB;AAAA,MACA,IAAM,EAAA,UAAA;AAAA,MACN,IAAM,EAAA,UAAA;AAAA,MACN,IAAM,EAAA,CAAA;AAAA,KACR;AAAA,IACA;AAAA,MACE,YAAc,EAAA,cAAA;AAAA,MACd,KAAO,EAAA;AAAA,QACL,EAAI,EAAA,iCAAA;AAAA,QACJ,cAAgB,EAAA,uBAAA;AAAA,OAClB;AAAA,MACA,IAAM,EAAA,iBAAA;AAAA,MACN,IAAM,EAAA,UAAA;AAAA,MACN,IAAM,EAAA,CAAA;AAAA,KACR;AAAA,GACF;AAAA,EACA;AAAA,IACE;AAAA,MACE,KAAO,EAAA;AAAA,QACL,EAAI,EAAA,wBAAA;AAAA,QACJ,cAAgB,EAAA,QAAA;AAAA,OAClB;AAAA,MACA,IAAM,EAAA,UAAA;AAAA,MACN,IAAM,EAAA,SAAA;AAAA,MACN,IAAM,EAAA,CAAA;AAAA,KACR;AAAA,GACF;AACF,CAAA,CAAA;AAEA,MAAM,oBAAoB,MAAM;AAC9B,EAAM,MAAA,WAAA,GAAc,iBAAiB,CAAC,KAAA,KAAU,MAAM,SAAU,CAAA,WAAA,CAAY,QAAU,EAAA,KAAA,CAAM,IAAI,CAAA,CAAA;AAEhG,EAAA,2BACG,IAAK,CAAA,OAAA,EAAL,EAAa,WACZ,EAAA,QAAA,kBAAA,GAAA,CAAC,YAAS,CACZ,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -3,15 +3,15 @@ import * as React from 'react';
|
|
|
3
3
|
import { RawTable, Flex, Field, RawThead, RawTr, RawTh, VisuallyHidden, Typography, RawTbody, RawTd, Checkbox, Box, Grid, IconButton, TextButton, Combobox, ComboboxOption, Button, Main } from '@strapi/design-system';
|
|
4
4
|
import { useIntl } from 'react-intl';
|
|
5
5
|
import { useMatch, useNavigate } from 'react-router-dom';
|
|
6
|
-
import { b as useTypedSelector, P as Page, a as useNotification, f as useAPIErrorHandler } from './Theme-
|
|
7
|
-
import { s as selectAdminPermissions } from './selectors-
|
|
6
|
+
import { b as useTypedSelector, P as Page, a as useNotification, f as useAPIErrorHandler } from './Theme-PSeDjw5h.mjs';
|
|
7
|
+
import { s as selectAdminPermissions } from './selectors-hDBXHrNC.mjs';
|
|
8
8
|
import { i as isBaseQueryError } from './admin-B6AW0Kov.mjs';
|
|
9
9
|
import { Minus, Plus, Cross, Loader, Check, Play } from '@strapi/icons';
|
|
10
10
|
import * as yup from 'yup';
|
|
11
|
-
import { u as useField, x as useForm, y as MemoizedStringInput, F as Form, b as Layouts, B as BackButton, M as MemoizedInputRenderer } from './index-
|
|
11
|
+
import { u as useField, x as useForm, y as MemoizedStringInput, F as Form, b as Layouts, B as BackButton, M as MemoizedInputRenderer } from './index-3zwKJbP6.mjs';
|
|
12
12
|
import { u as useEnterprise } from './useEnterprise-jpsYZWzn.mjs';
|
|
13
13
|
import { styled } from 'styled-components';
|
|
14
|
-
import { u as useWebhooks } from './useWebhooks-
|
|
14
|
+
import { u as useWebhooks } from './useWebhooks-7thg-d57.mjs';
|
|
15
15
|
|
|
16
16
|
const EventsRoot = ({ children }) => {
|
|
17
17
|
const { formatMessage } = useIntl();
|
|
@@ -428,7 +428,7 @@ const WebhookForm = ({
|
|
|
428
428
|
const [showTriggerResponse, setShowTriggerResponse] = React.useState(false);
|
|
429
429
|
const EventTable = useEnterprise(
|
|
430
430
|
EventTableCE,
|
|
431
|
-
async () => (await import('./EventsTable-
|
|
431
|
+
async () => (await import('./EventsTable-gYl-pCF9.mjs')).EventsTableEE
|
|
432
432
|
);
|
|
433
433
|
const mapHeaders = (headers) => {
|
|
434
434
|
if (!Object.keys(headers).length) {
|
|
@@ -610,6 +610,7 @@ const EditPage = () => {
|
|
|
610
610
|
_unstableFormatAPIError: formatAPIError,
|
|
611
611
|
_unstableFormatValidationErrors: formatValidationErrors
|
|
612
612
|
} = useAPIErrorHandler();
|
|
613
|
+
const stableFormatAPIError = React.useCallback(formatAPIError, []);
|
|
613
614
|
const [isTriggering, setIsTriggering] = React.useState(false);
|
|
614
615
|
const [triggerResponse, setTriggerResponse] = React.useState();
|
|
615
616
|
const { isLoading, webhooks, error, createWebhook, updateWebhook, triggerWebhook } = useWebhooks(
|
|
@@ -622,10 +623,10 @@ const EditPage = () => {
|
|
|
622
623
|
if (error) {
|
|
623
624
|
toggleNotification({
|
|
624
625
|
type: "danger",
|
|
625
|
-
message:
|
|
626
|
+
message: stableFormatAPIError(error)
|
|
626
627
|
});
|
|
627
628
|
}
|
|
628
|
-
}, [error, toggleNotification,
|
|
629
|
+
}, [error, toggleNotification, stableFormatAPIError]);
|
|
629
630
|
const handleTriggerWebhook = async () => {
|
|
630
631
|
try {
|
|
631
632
|
setIsTriggering(true);
|
|
@@ -734,4 +735,4 @@ const EditPage$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty
|
|
|
734
735
|
}, Symbol.toStringTag, { value: 'Module' }));
|
|
735
736
|
|
|
736
737
|
export { EditPage as E, Events as a, EditPage$1 as b };
|
|
737
|
-
//# sourceMappingURL=EditPage-
|
|
738
|
+
//# sourceMappingURL=EditPage-_qf6gtWs.mjs.map
|