@strapi/admin 4.16.2 → 4.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/AdminSeatInfo-390d8989.js +164 -0
- package/dist/_chunks/AdminSeatInfo-390d8989.js.map +1 -0
- package/dist/_chunks/AdminSeatInfo-bb59ad1f.mjs +164 -0
- package/dist/_chunks/AdminSeatInfo-bb59ad1f.mjs.map +1 -0
- package/dist/_chunks/AuthenticatedApp-b186733c.js +1477 -0
- package/dist/_chunks/AuthenticatedApp-b186733c.js.map +1 -0
- package/dist/_chunks/AuthenticatedApp-b723bf94.mjs +1451 -0
- package/dist/_chunks/AuthenticatedApp-b723bf94.mjs.map +1 -0
- package/dist/_chunks/CreateActionEE-42bd2b19.js +63 -0
- package/dist/_chunks/CreateActionEE-42bd2b19.js.map +1 -0
- package/dist/_chunks/CreateActionEE-eadd5955.mjs +60 -0
- package/dist/_chunks/CreateActionEE-eadd5955.mjs.map +1 -0
- package/dist/_chunks/CreatePage-16d53bda.js +82 -0
- package/dist/_chunks/CreatePage-16d53bda.js.map +1 -0
- package/dist/_chunks/CreatePage-34ad9bdd.mjs +289 -0
- package/dist/_chunks/CreatePage-34ad9bdd.mjs.map +1 -0
- package/dist/_chunks/CreatePage-92f708fa.js +312 -0
- package/dist/_chunks/CreatePage-92f708fa.js.map +1 -0
- package/dist/_chunks/CreatePage-e5d16f0e.mjs +325 -0
- package/dist/_chunks/CreatePage-e5d16f0e.mjs.map +1 -0
- package/dist/_chunks/CreatePage-f321dfbc.mjs +82 -0
- package/dist/_chunks/CreatePage-f321dfbc.mjs.map +1 -0
- package/dist/_chunks/CreatePage-f63362cf.js +346 -0
- package/dist/_chunks/CreatePage-f63362cf.js.map +1 -0
- package/dist/_chunks/CreateView-0da060c0.js +89 -0
- package/dist/_chunks/CreateView-0da060c0.js.map +1 -0
- package/dist/_chunks/CreateView-69c834ba.js +85 -0
- package/dist/_chunks/CreateView-69c834ba.js.map +1 -0
- package/dist/_chunks/CreateView-a5345794.mjs +89 -0
- package/dist/_chunks/CreateView-a5345794.mjs.map +1 -0
- package/dist/_chunks/CreateView-df9f9bf0.mjs +85 -0
- package/dist/_chunks/CreateView-df9f9bf0.mjs.map +1 -0
- package/dist/_chunks/EditPage-39a7cd2d.js +499 -0
- package/dist/_chunks/EditPage-39a7cd2d.js.map +1 -0
- package/dist/_chunks/EditPage-48cdd744.js +796 -0
- package/dist/_chunks/EditPage-48cdd744.js.map +1 -0
- package/dist/_chunks/EditPage-493ac83a.js +404 -0
- package/dist/_chunks/EditPage-493ac83a.js.map +1 -0
- package/dist/_chunks/EditPage-a5a18e61.mjs +305 -0
- package/dist/_chunks/EditPage-a5a18e61.mjs.map +1 -0
- package/dist/_chunks/EditPage-a6578110.mjs +475 -0
- package/dist/_chunks/EditPage-a6578110.mjs.map +1 -0
- package/dist/_chunks/EditPage-e710a231.mjs +775 -0
- package/dist/_chunks/EditPage-e710a231.mjs.map +1 -0
- package/dist/_chunks/EditPage-f5caa375.mjs +383 -0
- package/dist/_chunks/EditPage-f5caa375.mjs.map +1 -0
- package/dist/_chunks/EditPage-f75f04b9.js +325 -0
- package/dist/_chunks/EditPage-f75f04b9.js.map +1 -0
- package/dist/_chunks/EditView-0c216c35.js +452 -0
- package/dist/_chunks/EditView-0c216c35.js.map +1 -0
- package/dist/_chunks/EditView-d3ccb532.mjs +432 -0
- package/dist/_chunks/EditView-d3ccb532.mjs.map +1 -0
- package/dist/_chunks/EditViewPage-57b6e71a.js +910 -0
- package/dist/_chunks/EditViewPage-57b6e71a.js.map +1 -0
- package/dist/_chunks/EditViewPage-77e95780.mjs +883 -0
- package/dist/_chunks/EditViewPage-77e95780.mjs.map +1 -0
- package/dist/_chunks/EventsTable-8e2b0bd9.js +91 -0
- package/dist/_chunks/EventsTable-8e2b0bd9.js.map +1 -0
- package/dist/_chunks/EventsTable-d472e89d.mjs +91 -0
- package/dist/_chunks/EventsTable-d472e89d.mjs.map +1 -0
- package/dist/_chunks/Filters-4d67a6ca.js +61 -0
- package/dist/_chunks/Filters-4d67a6ca.js.map +1 -0
- package/dist/_chunks/Filters-8f3c8fcf.mjs +43 -0
- package/dist/_chunks/Filters-8f3c8fcf.mjs.map +1 -0
- package/dist/_chunks/HomePage-22d90f51.mjs +84 -0
- package/dist/_chunks/HomePage-22d90f51.mjs.map +1 -0
- package/dist/_chunks/HomePage-7bd6070c.js +84 -0
- package/dist/_chunks/HomePage-7bd6070c.js.map +1 -0
- package/dist/_chunks/HomePage-bb29ced3.js +598 -0
- package/dist/_chunks/HomePage-bb29ced3.js.map +1 -0
- package/dist/_chunks/HomePage-e94a37b9.mjs +577 -0
- package/dist/_chunks/HomePage-e94a37b9.mjs.map +1 -0
- package/dist/_chunks/InformationBoxEE-302228b9.mjs +379 -0
- package/dist/_chunks/InformationBoxEE-302228b9.mjs.map +1 -0
- package/dist/_chunks/InformationBoxEE-7d383cec.js +398 -0
- package/dist/_chunks/InformationBoxEE-7d383cec.js.map +1 -0
- package/dist/_chunks/InstalledPluginsPage-73eabc0b.js +189 -0
- package/dist/_chunks/InstalledPluginsPage-73eabc0b.js.map +1 -0
- package/dist/_chunks/InstalledPluginsPage-ff15831e.mjs +170 -0
- package/dist/_chunks/InstalledPluginsPage-ff15831e.mjs.map +1 -0
- package/dist/_chunks/Layout-1dd77bbb.mjs +87 -0
- package/dist/_chunks/Layout-1dd77bbb.mjs.map +1 -0
- package/dist/_chunks/Layout-ef2fc31f.js +88 -0
- package/dist/_chunks/Layout-ef2fc31f.js.map +1 -0
- package/dist/_chunks/LimitsModal-3327be54.js +75 -0
- package/dist/_chunks/LimitsModal-3327be54.js.map +1 -0
- package/dist/_chunks/LimitsModal-d438f513.mjs +74 -0
- package/dist/_chunks/LimitsModal-d438f513.mjs.map +1 -0
- package/dist/_chunks/ListPage-10bf0ce5.js +583 -0
- package/dist/_chunks/ListPage-10bf0ce5.js.map +1 -0
- package/dist/_chunks/ListPage-1de5fb9e.mjs +85 -0
- package/dist/_chunks/ListPage-1de5fb9e.mjs.map +1 -0
- package/dist/_chunks/ListPage-354a539f.js +85 -0
- package/dist/_chunks/ListPage-354a539f.js.map +1 -0
- package/dist/_chunks/ListPage-57f5028e.mjs +698 -0
- package/dist/_chunks/ListPage-57f5028e.mjs.map +1 -0
- package/dist/_chunks/ListPage-7304822d.js +719 -0
- package/dist/_chunks/ListPage-7304822d.js.map +1 -0
- package/dist/_chunks/ListPage-887f0f02.mjs +370 -0
- package/dist/_chunks/ListPage-887f0f02.mjs.map +1 -0
- package/dist/_chunks/ListPage-96026788.mjs +345 -0
- package/dist/_chunks/ListPage-96026788.mjs.map +1 -0
- package/dist/_chunks/ListPage-ac287db9.js +389 -0
- package/dist/_chunks/ListPage-ac287db9.js.map +1 -0
- package/dist/_chunks/ListPage-ba1aec01.js +366 -0
- package/dist/_chunks/ListPage-ba1aec01.js.map +1 -0
- package/dist/_chunks/ListPage-c878fda8.mjs +348 -0
- package/dist/_chunks/ListPage-c878fda8.mjs.map +1 -0
- package/dist/_chunks/ListPage-f256fcb7.mjs +580 -0
- package/dist/_chunks/ListPage-f256fcb7.mjs.map +1 -0
- package/dist/_chunks/ListPage-f582ff65.js +351 -0
- package/dist/_chunks/ListPage-f582ff65.js.map +1 -0
- package/dist/_chunks/ListView-1b370206.mjs +310 -0
- package/dist/_chunks/ListView-1b370206.mjs.map +1 -0
- package/dist/_chunks/ListView-1fb891a4.js +331 -0
- package/dist/_chunks/ListView-1fb891a4.js.map +1 -0
- package/dist/_chunks/ListView-96fe1016.js +292 -0
- package/dist/_chunks/ListView-96fe1016.js.map +1 -0
- package/dist/_chunks/ListView-bf4ccdba.mjs +271 -0
- package/dist/_chunks/ListView-bf4ccdba.mjs.map +1 -0
- package/dist/_chunks/Login-09040dec.js +103 -0
- package/dist/_chunks/Login-09040dec.js.map +1 -0
- package/dist/_chunks/Login-6670c9b9.mjs +101 -0
- package/dist/_chunks/Login-6670c9b9.mjs.map +1 -0
- package/dist/_chunks/MagicLinkEE-6d9ed1b1.mjs +92 -0
- package/dist/_chunks/MagicLinkEE-6d9ed1b1.mjs.map +1 -0
- package/dist/_chunks/MagicLinkEE-79ab8b22.js +92 -0
- package/dist/_chunks/MagicLinkEE-79ab8b22.js.map +1 -0
- package/dist/_chunks/MarketplacePage-54a925f9.mjs +1046 -0
- package/dist/_chunks/MarketplacePage-54a925f9.mjs.map +1 -0
- package/dist/_chunks/MarketplacePage-ec91b073.js +1070 -0
- package/dist/_chunks/MarketplacePage-ec91b073.js.map +1 -0
- package/dist/_chunks/ModalForm-7057f0f5.mjs +28 -0
- package/dist/_chunks/ModalForm-7057f0f5.mjs.map +1 -0
- package/dist/_chunks/ModalForm-715b963e.js +28 -0
- package/dist/_chunks/ModalForm-715b963e.js.map +1 -0
- package/dist/_chunks/ProfilePage-091a4db8.mjs +676 -0
- package/dist/_chunks/ProfilePage-091a4db8.mjs.map +1 -0
- package/dist/_chunks/ProfilePage-a28fc7c8.js +699 -0
- package/dist/_chunks/ProfilePage-a28fc7c8.js.map +1 -0
- package/dist/_chunks/PurchaseAuditLogs-a9c1457c.js +48 -0
- package/dist/_chunks/PurchaseAuditLogs-a9c1457c.js.map +1 -0
- package/dist/_chunks/PurchaseAuditLogs-e50bb68e.mjs +48 -0
- package/dist/_chunks/PurchaseAuditLogs-e50bb68e.mjs.map +1 -0
- package/dist/_chunks/PurchaseReviewWorkflows-72d34d9b.mjs +51 -0
- package/dist/_chunks/PurchaseReviewWorkflows-72d34d9b.mjs.map +1 -0
- package/dist/_chunks/PurchaseReviewWorkflows-afa3d8ae.js +51 -0
- package/dist/_chunks/PurchaseReviewWorkflows-afa3d8ae.js.map +1 -0
- package/dist/_chunks/PurchaseSingleSignOn-70c10e60.mjs +51 -0
- package/dist/_chunks/PurchaseSingleSignOn-70c10e60.mjs.map +1 -0
- package/dist/_chunks/PurchaseSingleSignOn-b84a4ad2.js +51 -0
- package/dist/_chunks/PurchaseSingleSignOn-b84a4ad2.js.map +1 -0
- package/dist/_chunks/ReviewWorkflowsColumn-5a3ca279.mjs +99 -0
- package/dist/_chunks/ReviewWorkflowsColumn-5a3ca279.mjs.map +1 -0
- package/dist/_chunks/ReviewWorkflowsColumn-b2d53622.js +99 -0
- package/dist/_chunks/ReviewWorkflowsColumn-b2d53622.js.map +1 -0
- package/dist/_chunks/SelectRoles-b55e6376.js +115 -0
- package/dist/_chunks/SelectRoles-b55e6376.js.map +1 -0
- package/dist/_chunks/SelectRoles-f0565968.mjs +114 -0
- package/dist/_chunks/SelectRoles-f0565968.mjs.map +1 -0
- package/dist/_chunks/SettingsPage-7567e138.mjs +1074 -0
- package/dist/_chunks/SettingsPage-7567e138.mjs.map +1 -0
- package/dist/_chunks/SettingsPage-b5d5dd0b.js +1097 -0
- package/dist/_chunks/SettingsPage-b5d5dd0b.js.map +1 -0
- package/dist/_chunks/SingleSignOnPage-4d1d2448.mjs +325 -0
- package/dist/_chunks/SingleSignOnPage-4d1d2448.mjs.map +1 -0
- package/dist/_chunks/SingleSignOnPage-51dfde4b.js +344 -0
- package/dist/_chunks/SingleSignOnPage-51dfde4b.js.map +1 -0
- package/dist/_chunks/Table-3f09118e.mjs +206 -0
- package/dist/_chunks/Table-3f09118e.mjs.map +1 -0
- package/dist/_chunks/Table-69c2c269.js +226 -0
- package/dist/_chunks/Table-69c2c269.js.map +1 -0
- package/dist/_chunks/TokenTypeSelect-3e46ae6e.mjs +374 -0
- package/dist/_chunks/TokenTypeSelect-3e46ae6e.mjs.map +1 -0
- package/dist/_chunks/TokenTypeSelect-c75581af.js +392 -0
- package/dist/_chunks/TokenTypeSelect-c75581af.js.map +1 -0
- package/dist/_chunks/build-5bfa2e99.js +68 -0
- package/dist/_chunks/build-5bfa2e99.js.map +1 -0
- package/dist/_chunks/build-81e67209.mjs +68 -0
- package/dist/_chunks/build-81e67209.mjs.map +1 -0
- package/dist/_chunks/colors-bda951e9.mjs +34 -0
- package/dist/_chunks/colors-bda951e9.mjs.map +1 -0
- package/dist/_chunks/colors-c17c9c3c.js +33 -0
- package/dist/_chunks/colors-c17c9c3c.js.map +1 -0
- package/dist/_chunks/constants-28fd3788.js +134 -0
- package/dist/_chunks/constants-28fd3788.js.map +1 -0
- package/dist/_chunks/constants-2a8f4e41.mjs.map +1 -1
- package/dist/_chunks/constants-2ccf2787.mjs +119 -0
- package/dist/_chunks/constants-2ccf2787.mjs.map +1 -0
- package/dist/_chunks/constants-40ffa931.js.map +1 -1
- package/dist/_chunks/constants-54043280.js +121 -0
- package/dist/_chunks/constants-54043280.js.map +1 -0
- package/dist/_chunks/constants-74ce2d53.js +242 -0
- package/dist/_chunks/constants-74ce2d53.js.map +1 -0
- package/dist/_chunks/constants-8092eeb5.mjs.map +1 -1
- package/dist/_chunks/constants-81c376c5.mjs +242 -0
- package/dist/_chunks/constants-81c376c5.mjs.map +1 -0
- package/dist/_chunks/constants-85da8cc4.js.map +1 -1
- package/dist/_chunks/constants-a5b1e9d4.js +52 -0
- package/dist/_chunks/constants-a5b1e9d4.js.map +1 -0
- package/dist/_chunks/constants-a92ce583.mjs.map +1 -1
- package/dist/_chunks/constants-b156a1b6.mjs +52 -0
- package/dist/_chunks/constants-b156a1b6.mjs.map +1 -0
- package/dist/_chunks/constants-d3dd8ed6.mjs.map +1 -1
- package/dist/_chunks/constants-d5d67ca8.js.map +1 -1
- package/dist/_chunks/constants-da2542a3.js.map +1 -1
- package/dist/_chunks/constants-e1d0f820.mjs +113 -0
- package/dist/_chunks/constants-e1d0f820.mjs.map +1 -0
- package/dist/_chunks/develop-ab3daae0.js +61 -0
- package/dist/_chunks/develop-ab3daae0.js.map +1 -0
- package/dist/_chunks/develop-b194ba9b.mjs +61 -0
- package/dist/_chunks/develop-b194ba9b.mjs.map +1 -0
- package/dist/_chunks/en-390fd1f1.mjs +1029 -0
- package/dist/_chunks/en-390fd1f1.mjs.map +1 -0
- package/dist/_chunks/en-f40febb9.js +1029 -0
- package/dist/_chunks/en-f40febb9.js.map +1 -0
- package/dist/_chunks/index-3956d072.js +18416 -0
- package/dist/_chunks/index-3956d072.js.map +1 -0
- package/dist/_chunks/index-3bbbb14c.mjs +18337 -0
- package/dist/_chunks/index-3bbbb14c.mjs.map +1 -0
- package/dist/_chunks/index-dfdaf309.mjs +1265 -0
- package/dist/_chunks/index-dfdaf309.mjs.map +1 -0
- package/dist/_chunks/index-ea5b8bc5.js +1336 -0
- package/dist/_chunks/index-ea5b8bc5.js.map +1 -0
- package/dist/_chunks/useAdminRolePermissions-9f9361e7.mjs +2036 -0
- package/dist/_chunks/useAdminRolePermissions-9f9361e7.mjs.map +1 -0
- package/dist/_chunks/useAdminRolePermissions-c97323e2.js +2065 -0
- package/dist/_chunks/useAdminRolePermissions-c97323e2.js.map +1 -0
- package/dist/_chunks/useAdminRoles-485a39e5.js +65 -0
- package/dist/_chunks/useAdminRoles-485a39e5.js.map +1 -0
- package/dist/_chunks/useAdminRoles-501e111a.mjs +47 -0
- package/dist/_chunks/useAdminRoles-501e111a.mjs.map +1 -0
- package/dist/_chunks/useLicenseLimitNotification-92085192.js +100 -0
- package/dist/_chunks/useLicenseLimitNotification-92085192.js.map +1 -0
- package/dist/_chunks/useLicenseLimitNotification-b59fb6f9.mjs +80 -0
- package/dist/_chunks/useLicenseLimitNotification-b59fb6f9.mjs.map +1 -0
- package/dist/_chunks/useLicenseLimits-497c0f5f.mjs +34 -0
- package/dist/_chunks/useLicenseLimits-497c0f5f.mjs.map +1 -0
- package/dist/_chunks/useLicenseLimits-e60a01b1.js +52 -0
- package/dist/_chunks/useLicenseLimits-e60a01b1.js.map +1 -0
- package/dist/_chunks/useReviewWorkflows-26f7e558.js +71 -0
- package/dist/_chunks/useReviewWorkflows-26f7e558.js.map +1 -0
- package/dist/_chunks/useReviewWorkflows-3e0bcb69.mjs +53 -0
- package/dist/_chunks/useReviewWorkflows-3e0bcb69.mjs.map +1 -0
- package/dist/_chunks/validateWorkflow-5208ca73.mjs +1055 -0
- package/dist/_chunks/validateWorkflow-5208ca73.mjs.map +1 -0
- package/dist/_chunks/validateWorkflow-f6947b4c.js +1078 -0
- package/dist/_chunks/validateWorkflow-f6947b4c.js.map +1 -0
- package/dist/_chunks/validation-2e4cec2b.mjs +16 -0
- package/dist/_chunks/validation-2e4cec2b.mjs.map +1 -0
- package/dist/_chunks/validation-fabd21cc.js +34 -0
- package/dist/_chunks/validation-fabd21cc.js.map +1 -0
- package/dist/admin/index.js +43 -4
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +45 -6
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/src/App.d.ts +7 -1
- package/dist/admin/src/StrapiApp.d.ts +5 -5
- package/dist/admin/src/components/DragLayer.d.ts +4 -1
- package/dist/admin/src/components/InjectionZone.d.ts +59 -0
- package/dist/admin/src/components/LanguageProvider.d.ts +3 -14
- package/dist/admin/src/components/Providers.d.ts +3 -5
- package/dist/admin/src/components/Theme.d.ts +7 -1
- package/dist/admin/src/constants.d.ts +1 -4
- package/dist/admin/src/content-manager/components/BlocksInput/Blocks/Code.d.ts +3 -0
- package/dist/admin/src/content-manager/components/BlocksInput/Blocks/Heading.d.ts +3 -0
- package/dist/admin/src/content-manager/components/BlocksInput/Blocks/Image.d.ts +3 -0
- package/dist/admin/src/content-manager/components/BlocksInput/Blocks/Link.d.ts +3 -0
- package/dist/admin/src/content-manager/components/BlocksInput/Blocks/List.d.ts +3 -0
- package/dist/admin/src/content-manager/components/BlocksInput/Blocks/Paragraph.d.ts +3 -0
- package/dist/admin/src/content-manager/components/BlocksInput/Blocks/Quote.d.ts +3 -0
- package/dist/admin/src/content-manager/components/BlocksInput/BlocksEditor.d.ts +36 -2
- package/dist/admin/src/content-manager/components/BlocksInput/BlocksInput.d.ts +2 -2
- package/dist/admin/src/content-manager/components/BlocksInput/BlocksToolbar.d.ts +9 -1
- package/dist/admin/src/content-manager/components/BlocksInput/EditorLayout.d.ts +10 -0
- package/dist/admin/src/content-manager/components/BlocksInput/Modifiers.d.ts +16 -0
- package/dist/admin/src/content-manager/components/BlocksInput/plugins/withImages.d.ts +11 -0
- package/dist/admin/src/content-manager/components/BlocksInput/plugins/withLinks.d.ts +1 -0
- package/dist/admin/src/content-manager/components/BlocksInput/utils/conversions.d.ts +13 -0
- package/dist/admin/src/content-manager/components/BlocksInput/utils/enterKey.d.ts +6 -0
- package/dist/admin/src/content-manager/components/BlocksInput/utils/types.d.ts +7 -3
- package/dist/admin/src/content-manager/components/ComponentIcon.d.ts +8 -0
- package/dist/admin/src/content-manager/components/ComponentInitializer.d.ts +10 -0
- package/dist/admin/src/content-manager/components/ContentTypeFormWrapper.d.ts +32 -0
- package/dist/admin/src/content-manager/components/DragPreviews/CardDragPreview.d.ts +7 -0
- package/dist/admin/src/content-manager/components/DragPreviews/ComponentDragPreview.d.ts +6 -0
- package/dist/admin/src/content-manager/components/DragPreviews/RelationDragPreview.d.ts +9 -0
- package/dist/admin/src/content-manager/components/DynamicZone/AddComponentButton.d.ts +11 -0
- package/dist/admin/src/content-manager/components/DynamicZone/ComponentCard.d.ts +9 -0
- package/dist/admin/src/content-manager/components/DynamicZone/ComponentCategory.d.ts +17 -0
- package/dist/admin/src/content-manager/components/DynamicZone/ComponentPicker.d.ts +9 -0
- package/dist/admin/src/content-manager/components/DynamicZone/DynamicComponent.d.ts +15 -0
- package/dist/admin/src/content-manager/components/DynamicZone/DynamicZoneLabel.d.ts +13 -0
- package/dist/admin/src/content-manager/components/DynamicZone/Field.d.ts +32 -0
- package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/Provider.d.ts +18 -0
- package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.d.ts +150 -0
- package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.d.ts +6 -0
- package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findAllAndReplace.d.ts +33 -0
- package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/utils/getAPIInnerError.d.ts +6 -0
- package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/utils/moveFields.d.ts +2 -0
- package/dist/admin/src/content-manager/components/FieldComponent.d.ts +16 -0
- package/dist/admin/src/content-manager/components/FieldTypeIcon.d.ts +32 -0
- package/dist/admin/src/content-manager/components/Hint.d.ts +9 -0
- package/dist/admin/src/content-manager/components/InputUID.d.ts +16 -0
- package/dist/admin/src/content-manager/components/Inputs.d.ts +11 -0
- package/dist/admin/src/content-manager/components/LeftMenu.d.ts +2 -0
- package/dist/admin/src/content-manager/components/NonRepeatableComponent.d.ts +9 -0
- package/dist/admin/src/content-manager/components/Relations/RelationInput.d.ts +62 -0
- package/dist/admin/src/content-manager/components/Relations/RelationInputDataManager.d.ts +26 -0
- package/dist/admin/src/content-manager/components/Relations/useRelation.d.ts +31 -0
- package/dist/admin/src/content-manager/components/Relations/utils/diffRelations.d.ts +2 -0
- package/dist/admin/src/content-manager/components/Relations/utils/getRelationLink.d.ts +2 -0
- package/dist/admin/src/content-manager/components/Relations/utils/normalizeRelations.d.ts +13 -0
- package/dist/admin/src/content-manager/components/Relations/utils/normalizeSearchResults.d.ts +149 -0
- package/dist/admin/src/content-manager/components/RepeatableComponent.d.ts +14 -0
- package/dist/admin/src/content-manager/components/Wysiwyg/Editor.d.ts +28 -0
- package/dist/admin/src/content-manager/components/Wysiwyg/EditorLayout.d.ts +59 -0
- package/dist/admin/src/content-manager/components/Wysiwyg/Field.d.ts +14 -0
- package/dist/admin/src/content-manager/components/Wysiwyg/PreviewWysiwyg.d.ts +5 -0
- package/dist/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.d.ts +7 -0
- package/dist/admin/src/content-manager/components/Wysiwyg/WysiwygNav.d.ts +17 -0
- package/dist/admin/src/content-manager/components/Wysiwyg/WysiwygStyles.d.ts +54 -0
- package/dist/admin/src/content-manager/components/Wysiwyg/utils/continueList.d.ts +5 -0
- package/dist/admin/src/content-manager/components/Wysiwyg/utils/mdRenderer.d.ts +3 -0
- package/dist/admin/src/content-manager/components/Wysiwyg/utils/utils.d.ts +16 -0
- package/dist/admin/src/content-manager/constants/attributes.d.ts +2 -0
- package/dist/admin/src/content-manager/contexts/models.d.ts +5 -0
- package/dist/admin/src/content-manager/hooks/useContentManagerInitData.d.ts +29 -0
- package/dist/admin/src/content-manager/hooks/useContentTypeLayout.d.ts +6 -0
- package/dist/admin/src/content-manager/hooks/useDragAndDrop.d.ts +48 -0
- package/dist/admin/src/content-manager/hooks/useFindRedirectionLink.d.ts +2 -0
- package/dist/admin/src/content-manager/hooks/useKeyboardDragAndDrop.d.ts +14 -0
- package/dist/admin/src/content-manager/hooks/useLayouts.d.ts +10 -0
- package/dist/admin/src/content-manager/hooks/useLazyComponents.d.ts +13 -0
- package/dist/admin/src/content-manager/hooks/usePrev.d.ts +1 -0
- package/dist/admin/src/content-manager/hooks/useSyncRbac.d.ts +28 -0
- package/dist/admin/src/content-manager/pages/App.d.ts +47 -0
- package/dist/admin/src/content-manager/pages/CollectionTypePages.d.ts +12 -0
- package/dist/admin/src/content-manager/pages/ComponentSettingsView.d.ts +2 -0
- package/dist/admin/src/content-manager/pages/EditView/EditViewPage.d.ts +18 -0
- package/dist/admin/src/content-manager/pages/EditView/components/DeleteLink.d.ts +6 -0
- package/dist/admin/src/content-manager/pages/EditView/components/DraftAndPublishBadge.d.ts +2 -0
- package/dist/admin/src/content-manager/pages/EditView/components/Header.d.ts +7 -0
- package/dist/admin/src/content-manager/pages/EditView/components/Information.d.ts +10 -0
- package/dist/admin/src/content-manager/pages/EditView/components/InformationBoxCE.d.ts +2 -0
- package/dist/admin/src/content-manager/pages/EditViewLayoutManager.d.ts +26 -0
- package/dist/admin/src/content-manager/pages/ListView/ListViewPage.d.ts +25 -0
- package/dist/admin/src/content-manager/pages/ListView/components/AdminUsersFilter.d.ts +6 -0
- package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/Buttons.d.ts +27 -0
- package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +15 -0
- package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/SelectedEntriesModal.d.ts +30 -0
- package/dist/admin/src/content-manager/pages/ListView/components/DialogConfirmDelete.d.ts +9 -0
- package/dist/admin/src/content-manager/pages/ListView/components/Filter.d.ts +7 -0
- package/dist/admin/src/content-manager/pages/ListView/components/InjectionZoneList.d.ts +7 -0
- package/dist/admin/src/content-manager/pages/ListView/components/Table.d.ts +28 -0
- package/dist/admin/src/content-manager/pages/ListView/components/TableCells/CellContent.d.ts +11 -0
- package/dist/admin/src/content-manager/pages/ListView/components/TableCells/CellValue.d.ts +8 -0
- package/dist/admin/src/content-manager/pages/ListView/components/TableCells/Components.d.ts +12 -0
- package/dist/admin/src/content-manager/pages/ListView/components/TableCells/Media.d.ts +23 -0
- package/dist/admin/src/content-manager/pages/ListView/components/TableCells/Relations.d.ts +12 -0
- package/dist/admin/src/content-manager/pages/ListView/components/ViewSettingsMenu.d.ts +6 -0
- package/dist/admin/src/content-manager/pages/ListView/hooks/useAllowedAttributes.d.ts +3 -0
- package/dist/admin/src/content-manager/pages/ListViewLayoutManager.d.ts +75 -0
- package/dist/admin/src/content-manager/pages/NoContentTypePage.d.ts +2 -0
- package/dist/admin/src/content-manager/pages/NoPermissionsPage.d.ts +2 -0
- package/dist/admin/src/content-manager/sharedReducers/crud/actions.d.ts +63 -0
- package/dist/admin/src/content-manager/sharedReducers/crud/constants.d.ts +8 -0
- package/dist/admin/src/content-manager/sharedReducers/crud/reducer.d.ts +24 -0
- package/dist/admin/src/content-manager/utils/api.d.ts +14 -0
- package/dist/admin/src/content-manager/utils/arrayMoveItem.d.ts +2 -0
- package/dist/admin/src/content-manager/utils/attributes.d.ts +3 -0
- package/dist/admin/src/content-manager/utils/data.d.ts +5 -0
- package/dist/admin/src/content-manager/utils/dragAndDrop.d.ts +8 -0
- package/dist/admin/src/content-manager/utils/fields.d.ts +6 -0
- package/dist/admin/src/content-manager/utils/layouts.d.ts +96 -0
- package/dist/admin/src/content-manager/utils/paths.d.ts +7 -0
- package/dist/admin/src/content-manager/utils/permissions.d.ts +8 -0
- package/dist/admin/src/content-manager/utils/refs.d.ts +8 -0
- package/dist/admin/src/content-manager/utils/schemas.d.ts +22 -0
- package/dist/admin/src/content-manager/utils/translations.d.ts +2 -0
- package/dist/admin/src/content-manager/utils/users.d.ts +7 -0
- package/dist/admin/src/content-manager/utils/validation.d.ts +21 -0
- package/dist/admin/src/core/apis/CustomFields.d.ts +4 -4
- package/dist/admin/src/core/store/configure.d.ts +21 -16
- package/dist/admin/src/core/store/hooks.d.ts +18 -18
- package/dist/admin/src/core/utils/createHook.d.ts +3 -2
- package/dist/admin/src/features/Configuration.d.ts +54 -0
- package/dist/admin/src/hooks/useAdminRoles.d.ts +4 -3
- package/dist/admin/src/hooks/useAdminUsers.d.ts +6 -9
- package/dist/admin/src/hooks/useEnterprise.d.ts +1 -1
- package/dist/admin/src/hooks/useInjectionZone.d.ts +6 -0
- package/dist/admin/src/hooks/useOnce.d.ts +2 -0
- package/dist/admin/src/hooks/useSettingsMenu.d.ts +9 -4
- package/dist/admin/src/index.d.ts +1 -0
- package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +2 -2
- package/dist/admin/src/pages/Settings/SettingsPage.d.ts +4 -0
- package/dist/admin/src/pages/Settings/components/Filters.d.ts +5 -0
- package/dist/admin/src/pages/Settings/components/SettingsNav.d.ts +7 -0
- package/dist/admin/src/pages/Settings/components/Tokens/FormHead.d.ts +19 -0
- package/dist/admin/src/pages/Settings/components/Tokens/LifeSpanInput.d.ts +17 -0
- package/dist/admin/src/pages/Settings/components/Tokens/Table.d.ts +27 -0
- package/dist/admin/src/pages/Settings/components/Tokens/TokenBox.d.ts +6 -0
- package/dist/admin/src/pages/Settings/components/Tokens/TokenDescription.d.ts +8 -0
- package/dist/admin/src/pages/Settings/components/Tokens/TokenName.d.ts +8 -0
- package/dist/admin/src/pages/Settings/components/Tokens/TokenTypeSelect.d.ts +14 -0
- package/dist/admin/src/pages/Settings/components/Tokens/constants.d.ts +2 -0
- package/dist/admin/src/pages/Settings/constants.d.ts +4 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/CreateView.d.ts +1 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.d.ts +2 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/apiTokenPermissions.d.ts +36 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/ActionBoundRoutes.d.ts +1 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.d.ts +10 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollabsableContentType.d.ts +11 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/ContentTypesSection.d.ts +6 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/FormApiTokenContainer.d.ts +20 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/LoadingView.d.ts +5 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/Permissions.d.ts +3 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/Regenerate.d.ts +6 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/constants.d.ts +17 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.d.ts +40 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/getDateOfExpiration.d.ts +1 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.d.ts +17 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/ListView.d.ts +2 -0
- package/dist/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.d.ts +2 -0
- package/dist/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.d.ts +14 -0
- package/dist/admin/src/pages/Settings/pages/ApplicationInfo/utils/constants.d.ts +3 -0
- package/dist/admin/src/pages/Settings/pages/ApplicationInfo/utils/files.d.ts +19 -0
- package/dist/admin/src/pages/Settings/pages/PurchaseAuditLogs.d.ts +2 -0
- package/dist/admin/src/pages/Settings/pages/PurchaseReviewWorkflows.d.ts +2 -0
- package/dist/admin/src/pages/Settings/pages/PurchaseSingleSignOn.d.ts +2 -0
- package/dist/admin/src/pages/Settings/pages/Roles/CreatePage.d.ts +7 -0
- package/dist/admin/src/pages/Settings/pages/Roles/EditPage.d.ts +8 -0
- package/dist/admin/src/pages/Settings/pages/Roles/ListPage.d.ts +3 -0
- package/dist/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.d.ts +52 -0
- package/dist/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.d.ts +35 -0
- package/dist/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.d.ts +12 -0
- package/dist/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.d.ts +32 -0
- package/dist/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.d.ts +35 -0
- package/dist/admin/src/pages/Settings/pages/Roles/components/ContentTypes.d.ts +8 -0
- package/dist/admin/src/pages/Settings/pages/Roles/components/GlobalActions.d.ts +10 -0
- package/dist/admin/src/pages/Settings/pages/Roles/components/HiddenAction.d.ts +2 -0
- package/dist/admin/src/pages/Settings/pages/Roles/components/Permissions.d.ts +54 -0
- package/dist/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.d.ts +18 -0
- package/dist/admin/src/pages/Settings/pages/Roles/components/RequiredSign.d.ts +2 -0
- package/dist/admin/src/pages/Settings/pages/Roles/components/RoleForm.d.ts +12 -0
- package/dist/admin/src/pages/Settings/pages/Roles/components/RoleRow.d.ts +10 -0
- package/dist/admin/src/pages/Settings/pages/Roles/components/RowLabelWithCheckbox.d.ts +17 -0
- package/dist/admin/src/pages/Settings/pages/Roles/hooks/useAdminRolePermissions.d.ts +13 -0
- package/dist/admin/src/pages/Settings/pages/Roles/hooks/usePermissionsDataManager.d.ts +29 -0
- package/dist/admin/src/pages/Settings/pages/Roles/utils/constants.d.ts +3 -0
- package/dist/admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.d.ts +3 -0
- package/dist/admin/src/pages/Settings/pages/Roles/utils/forms.d.ts +28 -0
- package/dist/admin/src/pages/Settings/pages/Roles/utils/getCheckboxState.d.ts +8 -0
- package/dist/admin/src/pages/Settings/pages/Roles/utils/layouts.d.ts +13 -0
- package/dist/admin/src/pages/Settings/pages/Roles/utils/permissions.d.ts +8 -0
- package/dist/admin/src/pages/Settings/pages/Roles/utils/removeConditionKeyFromData.d.ts +8 -0
- package/dist/admin/src/pages/Settings/pages/Roles/utils/updateConditionsToFalse.d.ts +5 -0
- package/dist/admin/src/pages/Settings/pages/Roles/utils/updateValues.d.ts +8 -0
- package/dist/admin/src/pages/Settings/pages/TransferTokens/CreateView.d.ts +1 -0
- package/dist/admin/src/pages/Settings/pages/TransferTokens/EditView.d.ts +7 -0
- package/dist/admin/src/pages/Settings/pages/TransferTokens/ListView.d.ts +3 -0
- package/dist/admin/src/pages/Settings/pages/Users/EditPage.d.ts +3 -0
- package/dist/admin/src/pages/Settings/pages/Users/ListPage.d.ts +22 -0
- package/dist/admin/src/pages/Settings/pages/Users/components/CreateActionCE.d.ts +6 -0
- package/dist/admin/src/pages/Settings/pages/Users/components/MagicLinkCE.d.ts +6 -0
- package/dist/admin/src/pages/Settings/pages/Users/components/MagicLinkWrapper.d.ts +7 -0
- package/dist/admin/src/pages/Settings/pages/Users/components/NewUserForm.d.ts +15 -0
- package/dist/admin/src/pages/Settings/pages/Users/components/SelectRoles.d.ts +8 -0
- package/dist/admin/src/pages/Settings/pages/Users/components/TableRows.d.ts +9 -0
- package/dist/admin/src/pages/Settings/pages/Users/utils/validation.d.ts +13 -0
- package/dist/admin/src/pages/Settings/pages/Webhooks/CreatePage.d.ts +3 -0
- package/dist/admin/src/pages/Settings/pages/Webhooks/EditPage.d.ts +3 -0
- package/dist/admin/src/pages/Settings/pages/Webhooks/ListPage.d.ts +3 -0
- package/dist/admin/src/pages/Settings/pages/Webhooks/components/Events.d.ts +32 -0
- package/dist/admin/src/pages/Settings/pages/Webhooks/components/EventsTable.d.ts +2 -0
- package/dist/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.d.ts +2 -0
- package/dist/admin/src/pages/Settings/pages/Webhooks/components/TriggerContainer.d.ts +13 -0
- package/dist/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.d.ts +22 -0
- package/dist/admin/src/pages/Settings/utils/forms.d.ts +3 -0
- package/dist/admin/src/reducer.d.ts +16 -18
- package/dist/admin/src/selectors.d.ts +18 -12
- package/dist/admin/src/types/form.d.ts +6 -0
- package/dist/admin/src/types/permissions.d.ts +17 -11
- package/dist/admin/src/utils/arrays.d.ts +23 -0
- package/dist/admin/src/utils/objects.d.ts +8 -0
- package/dist/admin/src/utils/strings.d.ts +2 -0
- package/dist/cli.js +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/ee/admin/src/constants.d.ts +8 -0
- package/dist/ee/admin/src/content-manager/pages/EditView/components/AssigneeSelect.d.ts +2 -0
- package/dist/ee/admin/src/content-manager/pages/EditView/components/InformationBoxEE.d.ts +2 -0
- package/dist/ee/admin/src/content-manager/pages/EditView/components/StageSelect.d.ts +1 -0
- package/dist/ee/admin/src/content-manager/pages/EditView/components/constants.d.ts +2 -0
- package/dist/ee/admin/src/content-manager/pages/ListSettingsView/constants.d.ts +7 -0
- package/dist/ee/admin/src/content-manager/pages/ListView/components/AssigneeFilter.d.ts +6 -0
- package/dist/ee/admin/src/content-manager/pages/ListView/components/ReviewWorkflowsAssigneeEE.d.ts +7 -0
- package/dist/ee/admin/src/content-manager/pages/ListView/components/ReviewWorkflowsColumn.d.ts +2 -0
- package/dist/ee/admin/src/content-manager/pages/ListView/components/ReviewWorkflowsStageEE.d.ts +7 -0
- package/dist/ee/admin/src/content-manager/pages/ListView/components/StageFilter.d.ts +7 -0
- package/dist/ee/admin/src/content-manager/pages/ListView/constants.d.ts +86 -0
- package/dist/ee/admin/src/hooks/useLicenseLimits.d.ts +20 -0
- package/dist/ee/admin/src/pages/SettingsPage/constants.d.ts +2 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.d.ts +1 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.d.ts +2 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.d.ts +11 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.d.ts +6 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/PaginationFooter.d.ts +6 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/TableRows.d.ts +32 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.d.ts +12 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.d.ts +1 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/tests/utils/data.d.ts +56 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.d.ts +31 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.d.ts +75 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/tableHeaders.d.ts +32 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/CreatePage.d.ts +1 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/EditPage.d.ts +1 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/ListPage.d.ts +2 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/actions.d.ts +86 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage.d.ts +8 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Layout.d.ts +16 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal.d.ts +15 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Stage.d.ts +10 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/StageDragPreview.d.ts +4 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Stages.d.ts +7 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/WorkflowAttributes.d.ts +4 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/constants.d.ts +20 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.d.ts +13 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflowsStages.d.ts +16 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/reducer.d.ts +38 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/selectors.d.ts +62 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/utils/colors.d.ts +8 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/utils/validateWorkflow.d.ts +5 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.d.ts +2 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/Users/ListPage.d.ts +1 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.d.ts +8 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.d.ts +2 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/Users/components/ModalForm.d.ts +15 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/Webhooks/components/EventsTable.d.ts +2 -0
- package/dist/ee/server/index.js +3866 -0
- package/dist/ee/server/index.js.map +1 -0
- package/dist/ee/server/index.mjs +3857 -0
- package/dist/ee/server/index.mjs.map +1 -0
- package/dist/server/index.js +5579 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/index.mjs +5562 -0
- package/dist/server/index.mjs.map +1 -0
- package/dist/server/src/bootstrap.d.ts +6 -0
- package/dist/server/src/bootstrap.d.ts.map +1 -0
- package/dist/server/src/config/admin-actions.d.ts +34 -0
- package/dist/server/src/config/admin-actions.d.ts.map +1 -0
- package/dist/server/src/config/admin-conditions.d.ts +47 -0
- package/dist/server/src/config/admin-conditions.d.ts.map +1 -0
- package/dist/server/src/config/email-templates/forgot-password.d.ts +7 -0
- package/dist/server/src/config/email-templates/forgot-password.d.ts.map +1 -0
- package/dist/server/src/config/index.d.ts +18 -0
- package/dist/server/src/config/index.d.ts.map +1 -0
- package/dist/server/src/config/settings.d.ts +8 -0
- package/dist/server/src/config/settings.d.ts.map +1 -0
- package/dist/server/src/content-types/Permission.d.ts +63 -0
- package/dist/server/src/content-types/Permission.d.ts.map +1 -0
- package/dist/server/src/content-types/Role.d.ts +58 -0
- package/dist/server/src/content-types/Role.d.ts.map +1 -0
- package/dist/server/src/content-types/User.d.ts +107 -0
- package/dist/server/src/content-types/User.d.ts.map +1 -0
- package/dist/server/src/content-types/api-token-permission.d.ts +36 -0
- package/dist/server/src/content-types/api-token-permission.d.ts.map +1 -0
- package/dist/server/src/content-types/api-token.d.ts +74 -0
- package/dist/server/src/content-types/api-token.d.ts.map +1 -0
- package/dist/server/src/content-types/index.d.ts +438 -0
- package/dist/server/src/content-types/index.d.ts.map +1 -0
- package/dist/server/src/content-types/transfer-token-permission.d.ts +36 -0
- package/dist/server/src/content-types/transfer-token-permission.d.ts.map +1 -0
- package/dist/server/src/content-types/transfer-token.d.ts +66 -0
- package/dist/server/src/content-types/transfer-token.d.ts.map +1 -0
- package/dist/server/src/controllers/admin.d.ts +55 -0
- package/dist/server/src/controllers/admin.d.ts.map +1 -0
- package/dist/server/src/controllers/api-token.d.ts +12 -0
- package/dist/server/src/controllers/api-token.d.ts.map +1 -0
- package/dist/server/src/controllers/authenticated-user.d.ts +8 -0
- package/dist/server/src/controllers/authenticated-user.d.ts.map +1 -0
- package/dist/server/src/controllers/authentication.d.ts +14 -0
- package/dist/server/src/controllers/authentication.d.ts.map +1 -0
- package/dist/server/src/controllers/content-api.d.ts +8 -0
- package/dist/server/src/controllers/content-api.d.ts.map +1 -0
- package/dist/server/src/controllers/formatters/conditions.d.ts +4 -0
- package/dist/server/src/controllers/formatters/conditions.d.ts.map +1 -0
- package/dist/server/src/controllers/formatters/format-actions-by-sections.d.ts +8 -0
- package/dist/server/src/controllers/formatters/format-actions-by-sections.d.ts.map +1 -0
- package/dist/server/src/controllers/formatters/index.d.ts +3 -0
- package/dist/server/src/controllers/formatters/index.d.ts.map +1 -0
- package/dist/server/src/controllers/index.d.ts +110 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -0
- package/dist/server/src/controllers/permission.d.ts +15 -0
- package/dist/server/src/controllers/permission.d.ts.map +1 -0
- package/dist/server/src/controllers/role.d.ts +45 -0
- package/dist/server/src/controllers/role.d.ts.map +1 -0
- package/dist/server/src/controllers/transfer/index.d.ts +5 -0
- package/dist/server/src/controllers/transfer/index.d.ts.map +1 -0
- package/dist/server/src/controllers/transfer/runner.d.ts +9 -0
- package/dist/server/src/controllers/transfer/runner.d.ts.map +1 -0
- package/dist/server/src/controllers/transfer/token.d.ts +11 -0
- package/dist/server/src/controllers/transfer/token.d.ts.map +1 -0
- package/dist/server/src/controllers/user.d.ts +15 -0
- package/dist/server/src/controllers/user.d.ts.map +1 -0
- package/dist/server/src/controllers/webhooks.d.ts +12 -0
- package/dist/server/src/controllers/webhooks.d.ts.map +1 -0
- package/dist/server/src/destroy.d.ts +3 -0
- package/dist/server/src/destroy.d.ts.map +1 -0
- package/dist/server/src/domain/action/index.d.ts +34 -0
- package/dist/server/src/domain/action/index.d.ts.map +1 -0
- package/dist/server/src/domain/action/provider.d.ts +40 -0
- package/dist/server/src/domain/action/provider.d.ts.map +1 -0
- package/dist/server/src/domain/condition/index.d.ts +54 -0
- package/dist/server/src/domain/condition/index.d.ts.map +1 -0
- package/dist/server/src/domain/condition/provider.d.ts +31 -0
- package/dist/server/src/domain/condition/provider.d.ts.map +1 -0
- package/dist/server/src/domain/permission/index.d.ts +71 -0
- package/dist/server/src/domain/permission/index.d.ts.map +1 -0
- package/dist/server/src/domain/user.d.ts +26 -0
- package/dist/server/src/domain/user.d.ts.map +1 -0
- package/dist/server/src/index.d.ts +11 -0
- package/dist/server/src/index.d.ts.map +1 -0
- package/dist/server/src/middlewares/data-transfer.d.ts +4 -0
- package/dist/server/src/middlewares/data-transfer.d.ts.map +1 -0
- package/dist/server/src/middlewares/index.d.ts +11 -0
- package/dist/server/src/middlewares/index.d.ts.map +1 -0
- package/dist/server/src/middlewares/rateLimit.d.ts +7 -0
- package/dist/server/src/middlewares/rateLimit.d.ts.map +1 -0
- package/dist/server/src/policies/hasPermissions.d.ts +7 -0
- package/dist/server/src/policies/hasPermissions.d.ts.map +1 -0
- package/dist/server/src/policies/index.d.ts +15 -0
- package/dist/server/src/policies/index.d.ts.map +1 -0
- package/dist/server/src/policies/isAuthenticatedAdmin.d.ts +3 -0
- package/dist/server/src/policies/isAuthenticatedAdmin.d.ts.map +1 -0
- package/dist/server/src/policies/isTelemetryEnabled.d.ts +11 -0
- package/dist/server/src/policies/isTelemetryEnabled.d.ts.map +1 -0
- package/dist/server/src/register.d.ts +6 -0
- package/dist/server/src/register.d.ts.map +1 -0
- package/dist/server/src/routes/admin.d.ts +24 -0
- package/dist/server/src/routes/admin.d.ts.map +1 -0
- package/dist/server/src/routes/api-tokens.d.ts +15 -0
- package/dist/server/src/routes/api-tokens.d.ts.map +1 -0
- package/dist/server/src/routes/authentication.d.ts +30 -0
- package/dist/server/src/routes/authentication.d.ts.map +1 -0
- package/dist/server/src/routes/content-api.d.ts +10 -0
- package/dist/server/src/routes/content-api.d.ts.map +1 -0
- package/dist/server/src/routes/index.d.ts +60 -0
- package/dist/server/src/routes/index.d.ts.map +1 -0
- package/dist/server/src/routes/permissions.d.ts +10 -0
- package/dist/server/src/routes/permissions.d.ts.map +1 -0
- package/dist/server/src/routes/roles.d.ts +15 -0
- package/dist/server/src/routes/roles.d.ts.map +1 -0
- package/dist/server/src/routes/serve-admin-panel.d.ts +6 -0
- package/dist/server/src/routes/serve-admin-panel.d.ts.map +1 -0
- package/dist/server/src/routes/transfer.d.ts +49 -0
- package/dist/server/src/routes/transfer.d.ts.map +1 -0
- package/dist/server/src/routes/users.d.ts +15 -0
- package/dist/server/src/routes/users.d.ts.map +1 -0
- package/dist/server/src/routes/webhooks.d.ts +15 -0
- package/dist/server/src/routes/webhooks.d.ts.map +1 -0
- package/dist/server/src/services/action.d.ts +10 -0
- package/dist/server/src/services/action.d.ts.map +1 -0
- package/dist/server/src/services/api-token.d.ts +48 -0
- package/dist/server/src/services/api-token.d.ts.map +1 -0
- package/dist/server/src/services/auth.d.ts +21 -0
- package/dist/server/src/services/auth.d.ts.map +1 -0
- package/dist/server/src/services/condition.d.ts +3 -0
- package/dist/server/src/services/condition.d.ts.map +1 -0
- package/dist/server/src/services/constants.d.ts +34 -0
- package/dist/server/src/services/constants.d.ts.map +1 -0
- package/dist/server/src/services/content-type.d.ts +29 -0
- package/dist/server/src/services/content-type.d.ts.map +1 -0
- package/dist/server/src/services/index.d.ts +111 -0
- package/dist/server/src/services/index.d.ts.map +1 -0
- package/dist/server/src/services/metrics.d.ts +8 -0
- package/dist/server/src/services/metrics.d.ts.map +1 -0
- package/dist/server/src/services/passport/local-strategy.d.ts +5 -0
- package/dist/server/src/services/passport/local-strategy.d.ts.map +1 -0
- package/dist/server/src/services/passport.d.ts +12 -0
- package/dist/server/src/services/passport.d.ts.map +1 -0
- package/dist/server/src/services/permission/engine.d.ts +20 -0
- package/dist/server/src/services/permission/engine.d.ts.map +1 -0
- package/dist/server/src/services/permission/permissions-manager/index.d.ts +17 -0
- package/dist/server/src/services/permission/permissions-manager/index.d.ts.map +1 -0
- package/dist/server/src/services/permission/permissions-manager/query-builders.d.ts +4 -0
- package/dist/server/src/services/permission/permissions-manager/query-builders.d.ts.map +1 -0
- package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts +7 -0
- package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts.map +1 -0
- package/dist/server/src/services/permission/permissions-manager/validate.d.ts +6 -0
- package/dist/server/src/services/permission/permissions-manager/validate.d.ts.map +1 -0
- package/dist/server/src/services/permission/queries.d.ts +43 -0
- package/dist/server/src/services/permission/queries.d.ts.map +1 -0
- package/dist/server/src/services/permission/sections-builder/builder.d.ts +38 -0
- package/dist/server/src/services/permission/sections-builder/builder.d.ts.map +1 -0
- package/dist/server/src/services/permission/sections-builder/handlers.d.ts +55 -0
- package/dist/server/src/services/permission/sections-builder/handlers.d.ts.map +1 -0
- package/dist/server/src/services/permission/sections-builder/index.d.ts +9 -0
- package/dist/server/src/services/permission/sections-builder/index.d.ts.map +1 -0
- package/dist/server/src/services/permission/sections-builder/section.d.ts +38 -0
- package/dist/server/src/services/permission/sections-builder/section.d.ts.map +1 -0
- package/dist/server/src/services/permission/sections-builder/utils.d.ts +13 -0
- package/dist/server/src/services/permission/sections-builder/utils.d.ts.map +1 -0
- package/dist/server/src/services/permission.d.ts +68 -0
- package/dist/server/src/services/permission.d.ts.map +1 -0
- package/dist/server/src/services/project-settings.d.ts +27 -0
- package/dist/server/src/services/project-settings.d.ts.map +1 -0
- package/dist/server/src/services/role.d.ts +41 -0
- package/dist/server/src/services/role.d.ts.map +1 -0
- package/dist/server/src/services/token.d.ts +44 -0
- package/dist/server/src/services/token.d.ts.map +1 -0
- package/dist/server/src/services/transfer/index.d.ts +5 -0
- package/dist/server/src/services/transfer/index.d.ts.map +1 -0
- package/dist/server/src/services/transfer/permission.d.ts +8 -0
- package/dist/server/src/services/transfer/permission.d.ts.map +1 -0
- package/dist/server/src/services/transfer/token.d.ts +59 -0
- package/dist/server/src/services/transfer/token.d.ts.map +1 -0
- package/dist/server/src/services/transfer/utils.d.ts +14 -0
- package/dist/server/src/services/transfer/utils.d.ts.map +1 -0
- package/dist/server/src/services/user.d.ts +32 -0
- package/dist/server/src/services/user.d.ts.map +1 -0
- package/dist/server/src/strategies/admin.d.ts +27 -0
- package/dist/server/src/strategies/admin.d.ts.map +1 -0
- package/dist/server/src/strategies/api-token.d.ts +61 -0
- package/dist/server/src/strategies/api-token.d.ts.map +1 -0
- package/dist/server/src/strategies/data-transfer.d.ts +53 -0
- package/dist/server/src/strategies/data-transfer.d.ts.map +1 -0
- package/dist/server/src/strategies/index.d.ts +18 -0
- package/dist/server/src/strategies/index.d.ts.map +1 -0
- package/dist/server/src/validation/action-provider.d.ts +6 -0
- package/dist/server/src/validation/action-provider.d.ts.map +1 -0
- package/dist/server/src/validation/api-tokens.d.ts +8 -0
- package/dist/server/src/validation/api-tokens.d.ts.map +1 -0
- package/dist/server/src/validation/authentication/forgot-password.d.ts +3 -0
- package/dist/server/src/validation/authentication/forgot-password.d.ts.map +1 -0
- package/dist/server/src/validation/authentication/index.d.ts +6 -0
- package/dist/server/src/validation/authentication/index.d.ts.map +1 -0
- package/dist/server/src/validation/authentication/register.d.ts +10 -0
- package/dist/server/src/validation/authentication/register.d.ts.map +1 -0
- package/dist/server/src/validation/authentication/renew-token.d.ts +3 -0
- package/dist/server/src/validation/authentication/renew-token.d.ts.map +1 -0
- package/dist/server/src/validation/authentication/reset-password.d.ts +3 -0
- package/dist/server/src/validation/authentication/reset-password.d.ts.map +1 -0
- package/dist/server/src/validation/common-functions/check-fields-are-correctly-nested.d.ts +3 -0
- package/dist/server/src/validation/common-functions/check-fields-are-correctly-nested.d.ts.map +1 -0
- package/dist/server/src/validation/common-functions/check-fields-dont-have-duplicates.d.ts +3 -0
- package/dist/server/src/validation/common-functions/check-fields-dont-have-duplicates.d.ts.map +1 -0
- package/dist/server/src/validation/common-functions/index.d.ts +4 -0
- package/dist/server/src/validation/common-functions/index.d.ts.map +1 -0
- package/dist/server/src/validation/common-validators.d.ts +61 -0
- package/dist/server/src/validation/common-validators.d.ts.map +1 -0
- package/dist/server/src/validation/permission.d.ts +10 -0
- package/dist/server/src/validation/permission.d.ts.map +1 -0
- package/dist/server/src/validation/policies/hasPermissions.d.ts +6 -0
- package/dist/server/src/validation/policies/hasPermissions.d.ts.map +1 -0
- package/dist/server/src/validation/project-settings.d.ts +10 -0
- package/dist/server/src/validation/project-settings.d.ts.map +1 -0
- package/dist/server/src/validation/role.d.ts +12 -0
- package/dist/server/src/validation/role.d.ts.map +1 -0
- package/dist/server/src/validation/transfer/index.d.ts +2 -0
- package/dist/server/src/validation/transfer/index.d.ts.map +1 -0
- package/dist/server/src/validation/transfer/token.d.ts +8 -0
- package/dist/server/src/validation/transfer/token.d.ts.map +1 -0
- package/dist/server/src/validation/user.d.ts +119 -0
- package/dist/server/src/validation/user.d.ts.map +1 -0
- package/dist/shared/contracts/admin.d.ts +161 -0
- package/dist/shared/contracts/admin.d.ts.map +1 -0
- package/dist/shared/contracts/api-token.d.ts +95 -0
- package/dist/shared/contracts/api-token.d.ts.map +1 -0
- package/dist/shared/contracts/audit-logs.d.ts +42 -0
- package/dist/shared/contracts/audit-logs.d.ts.map +1 -0
- package/dist/shared/contracts/authentication.d.ts +6 -2
- package/dist/shared/contracts/authentication.d.ts.map +1 -0
- package/dist/shared/contracts/content-api/permissions.d.ts +24 -0
- package/dist/shared/contracts/content-api/permissions.d.ts.map +1 -0
- package/dist/shared/contracts/content-api/routes.d.ts +28 -0
- package/dist/shared/contracts/content-api/routes.d.ts.map +1 -0
- package/dist/shared/contracts/content-api.d.ts +31 -0
- package/dist/shared/contracts/content-api.d.ts.map +1 -0
- package/dist/shared/contracts/permissions.d.ts +79 -0
- package/dist/shared/contracts/permissions.d.ts.map +1 -0
- package/dist/shared/contracts/providers.d.ts +1 -0
- package/dist/shared/contracts/providers.d.ts.map +1 -0
- package/dist/shared/contracts/review-workflows.d.ts +80 -0
- package/dist/shared/contracts/review-workflows.d.ts.map +1 -0
- package/dist/shared/contracts/roles.d.ts +91 -5
- package/dist/shared/contracts/roles.d.ts.map +1 -0
- package/dist/shared/contracts/shared.d.ts +24 -9
- package/dist/shared/contracts/shared.d.ts.map +1 -0
- package/dist/shared/contracts/transfer.d.ts +142 -0
- package/dist/shared/contracts/transfer.d.ts.map +1 -0
- package/dist/shared/contracts/user.d.ts +77 -8
- package/dist/shared/contracts/user.d.ts.map +1 -0
- package/dist/shared/contracts/users.d.ts +7 -2
- package/dist/shared/contracts/users.d.ts.map +1 -0
- package/dist/shared/contracts/webhooks.d.ts +111 -0
- package/dist/shared/contracts/webhooks.d.ts.map +1 -0
- package/dist/shared/schema.d.ts +1 -0
- package/dist/shared/schema.d.ts.map +1 -0
- package/index.d.ts +1 -1
- package/package.json +33 -21
- package/strapi-server.js +3 -3
- package/dist/_chunks/AuthenticatedApp-342bf22f.js +0 -1476
- package/dist/_chunks/AuthenticatedApp-342bf22f.js.map +0 -1
- package/dist/_chunks/AuthenticatedApp-bb31f306.mjs +0 -1450
- package/dist/_chunks/AuthenticatedApp-bb31f306.mjs.map +0 -1
- package/dist/_chunks/DragLayer-bff96835.mjs +0 -44
- package/dist/_chunks/DragLayer-bff96835.mjs.map +0 -1
- package/dist/_chunks/DragLayer-f07eee6c.js +0 -43
- package/dist/_chunks/DragLayer-f07eee6c.js.map +0 -1
- package/dist/_chunks/HomePage-0c7717c0.mjs +0 -49
- package/dist/_chunks/HomePage-0c7717c0.mjs.map +0 -1
- package/dist/_chunks/HomePage-175f79c7.js +0 -49
- package/dist/_chunks/HomePage-175f79c7.js.map +0 -1
- package/dist/_chunks/HomePage-246cc590.mjs +0 -542
- package/dist/_chunks/HomePage-246cc590.mjs.map +0 -1
- package/dist/_chunks/HomePage-6ff9e578.js +0 -563
- package/dist/_chunks/HomePage-6ff9e578.js.map +0 -1
- package/dist/_chunks/InstalledPluginsPage-170aff77.mjs +0 -134
- package/dist/_chunks/InstalledPluginsPage-170aff77.mjs.map +0 -1
- package/dist/_chunks/InstalledPluginsPage-3ae5dbb6.js +0 -153
- package/dist/_chunks/InstalledPluginsPage-3ae5dbb6.js.map +0 -1
- package/dist/_chunks/Layout-4b3e434a.js +0 -92
- package/dist/_chunks/Layout-4b3e434a.js.map +0 -1
- package/dist/_chunks/Layout-72fa2ace.mjs +0 -90
- package/dist/_chunks/Layout-72fa2ace.mjs.map +0 -1
- package/dist/_chunks/LimitsModal-203482b8.js +0 -84
- package/dist/_chunks/LimitsModal-203482b8.js.map +0 -1
- package/dist/_chunks/LimitsModal-da04700e.mjs +0 -82
- package/dist/_chunks/LimitsModal-da04700e.mjs.map +0 -1
- package/dist/_chunks/Login-576bbc11.js +0 -64
- package/dist/_chunks/Login-576bbc11.js.map +0 -1
- package/dist/_chunks/Login-d627bb0a.mjs +0 -62
- package/dist/_chunks/Login-d627bb0a.mjs.map +0 -1
- package/dist/_chunks/MarketplacePage-1cbfa8fd.mjs +0 -1011
- package/dist/_chunks/MarketplacePage-1cbfa8fd.mjs.map +0 -1
- package/dist/_chunks/MarketplacePage-e7cd973b.js +0 -1035
- package/dist/_chunks/MarketplacePage-e7cd973b.js.map +0 -1
- package/dist/_chunks/ProfilePage-52844daa.js +0 -665
- package/dist/_chunks/ProfilePage-52844daa.js.map +0 -1
- package/dist/_chunks/ProfilePage-ef400907.mjs +0 -642
- package/dist/_chunks/ProfilePage-ef400907.mjs.map +0 -1
- package/dist/_chunks/SalesPage-4a0a68fb.js +0 -51
- package/dist/_chunks/SalesPage-4a0a68fb.js.map +0 -1
- package/dist/_chunks/SalesPage-56bf9463.mjs +0 -48
- package/dist/_chunks/SalesPage-56bf9463.mjs.map +0 -1
- package/dist/_chunks/SalesPage-66f9ea32.js +0 -51
- package/dist/_chunks/SalesPage-66f9ea32.js.map +0 -1
- package/dist/_chunks/SalesPage-d0cdc1a7.js +0 -48
- package/dist/_chunks/SalesPage-d0cdc1a7.js.map +0 -1
- package/dist/_chunks/SalesPage-f9597ae7.mjs +0 -51
- package/dist/_chunks/SalesPage-f9597ae7.mjs.map +0 -1
- package/dist/_chunks/SalesPage-fceedf48.mjs +0 -51
- package/dist/_chunks/SalesPage-fceedf48.mjs.map +0 -1
- package/dist/_chunks/build-1026ce7c.mjs +0 -68
- package/dist/_chunks/build-1026ce7c.mjs.map +0 -1
- package/dist/_chunks/build-d99bcc06.js +0 -68
- package/dist/_chunks/build-d99bcc06.js.map +0 -1
- package/dist/_chunks/colors-c24a54f0.js +0 -33
- package/dist/_chunks/colors-c24a54f0.js.map +0 -1
- package/dist/_chunks/colors-e7489dd4.mjs +0 -34
- package/dist/_chunks/colors-e7489dd4.mjs.map +0 -1
- package/dist/_chunks/constants-4aca55b6.js +0 -85
- package/dist/_chunks/constants-4aca55b6.js.map +0 -1
- package/dist/_chunks/constants-64899732.js +0 -30
- package/dist/_chunks/constants-64899732.js.map +0 -1
- package/dist/_chunks/constants-6c68e9a0.js +0 -229
- package/dist/_chunks/constants-6c68e9a0.js.map +0 -1
- package/dist/_chunks/constants-6ecddc43.mjs +0 -111
- package/dist/_chunks/constants-6ecddc43.mjs.map +0 -1
- package/dist/_chunks/constants-74b8a935.mjs +0 -52
- package/dist/_chunks/constants-74b8a935.mjs.map +0 -1
- package/dist/_chunks/constants-7596f6f3.js +0 -132
- package/dist/_chunks/constants-7596f6f3.js.map +0 -1
- package/dist/_chunks/constants-a6fd64fc.mjs +0 -80
- package/dist/_chunks/constants-a6fd64fc.mjs.map +0 -1
- package/dist/_chunks/constants-ae0b83df.mjs +0 -227
- package/dist/_chunks/constants-ae0b83df.mjs.map +0 -1
- package/dist/_chunks/constants-c1f1f698.mjs +0 -85
- package/dist/_chunks/constants-c1f1f698.mjs.map +0 -1
- package/dist/_chunks/constants-ddd2d586.js +0 -82
- package/dist/_chunks/constants-ddd2d586.js.map +0 -1
- package/dist/_chunks/constants-def33545.mjs +0 -30
- package/dist/_chunks/constants-def33545.mjs.map +0 -1
- package/dist/_chunks/constants-e05f06d4.js +0 -52
- package/dist/_chunks/constants-e05f06d4.js.map +0 -1
- package/dist/_chunks/develop-72394876.mjs +0 -61
- package/dist/_chunks/develop-72394876.mjs.map +0 -1
- package/dist/_chunks/develop-da585b1e.js +0 -61
- package/dist/_chunks/develop-da585b1e.js.map +0 -1
- package/dist/_chunks/edit-29bdf5d6.js +0 -50
- package/dist/_chunks/edit-29bdf5d6.js.map +0 -1
- package/dist/_chunks/edit-923cefa0.mjs +0 -32
- package/dist/_chunks/edit-923cefa0.mjs.map +0 -1
- package/dist/_chunks/en-0e9e9327.js +0 -1022
- package/dist/_chunks/en-0e9e9327.js.map +0 -1
- package/dist/_chunks/en-e728accb.mjs +0 -1022
- package/dist/_chunks/en-e728accb.mjs.map +0 -1
- package/dist/_chunks/index-10a05917.mjs +0 -51
- package/dist/_chunks/index-10a05917.mjs.map +0 -1
- package/dist/_chunks/index-115d317b.mjs +0 -244
- package/dist/_chunks/index-115d317b.mjs.map +0 -1
- package/dist/_chunks/index-171715e4.js +0 -697
- package/dist/_chunks/index-171715e4.js.map +0 -1
- package/dist/_chunks/index-176cc121.mjs +0 -469
- package/dist/_chunks/index-176cc121.mjs.map +0 -1
- package/dist/_chunks/index-1bac5263.js +0 -338
- package/dist/_chunks/index-1bac5263.js.map +0 -1
- package/dist/_chunks/index-200c5a6a.js +0 -51
- package/dist/_chunks/index-200c5a6a.js.map +0 -1
- package/dist/_chunks/index-215b5421.mjs +0 -51
- package/dist/_chunks/index-215b5421.mjs.map +0 -1
- package/dist/_chunks/index-23401c29.js +0 -418
- package/dist/_chunks/index-23401c29.js.map +0 -1
- package/dist/_chunks/index-242c859c.js +0 -335
- package/dist/_chunks/index-242c859c.js.map +0 -1
- package/dist/_chunks/index-26fcb3ca.mjs +0 -1432
- package/dist/_chunks/index-26fcb3ca.mjs.map +0 -1
- package/dist/_chunks/index-28dd9303.mjs +0 -51
- package/dist/_chunks/index-28dd9303.mjs.map +0 -1
- package/dist/_chunks/index-296c14bf.mjs +0 -362
- package/dist/_chunks/index-296c14bf.mjs.map +0 -1
- package/dist/_chunks/index-2de06c32.js +0 -51
- package/dist/_chunks/index-2de06c32.js.map +0 -1
- package/dist/_chunks/index-2eb69b5d.mjs +0 -399
- package/dist/_chunks/index-2eb69b5d.mjs.map +0 -1
- package/dist/_chunks/index-2f61e3ae.js +0 -585
- package/dist/_chunks/index-2f61e3ae.js.map +0 -1
- package/dist/_chunks/index-308b73ba.mjs +0 -60
- package/dist/_chunks/index-308b73ba.mjs.map +0 -1
- package/dist/_chunks/index-34e41e15.js +0 -134
- package/dist/_chunks/index-34e41e15.js.map +0 -1
- package/dist/_chunks/index-38115cde.js +0 -66
- package/dist/_chunks/index-38115cde.js.map +0 -1
- package/dist/_chunks/index-383efae4.mjs +0 -55
- package/dist/_chunks/index-383efae4.mjs.map +0 -1
- package/dist/_chunks/index-3b426575.js +0 -47
- package/dist/_chunks/index-3b426575.js.map +0 -1
- package/dist/_chunks/index-47af1603.js +0 -253
- package/dist/_chunks/index-47af1603.js.map +0 -1
- package/dist/_chunks/index-49b7e6ff.mjs +0 -1266
- package/dist/_chunks/index-49b7e6ff.mjs.map +0 -1
- package/dist/_chunks/index-4d9b2cb9.js +0 -47
- package/dist/_chunks/index-4d9b2cb9.js.map +0 -1
- package/dist/_chunks/index-4de70b5d.js +0 -3404
- package/dist/_chunks/index-4de70b5d.js.map +0 -1
- package/dist/_chunks/index-59b1f604.js +0 -380
- package/dist/_chunks/index-59b1f604.js.map +0 -1
- package/dist/_chunks/index-5a5217e0.mjs +0 -308
- package/dist/_chunks/index-5a5217e0.mjs.map +0 -1
- package/dist/_chunks/index-5da07c41.js +0 -418
- package/dist/_chunks/index-5da07c41.js.map +0 -1
- package/dist/_chunks/index-600cb5dd.js +0 -51
- package/dist/_chunks/index-600cb5dd.js.map +0 -1
- package/dist/_chunks/index-608d8d10.mjs +0 -393
- package/dist/_chunks/index-608d8d10.mjs.map +0 -1
- package/dist/_chunks/index-74812118.mjs +0 -53
- package/dist/_chunks/index-74812118.mjs.map +0 -1
- package/dist/_chunks/index-7d578921.js +0 -847
- package/dist/_chunks/index-7d578921.js.map +0 -1
- package/dist/_chunks/index-8109fa91.mjs +0 -676
- package/dist/_chunks/index-8109fa91.mjs.map +0 -1
- package/dist/_chunks/index-82c7a120.js +0 -15401
- package/dist/_chunks/index-82c7a120.js.map +0 -1
- package/dist/_chunks/index-83d53962.js +0 -62
- package/dist/_chunks/index-83d53962.js.map +0 -1
- package/dist/_chunks/index-88298941.js +0 -54
- package/dist/_chunks/index-88298941.js.map +0 -1
- package/dist/_chunks/index-8933483b.mjs +0 -3374
- package/dist/_chunks/index-8933483b.mjs.map +0 -1
- package/dist/_chunks/index-91df57b1.mjs +0 -826
- package/dist/_chunks/index-91df57b1.mjs.map +0 -1
- package/dist/_chunks/index-973c363e.mjs +0 -63
- package/dist/_chunks/index-973c363e.mjs.map +0 -1
- package/dist/_chunks/index-989bbeec.mjs +0 -232
- package/dist/_chunks/index-989bbeec.mjs.map +0 -1
- package/dist/_chunks/index-9910dda4.js +0 -55
- package/dist/_chunks/index-9910dda4.js.map +0 -1
- package/dist/_chunks/index-9afb163a.js +0 -418
- package/dist/_chunks/index-9afb163a.js.map +0 -1
- package/dist/_chunks/index-9f61bef8.js +0 -51
- package/dist/_chunks/index-9f61bef8.js.map +0 -1
- package/dist/_chunks/index-ab31623a.mjs +0 -273
- package/dist/_chunks/index-ab31623a.mjs.map +0 -1
- package/dist/_chunks/index-ac85118a.mjs +0 -47
- package/dist/_chunks/index-ac85118a.mjs.map +0 -1
- package/dist/_chunks/index-ad8e55c0.mjs +0 -866
- package/dist/_chunks/index-ad8e55c0.mjs.map +0 -1
- package/dist/_chunks/index-aedeaf5a.js +0 -311
- package/dist/_chunks/index-aedeaf5a.js.map +0 -1
- package/dist/_chunks/index-bbac142a.js +0 -125
- package/dist/_chunks/index-bbac142a.js.map +0 -1
- package/dist/_chunks/index-bd18f803.mjs +0 -15320
- package/dist/_chunks/index-bd18f803.mjs.map +0 -1
- package/dist/_chunks/index-c8b8a2ee.mjs +0 -359
- package/dist/_chunks/index-c8b8a2ee.mjs.map +0 -1
- package/dist/_chunks/index-c97f5820.js +0 -1456
- package/dist/_chunks/index-c97f5820.js.map +0 -1
- package/dist/_chunks/index-cb6a72d2.mjs +0 -127
- package/dist/_chunks/index-cb6a72d2.mjs.map +0 -1
- package/dist/_chunks/index-cbc7c054.js +0 -266
- package/dist/_chunks/index-cbc7c054.js.map +0 -1
- package/dist/_chunks/index-ce5995cd.mjs +0 -132
- package/dist/_chunks/index-ce5995cd.mjs.map +0 -1
- package/dist/_chunks/index-d1152896.js +0 -294
- package/dist/_chunks/index-d1152896.js.map +0 -1
- package/dist/_chunks/index-d1dd825b.js +0 -365
- package/dist/_chunks/index-d1dd825b.js.map +0 -1
- package/dist/_chunks/index-d2d9df41.mjs +0 -270
- package/dist/_chunks/index-d2d9df41.mjs.map +0 -1
- package/dist/_chunks/index-d3e1fd86.js +0 -490
- package/dist/_chunks/index-d3e1fd86.js.map +0 -1
- package/dist/_chunks/index-d4517ac4.mjs +0 -582
- package/dist/_chunks/index-d4517ac4.mjs.map +0 -1
- package/dist/_chunks/index-d49fa655.js +0 -873
- package/dist/_chunks/index-d49fa655.js.map +0 -1
- package/dist/_chunks/index-d6694cab.mjs +0 -125
- package/dist/_chunks/index-d6694cab.mjs.map +0 -1
- package/dist/_chunks/index-e117c643.mjs +0 -55
- package/dist/_chunks/index-e117c643.mjs.map +0 -1
- package/dist/_chunks/index-e1b90981.mjs +0 -314
- package/dist/_chunks/index-e1b90981.mjs.map +0 -1
- package/dist/_chunks/index-e24df0bf.js +0 -403
- package/dist/_chunks/index-e24df0bf.js.map +0 -1
- package/dist/_chunks/index-e2d2f58e.mjs +0 -47
- package/dist/_chunks/index-e2d2f58e.mjs.map +0 -1
- package/dist/_chunks/index-e369d741.mjs +0 -383
- package/dist/_chunks/index-e369d741.mjs.map +0 -1
- package/dist/_chunks/index-e79b2b9e.mjs +0 -338
- package/dist/_chunks/index-e79b2b9e.mjs.map +0 -1
- package/dist/_chunks/index-ea18ff22.mjs +0 -51
- package/dist/_chunks/index-ea18ff22.mjs.map +0 -1
- package/dist/_chunks/index-eb67694f.mjs +0 -261
- package/dist/_chunks/index-eb67694f.mjs.map +0 -1
- package/dist/_chunks/index-ed3696ec.js +0 -272
- package/dist/_chunks/index-ed3696ec.js.map +0 -1
- package/dist/_chunks/index-ee1ea38b.js +0 -129
- package/dist/_chunks/index-ee1ea38b.js.map +0 -1
- package/dist/_chunks/index-efc967f5.js +0 -55
- package/dist/_chunks/index-efc967f5.js.map +0 -1
- package/dist/_chunks/index-fc700e52.js +0 -263
- package/dist/_chunks/index-fc700e52.js.map +0 -1
- package/dist/_chunks/index-fd4e5616.mjs +0 -412
- package/dist/_chunks/index-fd4e5616.mjs.map +0 -1
- package/dist/_chunks/index-ffd2f664.js +0 -1337
- package/dist/_chunks/index-ffd2f664.js.map +0 -1
- package/dist/_chunks/schema-260fec28.js +0 -514
- package/dist/_chunks/schema-260fec28.js.map +0 -1
- package/dist/_chunks/schema-6bd8bd85.mjs +0 -490
- package/dist/_chunks/schema-6bd8bd85.mjs.map +0 -1
- package/dist/_chunks/useAdminRolePermissions-603a2709.mjs +0 -2322
- package/dist/_chunks/useAdminRolePermissions-603a2709.mjs.map +0 -1
- package/dist/_chunks/useAdminRolePermissions-cb1a3ee2.js +0 -2337
- package/dist/_chunks/useAdminRolePermissions-cb1a3ee2.js.map +0 -1
- package/dist/_chunks/useAdminRoles-68d5d608.js +0 -62
- package/dist/_chunks/useAdminRoles-68d5d608.js.map +0 -1
- package/dist/_chunks/useAdminRoles-7ab5d521.mjs +0 -44
- package/dist/_chunks/useAdminRoles-7ab5d521.mjs.map +0 -1
- package/dist/_chunks/useAdminUsers-05d6b26a.js +0 -61
- package/dist/_chunks/useAdminUsers-05d6b26a.js.map +0 -1
- package/dist/_chunks/useAdminUsers-09f86a58.mjs +0 -43
- package/dist/_chunks/useAdminUsers-09f86a58.mjs.map +0 -1
- package/dist/_chunks/useDebounce-4712871e.js +0 -35
- package/dist/_chunks/useDebounce-4712871e.js.map +0 -1
- package/dist/_chunks/useDebounce-9364f340.mjs +0 -17
- package/dist/_chunks/useDebounce-9364f340.mjs.map +0 -1
- package/dist/_chunks/useLicenseLimitNotification-1fd756fa.mjs +0 -80
- package/dist/_chunks/useLicenseLimitNotification-1fd756fa.mjs.map +0 -1
- package/dist/_chunks/useLicenseLimitNotification-8a4d7fc1.js +0 -100
- package/dist/_chunks/useLicenseLimitNotification-8a4d7fc1.js.map +0 -1
- package/dist/_chunks/useLicenseLimits-13a102d3.mjs +0 -31
- package/dist/_chunks/useLicenseLimits-13a102d3.mjs.map +0 -1
- package/dist/_chunks/useLicenseLimits-81ef3cce.js +0 -49
- package/dist/_chunks/useLicenseLimits-81ef3cce.js.map +0 -1
- package/dist/_chunks/useReviewWorkflows-799e0305.js +0 -59
- package/dist/_chunks/useReviewWorkflows-799e0305.js.map +0 -1
- package/dist/_chunks/useReviewWorkflows-9e6b8986.mjs +0 -41
- package/dist/_chunks/useReviewWorkflows-9e6b8986.mjs.map +0 -1
- package/dist/_chunks/validateWorkflow-5693ea2d.js +0 -1124
- package/dist/_chunks/validateWorkflow-5693ea2d.js.map +0 -1
- package/dist/_chunks/validateWorkflow-7a2b6ab8.mjs +0 -1101
- package/dist/_chunks/validateWorkflow-7a2b6ab8.mjs.map +0 -1
- package/dist/admin/src/components/ConfigurationProvider.d.ts +0 -11
- package/dist/admin/src/components/ThemeToggleProvider.d.ts +0 -12
- package/dist/admin/src/content-manager/components/BlocksInput/hooks/useBlocksStore.d.ts +0 -32
- package/dist/admin/src/content-manager/components/BlocksInput/hooks/useModifiersStore.d.ts +0 -20
- package/dist/admin/src/content-manager/components/BlocksInput/tests/mock-schema.d.ts +0 -2
- package/dist/admin/src/contexts/admin.d.ts +0 -14
- package/dist/admin/src/contexts/apiTokenPermissions.d.ts +0 -36
- package/dist/admin/src/contexts/configuration.d.ts +0 -27
- package/dist/admin/src/contexts/themeToggle.d.ts +0 -22
- package/dist/admin/src/hooks/__mocks__/useAdminUsers.d.ts +0 -2
- package/dist/admin/src/hooks/__mocks__/useContentTypes.d.ts +0 -2
- package/dist/admin/src/hooks/__mocks__/useSettingsMenu.d.ts +0 -2
- package/dist/admin/src/pages/Marketplace/hooks/__mocks__/useNavigatorOnline.d.ts +0 -1
- package/dist/admin/src/pages/SettingsPage/pages/Roles/EditPage/hooks/usePermissionsDataManager.d.ts +0 -24
- package/dist/admin/src/pages/SettingsPage/pages/Roles/hooks/__mocks__/useAdminRolePermissions.d.ts +0 -2
- package/dist/admin/src/pages/SettingsPage/pages/Roles/hooks/useAdminRolePermissions.d.ts +0 -11
- package/dist/admin/src/pages/SettingsPage/utils/makeUniqueRoutes.d.ts +0 -6
- package/dist/admin/src/shared/components/InjectionZone.d.ts +0 -53
- package/dist/admin/src/shared/hooks/__mocks__/useInjectionZone.d.ts +0 -1
- package/dist/admin/src/shared/hooks/useInjectionZone.d.ts +0 -2
- package/ee/server/bootstrap.js +0 -41
- package/ee/server/config/admin-actions.js +0 -72
- package/ee/server/constants/default-stages.json +0 -18
- package/ee/server/constants/default-workflow.json +0 -3
- package/ee/server/constants/webhookEvents.js +0 -5
- package/ee/server/constants/workflows.js +0 -33
- package/ee/server/content-types/index.js +0 -9
- package/ee/server/content-types/workflow/index.js +0 -41
- package/ee/server/content-types/workflow-stage/index.js +0 -51
- package/ee/server/controllers/__tests__/stages.test.js +0 -174
- package/ee/server/controllers/admin.js +0 -50
- package/ee/server/controllers/audit-logs.js +0 -24
- package/ee/server/controllers/authentication/constants.js +0 -11
- package/ee/server/controllers/authentication/index.js +0 -11
- package/ee/server/controllers/authentication/middlewares.js +0 -117
- package/ee/server/controllers/authentication/utils.js +0 -23
- package/ee/server/controllers/authentication.js +0 -64
- package/ee/server/controllers/index.js +0 -12
- package/ee/server/controllers/role.js +0 -64
- package/ee/server/controllers/user.js +0 -110
- package/ee/server/controllers/workflows/assignees/index.js +0 -44
- package/ee/server/controllers/workflows/index.js +0 -188
- package/ee/server/controllers/workflows/stages/index.js +0 -189
- package/ee/server/destroy.js +0 -12
- package/ee/server/index.js +0 -11
- package/ee/server/middlewares/__tests__/review-workflows.test.js +0 -40
- package/ee/server/middlewares/review-workflows.js +0 -40
- package/ee/server/migrations/audit-logs-table.js +0 -45
- package/ee/server/migrations/review-workflows-content-types.js +0 -29
- package/ee/server/migrations/review-workflows-deleted-ct-in-workflows.js +0 -39
- package/ee/server/migrations/review-workflows-stage-attribute.js +0 -49
- package/ee/server/migrations/review-workflows-stages-color.js +0 -20
- package/ee/server/migrations/review-workflows-stages-roles.js +0 -68
- package/ee/server/migrations/review-workflows-workflow-name.js +0 -28
- package/ee/server/register.js +0 -40
- package/ee/server/routes/audit-logs.js +0 -43
- package/ee/server/routes/index.js +0 -8
- package/ee/server/routes/license-limit.js +0 -29
- package/ee/server/routes/review-workflows.js +0 -164
- package/ee/server/routes/sso.js +0 -69
- package/ee/server/routes/utils.js +0 -15
- package/ee/server/services/__tests__/assignees.test.js +0 -76
- package/ee/server/services/__tests__/audit-logs.test.js +0 -300
- package/ee/server/services/__tests__/passport.test.js +0 -95
- package/ee/server/services/__tests__/review-workflows-validation.test.js +0 -100
- package/ee/server/services/__tests__/review-workflows.test.js +0 -163
- package/ee/server/services/__tests__/sso.test.js +0 -117
- package/ee/server/services/__tests__/stages.test.js +0 -275
- package/ee/server/services/__tests__/workflows.test.js +0 -203
- package/ee/server/services/audit-logs.js +0 -236
- package/ee/server/services/auth.js +0 -75
- package/ee/server/services/index.js +0 -18
- package/ee/server/services/passport/provider-registry.js +0 -27
- package/ee/server/services/passport/sso.js +0 -37
- package/ee/server/services/passport.js +0 -46
- package/ee/server/services/review-workflows/__tests__/entity-service-decorator.test.js +0 -211
- package/ee/server/services/review-workflows/assignees.js +0 -54
- package/ee/server/services/review-workflows/entity-service-decorator.js +0 -101
- package/ee/server/services/review-workflows/metrics/__tests__/weekly-metrics.test.js +0 -65
- package/ee/server/services/review-workflows/metrics/index.js +0 -56
- package/ee/server/services/review-workflows/metrics/weekly-metrics.js +0 -76
- package/ee/server/services/review-workflows/review-workflows.js +0 -133
- package/ee/server/services/review-workflows/stage-permissions.js +0 -60
- package/ee/server/services/review-workflows/stages.js +0 -384
- package/ee/server/services/review-workflows/validation.js +0 -68
- package/ee/server/services/review-workflows/workflows/__tests__/content-types.test.js +0 -146
- package/ee/server/services/review-workflows/workflows/content-types.js +0 -89
- package/ee/server/services/review-workflows/workflows/index.js +0 -237
- package/ee/server/services/role.js +0 -24
- package/ee/server/services/seat-enforcement.js +0 -114
- package/ee/server/services/user.js +0 -234
- package/ee/server/utils/__tests__/persisted-tables.test.js +0 -38
- package/ee/server/utils/__tests__/sso-lock.test.js +0 -84
- package/ee/server/utils/index.js +0 -8
- package/ee/server/utils/persisted-tables.js +0 -139
- package/ee/server/utils/review-workflows.js +0 -39
- package/ee/server/utils/sso-lock.js +0 -42
- package/ee/server/validation/audit-logs.js +0 -18
- package/ee/server/validation/authentication.js +0 -36
- package/ee/server/validation/review-workflows.js +0 -92
- package/ee/server/validation/role.js +0 -68
- package/ee/server/validation/user.js +0 -27
- package/ee/strapi-server.js +0 -3
- package/server/bootstrap.js +0 -101
- package/server/config/admin-actions.js +0 -216
- package/server/config/admin-conditions.js +0 -26
- package/server/config/email-templates/forgot-password.js +0 -25
- package/server/config/index.js +0 -9
- package/server/config/settings.js +0 -9
- package/server/content-types/Permission.js +0 -64
- package/server/content-types/Role.js +0 -59
- package/server/content-types/User.js +0 -112
- package/server/content-types/api-token-permission.js +0 -36
- package/server/content-types/api-token.js +0 -76
- package/server/content-types/index.js +0 -11
- package/server/content-types/transfer-token-permission.js +0 -36
- package/server/content-types/transfer-token.js +0 -66
- package/server/controllers/__tests__/admin.test.js +0 -106
- package/server/controllers/__tests__/api-token.test.js +0 -496
- package/server/controllers/__tests__/content-api.test.js +0 -173
- package/server/controllers/__tests__/permission.test.js +0 -200
- package/server/controllers/__tests__/role.test.js +0 -201
- package/server/controllers/__tests__/transfer/token.test.js +0 -520
- package/server/controllers/__tests__/user.test.js +0 -326
- package/server/controllers/admin.js +0 -151
- package/server/controllers/api-token.js +0 -135
- package/server/controllers/authenticated-user.js +0 -52
- package/server/controllers/authentication.js +0 -172
- package/server/controllers/content-api.js +0 -15
- package/server/controllers/formatters/conditions.js +0 -12
- package/server/controllers/formatters/format-actions-by-sections.js +0 -40
- package/server/controllers/formatters/index.js +0 -9
- package/server/controllers/index.js +0 -14
- package/server/controllers/permission.js +0 -45
- package/server/controllers/role.js +0 -198
- package/server/controllers/transfer/index.js +0 -13
- package/server/controllers/transfer/runner.js +0 -28
- package/server/controllers/transfer/token.js +0 -131
- package/server/controllers/user.js +0 -141
- package/server/controllers/webhooks.js +0 -132
- package/server/destroy.js +0 -10
- package/server/domain/action/__tests__/action-domain.test.js +0 -230
- package/server/domain/action/__tests__/action-provider.test.js +0 -376
- package/server/domain/action/index.js +0 -142
- package/server/domain/action/provider.js +0 -83
- package/server/domain/condition/__tests__/condition-domain.test.js +0 -122
- package/server/domain/condition/__tests__/condition-provider.test.js +0 -156
- package/server/domain/condition/index.js +0 -92
- package/server/domain/condition/provider.js +0 -42
- package/server/domain/permission/__tests__/permission-domain.test.js +0 -285
- package/server/domain/permission/index.js +0 -156
- package/server/domain/user.js +0 -28
- package/server/index.js +0 -26
- package/server/middlewares/data-transfer.js +0 -29
- package/server/middlewares/index.js +0 -8
- package/server/middlewares/rateLimit.js +0 -47
- package/server/policies/hasPermissions.js +0 -38
- package/server/policies/index.js +0 -7
- package/server/policies/isAuthenticatedAdmin.js +0 -5
- package/server/policies/isTelemetryEnabled.js +0 -16
- package/server/register.js +0 -19
- package/server/routes/admin.js +0 -71
- package/server/routes/api-tokens.js +0 -70
- package/server/routes/authentication.js +0 -57
- package/server/routes/content-api.js +0 -20
- package/server/routes/index.js +0 -28
- package/server/routes/permissions.js +0 -20
- package/server/routes/roles.js +0 -107
- package/server/routes/serve-admin-panel.js +0 -71
- package/server/routes/transfer.js +0 -102
- package/server/routes/users.js +0 -88
- package/server/routes/webhooks.js +0 -81
- package/server/services/__tests__/action.test.js +0 -98
- package/server/services/__tests__/api-token.test.js +0 -980
- package/server/services/__tests__/auth.test.js +0 -319
- package/server/services/__tests__/content-type.test.js +0 -405
- package/server/services/__tests__/metrics.test.js +0 -65
- package/server/services/__tests__/passport.test.js +0 -90
- package/server/services/__tests__/permission.test.js +0 -177
- package/server/services/__tests__/permissions-manager-sanitize.test.js +0 -117
- package/server/services/__tests__/permissions-manager-validate.test.js +0 -119
- package/server/services/__tests__/permissions-manager.test.js +0 -318
- package/server/services/__tests__/permissions.section-builder.section.test.js +0 -136
- package/server/services/__tests__/project-settings.test.js +0 -397
- package/server/services/__tests__/role.test.js +0 -970
- package/server/services/__tests__/token.test.js +0 -217
- package/server/services/__tests__/transfer/token.test.js +0 -878
- package/server/services/__tests__/user.test.js +0 -786
- package/server/services/action.js +0 -35
- package/server/services/api-token.js +0 -453
- package/server/services/auth.js +0 -117
- package/server/services/condition.js +0 -14
- package/server/services/constants.js +0 -37
- package/server/services/content-type.js +0 -208
- package/server/services/index.js +0 -18
- package/server/services/metrics.js +0 -44
- package/server/services/passport/local-strategy.js +0 -28
- package/server/services/passport.js +0 -45
- package/server/services/permission/engine.js +0 -85
- package/server/services/permission/permissions-manager/index.js +0 -53
- package/server/services/permission/permissions-manager/query-builders.js +0 -72
- package/server/services/permission/permissions-manager/sanitize.js +0 -286
- package/server/services/permission/permissions-manager/validate.js +0 -218
- package/server/services/permission/queries.js +0 -190
- package/server/services/permission/sections-builder/builder.js +0 -84
- package/server/services/permission/sections-builder/handlers.js +0 -156
- package/server/services/permission/sections-builder/index.js +0 -50
- package/server/services/permission/sections-builder/section.js +0 -71
- package/server/services/permission/sections-builder/utils.js +0 -26
- package/server/services/permission.js +0 -33
- package/server/services/project-settings.js +0 -174
- package/server/services/role.js +0 -471
- package/server/services/token.js +0 -70
- package/server/services/transfer/index.js +0 -7
- package/server/services/transfer/permission.js +0 -22
- package/server/services/transfer/token.js +0 -449
- package/server/services/transfer/utils.js +0 -38
- package/server/services/user.js +0 -363
- package/server/strategies/__tests__/admin.test.js +0 -118
- package/server/strategies/__tests__/api-token.test.js +0 -364
- package/server/strategies/admin.js +0 -52
- package/server/strategies/api-token.js +0 -140
- package/server/strategies/data-transfer.js +0 -113
- package/server/strategies/index.js +0 -26
- package/server/utils/index.d.ts +0 -25
- package/server/utils/index.js +0 -9
- package/server/validation/__tests__/common-functions.test.js +0 -54
- package/server/validation/action-provider.js +0 -67
- package/server/validation/api-tokens.js +0 -32
- package/server/validation/authentication/forgot-password.js +0 -14
- package/server/validation/authentication/index.js +0 -19
- package/server/validation/authentication/register.js +0 -45
- package/server/validation/authentication/renew-token.js +0 -7
- package/server/validation/authentication/reset-password.js +0 -15
- package/server/validation/common-functions/check-fields-are-correctly-nested.js +0 -28
- package/server/validation/common-functions/check-fields-dont-have-duplicates.js +0 -17
- package/server/validation/common-functions/index.js +0 -9
- package/server/validation/common-validators.js +0 -209
- package/server/validation/permission.js +0 -53
- package/server/validation/policies/hasPermissions.js +0 -27
- package/server/validation/project-settings.js +0 -48
- package/server/validation/role.js +0 -59
- package/server/validation/transfer/index.js +0 -5
- package/server/validation/transfer/token.js +0 -42
- package/server/validation/user.js +0 -65
- /package/dist/admin/src/pages/{SettingsPage → Settings}/hooks/useRegenerate.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsPage-b5d5dd0b.js","sources":["../../admin/src/hooks/useSettingsMenu.ts","../../admin/src/pages/Settings/components/SettingsNav.tsx","../../admin/src/pages/Settings/constants.ts","../../admin/src/pages/Settings/pages/ApplicationInfo/utils/constants.ts","../../admin/src/pages/Settings/pages/ApplicationInfo/utils/files.ts","../../admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.tsx","../../admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.tsx","../../admin/src/pages/Settings/SettingsPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n hasPermissions,\n StrapiAppSetting,\n StrapiAppSettingLink as IStrapiAppSettingLink,\n useRBACProvider,\n useStrapiApp,\n useAppInfo,\n} from '@strapi/helper-plugin';\nimport sortBy from 'lodash/sortBy';\nimport { useSelector } from 'react-redux';\n\nimport { SETTINGS_LINKS_CE, SettingsMenuLink } from '../constants';\nimport { selectAdminPermissions } from '../selectors';\nimport { PermissionMap } from '../types/permissions';\n\nimport { useEnterprise } from './useEnterprise';\n\nconst formatLinks = (menu: SettingsMenuSection[]): SettingsMenuSectionWithDisplayedLinks[] =>\n menu.map((menuSection) => {\n const formattedLinks = menuSection.links.map((link) => ({\n ...link,\n isDisplayed: false,\n }));\n\n return { ...menuSection, links: formattedLinks };\n });\n\ninterface SettingsMenuLinkWithPermissions extends SettingsMenuLink {\n permissions: IStrapiAppSettingLink['permissions'];\n hasNotification?: boolean;\n}\n\ninterface StrapiAppSettingsLink extends IStrapiAppSettingLink {\n lockIcon?: never;\n hasNotification?: never;\n}\n\ninterface SettingsMenuSection extends Omit<StrapiAppSetting, 'links'> {\n links: Array<SettingsMenuLinkWithPermissions | StrapiAppSettingsLink>;\n}\n\ninterface SettingsMenuLinkWithPermissionsAndDisplayed extends SettingsMenuLinkWithPermissions {\n isDisplayed: boolean;\n}\n\ninterface StrapiAppSettingLinkWithDisplayed extends StrapiAppSettingsLink {\n isDisplayed: boolean;\n}\n\ninterface SettingsMenuSectionWithDisplayedLinks extends Omit<SettingsMenuSection, 'links'> {\n links: Array<SettingsMenuLinkWithPermissionsAndDisplayed | StrapiAppSettingLinkWithDisplayed>;\n}\n\ntype SettingsMenu = SettingsMenuSectionWithDisplayedLinks[];\n\nconst useSettingsMenu = (): {\n isLoading: boolean;\n menu: SettingsMenu;\n} => {\n const [{ isLoading, menu }, setData] = React.useState<{\n isLoading: boolean;\n menu: SettingsMenu;\n }>({\n isLoading: true,\n menu: [],\n });\n const { allPermissions: userPermissions } = useRBACProvider();\n const { shouldUpdateStrapi } = useAppInfo();\n const { settings } = useStrapiApp();\n const permissions = useSelector(selectAdminPermissions);\n\n /**\n * memoize the return value of this function to avoid re-computing it on every render\n * because it's used in an effect it ends up re-running recursively.\n */\n const ceLinks = React.useMemo(() => SETTINGS_LINKS_CE(), []);\n\n const { admin: adminLinks, global: globalLinks } = useEnterprise(\n ceLinks,\n async () => (await import('../../../ee/admin/src/constants')).SETTINGS_LINKS_EE(),\n {\n combine(ceLinks, eeLinks) {\n return {\n admin: [...eeLinks.admin, ...ceLinks.admin],\n global: [...ceLinks.global, ...eeLinks.global],\n };\n },\n defaultValue: {\n admin: [],\n global: [],\n },\n }\n );\n\n const addPermissions = React.useCallback(\n (link: SettingsMenuLink) => {\n if (!link.id) {\n throw new Error('The settings menu item must have an id attribute.');\n }\n\n return {\n ...link,\n permissions: permissions.settings?.[link.id as keyof PermissionMap['settings']]?.main ?? [],\n } satisfies SettingsMenuLinkWithPermissions;\n },\n [permissions.settings]\n );\n\n React.useEffect(() => {\n const getData = async () => {\n interface MenuLinkPermission {\n hasPermission: boolean;\n sectionIndex: number;\n linkIndex: number;\n }\n\n const buildMenuPermissions = (sections: SettingsMenuSectionWithDisplayedLinks[]) =>\n Promise.all(\n sections.reduce<Promise<MenuLinkPermission>[]>((acc, section, sectionIndex) => {\n const linksWithPermissions = section.links.map(async (link, linkIndex) => ({\n hasPermission: await hasPermissions(userPermissions, link.permissions),\n sectionIndex,\n linkIndex,\n }));\n\n return [...acc, ...linksWithPermissions];\n }, [])\n );\n\n const menuPermissions = await buildMenuPermissions(sections);\n\n setData((prev) => {\n return {\n ...prev,\n isLoading: false,\n menu: sections.map((section, sectionIndex) => ({\n ...section,\n links: section.links.map((link, linkIndex) => {\n const permission = menuPermissions.find(\n (permission) =>\n permission.sectionIndex === sectionIndex && permission.linkIndex === linkIndex\n );\n\n return {\n ...link,\n isDisplayed: Boolean(permission?.hasPermission),\n };\n }),\n })),\n };\n });\n };\n\n const { global, ...otherSections } = settings;\n const sections = formatLinks([\n {\n ...global,\n links: sortBy([...global.links, ...globalLinks.map(addPermissions)], (link) => link.id).map(\n (link) => ({\n ...link,\n hasNotification: link.id === '000-application-infos' && shouldUpdateStrapi,\n })\n ),\n },\n {\n id: 'permissions',\n intlLabel: { id: 'Settings.permissions', defaultMessage: 'Administration Panel' },\n links: adminLinks.map(addPermissions),\n },\n ...Object.values(otherSections),\n ]);\n\n getData();\n }, [adminLinks, globalLinks, userPermissions, settings, shouldUpdateStrapi, addPermissions]);\n\n return {\n isLoading,\n menu: menu.map((menuItem) => ({\n ...menuItem,\n links: menuItem.links.filter((link) => link.isDisplayed),\n })),\n };\n};\n\nexport { useSettingsMenu };\nexport type { SettingsMenu };\n","import { Icon } from '@strapi/design-system';\nimport {\n SubNav,\n SubNavHeader,\n SubNavLink,\n SubNavSection,\n SubNavSections,\n} from '@strapi/design-system/v2';\nimport { useTracking } from '@strapi/helper-plugin';\nimport { Lock } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { SettingsMenu } from '../../../hooks/useSettingsMenu';\n\n/**\n * TODO: refactor the SubNav entirely, we shouldn't have\n * to do this hack to work a lock at the end. It's a bit hacky.\n */\n\nconst CustomIcon = styled(Icon)`\n right: 15px;\n position: absolute;\n`;\n\ninterface SettingsNavProps {\n menu: SettingsMenu;\n}\n\nconst SettingsNav = ({ menu }: SettingsNavProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { pathname } = useLocation();\n\n const filteredMenu = menu.filter(\n (section) => !section.links.every((link) => link.isDisplayed === false)\n );\n\n const sections = filteredMenu.map((section) => {\n return {\n ...section,\n title: section.intlLabel,\n links: section.links.map((link) => {\n return {\n ...link,\n title: link.intlLabel,\n name: link.id,\n };\n }),\n };\n });\n\n const label = formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n });\n\n const handleClickOnLink = (destination: string) => () => {\n trackUsage('willNavigate', { from: pathname, to: destination });\n };\n\n return (\n <SubNav ariaLabel={label}>\n <SubNavHeader label={label} />\n <SubNavSections>\n {sections.map((section) => (\n <SubNavSection key={section.id} label={formatMessage(section.intlLabel)}>\n {section.links.map((link) => {\n return (\n <SubNavLink\n as={NavLink}\n withBullet={link.hasNotification}\n // @ts-expect-error – this is an issue with the DS where as props are not inferred\n to={link.to}\n onClick={handleClickOnLink(link.to)}\n key={link.id}\n >\n {formatMessage(link.intlLabel)}\n {link?.lockIcon && (\n <CustomIcon width={`${15 / 16}rem`} height={`${15 / 16}rem`} as={Lock} />\n )}\n </SubNavLink>\n );\n })}\n </SubNavSection>\n ))}\n </SubNavSections>\n </SubNav>\n );\n};\n\nexport { SettingsNav };\nexport type { SettingsNavProps };\n","import { MenuItem } from '@strapi/helper-plugin';\n\nexport interface Route\n extends Pick<MenuItem, 'exact' | 'to'>,\n Required<Pick<MenuItem, 'Component'>> {}\n\nexport const ROUTES_CE: Route[] = [\n {\n async Component() {\n const { ProtectedListPage } = await import('./pages/Roles/ListPage');\n\n return ProtectedListPage;\n },\n to: '/settings/roles',\n exact: true,\n },\n {\n async Component() {\n const { ProtectedCreatePage } = await import('./pages/Roles/CreatePage');\n\n return ProtectedCreatePage;\n },\n to: '/settings/roles/duplicate/:id',\n exact: true,\n },\n {\n async Component() {\n const { ProtectedCreatePage } = await import('./pages/Roles/CreatePage');\n\n return ProtectedCreatePage;\n },\n to: '/settings/roles/new',\n exact: true,\n },\n {\n async Component() {\n const { ProtectedEditPage } = await import('./pages/Roles/EditPage');\n\n return ProtectedEditPage;\n },\n to: '/settings/roles/:id',\n exact: true,\n },\n {\n async Component() {\n const { ProtectedListPage } = await import('./pages/Users/ListPage');\n\n return ProtectedListPage;\n },\n to: '/settings/users',\n exact: true,\n },\n {\n async Component() {\n const { ProtectedEditPage } = await import('./pages/Users/EditPage');\n\n return ProtectedEditPage;\n },\n to: '/settings/users/:id',\n exact: true,\n },\n {\n async Component() {\n const { ProtectedCreatePage } = await import('./pages/Webhooks/CreatePage');\n\n return ProtectedCreatePage;\n },\n to: '/settings/webhooks/create',\n exact: true,\n },\n {\n async Component() {\n const { ProtectedEditPage } = await import('./pages/Webhooks/EditPage');\n\n return ProtectedEditPage;\n },\n to: '/settings/webhooks/:id',\n exact: true,\n },\n {\n async Component() {\n const { ProtectedListPage } = await import('./pages/Webhooks/ListPage');\n\n return ProtectedListPage;\n },\n to: '/settings/webhooks',\n exact: true,\n },\n {\n async Component() {\n const { ProtectedListView } = await import('./pages/ApiTokens/ListView');\n\n return ProtectedListView;\n },\n to: '/settings/api-tokens',\n exact: true,\n },\n {\n async Component() {\n const { ProtectedCreateView } = await import('./pages/ApiTokens/CreateView');\n\n return ProtectedCreateView;\n },\n to: '/settings/api-tokens/create',\n exact: true,\n },\n {\n async Component() {\n const { ProtectedEditView } = await import('./pages/ApiTokens/EditView/EditViewPage');\n\n return ProtectedEditView;\n },\n to: '/settings/api-tokens/:id',\n exact: true,\n },\n {\n async Component() {\n const { ProtectedCreateView } = await import('./pages/TransferTokens/CreateView');\n\n return ProtectedCreateView;\n },\n to: '/settings/transfer-tokens/create',\n exact: true,\n },\n {\n async Component() {\n const { ProtectedListView } = await import('./pages/TransferTokens/ListView');\n\n return ProtectedListView;\n },\n to: '/settings/transfer-tokens',\n exact: true,\n },\n {\n async Component() {\n const { ProtectedEditView } = await import('./pages/TransferTokens/EditView');\n\n return ProtectedEditView;\n },\n to: '/settings/transfer-tokens/:id',\n exact: true,\n },\n {\n async Component() {\n const { PurchaseAuditLogs } = await import('./pages/PurchaseAuditLogs');\n\n return PurchaseAuditLogs;\n },\n to: '/settings/purchase-audit-logs',\n exact: true,\n },\n {\n async Component() {\n const { PurchaseReviewWorkflows } = await import('./pages/PurchaseReviewWorkflows');\n\n return PurchaseReviewWorkflows;\n },\n to: '/settings/purchase-review-workflows',\n exact: true,\n },\n {\n async Component() {\n const { PurchaseSingleSignOn } = await import('./pages/PurchaseSingleSignOn');\n\n return PurchaseSingleSignOn;\n },\n to: '/settings/purchase-single-sign-on',\n exact: true,\n },\n];\n","export const DIMENSION = 750;\nexport const SIZE = 100;\nexport const ACCEPTED_FORMAT = ['image/jpeg', 'image/png', 'image/svg+xml'];\n","import { ACCEPTED_FORMAT, DIMENSION, SIZE } from './constants';\n\nimport type { MessageDescriptor } from 'react-intl';\n\nconst FILE_FORMAT_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-format',\n defaultMessage: 'Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg).',\n};\n\nconst FILE_SIZING_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-size',\n defaultMessage:\n 'The file uploaded is too large (max dimension: {dimension}x{dimension}, max file size: {size}KB)',\n};\n\ninterface ImageDimensions {\n height: number;\n width: number;\n}\n\ninterface ImageAsset extends ImageDimensions {\n ext: string | undefined;\n size: number;\n name: string;\n url: string;\n rawFile: File;\n}\n\nconst parseFileMetadatas = async (file: File): Promise<ImageAsset> => {\n const isFormatAuthorized = ACCEPTED_FORMAT.includes(file.type);\n\n if (!isFormatAuthorized) {\n throw new ParsingFileError('File format', FILE_FORMAT_ERROR_MESSAGE);\n }\n\n const fileDimensions = await new Promise<ImageDimensions>((resolve) => {\n const reader = new FileReader();\n reader.onload = () => {\n const img = new Image();\n img.onload = () => {\n resolve({ width: img.width, height: img.height });\n };\n img.src = reader.result as string;\n };\n reader.readAsDataURL(file);\n });\n\n const areDimensionsAuthorized =\n fileDimensions.width <= DIMENSION && fileDimensions.height <= DIMENSION;\n\n if (!areDimensionsAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n const asset = {\n ext: file.name.split('.').pop(),\n size: file.size / 1000,\n name: file.name,\n url: URL.createObjectURL(file),\n rawFile: file,\n width: fileDimensions.width,\n height: fileDimensions.height,\n };\n\n const isSizeAuthorized = asset.size <= SIZE;\n\n if (!isSizeAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n return asset;\n};\n\nclass ParsingFileError extends Error {\n displayMessage: MessageDescriptor;\n\n constructor(message: string, displayMessage: MessageDescriptor, options?: ErrorOptions) {\n super(message, options);\n this.displayMessage = displayMessage;\n }\n}\n\nexport { parseFileMetadatas, ParsingFileError };\nexport type { ImageAsset };\n","import * as React from 'react';\n\nimport { createContext } from '@radix-ui/react-context';\nimport {\n Box,\n Button,\n ButtonProps,\n Card,\n CardAsset,\n CardBadge,\n CardBody,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n CarouselActions,\n CarouselInput,\n CarouselInputProps,\n CarouselSlide,\n Divider,\n Field,\n FieldError,\n FieldInput,\n Flex,\n Icon,\n IconButton,\n ModalFooter,\n ModalHeader,\n ModalLayout,\n Tab,\n TabGroup,\n TabPanel,\n TabPanels,\n Tabs,\n TextInput,\n TextInputProps,\n Typography,\n} from '@strapi/design-system';\nimport { pxToRem } from '@strapi/helper-plugin';\nimport { PicturePlus, Plus, Refresh } from '@strapi/icons';\nimport axios, { AxiosError } from 'axios';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { ConfigurationProviderProps } from '../../../../../features/Configuration';\nimport { ACCEPTED_FORMAT, DIMENSION, SIZE } from '../utils/constants';\nimport { ImageAsset, ParsingFileError, parseFileMetadatas } from '../utils/files';\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInputContext\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputContextValue {\n localImage: ImageAsset | undefined;\n goToStep: (step: Step) => void;\n onClose: () => void;\n setLocalImage: (asset: ImageAsset | undefined) => void;\n}\n\nconst [LogoInputContextProvider, useLogoInputContext] =\n createContext<LogoInputContextValue>('LogoInput');\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInput\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputProps\n extends Pick<PendingLogoDialogProps, 'onChangeLogo'>,\n Pick<CarouselInputProps, 'label' | 'hint'> {\n canUpdate: boolean;\n customLogo?: ConfigurationProviderProps['authLogo']['custom'];\n defaultLogo: string;\n}\n\ntype Step = 'pending' | 'upload' | undefined;\n\nconst LogoInput = ({\n canUpdate,\n customLogo,\n defaultLogo,\n hint,\n label,\n onChangeLogo,\n}: LogoInputProps) => {\n const [localImage, setLocalImage] = React.useState<ImageAsset | undefined>();\n const [currentStep, setCurrentStep] = React.useState<Step>();\n const { formatMessage } = useIntl();\n\n const handleClose = () => {\n setLocalImage(undefined);\n setCurrentStep(undefined);\n };\n\n return (\n <LogoInputContextProvider\n setLocalImage={setLocalImage}\n localImage={localImage}\n goToStep={setCurrentStep}\n onClose={handleClose}\n >\n <CarouselInput\n label={label}\n selectedSlide={0}\n hint={hint}\n // Carousel is used here for a single media,\n // we don't need previous and next labels but these props are required\n previousLabel=\"\"\n nextLabel=\"\"\n onNext={() => {}}\n onPrevious={() => {}}\n secondaryLabel={customLogo?.name || 'logo.png'}\n actions={\n <CarouselActions>\n <IconButton\n disabled={!canUpdate}\n onClick={() => setCurrentStep('upload')}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.change-action',\n defaultMessage: 'Change logo',\n })}\n icon={<Plus />}\n />\n {customLogo?.url && (\n <IconButton\n disabled={!canUpdate}\n onClick={() => onChangeLogo(null)}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.reset-action',\n defaultMessage: 'Reset logo',\n })}\n icon={<Refresh />}\n />\n )}\n </CarouselActions>\n }\n >\n <CarouselSlide\n label={formatMessage({\n id: 'Settings.application.customization.carousel-slide.label',\n defaultMessage: 'Logo slide',\n })}\n >\n <Box\n maxHeight=\"40%\"\n maxWidth=\"40%\"\n as=\"img\"\n src={customLogo?.url || defaultLogo}\n alt={formatMessage({\n id: 'Settings.application.customization.carousel.title',\n defaultMessage: 'Logo',\n })}\n />\n </CarouselSlide>\n </CarouselInput>\n {currentStep ? (\n <ModalLayout labelledBy=\"modal\" onClose={handleClose}>\n <ModalHeader>\n <Typography fontWeight=\"bold\" as=\"h2\" id=\"modal\">\n {formatMessage(\n currentStep === 'upload'\n ? {\n id: 'Settings.application.customization.modal.upload',\n defaultMessage: 'Upload logo',\n }\n : {\n id: 'Settings.application.customization.modal.pending',\n defaultMessage: 'Pending logo',\n }\n )}\n </Typography>\n </ModalHeader>\n {currentStep === 'upload' ? (\n <AddLogoDialog />\n ) : (\n <PendingLogoDialog onChangeLogo={onChangeLogo} />\n )}\n </ModalLayout>\n ) : null}\n </LogoInputContextProvider>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AddLogoDialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst AddLogoDialog = () => {\n const { formatMessage } = useIntl();\n\n return (\n <TabGroup\n label={formatMessage({\n id: 'Settings.application.customization.modal.tab.label',\n defaultMessage: 'How do you want to upload your assets?',\n })}\n variant=\"simple\"\n >\n <Box paddingLeft={8} paddingRight={8}>\n <Tabs>\n <Tab>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-computer',\n defaultMessage: 'From computer',\n })}\n </Tab>\n <Tab>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-url',\n defaultMessage: 'From url',\n })}\n </Tab>\n </Tabs>\n <Divider />\n </Box>\n <TabPanels>\n <TabPanel>\n <ComputerForm />\n </TabPanel>\n <TabPanel>\n <URLForm />\n </TabPanel>\n </TabPanels>\n </TabGroup>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * URLForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst URLForm = () => {\n const { formatMessage } = useIntl();\n const [logoUrl, setLogoUrl] = React.useState('');\n const [error, setError] = React.useState<string>();\n const { setLocalImage, goToStep, onClose } = useLogoInputContext('URLForm');\n\n const handleChange: TextInputProps['onChange'] = (e) => {\n setLogoUrl(e.target.value);\n };\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = async (event) => {\n event.preventDefault();\n\n const data = new FormData(event.target as HTMLFormElement);\n\n const url = data.get('logo-url');\n\n if (!url) {\n return;\n }\n\n try {\n const res = await axios.get(url.toString(), { responseType: 'blob', timeout: 8000 });\n\n const file = new File([res.data], res.config.url ?? '', {\n type: res.headers['content-type'],\n });\n\n const asset = await parseFileMetadatas(file);\n\n setLocalImage(asset);\n goToStep('pending');\n } catch (err) {\n if (err instanceof AxiosError) {\n setError(\n formatMessage({\n id: 'Settings.application.customization.modal.upload.error-network',\n defaultMessage: 'Network error',\n })\n );\n } else if (err instanceof ParsingFileError) {\n setError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n } else {\n throw err;\n }\n }\n };\n\n return (\n <form onSubmit={handleSubmit}>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <TextInput\n label={formatMessage({\n id: 'Settings.application.customization.modal.upload.from-url.input-label',\n defaultMessage: 'URL',\n })}\n error={error}\n onChange={handleChange}\n value={logoUrl}\n name=\"logo-url\"\n />\n </Box>\n <ModalFooter\n startActions={\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n }\n endActions={\n <Button type=\"submit\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.next',\n defaultMessage: 'Next',\n })}\n </Button>\n }\n />\n </form>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ComputerForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst ComputerForm = () => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const [fileError, setFileError] = React.useState<string>();\n const inputRef = React.useRef<HTMLInputElement>(null!);\n const id = React.useId();\n\n const { setLocalImage, goToStep, onClose } = useLogoInputContext('ComputerForm');\n\n const handleDragEnter = () => setDragOver(true);\n const handleDragLeave = () => setDragOver(false);\n\n const handleClick: ButtonProps['onClick'] = (e) => {\n e.preventDefault();\n inputRef.current.click();\n };\n\n const handleChange = async () => {\n handleDragLeave();\n\n if (!inputRef.current.files) {\n return;\n }\n\n const [file] = inputRef.current.files;\n\n try {\n const asset = await parseFileMetadatas(file);\n setLocalImage(asset);\n goToStep('pending');\n } catch (err) {\n if (err instanceof ParsingFileError) {\n setFileError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n inputRef.current.focus();\n } else {\n throw err;\n }\n }\n };\n\n return (\n <>\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Field name={id} error={fileError}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex\n paddingTop={9}\n paddingBottom={7}\n hasRadius\n justifyContent=\"center\"\n direction=\"column\"\n background={dragOver ? 'primary100' : 'neutral100'}\n borderColor={dragOver ? 'primary500' : fileError ? 'danger600' : 'neutral300'}\n borderStyle=\"dashed\"\n borderWidth=\"1px\"\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n >\n <Icon\n color=\"primary600\"\n width={pxToRem(60)}\n height={pxToRem(60)}\n as={PicturePlus}\n aria-hidden\n />\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" as=\"label\" htmlFor={id}>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.drag-drop',\n defaultMessage: 'Drag and Drop here or',\n })}\n </Typography>\n </Box>\n <FileInput\n accept={ACCEPTED_FORMAT.join(', ')}\n type=\"file\"\n name=\"files\"\n tabIndex={-1}\n onChange={handleChange}\n ref={inputRef}\n id={id}\n />\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.cta.browse',\n defaultMessage: 'Browse files',\n })}\n </Button>\n <Box paddingTop={6}>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.modal.upload.file-validation',\n defaultMessage:\n 'Max dimension: {dimension}x{dimension}, Max size: {size}KB',\n },\n { size: SIZE, dimension: DIMENSION }\n )}\n </Typography>\n </Box>\n </Flex>\n <FieldError />\n </Flex>\n </Field>\n </Box>\n </form>\n <ModalFooter\n startActions={\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n }\n />\n </>\n );\n};\n\nconst FileInput = styled(FieldInput)`\n opacity: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PendingLogoDialog\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PendingLogoDialogProps {\n onChangeLogo: (file: ImageAsset | null) => void;\n}\n\nconst PendingLogoDialog = ({ onChangeLogo }: PendingLogoDialogProps) => {\n const { formatMessage } = useIntl();\n const { localImage, setLocalImage, goToStep, onClose } = useLogoInputContext('PendingLogoDialog');\n\n const handleGoBack = () => {\n setLocalImage(undefined);\n goToStep('upload');\n };\n\n const handleUpload = () => {\n if (localImage) {\n onChangeLogo(localImage);\n }\n onClose();\n };\n\n return (\n <>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Flex justifyContent=\"space-between\" paddingBottom={6}>\n <Flex direction=\"column\" alignItems=\"flex-start\">\n <Typography variant=\"pi\" fontWeight=\"bold\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.title',\n defaultMessage: 'Logo ready to upload',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral500\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.subtitle',\n defaultMessage: 'Manage the chosen logo before uploading it',\n })}\n </Typography>\n </Flex>\n <Button onClick={handleGoBack} variant=\"secondary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.choose-another',\n defaultMessage: 'Choose another logo',\n })}\n </Button>\n </Flex>\n <Box maxWidth={pxToRem(180)}>\n {localImage?.url ? <ImageCardAsset asset={localImage} /> : null}\n </Box>\n </Box>\n <ModalFooter\n startActions={\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n }\n endActions={\n <Button onClick={handleUpload}>\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.upload',\n defaultMessage: 'Upload logo',\n })}\n </Button>\n }\n />\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ImageCardAsset\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ImageCardAssetProps {\n asset: ImageAsset;\n}\n\nconst ImageCardAsset = ({ asset }: ImageCardAssetProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Card>\n <CardHeader>\n <CardAsset size=\"S\" src={asset.url} />\n </CardHeader>\n <CardBody>\n <CardContent>\n <CardTitle>{asset.name}</CardTitle>\n <CardSubtitle>\n {`${asset.ext?.toUpperCase()} - ${asset.width}✕${asset.height}`}\n </CardSubtitle>\n </CardContent>\n <CardBadge>\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.card-badge',\n defaultMessage: 'image',\n })}\n </CardBadge>\n </CardBody>\n </Card>\n );\n};\n\nexport { LogoInput };\nexport type { LogoInputProps };\n","import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n Layout,\n Link,\n Main,\n Typography,\n} from '@strapi/design-system';\nimport {\n SettingsPageTitle,\n useAppInfo,\n useFocusWhenNavigate,\n useRBAC,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Check, ExternalLink } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { useConfiguration } from '../../../../features/Configuration';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { selectAdminPermissions } from '../../../../selectors';\n\nimport { LogoInput, LogoInputProps } from './components/LogoInput';\nimport { DIMENSION, SIZE } from './utils/constants';\n\nconst AdminSeatInfoCE = () => null;\n\n/* -------------------------------------------------------------------------------------------------\n * ApplicationInfoPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ApplicationInfoPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { logos: serverLogos, updateProjectSettings } = useConfiguration('ApplicationInfoPage');\n const [logos, setLogos] = React.useState({ menu: serverLogos.menu, auth: serverLogos.auth });\n const { settings } = useSelector(selectAdminPermissions);\n\n const {\n communityEdition,\n latestStrapiReleaseTag,\n nodeVersion,\n shouldUpdateStrapi,\n strapiVersion,\n } = useAppInfo();\n\n const AdminSeatInfo = useEnterprise(\n AdminSeatInfoCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo'\n )\n ).AdminSeatInfoEE\n );\n\n const {\n allowedActions: { canRead, canUpdate },\n } = useRBAC(settings ? settings['project-settings'] : {});\n\n useFocusWhenNavigate();\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = (e) => {\n e.preventDefault();\n\n updateProjectSettings({\n authLogo: logos.auth.custom ?? null,\n menuLogo: logos.menu.custom ?? null,\n });\n };\n\n const handleChangeLogo =\n (logo: 'menu' | 'auth'): LogoInputProps['onChangeLogo'] =>\n (newLogo) => {\n /**\n * If there's no newLogo value we can assume we're reseting.\n */\n if (newLogo === null) {\n trackUsage('didClickResetLogo', {\n logo,\n });\n }\n\n setLogos((prev) => ({\n ...prev,\n [logo]: {\n ...prev[logo],\n custom: newLogo,\n },\n }));\n };\n\n React.useEffect(() => {\n setLogos({\n menu: serverLogos.menu,\n auth: serverLogos.auth,\n });\n }, [serverLogos]);\n\n // block rendering until the EE component is fully loaded\n if (!AdminSeatInfo) {\n return null;\n }\n\n const isSaveDisabled =\n logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;\n\n return (\n <Layout>\n <SettingsPageTitle\n name={formatMessage({\n id: 'Settings.application.header',\n defaultMessage: 'Application',\n })}\n />\n <Main>\n <form onSubmit={handleSubmit}>\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.application.title',\n defaultMessage: 'Overview',\n })}\n subtitle={formatMessage({\n id: 'Settings.application.description',\n defaultMessage: 'Administration panel’s global information',\n })}\n primaryAction={\n canUpdate && (\n <Button disabled={isSaveDisabled} type=\"submit\" startIcon={<Check />}>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n )\n }\n />\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={4}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" as=\"h3\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n\n <Grid gap={5} as=\"dl\">\n <GridItem col={6} s={12}>\n <Typography variant=\"sigma\" textColor=\"neutral600\" as=\"dt\">\n {formatMessage({\n id: 'Settings.application.strapiVersion',\n defaultMessage: 'strapi version',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" as=\"dd\">\n <Typography>v{strapiVersion}</Typography>\n {shouldUpdateStrapi && (\n <Link\n href={`https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`}\n endIcon={<ExternalLink />}\n >\n {formatMessage({\n id: 'Settings.application.link-upgrade',\n defaultMessage: 'Upgrade your admin panel',\n })}\n </Link>\n )}\n </Flex>\n </GridItem>\n <GridItem col={6} s={12}>\n <Typography variant=\"sigma\" textColor=\"neutral600\" as=\"dt\">\n {formatMessage({\n id: 'Settings.application.edition-title',\n defaultMessage: 'current plan',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" as=\"dd\">\n <Typography>\n {formatMessage(\n {\n id: 'Settings.application.ee-or-ce',\n defaultMessage:\n '{communityEdition, select, true {Community Edition} other {Enterprise Edition}}',\n },\n { communityEdition }\n )}\n </Typography>\n <Link href=\"https://strapi.io/pricing-self-hosted\" endIcon={<ExternalLink />}>\n {formatMessage({\n id: 'Settings.application.link-pricing',\n defaultMessage: 'See all pricing plans',\n })}\n </Link>\n </Flex>\n </GridItem>\n\n <GridItem col={6} s={12}>\n <Typography variant=\"sigma\" textColor=\"neutral600\" as=\"dt\">\n {formatMessage({\n id: 'Settings.application.node-version',\n defaultMessage: 'node version',\n })}\n </Typography>\n <Typography as=\"dd\">{nodeVersion}</Typography>\n </GridItem>\n <AdminSeatInfo />\n </Grid>\n </Flex>\n {canRead && (\n <Box\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" as=\"h3\">\n {formatMessage({\n id: 'Settings.application.customization',\n defaultMessage: 'Customization',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.size-details',\n defaultMessage:\n 'Max dimension: {dimension}×{dimension}, Max file size: {size}KB',\n },\n { dimension: DIMENSION, size: SIZE }\n )}\n </Typography>\n <Grid paddingTop={4} gap={4}>\n <GridItem col={6} s={12}>\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.menu.custom}\n defaultLogo={logos.menu.default}\n hint={formatMessage({\n id: 'Settings.application.customization.menu-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the main navigation',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.menu-logo.title',\n defaultMessage: 'Menu logo',\n })}\n onChangeLogo={handleChangeLogo('menu')}\n />\n </GridItem>\n <GridItem col={6} s={12}>\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.auth.custom}\n defaultLogo={logos.auth.default}\n hint={formatMessage({\n id: 'Settings.application.customization.auth-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the authentication pages',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.auth-logo.title',\n defaultMessage: 'Auth logo',\n })}\n onChangeLogo={handleChangeLogo('auth')}\n />\n </GridItem>\n </Grid>\n </Box>\n )}\n </Flex>\n </ContentLayout>\n </form>\n </Main>\n </Layout>\n );\n};\n\nexport { ApplicationInfoPage };\n","import * as React from 'react';\n\nimport { Layout } from '@strapi/design-system';\nimport { LoadingIndicatorPage, useStrapiApp } from '@strapi/helper-plugin';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { Redirect, Route, Switch, useParams } from 'react-router-dom';\n\nimport { useEnterprise } from '../../hooks/useEnterprise';\nimport { useSettingsMenu } from '../../hooks/useSettingsMenu';\nimport { createRoute } from '../../utils/createRoute';\n\nimport { SettingsNav } from './components/SettingsNav';\nimport { ROUTES_CE, Route as IRoute } from './constants';\nimport { ApplicationInfoPage } from './pages/ApplicationInfo/ApplicationInfoPage';\n\nconst SettingsPage = () => {\n const { settingId } = useParams<{ settingId: string }>();\n const { settings } = useStrapiApp();\n const { formatMessage } = useIntl();\n const { isLoading, menu } = useSettingsMenu();\n const routes = useEnterprise(\n ROUTES_CE,\n async () => (await import('../../../../ee/admin/src/pages/SettingsPage/constants')).ROUTES_EE,\n {\n combine(ceRoutes, eeRoutes) {\n return [...ceRoutes, ...eeRoutes];\n },\n defaultValue: [],\n }\n );\n\n // Creates the admin routes\n const adminRoutes = React.useMemo(() => {\n return makeUniqueRoutes(routes).map(({ to, Component, exact }) =>\n createRoute(Component, to, exact)\n );\n }, [routes]);\n\n const pluginsRoutes = Object.values(settings).flatMap((section) => {\n const { links } = section;\n\n return links.map((link) => createRoute(link.Component, link.to, link.exact || false));\n });\n\n // Since the useSettingsMenu hook can make API calls in order to check the links permissions\n // We need to add a loading state to prevent redirecting the user while permissions are being checked\n if (isLoading) {\n return <LoadingIndicatorPage />;\n }\n\n if (!settingId) {\n return <Redirect to=\"/settings/application-infos\" />;\n }\n\n return (\n <Layout sideNav={<SettingsNav menu={menu} />}>\n <Helmet\n title={formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n />\n\n <Switch>\n <Route path=\"/settings/application-infos\" component={ApplicationInfoPage} exact />\n {adminRoutes}\n {pluginsRoutes}\n </Switch>\n </Layout>\n );\n};\n\nexport const makeUniqueRoutes = (routes: IRoute[]) =>\n routes.filter(\n (route, index, refArray) => refArray.findIndex((obj) => obj.to === route.to) === index\n );\n\nexport { SettingsPage };\n"],"names":["React","useRBACProvider","useAppInfo","useStrapiApp","useSelector","selectAdminPermissions","SETTINGS_LINKS_CE","useEnterprise","ceLinks","sections","hasPermissions","permission","sortBy","styled","Icon","useIntl","useTracking","useLocation","jsxs","SubNav","jsx","SubNavHeader","SubNavSections","SubNavSection","SubNavLink","NavLink","Lock","createContext","CarouselInput","CarouselActions","IconButton","Plus","Refresh","CarouselSlide","Box","ModalLayout","ModalHeader","Typography","TabGroup","Tabs","Tab","Divider","TabPanels","TabPanel","axios","AxiosError","TextInput","ModalFooter","Button","Fragment","Field","Flex","pxToRem","PicturePlus","FieldError","FieldInput","Card","CardHeader","CardAsset","CardBody","CardContent","CardTitle","CardSubtitle","CardBadge","useConfiguration","useRBAC","useFocusWhenNavigate","Layout","SettingsPageTitle","Main","HeaderLayout","Check","ContentLayout","Grid","GridItem","Link","ExternalLink","useParams","createRoute","LoadingIndicatorPage","Redirect","Helmet","Switch","Route","index"],"mappings":"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"}
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Layout, Main, HeaderLayout, Button, ContentLayout, Flex, Typography, Grid, GridItem, ToggleInput, Select, Option, MultiSelect, MultiSelectOption } from "@strapi/design-system";
|
|
3
|
+
import { translatedErrors, CheckPagePermissions, useFocusWhenNavigate, useOverlayBlocker, useNotification, useAPIErrorHandler, useFetchClient, useRBAC, SettingsPageTitle, Form, LoadingIndicatorPage } from "@strapi/helper-plugin";
|
|
4
|
+
import { Check } from "@strapi/icons";
|
|
5
|
+
import { AxiosError } from "axios";
|
|
6
|
+
import { Formik } from "formik";
|
|
7
|
+
import { useIntl } from "react-intl";
|
|
8
|
+
import { useQuery, useMutation } from "react-query";
|
|
9
|
+
import { useSelector } from "react-redux";
|
|
10
|
+
import * as yup from "yup";
|
|
11
|
+
import { u as useAdminRoles } from "./useAdminRoles-501e111a.mjs";
|
|
12
|
+
import { s as selectAdminPermissions } from "./AuthenticatedApp-b723bf94.mjs";
|
|
13
|
+
import { f as formatAPIErrors } from "./formatAPIErrors-db6ed675.mjs";
|
|
14
|
+
import "react";
|
|
15
|
+
import "semver/functions/lt";
|
|
16
|
+
import "semver/functions/valid";
|
|
17
|
+
import "./index-3bbbb14c.mjs";
|
|
18
|
+
import "react-dom/client";
|
|
19
|
+
import "invariant";
|
|
20
|
+
import "lodash/isFunction";
|
|
21
|
+
import "lodash/merge";
|
|
22
|
+
import "lodash/pick";
|
|
23
|
+
import "react-helmet";
|
|
24
|
+
import "react-router-dom";
|
|
25
|
+
import "@radix-ui/react-context";
|
|
26
|
+
import "@strapi/design-system/v2";
|
|
27
|
+
import "lodash/camelCase";
|
|
28
|
+
import "styled-components";
|
|
29
|
+
import "@reduxjs/toolkit";
|
|
30
|
+
import "lodash/omit";
|
|
31
|
+
import "qs";
|
|
32
|
+
import "immer";
|
|
33
|
+
import "lodash/get";
|
|
34
|
+
import "lodash/set";
|
|
35
|
+
import "lodash/defaultsDeep";
|
|
36
|
+
import "react-dnd";
|
|
37
|
+
import "react-dnd-html5-backend";
|
|
38
|
+
import "react-window";
|
|
39
|
+
import "lodash/cloneDeep";
|
|
40
|
+
import "lodash/isEqual";
|
|
41
|
+
import "lodash/upperFirst";
|
|
42
|
+
import "prop-types";
|
|
43
|
+
import "lodash/fp";
|
|
44
|
+
import "lodash/isNaN";
|
|
45
|
+
import "lodash/take";
|
|
46
|
+
import "slate";
|
|
47
|
+
import "slate-history";
|
|
48
|
+
import "slate-react";
|
|
49
|
+
import "@radix-ui/react-toolbar";
|
|
50
|
+
import "codemirror5";
|
|
51
|
+
import "sanitize-html";
|
|
52
|
+
import "highlight.js";
|
|
53
|
+
import "markdown-it";
|
|
54
|
+
import "markdown-it-abbr";
|
|
55
|
+
import "markdown-it-container";
|
|
56
|
+
import "markdown-it-deflist";
|
|
57
|
+
import "markdown-it-emoji";
|
|
58
|
+
import "markdown-it-footnote";
|
|
59
|
+
import "markdown-it-ins";
|
|
60
|
+
import "markdown-it-mark";
|
|
61
|
+
import "markdown-it-sub";
|
|
62
|
+
import "markdown-it-sup";
|
|
63
|
+
import "codemirror5/addon/display/placeholder";
|
|
64
|
+
import "lodash/toString";
|
|
65
|
+
import "lodash/isEmpty";
|
|
66
|
+
import "react-dom";
|
|
67
|
+
import "lodash/isBoolean";
|
|
68
|
+
import "lodash/toNumber";
|
|
69
|
+
import "fractional-indexing";
|
|
70
|
+
import "lodash/uniqBy";
|
|
71
|
+
import "lodash/unset";
|
|
72
|
+
import "lodash/isArray";
|
|
73
|
+
import "date-fns/parseISO";
|
|
74
|
+
const schema = yup.object().shape({
|
|
75
|
+
autoRegister: yup.bool().required(translatedErrors.required),
|
|
76
|
+
defaultRole: yup.mixed().when("autoRegister", (value, initSchema) => {
|
|
77
|
+
return value ? initSchema.required(translatedErrors.required) : initSchema.nullable();
|
|
78
|
+
}),
|
|
79
|
+
ssoLockedRoles: yup.array().nullable().of(
|
|
80
|
+
yup.mixed().when("ssoLockedRoles", (value, initSchema) => {
|
|
81
|
+
return value ? initSchema.required(translatedErrors.required) : initSchema.nullable();
|
|
82
|
+
})
|
|
83
|
+
)
|
|
84
|
+
});
|
|
85
|
+
const SingleSignOnPage = () => {
|
|
86
|
+
useFocusWhenNavigate();
|
|
87
|
+
const { formatMessage } = useIntl();
|
|
88
|
+
const permissions = useSelector(selectAdminPermissions);
|
|
89
|
+
const { lockApp, unlockApp } = useOverlayBlocker();
|
|
90
|
+
const toggleNotification = useNotification();
|
|
91
|
+
const { formatAPIError } = useAPIErrorHandler();
|
|
92
|
+
const { get, put } = useFetchClient();
|
|
93
|
+
const { isLoading: isLoadingProviderOptions, data } = useQuery(
|
|
94
|
+
["providers", "options"],
|
|
95
|
+
async () => {
|
|
96
|
+
const { data: data2 } = await get("/admin/providers/options");
|
|
97
|
+
return data2.data;
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
onError() {
|
|
101
|
+
toggleNotification({
|
|
102
|
+
type: "warning",
|
|
103
|
+
message: { id: "notification.error", defaultMessage: "An error occured" }
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
);
|
|
108
|
+
const submitMutation = useMutation(
|
|
109
|
+
async (body) => {
|
|
110
|
+
const { autoRegister, defaultRole, ssoLockedRoles } = body;
|
|
111
|
+
const { data: data2 } = await put("/admin/providers/options", {
|
|
112
|
+
autoRegister,
|
|
113
|
+
defaultRole,
|
|
114
|
+
ssoLockedRoles
|
|
115
|
+
});
|
|
116
|
+
return data2.data;
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
async onSettled() {
|
|
120
|
+
unlockApp();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
);
|
|
124
|
+
const {
|
|
125
|
+
isLoading: isLoadingPermissions,
|
|
126
|
+
allowedActions: { canUpdate, canReadRoles }
|
|
127
|
+
} = useRBAC({
|
|
128
|
+
...permissions.settings?.sso,
|
|
129
|
+
readRoles: permissions.settings?.roles.read ?? []
|
|
130
|
+
});
|
|
131
|
+
const { roles, isLoading: isLoadingRoles } = useAdminRoles(void 0, {
|
|
132
|
+
enabled: canReadRoles
|
|
133
|
+
});
|
|
134
|
+
const handleSubmit = async (body, { resetForm, setErrors }) => {
|
|
135
|
+
lockApp();
|
|
136
|
+
submitMutation.mutate(body, {
|
|
137
|
+
onSuccess(data2) {
|
|
138
|
+
resetForm({ values: data2 });
|
|
139
|
+
toggleNotification({
|
|
140
|
+
type: "success",
|
|
141
|
+
message: { id: "notification.success.saved" }
|
|
142
|
+
});
|
|
143
|
+
},
|
|
144
|
+
onError(err) {
|
|
145
|
+
if (err instanceof AxiosError && err.response) {
|
|
146
|
+
const errors = formatAPIErrors(err.response.data);
|
|
147
|
+
const fieldsErrors = Object.keys(errors).reduce((acc, current) => {
|
|
148
|
+
acc[current] = errors[current].id;
|
|
149
|
+
return acc;
|
|
150
|
+
}, {});
|
|
151
|
+
setErrors(fieldsErrors);
|
|
152
|
+
toggleNotification({
|
|
153
|
+
type: "warning",
|
|
154
|
+
// @ts-expect-error formatAPIError is waiting for "err" to be AxiosError<{ error: ApiError }> while few lines above we need error.data there's a conflict between these two functions
|
|
155
|
+
message: formatAPIError(err)
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
};
|
|
161
|
+
const { isLoading: isSubmittingForm } = submitMutation;
|
|
162
|
+
const initialValues = {
|
|
163
|
+
autoRegister: false,
|
|
164
|
+
defaultRole: null,
|
|
165
|
+
ssoLockedRoles: null
|
|
166
|
+
};
|
|
167
|
+
const isLoadingData = isLoadingRoles || isLoadingPermissions || isLoadingProviderOptions;
|
|
168
|
+
return /* @__PURE__ */ jsxs(Layout, { children: [
|
|
169
|
+
/* @__PURE__ */ jsx(SettingsPageTitle, { name: "SSO" }),
|
|
170
|
+
/* @__PURE__ */ jsx(Main, { "aria-busy": isSubmittingForm || isLoadingData, tabIndex: -1, children: /* @__PURE__ */ jsx(
|
|
171
|
+
Formik,
|
|
172
|
+
{
|
|
173
|
+
onSubmit: handleSubmit,
|
|
174
|
+
initialValues: data || initialValues,
|
|
175
|
+
validationSchema: schema,
|
|
176
|
+
validateOnChange: false,
|
|
177
|
+
enableReinitialize: true,
|
|
178
|
+
children: ({ handleChange, isSubmitting, values, setFieldValue, dirty, errors }) => /* @__PURE__ */ jsxs(Form, { children: [
|
|
179
|
+
/* @__PURE__ */ jsx(
|
|
180
|
+
HeaderLayout,
|
|
181
|
+
{
|
|
182
|
+
primaryAction: /* @__PURE__ */ jsx(
|
|
183
|
+
Button,
|
|
184
|
+
{
|
|
185
|
+
"data-testid": "save-button",
|
|
186
|
+
disabled: !dirty,
|
|
187
|
+
loading: isSubmitting,
|
|
188
|
+
startIcon: /* @__PURE__ */ jsx(Check, {}),
|
|
189
|
+
type: "submit",
|
|
190
|
+
size: "L",
|
|
191
|
+
children: formatMessage({
|
|
192
|
+
id: "global.save",
|
|
193
|
+
defaultMessage: "Save"
|
|
194
|
+
})
|
|
195
|
+
}
|
|
196
|
+
),
|
|
197
|
+
title: formatMessage({
|
|
198
|
+
id: "Settings.sso.title",
|
|
199
|
+
defaultMessage: "Single Sign-On"
|
|
200
|
+
}),
|
|
201
|
+
subtitle: formatMessage({
|
|
202
|
+
id: "Settings.sso.description",
|
|
203
|
+
defaultMessage: "Configure the settings for the Single Sign-On feature."
|
|
204
|
+
})
|
|
205
|
+
}
|
|
206
|
+
),
|
|
207
|
+
/* @__PURE__ */ jsx(ContentLayout, { children: isSubmitting || isLoadingData ? /* @__PURE__ */ jsx(LoadingIndicatorPage, {}) : /* @__PURE__ */ jsxs(
|
|
208
|
+
Flex,
|
|
209
|
+
{
|
|
210
|
+
direction: "column",
|
|
211
|
+
alignItems: "stretch",
|
|
212
|
+
gap: 4,
|
|
213
|
+
background: "neutral0",
|
|
214
|
+
padding: 6,
|
|
215
|
+
shadow: "filterShadow",
|
|
216
|
+
hasRadius: true,
|
|
217
|
+
children: [
|
|
218
|
+
/* @__PURE__ */ jsx(Typography, { variant: "delta", as: "h2", children: formatMessage({
|
|
219
|
+
id: "global.settings",
|
|
220
|
+
defaultMessage: "Settings"
|
|
221
|
+
}) }),
|
|
222
|
+
/* @__PURE__ */ jsxs(Grid, { gap: 4, children: [
|
|
223
|
+
/* @__PURE__ */ jsx(GridItem, { col: 6, s: 12, children: /* @__PURE__ */ jsx(
|
|
224
|
+
ToggleInput,
|
|
225
|
+
{
|
|
226
|
+
"data-testid": "autoRegister",
|
|
227
|
+
disabled: !canUpdate,
|
|
228
|
+
checked: values.autoRegister,
|
|
229
|
+
hint: formatMessage({
|
|
230
|
+
id: "Settings.sso.form.registration.description",
|
|
231
|
+
defaultMessage: "Create new user on SSO login if no account exists"
|
|
232
|
+
}),
|
|
233
|
+
label: formatMessage({
|
|
234
|
+
id: "Settings.sso.form.registration.label",
|
|
235
|
+
defaultMessage: "Auto-registration"
|
|
236
|
+
}),
|
|
237
|
+
name: "autoRegister",
|
|
238
|
+
offLabel: formatMessage({
|
|
239
|
+
id: "app.components.ToggleCheckbox.off-label",
|
|
240
|
+
defaultMessage: "Off"
|
|
241
|
+
}),
|
|
242
|
+
onLabel: formatMessage({
|
|
243
|
+
id: "app.components.ToggleCheckbox.on-label",
|
|
244
|
+
defaultMessage: "On"
|
|
245
|
+
}),
|
|
246
|
+
onChange: handleChange
|
|
247
|
+
}
|
|
248
|
+
) }),
|
|
249
|
+
/* @__PURE__ */ jsx(GridItem, { col: 6, s: 12, children: /* @__PURE__ */ jsx(
|
|
250
|
+
Select,
|
|
251
|
+
{
|
|
252
|
+
disabled: !canUpdate,
|
|
253
|
+
hint: formatMessage({
|
|
254
|
+
id: "Settings.sso.form.defaultRole.description",
|
|
255
|
+
defaultMessage: "It will attach the new authenticated user to the selected role"
|
|
256
|
+
}),
|
|
257
|
+
error: errors.defaultRole ? formatMessage({
|
|
258
|
+
id: errors.defaultRole,
|
|
259
|
+
defaultMessage: errors.defaultRole
|
|
260
|
+
}) : "",
|
|
261
|
+
label: formatMessage({
|
|
262
|
+
id: "Settings.sso.form.defaultRole.label",
|
|
263
|
+
defaultMessage: "Default role"
|
|
264
|
+
}),
|
|
265
|
+
name: "defaultRole",
|
|
266
|
+
onChange: (value) => handleChange({ target: { name: "defaultRole", value } }),
|
|
267
|
+
placeholder: formatMessage({
|
|
268
|
+
id: "components.InputSelect.option.placeholder",
|
|
269
|
+
defaultMessage: "Choose here"
|
|
270
|
+
}),
|
|
271
|
+
value: values.defaultRole,
|
|
272
|
+
children: roles.map(({ id, name }) => /* @__PURE__ */ jsx(Option, { value: id.toString(), children: name }, id))
|
|
273
|
+
}
|
|
274
|
+
) }),
|
|
275
|
+
/* @__PURE__ */ jsx(GridItem, { col: 6, s: 12, children: /* @__PURE__ */ jsx(
|
|
276
|
+
MultiSelect,
|
|
277
|
+
{
|
|
278
|
+
disabled: !canUpdate,
|
|
279
|
+
hint: formatMessage({
|
|
280
|
+
id: "Settings.sso.form.localAuthenticationLock.description",
|
|
281
|
+
defaultMessage: "Select the roles for which you want to disable the local authentication"
|
|
282
|
+
}),
|
|
283
|
+
error: errors.ssoLockedRoles ? formatMessage({
|
|
284
|
+
id: errors.ssoLockedRoles,
|
|
285
|
+
defaultMessage: errors.ssoLockedRoles
|
|
286
|
+
}) : "",
|
|
287
|
+
label: formatMessage({
|
|
288
|
+
id: "Settings.sso.form.localAuthenticationLock.label",
|
|
289
|
+
defaultMessage: "Local authentication lock-out"
|
|
290
|
+
}),
|
|
291
|
+
name: "ssoLockedRoles",
|
|
292
|
+
onChange: (value) => handleChange({
|
|
293
|
+
target: {
|
|
294
|
+
value,
|
|
295
|
+
name: "ssoLockedRoles"
|
|
296
|
+
}
|
|
297
|
+
}),
|
|
298
|
+
placeholder: formatMessage({
|
|
299
|
+
id: "components.InputSelect.option.placeholder",
|
|
300
|
+
defaultMessage: "Choose here"
|
|
301
|
+
}),
|
|
302
|
+
onClear: () => setFieldValue("ssoLockedRoles", []),
|
|
303
|
+
value: values.ssoLockedRoles || [],
|
|
304
|
+
withTags: true,
|
|
305
|
+
children: roles.map(({ id, name }) => /* @__PURE__ */ jsx(MultiSelectOption, { value: id.toString(), children: name }, id))
|
|
306
|
+
}
|
|
307
|
+
) })
|
|
308
|
+
] })
|
|
309
|
+
]
|
|
310
|
+
}
|
|
311
|
+
) })
|
|
312
|
+
] })
|
|
313
|
+
}
|
|
314
|
+
) })
|
|
315
|
+
] });
|
|
316
|
+
};
|
|
317
|
+
const ProtectedSSO = () => {
|
|
318
|
+
const permissions = useSelector(selectAdminPermissions);
|
|
319
|
+
return /* @__PURE__ */ jsx(CheckPagePermissions, { permissions: permissions.settings?.sso?.main, children: /* @__PURE__ */ jsx(SingleSignOnPage, {}) });
|
|
320
|
+
};
|
|
321
|
+
export {
|
|
322
|
+
ProtectedSSO,
|
|
323
|
+
SingleSignOnPage
|
|
324
|
+
};
|
|
325
|
+
//# sourceMappingURL=SingleSignOnPage-4d1d2448.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SingleSignOnPage-4d1d2448.mjs","sources":["../../ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.tsx"],"sourcesContent":["import {\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n Layout,\n Main,\n MultiSelect,\n MultiSelectOption,\n Option,\n Select,\n ToggleInput,\n Typography,\n} from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n Form,\n LoadingIndicatorPage,\n SettingsPageTitle,\n translatedErrors,\n useAPIErrorHandler,\n useFetchClient,\n useFocusWhenNavigate,\n useNotification,\n useOverlayBlocker,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { Check } from '@strapi/icons';\nimport { AxiosError } from 'axios';\nimport { Formik, FormikErrors, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery } from 'react-query';\nimport { useSelector } from 'react-redux';\nimport * as yup from 'yup';\n\nimport { useAdminRoles } from '../../../../../../admin/src/hooks/useAdminRoles';\nimport { selectAdminPermissions } from '../../../../../../admin/src/selectors';\nimport { formatAPIErrors } from '../../../../../../admin/src/utils/formatAPIErrors';\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 useFocusWhenNavigate();\n\n const { formatMessage } = useIntl();\n const permissions = useSelector(selectAdminPermissions);\n const { lockApp, unlockApp } = useOverlayBlocker();\n const toggleNotification = useNotification();\n const { formatAPIError } = useAPIErrorHandler();\n\n const { get, put } = useFetchClient();\n\n const { isLoading: isLoadingProviderOptions, data } = useQuery(\n ['providers', 'options'],\n async () => {\n const { data } = await get<ProvidersOptions.Response>('/admin/providers/options');\n\n return data.data;\n },\n {\n onError() {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n },\n }\n );\n\n const submitMutation = useMutation<\n ProvidersOptions.Response['data'],\n AxiosError<ProvidersOptions.Response>,\n ProvidersOptions.Request['body']\n >(\n async (body) => {\n const { autoRegister, defaultRole, ssoLockedRoles } = body;\n const { data } = await put<ProvidersOptions.Response>('/admin/providers/options', {\n autoRegister,\n defaultRole,\n ssoLockedRoles,\n });\n\n return data.data;\n },\n {\n async onSettled() {\n // @ts-expect-error – we're going to implement a context assertion to avoid this\n unlockApp();\n },\n }\n );\n\n const {\n isLoading: isLoadingPermissions,\n allowedActions: { canUpdate, canReadRoles },\n } = useRBAC({\n ...permissions.settings?.sso,\n readRoles: permissions.settings?.roles.read ?? [],\n });\n\n const { roles, isLoading: isLoadingRoles } = useAdminRoles(undefined, {\n enabled: canReadRoles,\n });\n\n const handleSubmit = async (\n body: ProvidersOptions.Request['body'],\n { resetForm, setErrors }: FormikHelpers<ProvidersOptions.Request['body']>\n ) => {\n // @ts-expect-error - context assertation\n lockApp();\n\n submitMutation.mutate(body, {\n onSuccess(data) {\n resetForm({ values: data });\n toggleNotification({\n type: 'success',\n message: { id: 'notification.success.saved' },\n });\n },\n onError(err) {\n if (err instanceof AxiosError && err.response) {\n // @ts-expect-error formatApiErrors is waiting for a Record<string, string[]> while response.data contains different value types than string.\n const errors = formatAPIErrors(err.response.data);\n const fieldsErrors = Object.keys(errors).reduce<\n FormikErrors<ProvidersOptions.Request['body']>\n >((acc, current) => {\n acc[current as keyof ProvidersOptions.Request['body']] = errors[current].id;\n return acc;\n }, {});\n setErrors(fieldsErrors);\n toggleNotification({\n type: 'warning',\n // @ts-expect-error formatAPIError is waiting for \"err\" to be AxiosError<{ error: ApiError }> while few lines above we need error.data there's a conflict between these two functions\n message: formatAPIError(err),\n });\n }\n },\n });\n };\n\n const { isLoading: isSubmittingForm } = submitMutation;\n const initialValues = {\n autoRegister: false,\n defaultRole: null,\n ssoLockedRoles: null,\n };\n const isLoadingData = isLoadingRoles || isLoadingPermissions || isLoadingProviderOptions;\n return (\n <Layout>\n <SettingsPageTitle name=\"SSO\" />\n <Main aria-busy={isSubmittingForm || isLoadingData} tabIndex={-1}>\n <Formik\n onSubmit={handleSubmit}\n initialValues={data || initialValues}\n validationSchema={schema}\n validateOnChange={false}\n enableReinitialize\n >\n {({ handleChange, isSubmitting, values, setFieldValue, dirty, errors }) => (\n <Form>\n <HeaderLayout\n primaryAction={\n <Button\n data-testid=\"save-button\"\n disabled={!dirty}\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 <ContentLayout>\n {isSubmitting || isLoadingData ? (\n <LoadingIndicatorPage />\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\" as=\"h2\">\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid gap={4}>\n <GridItem col={6} s={12}>\n <ToggleInput\n data-testid=\"autoRegister\"\n disabled={!canUpdate}\n checked={values.autoRegister}\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 offLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.off-label',\n defaultMessage: 'Off',\n })}\n onLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.on-label',\n defaultMessage: 'On',\n })}\n onChange={handleChange}\n />\n </GridItem>\n <GridItem col={6} s={12}>\n <Select\n disabled={!canUpdate}\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 error={\n errors.defaultRole\n ? formatMessage({\n id: errors.defaultRole,\n defaultMessage: errors.defaultRole,\n })\n : ''\n }\n label={formatMessage({\n id: 'Settings.sso.form.defaultRole.label',\n defaultMessage: 'Default role',\n })}\n name=\"defaultRole\"\n onChange={(value) =>\n handleChange({ target: { name: 'defaultRole', value } })\n }\n placeholder={formatMessage({\n id: 'components.InputSelect.option.placeholder',\n defaultMessage: 'Choose here',\n })}\n value={values.defaultRole}\n >\n {roles.map(({ id, name }) => (\n <Option key={id} value={id.toString()}>\n {name}\n </Option>\n ))}\n </Select>\n </GridItem>\n <GridItem col={6} s={12}>\n <MultiSelect\n disabled={!canUpdate}\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 error={\n errors.ssoLockedRoles\n ? formatMessage({\n id: errors.ssoLockedRoles,\n defaultMessage: errors.ssoLockedRoles,\n })\n : ''\n }\n label={formatMessage({\n id: 'Settings.sso.form.localAuthenticationLock.label',\n defaultMessage: 'Local authentication lock-out',\n })}\n name=\"ssoLockedRoles\"\n onChange={(value) =>\n handleChange({\n target: {\n value,\n name: 'ssoLockedRoles',\n },\n })\n }\n placeholder={formatMessage({\n id: 'components.InputSelect.option.placeholder',\n defaultMessage: 'Choose here',\n })}\n onClear={() => setFieldValue('ssoLockedRoles', [])}\n value={values.ssoLockedRoles || []}\n withTags\n >\n {roles.map(({ id, name }) => (\n <MultiSelectOption key={id} value={id.toString()}>\n {name}\n </MultiSelectOption>\n ))}\n </MultiSelect>\n </GridItem>\n </Grid>\n </Flex>\n )}\n </ContentLayout>\n </Form>\n )}\n </Formik>\n </Main>\n </Layout>\n );\n};\n\nexport const ProtectedSSO = () => {\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <CheckPagePermissions permissions={permissions.settings?.sso?.main}>\n <SingleSignOnPage />\n </CheckPagePermissions>\n );\n};\n"],"names":["data"],"mappings":"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"}
|