@strapi/admin 5.0.0-beta.6 → 5.0.0-beta.8
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-ZrJlIt8M.mjs → AdminSeatInfo-_UxgNKbX.mjs} +6 -6
- package/dist/admin/AdminSeatInfo-_UxgNKbX.mjs.map +1 -0
- package/dist/admin/{AdminSeatInfo-G2ipQTLk.js → AdminSeatInfo-cqB8nHFZ.js} +6 -6
- package/dist/admin/AdminSeatInfo-cqB8nHFZ.js.map +1 -0
- package/dist/admin/{ApplicationInfoPage-dc0ReC0D.js → ApplicationInfoPage-FlIVu3WL.js} +34 -39
- package/dist/admin/ApplicationInfoPage-FlIVu3WL.js.map +1 -0
- package/dist/admin/{ApplicationInfoPage-TImAEuc3.mjs → ApplicationInfoPage-y-FX7oPO.mjs} +35 -39
- package/dist/admin/ApplicationInfoPage-y-FX7oPO.mjs.map +1 -0
- package/dist/admin/{AuthResponse-J1Y_hbtY.js → AuthResponse-6oCac46I.js} +2 -2
- package/dist/admin/{AuthResponse-J1Y_hbtY.js.map → AuthResponse-6oCac46I.js.map} +1 -1
- package/dist/admin/{AuthResponse-wfOnX6GO.mjs → AuthResponse-TKtSIvEM.mjs} +2 -2
- package/dist/admin/{AuthResponse-wfOnX6GO.mjs.map → AuthResponse-TKtSIvEM.mjs.map} +1 -1
- package/dist/admin/{AuthenticatedLayout-TNbTifIA.js → AuthenticatedLayout-QwEem8GL.js} +208 -234
- package/dist/admin/AuthenticatedLayout-QwEem8GL.js.map +1 -0
- package/dist/admin/{AuthenticatedLayout-eMLYKMgW.mjs → AuthenticatedLayout-qx1Lyy4q.mjs} +204 -229
- package/dist/admin/AuthenticatedLayout-qx1Lyy4q.mjs.map +1 -0
- package/dist/admin/{ContentBox-Mzcpnn32.js → ContentBox-3MRTNw0X.js} +5 -8
- package/dist/admin/ContentBox-3MRTNw0X.js.map +1 -0
- package/dist/admin/{ContentBox-DjmNTcxv.mjs → ContentBox-9LBDzws0.mjs} +3 -2
- package/dist/admin/ContentBox-9LBDzws0.mjs.map +1 -0
- package/dist/admin/{CreateActionEE-_i5qXWEG.js → CreateActionEE-dGj-JbWV.js} +4 -4
- package/dist/admin/CreateActionEE-dGj-JbWV.js.map +1 -0
- package/dist/admin/{CreateActionEE-Qdz4UDPf.mjs → CreateActionEE-uBGAkLbn.mjs} +4 -4
- package/dist/admin/CreateActionEE-uBGAkLbn.mjs.map +1 -0
- package/dist/admin/{CreatePage-f3faA3vG.js → CreatePage-4TW2khkB.js} +3 -3
- package/dist/admin/{CreatePage-f3faA3vG.js.map → CreatePage-4TW2khkB.js.map} +1 -1
- package/dist/admin/{CreatePage-07P5-Zjt.mjs → CreatePage-4tMY0ik1.mjs} +3 -3
- package/dist/admin/{CreatePage-07P5-Zjt.mjs.map → CreatePage-4tMY0ik1.mjs.map} +1 -1
- package/dist/admin/{CreatePage-uTwt_c8J.mjs → CreatePage-537fJDEU.mjs} +29 -26
- package/dist/admin/CreatePage-537fJDEU.mjs.map +1 -0
- package/dist/admin/{CreatePage-03MgCK7Z.js → CreatePage-peOfskFg.js} +29 -29
- package/dist/admin/CreatePage-peOfskFg.js.map +1 -0
- package/dist/admin/{CreateView-87aPv9QV.mjs → CreateView-AaD01TxO.mjs} +3 -3
- package/dist/admin/{CreateView-87aPv9QV.mjs.map → CreateView-AaD01TxO.mjs.map} +1 -1
- package/dist/admin/{CreateView-T8hLqvog.mjs → CreateView-EfGicMHg.mjs} +3 -3
- package/dist/admin/{CreateView-T8hLqvog.mjs.map → CreateView-EfGicMHg.mjs.map} +1 -1
- package/dist/admin/{CreateView-UemGfFqI.js → CreateView-Ni2CgUVr.js} +3 -3
- package/dist/admin/{CreateView-UemGfFqI.js.map → CreateView-Ni2CgUVr.js.map} +1 -1
- package/dist/admin/{CreateView-o5-hvd4h.js → CreateView-uK14O_jU.js} +3 -3
- package/dist/admin/{CreateView-o5-hvd4h.js.map → CreateView-uK14O_jU.js.map} +1 -1
- package/dist/admin/{EditPage-lyFePXWl.mjs → EditPage-15aToLph.mjs} +213 -252
- package/dist/admin/EditPage-15aToLph.mjs.map +1 -0
- package/dist/admin/{EditPage-XSz7Wpt8.mjs → EditPage-Il4eROQZ.mjs} +14 -14
- package/dist/admin/EditPage-Il4eROQZ.mjs.map +1 -0
- package/dist/admin/{EditPage-UqMDbMvJ.js → EditPage-SrUqHo-J.js} +13 -13
- package/dist/admin/EditPage-SrUqHo-J.js.map +1 -0
- package/dist/admin/{EditPage-YqW1NIMp.js → EditPage-cmzfgdc5.js} +212 -254
- package/dist/admin/EditPage-cmzfgdc5.js.map +1 -0
- package/dist/admin/{EditPage-F3yH0Fy6.mjs → EditPage-g0VOXyKS.mjs} +46 -30
- package/dist/admin/EditPage-g0VOXyKS.mjs.map +1 -0
- package/dist/admin/{EditPage-Ly5MBiuB.js → EditPage-z7pM9PD2.js} +45 -29
- package/dist/admin/EditPage-z7pM9PD2.js.map +1 -0
- package/dist/admin/{EditView-r0lx661I.mjs → EditView-NOjzvG4n.mjs} +9 -9
- package/dist/admin/EditView-NOjzvG4n.mjs.map +1 -0
- package/dist/admin/{EditView-bRFkRKAz.js → EditView-gJfIIjvG.js} +8 -8
- package/dist/admin/EditView-gJfIIjvG.js.map +1 -0
- package/dist/admin/{EditViewPage-tAsn6QS9.js → EditViewPage-KEF7ROrG.js} +84 -109
- package/dist/admin/EditViewPage-KEF7ROrG.js.map +1 -0
- package/dist/admin/{EditViewPage-f5dHmqdT.mjs → EditViewPage-c3QrE1Hr.mjs} +81 -105
- package/dist/admin/EditViewPage-c3QrE1Hr.mjs.map +1 -0
- package/dist/admin/{EventsTable-4h6LoAp-.js → EventsTable-WB2pMyjf.js} +2 -2
- package/dist/admin/{EventsTable-4h6LoAp-.js.map → EventsTable-WB2pMyjf.js.map} +1 -1
- package/dist/admin/{EventsTable-2C605_qQ.mjs → EventsTable-x0tiLQ21.mjs} +2 -2
- package/dist/admin/{EventsTable-2C605_qQ.mjs.map → EventsTable-x0tiLQ21.mjs.map} +1 -1
- package/dist/admin/{HomePage-Uuww2J1B.js → HomePage-_HRMXYSc.js} +3 -3
- package/dist/admin/{HomePage-Uuww2J1B.js.map → HomePage-_HRMXYSc.js.map} +1 -1
- package/dist/admin/{HomePage-UTnZwpp-.js → HomePage-eU782NVl.js} +52 -47
- package/dist/admin/HomePage-eU782NVl.js.map +1 -0
- package/dist/admin/{HomePage-4FySTCJU.mjs → HomePage-t-i4SXRB.mjs} +3 -3
- package/dist/admin/{HomePage-4FySTCJU.mjs.map → HomePage-t-i4SXRB.mjs.map} +1 -1
- package/dist/admin/{HomePage-ZF3T0k2r.mjs → HomePage-uzU2Sfu_.mjs} +42 -34
- package/dist/admin/HomePage-uzU2Sfu_.mjs.map +1 -0
- package/dist/admin/{InstalledPluginsPage-o43CGz2w.js → InstalledPluginsPage-gga_OMMI.js} +8 -7
- package/dist/admin/InstalledPluginsPage-gga_OMMI.js.map +1 -0
- package/dist/admin/{InstalledPluginsPage-eOXi3oTN.mjs → InstalledPluginsPage-j8w6fibY.mjs} +9 -8
- package/dist/admin/InstalledPluginsPage-j8w6fibY.mjs.map +1 -0
- package/dist/admin/{Layout-XxmAreH1.js → Layout-6QqRGC19.js} +11 -12
- package/dist/admin/Layout-6QqRGC19.js.map +1 -0
- package/dist/admin/{Layout-mnn4_IJp.mjs → Layout-mm5FttWk.mjs} +10 -10
- package/dist/admin/Layout-mm5FttWk.mjs.map +1 -0
- package/dist/admin/{ListPage-kdjzZ2al.mjs → ListPage--SLZfVEu.mjs} +21 -27
- package/dist/admin/ListPage--SLZfVEu.mjs.map +1 -0
- package/dist/admin/{ListPage-AFDAiR9X.mjs → ListPage-91B_ZBgU.mjs} +21 -34
- package/dist/admin/ListPage-91B_ZBgU.mjs.map +1 -0
- package/dist/admin/{ListPage-Gj1OS6PX.mjs → ListPage-COfc9Nb2.mjs} +3 -3
- package/dist/admin/{ListPage-Gj1OS6PX.mjs.map → ListPage-COfc9Nb2.mjs.map} +1 -1
- package/dist/admin/{ListPage-NTxNcftS.js → ListPage-Id9VZhfe.js} +20 -20
- package/dist/admin/ListPage-Id9VZhfe.js.map +1 -0
- package/dist/admin/{ListPage-6Ukzm--I.js → ListPage-R1VIjb_K.js} +3 -3
- package/dist/admin/{ListPage-6Ukzm--I.js.map → ListPage-R1VIjb_K.js.map} +1 -1
- package/dist/admin/{ListPage-eNkUD3v_.mjs → ListPage-hJ6Ynuzs.mjs} +21 -21
- package/dist/admin/ListPage-hJ6Ynuzs.mjs.map +1 -0
- package/dist/admin/{ListPage-Pi_dzfDr.js → ListPage-kdascM3g.js} +20 -33
- package/dist/admin/ListPage-kdascM3g.js.map +1 -0
- package/dist/admin/{ListPage-hln8fKzE.js → ListPage-qccI1KJZ.js} +20 -26
- package/dist/admin/ListPage-qccI1KJZ.js.map +1 -0
- package/dist/admin/{ListPage-URtxfNJ4.js → ListPage-qnRnNdZB.js} +18 -21
- package/dist/admin/ListPage-qnRnNdZB.js.map +1 -0
- package/dist/admin/{ListPage-5g8MtUEB.mjs → ListPage-ver_Z86B.mjs} +19 -22
- package/dist/admin/ListPage-ver_Z86B.mjs.map +1 -0
- package/dist/admin/{ListView-FBh2WTHx.mjs → ListView-HFV67l_w.mjs} +10 -10
- package/dist/admin/ListView-HFV67l_w.mjs.map +1 -0
- package/dist/admin/{ListView-uwPF62w6.mjs → ListView-PXoWtVRs.mjs} +11 -9
- package/dist/admin/ListView-PXoWtVRs.mjs.map +1 -0
- package/dist/admin/{ListView-pYVBJ4lg.js → ListView-Tdz585_r.js} +10 -8
- package/dist/admin/ListView-Tdz585_r.js.map +1 -0
- package/dist/admin/{ListView-f2wVT21J.js → ListView-gOdn2Qwi.js} +9 -9
- package/dist/admin/ListView-gOdn2Qwi.js.map +1 -0
- package/dist/admin/{Login-FSNzATl0.mjs → Login-227oY0SP.mjs} +5 -5
- package/dist/admin/Login-227oY0SP.mjs.map +1 -0
- package/dist/admin/{Login-3rLFPliB.js → Login-uUFgaGQO.js} +6 -10
- package/dist/admin/Login-uUFgaGQO.js.map +1 -0
- package/dist/admin/{MagicLinkEE-czAdOuTH.mjs → MagicLinkEE-1cdMwO4L.mjs} +3 -3
- package/dist/admin/{MagicLinkEE-czAdOuTH.mjs.map → MagicLinkEE-1cdMwO4L.mjs.map} +1 -1
- package/dist/admin/{MagicLinkEE-bccsKKbJ.js → MagicLinkEE-SU6DdTGf.js} +3 -3
- package/dist/admin/{MagicLinkEE-bccsKKbJ.js.map → MagicLinkEE-SU6DdTGf.js.map} +1 -1
- package/dist/admin/{MarketplacePage-kNQPkoZK.mjs → MarketplacePage-HcA4KrZ1.mjs} +25 -52
- package/dist/admin/MarketplacePage-HcA4KrZ1.mjs.map +1 -0
- package/dist/admin/{MarketplacePage-sSTqINSu.js → MarketplacePage-UfmJkfaS.js} +29 -57
- package/dist/admin/MarketplacePage-UfmJkfaS.js.map +1 -0
- package/dist/admin/{Permissions-NlSnXUKO.js → Permissions-kWoGUyLH.js} +80 -100
- package/dist/admin/Permissions-kWoGUyLH.js.map +1 -0
- package/dist/admin/{Permissions-aU1eesjP.mjs → Permissions-ujqtV7GK.mjs} +62 -81
- package/dist/admin/Permissions-ujqtV7GK.mjs.map +1 -0
- package/dist/admin/{PrivateRoute-zZ7p1pc9.mjs → PrivateRoute-1hyhztQM.mjs} +2 -2
- package/dist/admin/{PrivateRoute-zZ7p1pc9.mjs.map → PrivateRoute-1hyhztQM.mjs.map} +1 -1
- package/dist/admin/{PrivateRoute-nJgGpBXP.js → PrivateRoute-wBE5vMxe.js} +2 -2
- package/dist/admin/{PrivateRoute-nJgGpBXP.js.map → PrivateRoute-wBE5vMxe.js.map} +1 -1
- package/dist/admin/{ProfilePage-jU98pa61.js → ProfilePage-lpqTZIyh.js} +14 -14
- package/dist/admin/ProfilePage-lpqTZIyh.js.map +1 -0
- package/dist/admin/{ProfilePage-T2kC_KoM.mjs → ProfilePage-s8Kfhq6I.mjs} +15 -15
- package/dist/admin/ProfilePage-s8Kfhq6I.mjs.map +1 -0
- package/dist/admin/{PurchaseAuditLogs-_1tVWtNF.mjs → PurchaseAuditLogs-iXSAELjJ.mjs} +5 -4
- package/dist/admin/PurchaseAuditLogs-iXSAELjJ.mjs.map +1 -0
- package/dist/admin/{PurchaseAuditLogs-GreHFPSR.js → PurchaseAuditLogs-uu0_PoKP.js} +4 -3
- package/dist/admin/PurchaseAuditLogs-uu0_PoKP.js.map +1 -0
- package/dist/admin/{PurchaseSingleSignOn-VUU-U4wi.mjs → PurchaseSingleSignOn-A_9ts2Q3.mjs} +5 -4
- package/dist/admin/PurchaseSingleSignOn-A_9ts2Q3.mjs.map +1 -0
- package/dist/admin/{PurchaseSingleSignOn-6t4xuNBd.js → PurchaseSingleSignOn-I0AAcpBZ.js} +4 -3
- package/dist/admin/PurchaseSingleSignOn-I0AAcpBZ.js.map +1 -0
- package/dist/admin/{SSOProviders-FZwT7RmU.js → SSOProviders-AirHFyBl.js} +4 -8
- package/dist/admin/SSOProviders-AirHFyBl.js.map +1 -0
- package/dist/admin/{SSOProviders-GcYDRAyn.mjs → SSOProviders-t8D-v8As.mjs} +2 -2
- package/dist/admin/SSOProviders-t8D-v8As.mjs.map +1 -0
- package/dist/admin/{SelectRoles-EdE6yfsj.js → SelectRoles-7QbQhIi4.js} +45 -44
- package/dist/admin/SelectRoles-7QbQhIi4.js.map +1 -0
- package/dist/admin/{SelectRoles--ys30CdN.mjs → SelectRoles-neYrKAlL.mjs} +45 -40
- package/dist/admin/SelectRoles-neYrKAlL.mjs.map +1 -0
- package/dist/admin/SingleSignOnPage-NRBGwvMB.js +256 -0
- package/dist/admin/SingleSignOnPage-NRBGwvMB.js.map +1 -0
- package/dist/admin/SingleSignOnPage-rOuB5fpN.mjs +231 -0
- package/dist/admin/SingleSignOnPage-rOuB5fpN.mjs.map +1 -0
- package/dist/admin/{Table--He5qeQG.mjs → Table-07CnEMJB.mjs} +6 -6
- package/dist/admin/Table-07CnEMJB.mjs.map +1 -0
- package/dist/admin/{Table-HXu3Nz4W.js → Table-5EMXAhBX.js} +7 -10
- package/dist/admin/Table-5EMXAhBX.js.map +1 -0
- package/dist/admin/{TokenTypeSelect-kgKThMAL.mjs → TokenTypeSelect-XHNUoyhJ.mjs} +86 -68
- package/dist/admin/TokenTypeSelect-XHNUoyhJ.mjs.map +1 -0
- package/dist/admin/{TokenTypeSelect-yY2kwTyO.js → TokenTypeSelect-j99COf2u.js} +86 -68
- package/dist/admin/TokenTypeSelect-j99COf2u.js.map +1 -0
- package/dist/admin/{UseCasePage-6_WRtTwv.js → UseCasePage-g9nN8RuC.js} +16 -36
- package/dist/admin/UseCasePage-g9nN8RuC.js.map +1 -0
- package/dist/admin/{UseCasePage-bfP-fDoW.mjs → UseCasePage-yZtkKM9d.mjs} +17 -34
- package/dist/admin/UseCasePage-yZtkKM9d.mjs.map +1 -0
- package/dist/admin/admin-B6AW0Kov.mjs +318 -0
- package/dist/admin/admin-B6AW0Kov.mjs.map +1 -0
- package/dist/admin/admin-p0djr5G6.js +338 -0
- package/dist/admin/admin-p0djr5G6.js.map +1 -0
- package/dist/admin/{apiTokens-bNRitXGF.mjs → apiTokens-YMUmHnrH.mjs} +7 -6
- package/dist/admin/apiTokens-YMUmHnrH.mjs.map +1 -0
- package/dist/admin/{apiTokens-lXn03No3.js → apiTokens-YxfAnO7_.js} +7 -6
- package/dist/admin/apiTokens-YxfAnO7_.js.map +1 -0
- package/dist/admin/{constants-qdY4HMAg.js → constants-MTKkA8PE.js} +8 -12
- package/dist/admin/constants-MTKkA8PE.js.map +1 -0
- package/dist/admin/{constants-wnw4TGwG.mjs → constants-N0AWjcMN.mjs} +7 -7
- package/dist/admin/constants-N0AWjcMN.mjs.map +1 -0
- package/dist/admin/ee.js +1 -1
- package/dist/admin/ee.mjs +1 -1
- package/dist/admin/{en-zVbLVH-h.js → en-G-ukrF2h.js} +2 -1
- package/dist/admin/{en-zVbLVH-h.js.map → en-G-ukrF2h.js.map} +1 -1
- package/dist/admin/{en-D7rooMTs.mjs → en-K35WIWVM.mjs} +2 -1
- package/dist/admin/{en-D7rooMTs.mjs.map → en-K35WIWVM.mjs.map} +1 -1
- package/dist/admin/{index-7fPlAzj6.mjs → index-69WUS0qJ.mjs} +654 -458
- package/dist/admin/index-69WUS0qJ.mjs.map +1 -0
- package/dist/admin/{index-FJLgZ-Wg.js → index-UrJZyInv.js} +663 -466
- package/dist/admin/index-UrJZyInv.js.map +1 -0
- package/dist/admin/index.js +11 -4
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +3 -3
- package/dist/admin/{rbac-xgYdpUSq.js → rbac-5b9ylhpa.js} +13 -10
- package/dist/admin/rbac-5b9ylhpa.js.map +1 -0
- package/dist/admin/{rbac-uVd0RAE5.mjs → rbac-oJEkQdXG.mjs} +12 -9
- package/dist/admin/rbac-oJEkQdXG.mjs.map +1 -0
- package/dist/admin/{selectors-AvywwQRm.mjs → selectors-Ilww6FA-.mjs} +2 -2
- package/dist/admin/{selectors-AvywwQRm.mjs.map → selectors-Ilww6FA-.mjs.map} +1 -1
- package/dist/admin/{selectors-C62Wf5On.js → selectors-NDEu6dJa.js} +2 -2
- package/dist/admin/{selectors-C62Wf5On.js.map → selectors-NDEu6dJa.js.map} +1 -1
- package/dist/admin/src/StrapiApp.d.ts +1 -0
- package/dist/admin/src/components/Form.d.ts +7 -2
- package/dist/admin/src/components/FormInputs/Boolean.d.ts +2 -2
- package/dist/admin/src/components/FormInputs/Checkbox.d.ts +2 -2
- package/dist/admin/src/components/FormInputs/Date.d.ts +2 -2
- package/dist/admin/src/components/FormInputs/DateTime.d.ts +2 -2
- package/dist/admin/src/components/FormInputs/Email.d.ts +2 -1
- package/dist/admin/src/components/FormInputs/Enumeration.d.ts +2 -1
- package/dist/admin/src/components/FormInputs/Json.d.ts +3 -4
- package/dist/admin/src/components/FormInputs/Number.d.ts +2 -2
- package/dist/admin/src/components/FormInputs/Password.d.ts +2 -1
- package/dist/admin/src/components/FormInputs/Renderer.d.ts +2 -8
- package/dist/admin/src/components/FormInputs/String.d.ts +2 -4
- package/dist/admin/src/components/FormInputs/Textarea.d.ts +2 -1
- package/dist/admin/src/components/FormInputs/Time.d.ts +2 -2
- package/dist/admin/src/components/FormInputs/types.d.ts +1 -0
- package/dist/admin/src/components/Layouts/ActionLayout.d.ts +7 -0
- package/dist/admin/src/components/Layouts/ContentLayout.d.ts +6 -0
- package/dist/admin/src/components/Layouts/GridLayout.d.ts +17 -0
- package/dist/admin/src/components/Layouts/HeaderLayout.d.ts +19 -0
- package/dist/admin/src/components/Layouts/Layout.d.ts +18 -0
- package/dist/admin/src/components/MainNav/MainNav.d.ts +3 -0
- package/dist/admin/src/components/MainNav/NavLink.d.ts +7 -5
- package/dist/admin/src/components/MainNav/NavUser.d.ts +7 -0
- package/dist/admin/src/components/PageHelpers.d.ts +1 -1
- package/dist/admin/src/core/store/configure.d.ts +3 -9
- package/dist/admin/src/core/store/hooks.d.ts +3 -9
- package/dist/admin/src/features/Tracking.d.ts +1 -1
- package/dist/admin/src/hooks/useAPIErrorHandler.d.ts +2 -4
- package/dist/admin/src/hooks/useAdminRoles.d.ts +1 -1
- package/dist/admin/src/hooks/useFetchClient.d.ts +4 -10
- package/dist/admin/src/hooks/useFocusInputField.d.ts +2 -5
- package/dist/admin/src/hooks/useMenu.d.ts +1 -1
- package/dist/admin/src/index.d.ts +7 -1
- package/dist/admin/src/layouts/UnauthenticatedLayout.d.ts +4 -1
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/{CollabsableContentType.d.ts → CollapsableContentType.d.ts} +1 -3
- package/dist/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.d.ts +6 -51
- package/dist/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.d.ts +2 -1
- package/dist/admin/src/pages/Settings/pages/Roles/components/HiddenAction.d.ts +2 -1
- package/dist/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.d.ts +2 -4
- package/dist/admin/src/pages/Settings/pages/Roles/components/RoleRow.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/Webhooks/components/Events.d.ts +2 -3
- package/dist/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.d.ts +2 -2
- package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +4 -4
- package/dist/admin/src/selectors.d.ts +2 -6
- package/dist/admin/src/services/admin.d.ts +5 -5
- package/dist/admin/src/services/api.d.ts +11 -9
- package/dist/admin/src/services/apiTokens.d.ts +1 -1
- package/dist/admin/src/services/auth.d.ts +13 -11
- package/dist/admin/src/services/contentApi.d.ts +2 -2
- package/dist/admin/src/services/contentManager.d.ts +5 -1
- package/dist/admin/src/services/transferTokens.d.ts +2 -2
- package/dist/admin/src/services/users.d.ts +8 -8
- package/dist/admin/src/services/webhooks.d.ts +2 -2
- package/dist/admin/src/utils/baseQuery.d.ts +10 -9
- package/dist/admin/src/utils/getFetchClient.d.ts +40 -10
- package/dist/admin/src/utils/normalizeAPIError.d.ts +2 -5
- package/dist/admin/test.js +10 -7
- package/dist/admin/test.js.map +1 -1
- package/dist/admin/test.mjs +10 -7
- package/dist/admin/test.mjs.map +1 -1
- package/dist/admin/tests/utils.d.ts +1 -3
- package/dist/admin/{transferTokens-ngan7vz6.mjs → transferTokens-CNI0TFdA.mjs} +15 -5
- package/dist/admin/transferTokens-CNI0TFdA.mjs.map +1 -0
- package/dist/admin/{transferTokens-5qQjIKFd.js → transferTokens-HcVXmOrq.js} +15 -4
- package/dist/admin/transferTokens-HcVXmOrq.js.map +1 -0
- package/dist/admin/{useAdminRoles-X4pwDHaW.mjs → useAdminRoles-0epUuJHP.mjs} +2 -2
- package/dist/admin/{useAdminRoles-X4pwDHaW.mjs.map → useAdminRoles-0epUuJHP.mjs.map} +1 -1
- package/dist/admin/{useAdminRoles-yjN2uT_o.js → useAdminRoles-8RoYtgXn.js} +2 -2
- package/dist/admin/{useAdminRoles-yjN2uT_o.js.map → useAdminRoles-8RoYtgXn.js.map} +1 -1
- package/dist/admin/{useLicenseLimitNotification-T2LoOH4B.mjs → useLicenseLimitNotification-1Xo24v-C.mjs} +3 -3
- package/dist/admin/{useLicenseLimitNotification-T2LoOH4B.mjs.map → useLicenseLimitNotification-1Xo24v-C.mjs.map} +1 -1
- package/dist/admin/{useLicenseLimitNotification-wrxezW0C.js → useLicenseLimitNotification-9iq0TFuF.js} +3 -3
- package/dist/admin/{useLicenseLimitNotification-wrxezW0C.js.map → useLicenseLimitNotification-9iq0TFuF.js.map} +1 -1
- package/dist/admin/{useLicenseLimits-m11DOu9p.js → useLicenseLimits-FtmLXkwK.js} +2 -2
- package/dist/admin/{useLicenseLimits-m11DOu9p.js.map → useLicenseLimits-FtmLXkwK.js.map} +1 -1
- package/dist/admin/{useLicenseLimits-fKc9uCtd.mjs → useLicenseLimits-Jy6E6qc2.mjs} +2 -2
- package/dist/admin/{useLicenseLimits-fKc9uCtd.mjs.map → useLicenseLimits-Jy6E6qc2.mjs.map} +1 -1
- package/dist/admin/{useWebhooks-8VWSFqNg.mjs → useWebhooks-bgdpL7W6.mjs} +5 -3
- package/dist/admin/useWebhooks-bgdpL7W6.mjs.map +1 -0
- package/dist/admin/{useWebhooks-oZ5DKtvz.js → useWebhooks-opYGugiT.js} +5 -3
- package/dist/admin/useWebhooks-opYGugiT.js.map +1 -0
- package/dist/admin/{validation-p2q0MWxi.mjs → validation-TWt09i2x.mjs} +2 -2
- package/dist/admin/{validation-p2q0MWxi.mjs.map → validation-TWt09i2x.mjs.map} +1 -1
- package/dist/admin/{validation-rsP4iH1U.js → validation-wyU5bqks.js} +2 -2
- package/dist/admin/{validation-rsP4iH1U.js.map → validation-wyU5bqks.js.map} +1 -1
- package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
- package/dist/package.json.d.ts +17 -19
- package/dist/server/index.js +19 -7
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +19 -7
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/controllers/admin.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/validate.d.ts.map +1 -1
- package/package.json +18 -20
- package/dist/admin/AdminSeatInfo-G2ipQTLk.js.map +0 -1
- package/dist/admin/AdminSeatInfo-ZrJlIt8M.mjs.map +0 -1
- package/dist/admin/ApplicationInfoPage-TImAEuc3.mjs.map +0 -1
- package/dist/admin/ApplicationInfoPage-dc0ReC0D.js.map +0 -1
- package/dist/admin/AuthenticatedLayout-TNbTifIA.js.map +0 -1
- package/dist/admin/AuthenticatedLayout-eMLYKMgW.mjs.map +0 -1
- package/dist/admin/ContentBox-DjmNTcxv.mjs.map +0 -1
- package/dist/admin/ContentBox-Mzcpnn32.js.map +0 -1
- package/dist/admin/CreateActionEE-Qdz4UDPf.mjs.map +0 -1
- package/dist/admin/CreateActionEE-_i5qXWEG.js.map +0 -1
- package/dist/admin/CreatePage-03MgCK7Z.js.map +0 -1
- package/dist/admin/CreatePage-uTwt_c8J.mjs.map +0 -1
- package/dist/admin/EditPage-F3yH0Fy6.mjs.map +0 -1
- package/dist/admin/EditPage-Ly5MBiuB.js.map +0 -1
- package/dist/admin/EditPage-UqMDbMvJ.js.map +0 -1
- package/dist/admin/EditPage-XSz7Wpt8.mjs.map +0 -1
- package/dist/admin/EditPage-YqW1NIMp.js.map +0 -1
- package/dist/admin/EditPage-lyFePXWl.mjs.map +0 -1
- package/dist/admin/EditView-bRFkRKAz.js.map +0 -1
- package/dist/admin/EditView-r0lx661I.mjs.map +0 -1
- package/dist/admin/EditViewPage-f5dHmqdT.mjs.map +0 -1
- package/dist/admin/EditViewPage-tAsn6QS9.js.map +0 -1
- package/dist/admin/HomePage-UTnZwpp-.js.map +0 -1
- package/dist/admin/HomePage-ZF3T0k2r.mjs.map +0 -1
- package/dist/admin/InstalledPluginsPage-eOXi3oTN.mjs.map +0 -1
- package/dist/admin/InstalledPluginsPage-o43CGz2w.js.map +0 -1
- package/dist/admin/Layout-XxmAreH1.js.map +0 -1
- package/dist/admin/Layout-mnn4_IJp.mjs.map +0 -1
- package/dist/admin/ListPage-5g8MtUEB.mjs.map +0 -1
- package/dist/admin/ListPage-AFDAiR9X.mjs.map +0 -1
- package/dist/admin/ListPage-NTxNcftS.js.map +0 -1
- package/dist/admin/ListPage-Pi_dzfDr.js.map +0 -1
- package/dist/admin/ListPage-URtxfNJ4.js.map +0 -1
- package/dist/admin/ListPage-eNkUD3v_.mjs.map +0 -1
- package/dist/admin/ListPage-hln8fKzE.js.map +0 -1
- package/dist/admin/ListPage-kdjzZ2al.mjs.map +0 -1
- package/dist/admin/ListView-FBh2WTHx.mjs.map +0 -1
- package/dist/admin/ListView-f2wVT21J.js.map +0 -1
- package/dist/admin/ListView-pYVBJ4lg.js.map +0 -1
- package/dist/admin/ListView-uwPF62w6.mjs.map +0 -1
- package/dist/admin/Login-3rLFPliB.js.map +0 -1
- package/dist/admin/Login-FSNzATl0.mjs.map +0 -1
- package/dist/admin/MarketplacePage-kNQPkoZK.mjs.map +0 -1
- package/dist/admin/MarketplacePage-sSTqINSu.js.map +0 -1
- package/dist/admin/Permissions-NlSnXUKO.js.map +0 -1
- package/dist/admin/Permissions-aU1eesjP.mjs.map +0 -1
- package/dist/admin/ProfilePage-T2kC_KoM.mjs.map +0 -1
- package/dist/admin/ProfilePage-jU98pa61.js.map +0 -1
- package/dist/admin/PurchaseAuditLogs-GreHFPSR.js.map +0 -1
- package/dist/admin/PurchaseAuditLogs-_1tVWtNF.mjs.map +0 -1
- package/dist/admin/PurchaseSingleSignOn-6t4xuNBd.js.map +0 -1
- package/dist/admin/PurchaseSingleSignOn-VUU-U4wi.mjs.map +0 -1
- package/dist/admin/SSOProviders-FZwT7RmU.js.map +0 -1
- package/dist/admin/SSOProviders-GcYDRAyn.mjs.map +0 -1
- package/dist/admin/SelectRoles--ys30CdN.mjs.map +0 -1
- package/dist/admin/SelectRoles-EdE6yfsj.js.map +0 -1
- package/dist/admin/SingleSignOnPage-Y-brfYQ1.mjs +0 -234
- package/dist/admin/SingleSignOnPage-Y-brfYQ1.mjs.map +0 -1
- package/dist/admin/SingleSignOnPage-nv121JbB.js +0 -259
- package/dist/admin/SingleSignOnPage-nv121JbB.js.map +0 -1
- package/dist/admin/Table--He5qeQG.mjs.map +0 -1
- package/dist/admin/Table-HXu3Nz4W.js.map +0 -1
- package/dist/admin/TokenTypeSelect-kgKThMAL.mjs.map +0 -1
- package/dist/admin/TokenTypeSelect-yY2kwTyO.js.map +0 -1
- package/dist/admin/UseCasePage-6_WRtTwv.js.map +0 -1
- package/dist/admin/UseCasePage-bfP-fDoW.mjs.map +0 -1
- package/dist/admin/admin-5SXhE_nJ.mjs +0 -256
- package/dist/admin/admin-5SXhE_nJ.mjs.map +0 -1
- package/dist/admin/admin-vlKSOeHB.js +0 -274
- package/dist/admin/admin-vlKSOeHB.js.map +0 -1
- package/dist/admin/apiTokens-bNRitXGF.mjs.map +0 -1
- package/dist/admin/apiTokens-lXn03No3.js.map +0 -1
- package/dist/admin/constants-qdY4HMAg.js.map +0 -1
- package/dist/admin/constants-wnw4TGwG.mjs.map +0 -1
- package/dist/admin/index-7fPlAzj6.mjs.map +0 -1
- package/dist/admin/index-FJLgZ-Wg.js.map +0 -1
- package/dist/admin/rbac-uVd0RAE5.mjs.map +0 -1
- package/dist/admin/rbac-xgYdpUSq.js.map +0 -1
- package/dist/admin/transferTokens-5qQjIKFd.js.map +0 -1
- package/dist/admin/transferTokens-ngan7vz6.mjs.map +0 -1
- package/dist/admin/useWebhooks-8VWSFqNg.mjs.map +0 -1
- package/dist/admin/useWebhooks-oZ5DKtvz.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectRoles-7QbQhIi4.js","sources":["../../admin/src/pages/Settings/pages/Users/components/MagicLinkWrapper.tsx","../../admin/src/pages/Settings/pages/Users/components/MagicLinkCE.tsx","../../admin/src/pages/Settings/pages/Users/components/SelectRoles.tsx"],"sourcesContent":["import { IconButton } from '@strapi/design-system';\nimport { Duplicate } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { ContentBox } from '../../../../../components/ContentBox';\nimport { useNotification } from '../../../../../features/Notifications';\nimport { useClipboard } from '../../../../../hooks/useClipboard';\n\ninterface MagicLinkWrapperProps {\n children: string;\n target: string;\n}\n\nconst MagicLinkWrapper = ({ children, target }: MagicLinkWrapperProps) => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { copy } = useClipboard();\n\n const copyLabel = formatMessage({\n id: 'app.component.CopyToClipboard.label',\n defaultMessage: 'Copy to clipboard',\n });\n\n const handleClick = async () => {\n const didCopy = await copy(target);\n\n if (didCopy) {\n toggleNotification({\n type: 'info',\n message: formatMessage({ id: 'notification.link-copied' }),\n });\n }\n };\n\n return (\n <ContentBox\n endAction={\n <IconButton label={copyLabel} borderWidth={0} onClick={handleClick}>\n <Duplicate />\n </IconButton>\n }\n title={target}\n titleEllipsis\n subtitle={children}\n icon={<span style={{ fontSize: 32 }}>✉️</span>}\n iconBackground=\"neutral100\"\n />\n );\n};\n\nexport { MagicLinkWrapper };\nexport type { MagicLinkWrapperProps };\n","import { useIntl } from 'react-intl';\n\nimport { getBasename } from '../../../../../core/utils/basename';\n\nimport { MagicLinkWrapper } from './MagicLinkWrapper';\n\ninterface MagicLinkCEProps {\n registrationToken: string;\n}\n\nconst MagicLinkCE = ({ registrationToken }: MagicLinkCEProps) => {\n const { formatMessage } = useIntl();\n const target = `${\n window.location.origin\n }${getBasename()}/auth/register?registrationToken=${registrationToken}`;\n\n return (\n <MagicLinkWrapper target={target}>\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect',\n defaultMessage: 'Copy and share this link to give access to this user',\n })}\n </MagicLinkWrapper>\n );\n};\n\nexport { MagicLinkCE };\nexport type { MagicLinkCEProps };\n","import { Field, MultiSelect, MultiSelectOption } from '@strapi/design-system';\nimport { Loader as LoadingIcon } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled, keyframes } from 'styled-components';\n\nimport { useField } from '../../../../../components/Form';\nimport { useAdminRoles } from '../../../../../hooks/useAdminRoles';\n\ninterface SelectRolesProps {\n disabled?: boolean;\n}\n\nconst SelectRoles = ({ disabled }: SelectRolesProps) => {\n const { isLoading, roles } = useAdminRoles();\n\n const { formatMessage } = useIntl();\n const { value = [], onChange, error } = useField<string[]>('roles');\n\n return (\n <Field.Root\n error={error}\n hint={formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.roles.description',\n defaultMessage: 'A user can have one or several roles',\n })}\n name=\"roles\"\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.roles',\n defaultMessage: \"User's roles\",\n })}\n </Field.Label>\n <MultiSelect\n disabled={disabled}\n onChange={(v) => {\n onChange('roles', v);\n }}\n placeholder={formatMessage({\n id: 'app.components.Select.placeholder',\n defaultMessage: 'Select',\n })}\n startIcon={isLoading ? <Loader /> : undefined}\n value={value.map((v) => v.toString())}\n withTags\n >\n {roles.map((role) => {\n return (\n <MultiSelectOption key={role.id} value={role.id.toString()}>\n {formatMessage({\n id: `global.${role.code}`,\n defaultMessage: role.name,\n })}\n </MultiSelectOption>\n );\n })}\n </MultiSelect>\n <Field.Error />\n <Field.Hint />\n </Field.Root>\n );\n};\n\nconst rotation = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n`;\n\nconst LoadingWrapper = styled.div`\n animation: ${rotation} 2s infinite linear;\n`;\n\nconst Loader = () => (\n <LoadingWrapper>\n <LoadingIcon />\n </LoadingWrapper>\n);\n\nexport { SelectRoles };\n"],"names":["useNotification","useIntl","useClipboard","jsx","ContentBox","IconButton","Duplicate","getBasename","useAdminRoles","useField","jsxs","Field","MultiSelect","MultiSelectOption","keyframes","styled","LoadingIcon"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { useIntl } from 'react-intl';
|
|
3
|
-
import {
|
|
4
|
-
import { IconButton, MultiSelect, MultiSelectOption } from '@strapi/design-system';
|
|
3
|
+
import { w as useClipboard, m as getBasename, u as useField } from './index-69WUS0qJ.mjs';
|
|
4
|
+
import { IconButton, Field, MultiSelect, MultiSelectOption } from '@strapi/design-system';
|
|
5
5
|
import { Duplicate, Loader as Loader$1 } from '@strapi/icons';
|
|
6
|
-
import { C as ContentBox } from './ContentBox-
|
|
7
|
-
import { u as useNotification } from './rbac-
|
|
8
|
-
import
|
|
9
|
-
import { u as useAdminRoles } from './useAdminRoles-
|
|
6
|
+
import { C as ContentBox } from './ContentBox-9LBDzws0.mjs';
|
|
7
|
+
import { u as useNotification } from './rbac-oJEkQdXG.mjs';
|
|
8
|
+
import { keyframes, styled } from 'styled-components';
|
|
9
|
+
import { u as useAdminRoles } from './useAdminRoles-0epUuJHP.mjs';
|
|
10
10
|
|
|
11
11
|
const MagicLinkWrapper = ({ children, target }) => {
|
|
12
12
|
const { toggleNotification } = useNotification();
|
|
@@ -28,7 +28,7 @@ const MagicLinkWrapper = ({ children, target }) => {
|
|
|
28
28
|
return /* @__PURE__ */ jsx(
|
|
29
29
|
ContentBox,
|
|
30
30
|
{
|
|
31
|
-
endAction: /* @__PURE__ */ jsx(IconButton, { label: copyLabel,
|
|
31
|
+
endAction: /* @__PURE__ */ jsx(IconButton, { label: copyLabel, borderWidth: 0, onClick: handleClick, children: /* @__PURE__ */ jsx(Duplicate, {}) }),
|
|
32
32
|
title: target,
|
|
33
33
|
titleEllipsis: true,
|
|
34
34
|
subtitle: children,
|
|
@@ -51,41 +51,46 @@ const SelectRoles = ({ disabled }) => {
|
|
|
51
51
|
const { isLoading, roles } = useAdminRoles();
|
|
52
52
|
const { formatMessage } = useIntl();
|
|
53
53
|
const { value = [], onChange, error } = useField("roles");
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
defaultMessage: "User's roles"
|
|
57
|
-
});
|
|
58
|
-
const hint = formatMessage({
|
|
59
|
-
id: "app.components.Users.ModalCreateBody.block-title.roles.description",
|
|
60
|
-
defaultMessage: "A user can have one or several roles"
|
|
61
|
-
});
|
|
62
|
-
const placeholder = formatMessage({
|
|
63
|
-
id: "app.components.Select.placeholder",
|
|
64
|
-
defaultMessage: "Select"
|
|
65
|
-
});
|
|
66
|
-
return /* @__PURE__ */ jsx(
|
|
67
|
-
MultiSelect,
|
|
54
|
+
return /* @__PURE__ */ jsxs(
|
|
55
|
+
Field.Root,
|
|
68
56
|
{
|
|
69
|
-
id: "roles",
|
|
70
|
-
disabled,
|
|
71
57
|
error,
|
|
72
|
-
hint
|
|
73
|
-
|
|
58
|
+
hint: formatMessage({
|
|
59
|
+
id: "app.components.Users.ModalCreateBody.block-title.roles.description",
|
|
60
|
+
defaultMessage: "A user can have one or several roles"
|
|
61
|
+
}),
|
|
74
62
|
name: "roles",
|
|
75
|
-
onChange: (v) => {
|
|
76
|
-
onChange("roles", v);
|
|
77
|
-
},
|
|
78
|
-
placeholder,
|
|
79
|
-
startIcon: isLoading ? /* @__PURE__ */ jsx(Loader, {}) : void 0,
|
|
80
|
-
value: value.map((v) => v.toString()),
|
|
81
|
-
withTags: true,
|
|
82
63
|
required: true,
|
|
83
|
-
children:
|
|
84
|
-
|
|
85
|
-
id:
|
|
86
|
-
defaultMessage:
|
|
87
|
-
}) },
|
|
88
|
-
|
|
64
|
+
children: [
|
|
65
|
+
/* @__PURE__ */ jsx(Field.Label, { children: formatMessage({
|
|
66
|
+
id: "app.components.Users.ModalCreateBody.block-title.roles",
|
|
67
|
+
defaultMessage: "User's roles"
|
|
68
|
+
}) }),
|
|
69
|
+
/* @__PURE__ */ jsx(
|
|
70
|
+
MultiSelect,
|
|
71
|
+
{
|
|
72
|
+
disabled,
|
|
73
|
+
onChange: (v) => {
|
|
74
|
+
onChange("roles", v);
|
|
75
|
+
},
|
|
76
|
+
placeholder: formatMessage({
|
|
77
|
+
id: "app.components.Select.placeholder",
|
|
78
|
+
defaultMessage: "Select"
|
|
79
|
+
}),
|
|
80
|
+
startIcon: isLoading ? /* @__PURE__ */ jsx(Loader, {}) : void 0,
|
|
81
|
+
value: value.map((v) => v.toString()),
|
|
82
|
+
withTags: true,
|
|
83
|
+
children: roles.map((role) => {
|
|
84
|
+
return /* @__PURE__ */ jsx(MultiSelectOption, { value: role.id.toString(), children: formatMessage({
|
|
85
|
+
id: `global.${role.code}`,
|
|
86
|
+
defaultMessage: role.name
|
|
87
|
+
}) }, role.id);
|
|
88
|
+
})
|
|
89
|
+
}
|
|
90
|
+
),
|
|
91
|
+
/* @__PURE__ */ jsx(Field.Error, {}),
|
|
92
|
+
/* @__PURE__ */ jsx(Field.Hint, {})
|
|
93
|
+
]
|
|
89
94
|
}
|
|
90
95
|
);
|
|
91
96
|
};
|
|
@@ -103,4 +108,4 @@ const LoadingWrapper = styled.div`
|
|
|
103
108
|
const Loader = () => /* @__PURE__ */ jsx(LoadingWrapper, { children: /* @__PURE__ */ jsx(Loader$1, {}) });
|
|
104
109
|
|
|
105
110
|
export { MagicLinkCE as M, SelectRoles as S, MagicLinkWrapper as a };
|
|
106
|
-
//# sourceMappingURL=SelectRoles
|
|
111
|
+
//# sourceMappingURL=SelectRoles-neYrKAlL.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectRoles-neYrKAlL.mjs","sources":["../../admin/src/pages/Settings/pages/Users/components/MagicLinkWrapper.tsx","../../admin/src/pages/Settings/pages/Users/components/MagicLinkCE.tsx","../../admin/src/pages/Settings/pages/Users/components/SelectRoles.tsx"],"sourcesContent":["import { IconButton } from '@strapi/design-system';\nimport { Duplicate } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { ContentBox } from '../../../../../components/ContentBox';\nimport { useNotification } from '../../../../../features/Notifications';\nimport { useClipboard } from '../../../../../hooks/useClipboard';\n\ninterface MagicLinkWrapperProps {\n children: string;\n target: string;\n}\n\nconst MagicLinkWrapper = ({ children, target }: MagicLinkWrapperProps) => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { copy } = useClipboard();\n\n const copyLabel = formatMessage({\n id: 'app.component.CopyToClipboard.label',\n defaultMessage: 'Copy to clipboard',\n });\n\n const handleClick = async () => {\n const didCopy = await copy(target);\n\n if (didCopy) {\n toggleNotification({\n type: 'info',\n message: formatMessage({ id: 'notification.link-copied' }),\n });\n }\n };\n\n return (\n <ContentBox\n endAction={\n <IconButton label={copyLabel} borderWidth={0} onClick={handleClick}>\n <Duplicate />\n </IconButton>\n }\n title={target}\n titleEllipsis\n subtitle={children}\n icon={<span style={{ fontSize: 32 }}>✉️</span>}\n iconBackground=\"neutral100\"\n />\n );\n};\n\nexport { MagicLinkWrapper };\nexport type { MagicLinkWrapperProps };\n","import { useIntl } from 'react-intl';\n\nimport { getBasename } from '../../../../../core/utils/basename';\n\nimport { MagicLinkWrapper } from './MagicLinkWrapper';\n\ninterface MagicLinkCEProps {\n registrationToken: string;\n}\n\nconst MagicLinkCE = ({ registrationToken }: MagicLinkCEProps) => {\n const { formatMessage } = useIntl();\n const target = `${\n window.location.origin\n }${getBasename()}/auth/register?registrationToken=${registrationToken}`;\n\n return (\n <MagicLinkWrapper target={target}>\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect',\n defaultMessage: 'Copy and share this link to give access to this user',\n })}\n </MagicLinkWrapper>\n );\n};\n\nexport { MagicLinkCE };\nexport type { MagicLinkCEProps };\n","import { Field, MultiSelect, MultiSelectOption } from '@strapi/design-system';\nimport { Loader as LoadingIcon } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled, keyframes } from 'styled-components';\n\nimport { useField } from '../../../../../components/Form';\nimport { useAdminRoles } from '../../../../../hooks/useAdminRoles';\n\ninterface SelectRolesProps {\n disabled?: boolean;\n}\n\nconst SelectRoles = ({ disabled }: SelectRolesProps) => {\n const { isLoading, roles } = useAdminRoles();\n\n const { formatMessage } = useIntl();\n const { value = [], onChange, error } = useField<string[]>('roles');\n\n return (\n <Field.Root\n error={error}\n hint={formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.roles.description',\n defaultMessage: 'A user can have one or several roles',\n })}\n name=\"roles\"\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.roles',\n defaultMessage: \"User's roles\",\n })}\n </Field.Label>\n <MultiSelect\n disabled={disabled}\n onChange={(v) => {\n onChange('roles', v);\n }}\n placeholder={formatMessage({\n id: 'app.components.Select.placeholder',\n defaultMessage: 'Select',\n })}\n startIcon={isLoading ? <Loader /> : undefined}\n value={value.map((v) => v.toString())}\n withTags\n >\n {roles.map((role) => {\n return (\n <MultiSelectOption key={role.id} value={role.id.toString()}>\n {formatMessage({\n id: `global.${role.code}`,\n defaultMessage: role.name,\n })}\n </MultiSelectOption>\n );\n })}\n </MultiSelect>\n <Field.Error />\n <Field.Hint />\n </Field.Root>\n );\n};\n\nconst rotation = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n`;\n\nconst LoadingWrapper = styled.div`\n animation: ${rotation} 2s infinite linear;\n`;\n\nconst Loader = () => (\n <LoadingWrapper>\n <LoadingIcon />\n </LoadingWrapper>\n);\n\nexport { SelectRoles };\n"],"names":["LoadingIcon"],"mappings":"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"}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
const designSystem = require('@strapi/design-system');
|
|
7
|
+
const icons = require('@strapi/icons');
|
|
8
|
+
const reactIntl = require('react-intl');
|
|
9
|
+
const yup = require('yup');
|
|
10
|
+
const index = require('./index-UrJZyInv.js');
|
|
11
|
+
const rbac = require('./rbac-5b9ylhpa.js');
|
|
12
|
+
const useAdminRoles = require('./useAdminRoles-8RoYtgXn.js');
|
|
13
|
+
const admin = require('./admin-p0djr5G6.js');
|
|
14
|
+
|
|
15
|
+
function _interopNamespace(e) {
|
|
16
|
+
if (e && e.__esModule) return e;
|
|
17
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
|
|
18
|
+
if (e) {
|
|
19
|
+
for (const k in e) {
|
|
20
|
+
if (k !== 'default') {
|
|
21
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
22
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: () => e[k]
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
n.default = e;
|
|
30
|
+
return Object.freeze(n);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
34
|
+
|
|
35
|
+
const SCHEMA = yup__namespace.object().shape({
|
|
36
|
+
autoRegister: yup__namespace.bool().required(index.errorsTrads.required),
|
|
37
|
+
defaultRole: yup__namespace.mixed().when("autoRegister", (value, initSchema) => {
|
|
38
|
+
return value ? initSchema.required(index.errorsTrads.required) : initSchema.nullable();
|
|
39
|
+
}),
|
|
40
|
+
ssoLockedRoles: yup__namespace.array().nullable().of(
|
|
41
|
+
yup__namespace.mixed().when("ssoLockedRoles", (value, initSchema) => {
|
|
42
|
+
return value ? initSchema.required(index.errorsTrads.required) : initSchema.nullable();
|
|
43
|
+
})
|
|
44
|
+
)
|
|
45
|
+
});
|
|
46
|
+
const SingleSignOnPage = () => {
|
|
47
|
+
const { formatMessage } = reactIntl.useIntl();
|
|
48
|
+
const permissions = rbac.useTypedSelector((state) => state.admin_app.permissions);
|
|
49
|
+
const { toggleNotification } = rbac.useNotification();
|
|
50
|
+
const {
|
|
51
|
+
_unstableFormatAPIError: formatAPIError,
|
|
52
|
+
_unstableFormatValidationErrors: formatValidationErrors
|
|
53
|
+
} = rbac.useAPIErrorHandler();
|
|
54
|
+
const { isLoading: isLoadingProviderOptions, data } = rbac.useGetProviderOptionsQuery();
|
|
55
|
+
const [updateProviderOptions, { isLoading: isSubmittingForm }] = rbac.useUpdateProviderOptionsMutation();
|
|
56
|
+
const {
|
|
57
|
+
isLoading: isLoadingPermissions,
|
|
58
|
+
allowedActions: { canUpdate, canRead: canReadRoles }
|
|
59
|
+
} = rbac.useRBAC({
|
|
60
|
+
...permissions.settings?.sso,
|
|
61
|
+
readRoles: permissions.settings?.roles.read ?? []
|
|
62
|
+
});
|
|
63
|
+
const { roles, isLoading: isLoadingRoles } = useAdminRoles.useAdminRoles(void 0, {
|
|
64
|
+
skip: !canReadRoles
|
|
65
|
+
});
|
|
66
|
+
const handleSubmit = async (body, helpers) => {
|
|
67
|
+
try {
|
|
68
|
+
const res = await updateProviderOptions(body);
|
|
69
|
+
if ("error" in res) {
|
|
70
|
+
if (admin.isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
|
71
|
+
helpers.setErrors(formatValidationErrors(res.error));
|
|
72
|
+
} else {
|
|
73
|
+
toggleNotification({
|
|
74
|
+
type: "danger",
|
|
75
|
+
message: formatAPIError(res.error)
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
toggleNotification({
|
|
81
|
+
type: "success",
|
|
82
|
+
message: formatMessage({ id: "notification.success.saved" })
|
|
83
|
+
});
|
|
84
|
+
} catch (err) {
|
|
85
|
+
toggleNotification({
|
|
86
|
+
type: "danger",
|
|
87
|
+
message: formatMessage({
|
|
88
|
+
id: "notification.error",
|
|
89
|
+
defaultMessage: "An error occurred, please try again."
|
|
90
|
+
})
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
const isLoadingData = isLoadingRoles || isLoadingPermissions || isLoadingProviderOptions;
|
|
95
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(index.Layouts.Root, { children: [
|
|
96
|
+
/* @__PURE__ */ jsxRuntime.jsx(rbac.Page.Title, { children: formatMessage(
|
|
97
|
+
{ id: "Settings.PageTitle", defaultMessage: "Settings - {name}" },
|
|
98
|
+
{
|
|
99
|
+
name: "SSO"
|
|
100
|
+
}
|
|
101
|
+
) }),
|
|
102
|
+
/* @__PURE__ */ jsxRuntime.jsx(rbac.Page.Main, { "aria-busy": isSubmittingForm || isLoadingData, tabIndex: -1, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
103
|
+
index.Form,
|
|
104
|
+
{
|
|
105
|
+
method: "PUT",
|
|
106
|
+
onSubmit: handleSubmit,
|
|
107
|
+
validationSchema: SCHEMA,
|
|
108
|
+
disabled: !canUpdate,
|
|
109
|
+
initialValues: data || {
|
|
110
|
+
autoRegister: false,
|
|
111
|
+
defaultRole: null,
|
|
112
|
+
ssoLockedRoles: null
|
|
113
|
+
},
|
|
114
|
+
children: ({ modified, isSubmitting }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
115
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
116
|
+
index.Layouts.Header,
|
|
117
|
+
{
|
|
118
|
+
primaryAction: /* @__PURE__ */ jsxRuntime.jsx(
|
|
119
|
+
designSystem.Button,
|
|
120
|
+
{
|
|
121
|
+
disabled: !modified,
|
|
122
|
+
loading: isSubmitting,
|
|
123
|
+
startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.Check, {}),
|
|
124
|
+
type: "submit",
|
|
125
|
+
size: "L",
|
|
126
|
+
children: formatMessage({
|
|
127
|
+
id: "global.save",
|
|
128
|
+
defaultMessage: "Save"
|
|
129
|
+
})
|
|
130
|
+
}
|
|
131
|
+
),
|
|
132
|
+
title: formatMessage({
|
|
133
|
+
id: "Settings.sso.title",
|
|
134
|
+
defaultMessage: "Single Sign-On"
|
|
135
|
+
}),
|
|
136
|
+
subtitle: formatMessage({
|
|
137
|
+
id: "Settings.sso.description",
|
|
138
|
+
defaultMessage: "Configure the settings for the Single Sign-On feature."
|
|
139
|
+
})
|
|
140
|
+
}
|
|
141
|
+
),
|
|
142
|
+
/* @__PURE__ */ jsxRuntime.jsx(index.Layouts.Content, { children: isSubmitting || isLoadingData ? /* @__PURE__ */ jsxRuntime.jsx(rbac.Page.Loading, {}) : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
143
|
+
designSystem.Flex,
|
|
144
|
+
{
|
|
145
|
+
direction: "column",
|
|
146
|
+
alignItems: "stretch",
|
|
147
|
+
gap: 4,
|
|
148
|
+
background: "neutral0",
|
|
149
|
+
padding: 6,
|
|
150
|
+
shadow: "filterShadow",
|
|
151
|
+
hasRadius: true,
|
|
152
|
+
children: [
|
|
153
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "delta", tag: "h2", children: formatMessage({
|
|
154
|
+
id: "global.settings",
|
|
155
|
+
defaultMessage: "Settings"
|
|
156
|
+
}) }),
|
|
157
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children: [
|
|
158
|
+
{
|
|
159
|
+
hint: formatMessage({
|
|
160
|
+
id: "Settings.sso.form.registration.description",
|
|
161
|
+
defaultMessage: "Create new user on SSO login if no account exists"
|
|
162
|
+
}),
|
|
163
|
+
label: formatMessage({
|
|
164
|
+
id: "Settings.sso.form.registration.label",
|
|
165
|
+
defaultMessage: "Auto-registration"
|
|
166
|
+
}),
|
|
167
|
+
name: "autoRegister",
|
|
168
|
+
size: 6,
|
|
169
|
+
type: "boolean"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
hint: formatMessage({
|
|
173
|
+
id: "Settings.sso.form.defaultRole.description",
|
|
174
|
+
defaultMessage: "It will attach the new authenticated user to the selected role"
|
|
175
|
+
}),
|
|
176
|
+
label: formatMessage({
|
|
177
|
+
id: "Settings.sso.form.defaultRole.label",
|
|
178
|
+
defaultMessage: "Default role"
|
|
179
|
+
}),
|
|
180
|
+
name: "defaultRole",
|
|
181
|
+
options: roles.map(({ id, name }) => ({
|
|
182
|
+
label: name,
|
|
183
|
+
value: id.toString()
|
|
184
|
+
})),
|
|
185
|
+
placeholder: formatMessage({
|
|
186
|
+
id: "components.InputSelect.option.placeholder",
|
|
187
|
+
defaultMessage: "Choose here"
|
|
188
|
+
}),
|
|
189
|
+
size: 6,
|
|
190
|
+
type: "enumeration"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
hint: formatMessage({
|
|
194
|
+
id: "Settings.sso.form.localAuthenticationLock.description",
|
|
195
|
+
defaultMessage: "Select the roles for which you want to disable the local authentication"
|
|
196
|
+
}),
|
|
197
|
+
label: formatMessage({
|
|
198
|
+
id: "Settings.sso.form.localAuthenticationLock.label",
|
|
199
|
+
defaultMessage: "Local authentication lock-out"
|
|
200
|
+
}),
|
|
201
|
+
name: "ssoLockedRoles",
|
|
202
|
+
options: roles.map(({ id, name }) => ({
|
|
203
|
+
label: name,
|
|
204
|
+
value: id.toString()
|
|
205
|
+
})),
|
|
206
|
+
placeholder: formatMessage({
|
|
207
|
+
id: "components.InputSelect.option.placeholder",
|
|
208
|
+
defaultMessage: "Choose here"
|
|
209
|
+
}),
|
|
210
|
+
size: 6,
|
|
211
|
+
type: "multi"
|
|
212
|
+
}
|
|
213
|
+
].map(({ size, ...field }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: size, children: /* @__PURE__ */ jsxRuntime.jsx(FormInputRenderer, { ...field }) }, field.name)) })
|
|
214
|
+
]
|
|
215
|
+
}
|
|
216
|
+
) })
|
|
217
|
+
] })
|
|
218
|
+
}
|
|
219
|
+
) })
|
|
220
|
+
] });
|
|
221
|
+
};
|
|
222
|
+
const FormInputRenderer = (props) => {
|
|
223
|
+
switch (props.type) {
|
|
224
|
+
case "multi":
|
|
225
|
+
return /* @__PURE__ */ jsxRuntime.jsx(MultiSelectInput, { ...props });
|
|
226
|
+
default:
|
|
227
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index.MemoizedInputRenderer, { ...props });
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
const MultiSelectInput = ({ hint, label, name, options, ...props }) => {
|
|
231
|
+
const field = index.useField(name);
|
|
232
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Field.Root, { name, hint, error: field.error, children: [
|
|
233
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: label }),
|
|
234
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
235
|
+
designSystem.MultiSelect,
|
|
236
|
+
{
|
|
237
|
+
onChange: (value) => field.onChange("ssoLockedRoles", value),
|
|
238
|
+
onClear: () => field.onChange("ssoLockedRoles", []),
|
|
239
|
+
value: field.value ?? [],
|
|
240
|
+
withTags: true,
|
|
241
|
+
...props,
|
|
242
|
+
children: options.map(({ label: label2, value }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.MultiSelectOption, { value, children: label2 }, value))
|
|
243
|
+
}
|
|
244
|
+
),
|
|
245
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Hint, {}),
|
|
246
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Error, {})
|
|
247
|
+
] });
|
|
248
|
+
};
|
|
249
|
+
const ProtectedSSO = () => {
|
|
250
|
+
const permissions = rbac.useTypedSelector((state) => state.admin_app.permissions.settings?.sso?.main);
|
|
251
|
+
return /* @__PURE__ */ jsxRuntime.jsx(rbac.Page.Protect, { permissions, children: /* @__PURE__ */ jsxRuntime.jsx(SingleSignOnPage, {}) });
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
exports.ProtectedSSO = ProtectedSSO;
|
|
255
|
+
exports.SingleSignOnPage = SingleSignOnPage;
|
|
256
|
+
//# sourceMappingURL=SingleSignOnPage-NRBGwvMB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SingleSignOnPage-NRBGwvMB.js","sources":["../../ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.tsx"],"sourcesContent":["import {\n Button,\n Flex,\n Grid,\n GridItem,\n MultiSelect,\n MultiSelectOption,\n Typography,\n Field,\n} from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport {\n Form,\n FormHelpers,\n InputProps,\n useField,\n} from '../../../../../../admin/src/components/Form';\nimport { InputRenderer } from '../../../../../../admin/src/components/FormInputs/Renderer';\nimport { Layouts } from '../../../../../../admin/src/components/Layouts/Layout';\nimport { Page } from '../../../../../../admin/src/components/PageHelpers';\nimport { useTypedSelector } from '../../../../../../admin/src/core/store/hooks';\nimport { useNotification } from '../../../../../../admin/src/features/Notifications';\nimport { useAdminRoles } from '../../../../../../admin/src/hooks/useAdminRoles';\nimport { useAPIErrorHandler } from '../../../../../../admin/src/hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../../../admin/src/hooks/useRBAC';\nimport {\n useGetProviderOptionsQuery,\n useUpdateProviderOptionsMutation,\n} from '../../../../../../admin/src/services/auth';\nimport { isBaseQueryError } from '../../../../../../admin/src/utils/baseQuery';\nimport { translatedErrors } from '../../../../../../admin/src/utils/translatedErrors';\nimport { ProvidersOptions } from '../../../../../../shared/contracts/admin';\n\nconst SCHEMA = yup.object().shape({\n autoRegister: yup.bool().required(translatedErrors.required),\n defaultRole: yup.mixed().when('autoRegister', (value, initSchema) => {\n return value ? initSchema.required(translatedErrors.required) : initSchema.nullable();\n }),\n ssoLockedRoles: yup\n .array()\n .nullable()\n .of(\n yup.mixed().when('ssoLockedRoles', (value, initSchema) => {\n return value ? initSchema.required(translatedErrors.required) : initSchema.nullable();\n })\n ),\n});\n\nexport const SingleSignOnPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const { toggleNotification } = useNotification();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const { isLoading: isLoadingProviderOptions, data } = useGetProviderOptionsQuery();\n\n const [updateProviderOptions, { isLoading: isSubmittingForm }] =\n useUpdateProviderOptionsMutation();\n\n const {\n isLoading: isLoadingPermissions,\n allowedActions: { canUpdate, canRead: canReadRoles },\n } = useRBAC({\n ...permissions.settings?.sso,\n readRoles: permissions.settings?.roles.read ?? [],\n });\n\n const { roles, isLoading: isLoadingRoles } = useAdminRoles(undefined, {\n skip: !canReadRoles,\n });\n\n const handleSubmit = async (\n body: ProvidersOptions.Request['body'],\n helpers: FormHelpers<ProvidersOptions.Request['body']>\n ) => {\n try {\n const res = await updateProviderOptions(body);\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n helpers.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved' }),\n });\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred, please try again.',\n }),\n });\n }\n };\n\n const isLoadingData = isLoadingRoles || isLoadingPermissions || isLoadingProviderOptions;\n\n return (\n <Layouts.Root>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'SSO',\n }\n )}\n </Page.Title>\n <Page.Main aria-busy={isSubmittingForm || isLoadingData} tabIndex={-1}>\n <Form\n method=\"PUT\"\n onSubmit={handleSubmit}\n validationSchema={SCHEMA}\n disabled={!canUpdate}\n initialValues={\n data || {\n autoRegister: false,\n defaultRole: null,\n ssoLockedRoles: null,\n }\n }\n >\n {({ modified, isSubmitting }) => (\n <>\n <Layouts.Header\n primaryAction={\n <Button\n disabled={!modified}\n loading={isSubmitting}\n startIcon={<Check />}\n type=\"submit\"\n size=\"L\"\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n }\n title={formatMessage({\n id: 'Settings.sso.title',\n defaultMessage: 'Single Sign-On',\n })}\n subtitle={formatMessage({\n id: 'Settings.sso.description',\n defaultMessage: 'Configure the settings for the Single Sign-On feature.',\n })}\n />\n <Layouts.Content>\n {isSubmitting || isLoadingData ? (\n <Page.Loading />\n ) : (\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={4}\n background=\"neutral0\"\n padding={6}\n shadow=\"filterShadow\"\n hasRadius\n >\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid gap={4}>\n {[\n {\n hint: formatMessage({\n id: 'Settings.sso.form.registration.description',\n defaultMessage: 'Create new user on SSO login if no account exists',\n }),\n label: formatMessage({\n id: 'Settings.sso.form.registration.label',\n defaultMessage: 'Auto-registration',\n }),\n name: 'autoRegister',\n size: 6,\n type: 'boolean' as const,\n },\n {\n hint: formatMessage({\n id: 'Settings.sso.form.defaultRole.description',\n defaultMessage:\n 'It will attach the new authenticated user to the selected role',\n }),\n label: formatMessage({\n id: 'Settings.sso.form.defaultRole.label',\n defaultMessage: 'Default role',\n }),\n name: 'defaultRole',\n options: roles.map(({ id, name }) => ({\n label: name,\n value: id.toString(),\n })),\n placeholder: formatMessage({\n id: 'components.InputSelect.option.placeholder',\n defaultMessage: 'Choose here',\n }),\n size: 6,\n type: 'enumeration' as const,\n },\n {\n hint: formatMessage({\n id: 'Settings.sso.form.localAuthenticationLock.description',\n defaultMessage:\n 'Select the roles for which you want to disable the local authentication',\n }),\n label: formatMessage({\n id: 'Settings.sso.form.localAuthenticationLock.label',\n defaultMessage: 'Local authentication lock-out',\n }),\n name: 'ssoLockedRoles',\n options: roles.map(({ id, name }) => ({\n label: name,\n value: id.toString(),\n })),\n placeholder: formatMessage({\n id: 'components.InputSelect.option.placeholder',\n defaultMessage: 'Choose here',\n }),\n size: 6,\n type: 'multi' as const,\n },\n ].map(({ size, ...field }) => (\n <GridItem key={field.name} col={size}>\n <FormInputRenderer {...field} />\n </GridItem>\n ))}\n </Grid>\n </Flex>\n )}\n </Layouts.Content>\n </>\n )}\n </Form>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\ntype FormInputProps = InputProps | MultiSelectInputProps;\n\nconst FormInputRenderer = (props: FormInputProps) => {\n switch (props.type) {\n case 'multi':\n return <MultiSelectInput {...props} />;\n default:\n return <InputRenderer {...props} />;\n }\n};\n\ntype MultiSelectInputProps = Omit<Extract<InputProps, { type: 'enumeration' }>, 'type'> & {\n type: 'multi';\n};\n\nconst MultiSelectInput = ({ hint, label, name, options, ...props }: MultiSelectInputProps) => {\n const field = useField(name);\n\n return (\n <Field.Root name={name} hint={hint} error={field.error}>\n <Field.Label>{label}</Field.Label>\n <MultiSelect\n onChange={(value) => field.onChange('ssoLockedRoles', value)}\n onClear={() => field.onChange('ssoLockedRoles', [])}\n value={field.value ?? []}\n withTags\n {...props}\n >\n {options.map(({ label, value }) => (\n <MultiSelectOption key={value} value={value}>\n {label}\n </MultiSelectOption>\n ))}\n </MultiSelect>\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n};\n\nexport const ProtectedSSO = () => {\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.sso?.main);\n\n return (\n <Page.Protect permissions={permissions}>\n <SingleSignOnPage />\n </Page.Protect>\n );\n};\n"],"names":["yup","translatedErrors","useIntl","useTypedSelector","useNotification","useAPIErrorHandler","useGetProviderOptionsQuery","useUpdateProviderOptionsMutation","useRBAC","useAdminRoles","isBaseQueryError","jsxs","Layouts","jsx","Page","Form","Fragment","Button","Check","Flex","Typography","Grid","GridItem","InputRenderer","useField","Field","MultiSelect","label","MultiSelectOption"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,MAAM,MAAS,GAAAA,cAAA,CAAI,MAAO,EAAA,CAAE,KAAM,CAAA;AAAA,EAChC,cAAcA,cAAI,CAAA,IAAA,EAAO,CAAA,QAAA,CAASC,kBAAiB,QAAQ,CAAA;AAAA,EAC3D,WAAA,EAAaD,eAAI,KAAM,EAAA,CAAE,KAAK,cAAgB,EAAA,CAAC,OAAO,UAAe,KAAA;AACnE,IAAA,OAAO,QAAQ,UAAW,CAAA,QAAA,CAASC,kBAAiB,QAAQ,CAAA,GAAI,WAAW,QAAS,EAAA,CAAA;AAAA,GACrF,CAAA;AAAA,EACD,cAAgB,EAAAD,cAAA,CACb,KAAM,EAAA,CACN,UACA,CAAA,EAAA;AAAA,IACCA,eAAI,KAAM,EAAA,CAAE,KAAK,gBAAkB,EAAA,CAAC,OAAO,UAAe,KAAA;AACxD,MAAA,OAAO,QAAQ,UAAW,CAAA,QAAA,CAASC,kBAAiB,QAAQ,CAAA,GAAI,WAAW,QAAS,EAAA,CAAA;AAAA,KACrF,CAAA;AAAA,GACH;AACJ,CAAC,CAAA,CAAA;AAEM,MAAM,mBAAmB,MAAM;AACpC,EAAM,MAAA,EAAE,aAAc,EAAA,GAAIC,iBAAQ,EAAA,CAAA;AAClC,EAAA,MAAM,cAAcC,qBAAiB,CAAA,CAAC,KAAU,KAAA,KAAA,CAAM,UAAU,WAAW,CAAA,CAAA;AAC3E,EAAM,MAAA,EAAE,kBAAmB,EAAA,GAAIC,oBAAgB,EAAA,CAAA;AAC/C,EAAM,MAAA;AAAA,IACJ,uBAAyB,EAAA,cAAA;AAAA,IACzB,+BAAiC,EAAA,sBAAA;AAAA,MAC/BC,uBAAmB,EAAA,CAAA;AAEvB,EAAA,MAAM,EAAE,SAAA,EAAW,wBAA0B,EAAA,IAAA,KAASC,+BAA2B,EAAA,CAAA;AAEjF,EAAA,MAAM,CAAC,qBAAuB,EAAA,EAAE,WAAW,gBAAiB,EAAC,IAC3DC,qCAAiC,EAAA,CAAA;AAEnC,EAAM,MAAA;AAAA,IACJ,SAAW,EAAA,oBAAA;AAAA,IACX,cAAgB,EAAA,EAAE,SAAW,EAAA,OAAA,EAAS,YAAa,EAAA;AAAA,MACjDC,YAAQ,CAAA;AAAA,IACV,GAAG,YAAY,QAAU,EAAA,GAAA;AAAA,IACzB,SAAW,EAAA,WAAA,CAAY,QAAU,EAAA,KAAA,CAAM,QAAQ,EAAC;AAAA,GACjD,CAAA,CAAA;AAED,EAAA,MAAM,EAAE,KAAO,EAAA,SAAA,EAAW,cAAe,EAAA,GAAIC,4BAAc,KAAW,CAAA,EAAA;AAAA,IACpE,MAAM,CAAC,YAAA;AAAA,GACR,CAAA,CAAA;AAED,EAAM,MAAA,YAAA,GAAe,OACnB,IAAA,EACA,OACG,KAAA;AACH,IAAI,IAAA;AACF,MAAM,MAAA,GAAA,GAAM,MAAM,qBAAA,CAAsB,IAAI,CAAA,CAAA;AAE5C,MAAA,IAAI,WAAW,GAAK,EAAA;AAClB,QAAA,IAAIC,uBAAiB,GAAI,CAAA,KAAK,KAAK,GAAI,CAAA,KAAA,CAAM,SAAS,iBAAmB,EAAA;AACvE,UAAA,OAAA,CAAQ,SAAU,CAAA,sBAAA,CAAuB,GAAI,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,SAC9C,MAAA;AACL,UAAmB,kBAAA,CAAA;AAAA,YACjB,IAAM,EAAA,QAAA;AAAA,YACN,OAAA,EAAS,cAAe,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,WAClC,CAAA,CAAA;AAAA,SACH;AAEA,QAAA,OAAA;AAAA,OACF;AAEA,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,SAAA;AAAA,QACN,OAAS,EAAA,aAAA,CAAc,EAAE,EAAA,EAAI,8BAA8B,CAAA;AAAA,OAC5D,CAAA,CAAA;AAAA,aACM,GAAK,EAAA;AACZ,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,QAAA;AAAA,QACN,SAAS,aAAc,CAAA;AAAA,UACrB,EAAI,EAAA,oBAAA;AAAA,UACJ,cAAgB,EAAA,sCAAA;AAAA,SACjB,CAAA;AAAA,OACF,CAAA,CAAA;AAAA,KACH;AAAA,GACF,CAAA;AAEA,EAAM,MAAA,aAAA,GAAgB,kBAAkB,oBAAwB,IAAA,wBAAA,CAAA;AAEhE,EACE,uBAAAC,eAAA,CAACC,aAAQ,CAAA,IAAA,EAAR,EACC,QAAA,EAAA;AAAA,oBAACC,cAAA,CAAAC,SAAA,CAAK,OAAL,EACE,QAAA,EAAA,aAAA;AAAA,MACC,EAAE,EAAA,EAAI,oBAAsB,EAAA,cAAA,EAAgB,mBAAoB,EAAA;AAAA,MAChE;AAAA,QACE,IAAM,EAAA,KAAA;AAAA,OACR;AAAA,KAEJ,EAAA,CAAA;AAAA,oBACAD,cAAA,CAACC,UAAK,IAAL,EAAA,EAAU,aAAW,gBAAoB,IAAA,aAAA,EAAe,UAAU,CACjE,CAAA,EAAA,QAAA,kBAAAD,cAAA;AAAA,MAACE,UAAA;AAAA,MAAA;AAAA,QACC,MAAO,EAAA,KAAA;AAAA,QACP,QAAU,EAAA,YAAA;AAAA,QACV,gBAAkB,EAAA,MAAA;AAAA,QAClB,UAAU,CAAC,SAAA;AAAA,QACX,eACE,IAAQ,IAAA;AAAA,UACN,YAAc,EAAA,KAAA;AAAA,UACd,WAAa,EAAA,IAAA;AAAA,UACb,cAAgB,EAAA,IAAA;AAAA,SAClB;AAAA,QAGD,QAAC,EAAA,CAAA,EAAE,QAAU,EAAA,YAAA,uBAEVJ,eAAA,CAAAK,mBAAA,EAAA,EAAA,QAAA,EAAA;AAAA,0BAAAH,cAAA;AAAA,YAACD,aAAQ,CAAA,MAAA;AAAA,YAAR;AAAA,cACC,aACE,kBAAAC,cAAA;AAAA,gBAACI,mBAAA;AAAA,gBAAA;AAAA,kBACC,UAAU,CAAC,QAAA;AAAA,kBACX,OAAS,EAAA,YAAA;AAAA,kBACT,SAAA,iCAAYC,WAAM,EAAA,EAAA,CAAA;AAAA,kBAClB,IAAK,EAAA,QAAA;AAAA,kBACL,IAAK,EAAA,GAAA;AAAA,kBAEJ,QAAc,EAAA,aAAA,CAAA;AAAA,oBACb,EAAI,EAAA,aAAA;AAAA,oBACJ,cAAgB,EAAA,MAAA;AAAA,mBACjB,CAAA;AAAA,iBAAA;AAAA,eACH;AAAA,cAEF,OAAO,aAAc,CAAA;AAAA,gBACnB,EAAI,EAAA,oBAAA;AAAA,gBACJ,cAAgB,EAAA,gBAAA;AAAA,eACjB,CAAA;AAAA,cACD,UAAU,aAAc,CAAA;AAAA,gBACtB,EAAI,EAAA,0BAAA;AAAA,gBACJ,cAAgB,EAAA,wDAAA;AAAA,eACjB,CAAA;AAAA,aAAA;AAAA,WACH;AAAA,0BACAL,cAAA,CAACD,aAAQ,CAAA,OAAA,EAAR,EACE,QAAA,EAAA,YAAA,IAAgB,gCACdC,cAAA,CAAAC,SAAA,CAAK,OAAL,EAAA,EAAa,CAEd,mBAAAH,eAAA;AAAA,YAACQ,iBAAA;AAAA,YAAA;AAAA,cACC,SAAU,EAAA,QAAA;AAAA,cACV,UAAW,EAAA,SAAA;AAAA,cACX,GAAK,EAAA,CAAA;AAAA,cACL,UAAW,EAAA,UAAA;AAAA,cACX,OAAS,EAAA,CAAA;AAAA,cACT,MAAO,EAAA,cAAA;AAAA,cACP,SAAS,EAAA,IAAA;AAAA,cAET,QAAA,EAAA;AAAA,gCAAAN,cAAA,CAACO,uBAAW,EAAA,EAAA,OAAA,EAAQ,OAAQ,EAAA,GAAA,EAAI,MAC7B,QAAc,EAAA,aAAA,CAAA;AAAA,kBACb,EAAI,EAAA,iBAAA;AAAA,kBACJ,cAAgB,EAAA,UAAA;AAAA,iBACjB,CACH,EAAA,CAAA;AAAA,gCACAP,cAAA,CAACQ,iBAAK,EAAA,EAAA,GAAA,EAAK,CACR,EAAA,QAAA,EAAA;AAAA,kBACC;AAAA,oBACE,MAAM,aAAc,CAAA;AAAA,sBAClB,EAAI,EAAA,4CAAA;AAAA,sBACJ,cAAgB,EAAA,mDAAA;AAAA,qBACjB,CAAA;AAAA,oBACD,OAAO,aAAc,CAAA;AAAA,sBACnB,EAAI,EAAA,sCAAA;AAAA,sBACJ,cAAgB,EAAA,mBAAA;AAAA,qBACjB,CAAA;AAAA,oBACD,IAAM,EAAA,cAAA;AAAA,oBACN,IAAM,EAAA,CAAA;AAAA,oBACN,IAAM,EAAA,SAAA;AAAA,mBACR;AAAA,kBACA;AAAA,oBACE,MAAM,aAAc,CAAA;AAAA,sBAClB,EAAI,EAAA,2CAAA;AAAA,sBACJ,cACE,EAAA,gEAAA;AAAA,qBACH,CAAA;AAAA,oBACD,OAAO,aAAc,CAAA;AAAA,sBACnB,EAAI,EAAA,qCAAA;AAAA,sBACJ,cAAgB,EAAA,cAAA;AAAA,qBACjB,CAAA;AAAA,oBACD,IAAM,EAAA,aAAA;AAAA,oBACN,SAAS,KAAM,CAAA,GAAA,CAAI,CAAC,EAAE,EAAA,EAAI,MAAY,MAAA;AAAA,sBACpC,KAAO,EAAA,IAAA;AAAA,sBACP,KAAA,EAAO,GAAG,QAAS,EAAA;AAAA,qBACnB,CAAA,CAAA;AAAA,oBACF,aAAa,aAAc,CAAA;AAAA,sBACzB,EAAI,EAAA,2CAAA;AAAA,sBACJ,cAAgB,EAAA,aAAA;AAAA,qBACjB,CAAA;AAAA,oBACD,IAAM,EAAA,CAAA;AAAA,oBACN,IAAM,EAAA,aAAA;AAAA,mBACR;AAAA,kBACA;AAAA,oBACE,MAAM,aAAc,CAAA;AAAA,sBAClB,EAAI,EAAA,uDAAA;AAAA,sBACJ,cACE,EAAA,yEAAA;AAAA,qBACH,CAAA;AAAA,oBACD,OAAO,aAAc,CAAA;AAAA,sBACnB,EAAI,EAAA,iDAAA;AAAA,sBACJ,cAAgB,EAAA,+BAAA;AAAA,qBACjB,CAAA;AAAA,oBACD,IAAM,EAAA,gBAAA;AAAA,oBACN,SAAS,KAAM,CAAA,GAAA,CAAI,CAAC,EAAE,EAAA,EAAI,MAAY,MAAA;AAAA,sBACpC,KAAO,EAAA,IAAA;AAAA,sBACP,KAAA,EAAO,GAAG,QAAS,EAAA;AAAA,qBACnB,CAAA,CAAA;AAAA,oBACF,aAAa,aAAc,CAAA;AAAA,sBACzB,EAAI,EAAA,2CAAA;AAAA,sBACJ,cAAgB,EAAA,aAAA;AAAA,qBACjB,CAAA;AAAA,oBACD,IAAM,EAAA,CAAA;AAAA,oBACN,IAAM,EAAA,OAAA;AAAA,mBACR;AAAA,iBACF,CAAE,IAAI,CAAC,EAAE,MAAM,GAAG,KAAA,uBACfR,cAAA,CAAAS,qBAAA,EAAA,EAA0B,KAAK,IAC9B,EAAA,QAAA,kBAAAT,cAAA,CAAC,qBAAmB,GAAG,KAAA,EAAO,KADjB,KAAM,CAAA,IAErB,CACD,CACH,EAAA,CAAA;AAAA,eAAA;AAAA,aAAA;AAAA,WAGN,EAAA,CAAA;AAAA,SACF,EAAA,CAAA;AAAA,OAAA;AAAA,KAGN,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,EAAA;AAIA,MAAM,iBAAA,GAAoB,CAAC,KAA0B,KAAA;AACnD,EAAA,QAAQ,MAAM,IAAM;AAAA,IAClB,KAAK,OAAA;AACH,MAAO,uBAAAA,cAAA,CAAC,gBAAkB,EAAA,EAAA,GAAG,KAAO,EAAA,CAAA,CAAA;AAAA,IACtC;AACE,MAAO,uBAAAA,cAAA,CAACU,2BAAe,EAAA,EAAA,GAAG,KAAO,EAAA,CAAA,CAAA;AAAA,GACrC;AACF,CAAA,CAAA;AAMA,MAAM,gBAAA,GAAmB,CAAC,EAAE,IAAA,EAAM,OAAO,IAAM,EAAA,OAAA,EAAS,GAAG,KAAA,EAAmC,KAAA;AAC5F,EAAM,MAAA,KAAA,GAAQC,eAAS,IAAI,CAAA,CAAA;AAE3B,EACE,uBAAAb,eAAA,CAACc,mBAAM,IAAN,EAAA,EAAW,MAAY,IAAY,EAAA,KAAA,EAAO,MAAM,KAC/C,EAAA,QAAA,EAAA;AAAA,oBAACZ,cAAA,CAAAY,kBAAA,CAAM,KAAN,EAAA,EAAa,QAAM,EAAA,KAAA,EAAA,CAAA;AAAA,oBACpBZ,cAAA;AAAA,MAACa,wBAAA;AAAA,MAAA;AAAA,QACC,UAAU,CAAC,KAAA,KAAU,KAAM,CAAA,QAAA,CAAS,kBAAkB,KAAK,CAAA;AAAA,QAC3D,SAAS,MAAM,KAAA,CAAM,QAAS,CAAA,gBAAA,EAAkB,EAAE,CAAA;AAAA,QAClD,KAAA,EAAO,KAAM,CAAA,KAAA,IAAS,EAAC;AAAA,QACvB,QAAQ,EAAA,IAAA;AAAA,QACP,GAAG,KAAA;AAAA,QAEH,QAAQ,EAAA,OAAA,CAAA,GAAA,CAAI,CAAC,EAAE,OAAAC,MAAO,EAAA,KAAA,EACrB,qBAAAd,cAAA,CAACe,8BAA8B,EAAA,EAAA,KAAA,EAC5B,QAAAD,EAAAA,MAAAA,EAAAA,EADqB,KAExB,CACD,CAAA;AAAA,OAAA;AAAA,KACH;AAAA,oBACAd,cAAA,CAACY,kBAAM,CAAA,IAAA,EAAN,EAAW,CAAA;AAAA,oBACZZ,cAAA,CAACY,kBAAM,CAAA,KAAA,EAAN,EAAY,CAAA;AAAA,GACf,EAAA,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEO,MAAM,eAAe,MAAM;AAChC,EAAM,MAAA,WAAA,GAActB,sBAAiB,CAAC,KAAA,KAAU,MAAM,SAAU,CAAA,WAAA,CAAY,QAAU,EAAA,GAAA,EAAK,IAAI,CAAA,CAAA;AAE/F,EAAA,sCACGW,SAAK,CAAA,OAAA,EAAL,EAAa,WACZ,EAAA,QAAA,kBAAAD,cAAA,CAAC,oBAAiB,CACpB,EAAA,CAAA,CAAA;AAEJ;;;;;"}
|