@strapi/admin 4.16.1 → 4.17.0
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-6e7bbb97.mjs +164 -0
- package/dist/_chunks/AdminSeatInfo-6e7bbb97.mjs.map +1 -0
- package/dist/_chunks/AdminSeatInfo-a10d232f.js +164 -0
- package/dist/_chunks/AdminSeatInfo-a10d232f.js.map +1 -0
- package/dist/_chunks/AuthenticatedApp-47219c52.js +1477 -0
- package/dist/_chunks/AuthenticatedApp-47219c52.js.map +1 -0
- package/dist/_chunks/AuthenticatedApp-7d1fdf0c.mjs +1451 -0
- package/dist/_chunks/AuthenticatedApp-7d1fdf0c.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-17c8a6e4.mjs +325 -0
- package/dist/_chunks/CreatePage-17c8a6e4.mjs.map +1 -0
- package/dist/_chunks/CreatePage-32977ee7.mjs +289 -0
- package/dist/_chunks/CreatePage-32977ee7.mjs.map +1 -0
- package/dist/_chunks/CreatePage-3c0b9dd5.js +346 -0
- package/dist/_chunks/CreatePage-3c0b9dd5.js.map +1 -0
- package/dist/_chunks/CreatePage-4ba4bd0d.mjs +82 -0
- package/dist/_chunks/CreatePage-4ba4bd0d.mjs.map +1 -0
- package/dist/_chunks/CreatePage-d2a061b5.js +82 -0
- package/dist/_chunks/CreatePage-d2a061b5.js.map +1 -0
- package/dist/_chunks/CreatePage-eeb81776.js +312 -0
- package/dist/_chunks/CreatePage-eeb81776.js.map +1 -0
- package/dist/_chunks/CreateView-2bc998f1.mjs +85 -0
- package/dist/_chunks/CreateView-2bc998f1.mjs.map +1 -0
- package/dist/_chunks/CreateView-5a0b0eca.js +89 -0
- package/dist/_chunks/CreateView-5a0b0eca.js.map +1 -0
- package/dist/_chunks/CreateView-8b6412c9.mjs +89 -0
- package/dist/_chunks/CreateView-8b6412c9.mjs.map +1 -0
- package/dist/_chunks/CreateView-fc328787.js +85 -0
- package/dist/_chunks/CreateView-fc328787.js.map +1 -0
- package/dist/_chunks/EditPage-0b1a48f7.js +499 -0
- package/dist/_chunks/EditPage-0b1a48f7.js.map +1 -0
- package/dist/_chunks/EditPage-2b051ea8.mjs +475 -0
- package/dist/_chunks/EditPage-2b051ea8.mjs.map +1 -0
- package/dist/_chunks/EditPage-6d3fe437.mjs +305 -0
- package/dist/_chunks/EditPage-6d3fe437.mjs.map +1 -0
- package/dist/_chunks/EditPage-7b9355e4.mjs +775 -0
- package/dist/_chunks/EditPage-7b9355e4.mjs.map +1 -0
- package/dist/_chunks/EditPage-89052393.js +796 -0
- package/dist/_chunks/EditPage-89052393.js.map +1 -0
- package/dist/_chunks/EditPage-de127112.js +325 -0
- package/dist/_chunks/EditPage-de127112.js.map +1 -0
- package/dist/_chunks/EditPage-efc987d7.js +404 -0
- package/dist/_chunks/EditPage-efc987d7.js.map +1 -0
- package/dist/_chunks/EditPage-faee9ac1.mjs +383 -0
- package/dist/_chunks/EditPage-faee9ac1.mjs.map +1 -0
- package/dist/_chunks/EditView-0e4d7c80.mjs +432 -0
- package/dist/_chunks/EditView-0e4d7c80.mjs.map +1 -0
- package/dist/_chunks/EditView-e480d09f.js +452 -0
- package/dist/_chunks/EditView-e480d09f.js.map +1 -0
- package/dist/_chunks/EditViewPage-3e638ea4.mjs +883 -0
- package/dist/_chunks/EditViewPage-3e638ea4.mjs.map +1 -0
- package/dist/_chunks/EditViewPage-ef0292a9.js +910 -0
- package/dist/_chunks/EditViewPage-ef0292a9.js.map +1 -0
- package/dist/_chunks/EventsTable-21c9c326.mjs +91 -0
- package/dist/_chunks/EventsTable-21c9c326.mjs.map +1 -0
- package/dist/_chunks/EventsTable-c8ea750e.js +91 -0
- package/dist/_chunks/EventsTable-c8ea750e.js.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-28c2fc09.mjs +84 -0
- package/dist/_chunks/HomePage-28c2fc09.mjs.map +1 -0
- package/dist/_chunks/HomePage-bfeba10a.mjs +577 -0
- package/dist/_chunks/HomePage-bfeba10a.mjs.map +1 -0
- package/dist/_chunks/HomePage-d9e5bcf6.js +598 -0
- package/dist/_chunks/HomePage-d9e5bcf6.js.map +1 -0
- package/dist/_chunks/HomePage-ef17de6c.js +84 -0
- package/dist/_chunks/HomePage-ef17de6c.js.map +1 -0
- package/dist/_chunks/InformationBoxEE-2d2b6c4a.js +398 -0
- package/dist/_chunks/InformationBoxEE-2d2b6c4a.js.map +1 -0
- package/dist/_chunks/InformationBoxEE-bd1d2894.mjs +379 -0
- package/dist/_chunks/InformationBoxEE-bd1d2894.mjs.map +1 -0
- package/dist/_chunks/InstalledPluginsPage-39a094a5.js +189 -0
- package/dist/_chunks/InstalledPluginsPage-39a094a5.js.map +1 -0
- package/dist/_chunks/InstalledPluginsPage-8e9b0b64.mjs +170 -0
- package/dist/_chunks/InstalledPluginsPage-8e9b0b64.mjs.map +1 -0
- package/dist/_chunks/Layout-caf718bb.mjs +87 -0
- package/dist/_chunks/Layout-caf718bb.mjs.map +1 -0
- package/dist/_chunks/Layout-cc5413b2.js +88 -0
- package/dist/_chunks/Layout-cc5413b2.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-05df9b86.mjs +345 -0
- package/dist/_chunks/ListPage-05df9b86.mjs.map +1 -0
- package/dist/_chunks/ListPage-17fb477a.js +389 -0
- package/dist/_chunks/ListPage-17fb477a.js.map +1 -0
- package/dist/_chunks/ListPage-338d8ca5.js +719 -0
- package/dist/_chunks/ListPage-338d8ca5.js.map +1 -0
- package/dist/_chunks/ListPage-56d94335.js +351 -0
- package/dist/_chunks/ListPage-56d94335.js.map +1 -0
- package/dist/_chunks/ListPage-5e5ad2aa.js +366 -0
- package/dist/_chunks/ListPage-5e5ad2aa.js.map +1 -0
- package/dist/_chunks/ListPage-5ed3e9d2.mjs +85 -0
- package/dist/_chunks/ListPage-5ed3e9d2.mjs.map +1 -0
- package/dist/_chunks/ListPage-7d5baee5.mjs +348 -0
- package/dist/_chunks/ListPage-7d5baee5.mjs.map +1 -0
- package/dist/_chunks/ListPage-800398cd.mjs +698 -0
- package/dist/_chunks/ListPage-800398cd.mjs.map +1 -0
- package/dist/_chunks/ListPage-cc823a6a.js +583 -0
- package/dist/_chunks/ListPage-cc823a6a.js.map +1 -0
- package/dist/_chunks/ListPage-db17e758.js +85 -0
- package/dist/_chunks/ListPage-db17e758.js.map +1 -0
- package/dist/_chunks/ListPage-de4b7131.mjs +580 -0
- package/dist/_chunks/ListPage-de4b7131.mjs.map +1 -0
- package/dist/_chunks/ListPage-f43782c4.mjs +370 -0
- package/dist/_chunks/ListPage-f43782c4.mjs.map +1 -0
- package/dist/_chunks/ListView-521e309f.mjs +271 -0
- package/dist/_chunks/ListView-521e309f.mjs.map +1 -0
- package/dist/_chunks/ListView-80855396.js +331 -0
- package/dist/_chunks/ListView-80855396.js.map +1 -0
- package/dist/_chunks/ListView-a33ebe77.js +292 -0
- package/dist/_chunks/ListView-a33ebe77.js.map +1 -0
- package/dist/_chunks/ListView-b91a8da7.mjs +310 -0
- package/dist/_chunks/ListView-b91a8da7.mjs.map +1 -0
- package/dist/_chunks/Login-4eb1fb78.mjs +101 -0
- package/dist/_chunks/Login-4eb1fb78.mjs.map +1 -0
- package/dist/_chunks/Login-906ebde5.js +103 -0
- package/dist/_chunks/Login-906ebde5.js.map +1 -0
- package/dist/_chunks/MagicLinkEE-03128309.mjs +92 -0
- package/dist/_chunks/MagicLinkEE-03128309.mjs.map +1 -0
- package/dist/_chunks/MagicLinkEE-ab36ee0f.js +92 -0
- package/dist/_chunks/MagicLinkEE-ab36ee0f.js.map +1 -0
- package/dist/_chunks/MarketplacePage-62e70483.mjs +1046 -0
- package/dist/_chunks/MarketplacePage-62e70483.mjs.map +1 -0
- package/dist/_chunks/MarketplacePage-fe1f2c6e.js +1070 -0
- package/dist/_chunks/MarketplacePage-fe1f2c6e.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-5359ee40.mjs +676 -0
- package/dist/_chunks/ProfilePage-5359ee40.mjs.map +1 -0
- package/dist/_chunks/ProfilePage-5bf5e2ed.js +699 -0
- package/dist/_chunks/ProfilePage-5bf5e2ed.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-65518684.mjs +99 -0
- package/dist/_chunks/ReviewWorkflowsColumn-65518684.mjs.map +1 -0
- package/dist/_chunks/ReviewWorkflowsColumn-b36965fe.js +99 -0
- package/dist/_chunks/ReviewWorkflowsColumn-b36965fe.js.map +1 -0
- package/dist/_chunks/SelectRoles-3d810b00.mjs +114 -0
- package/dist/_chunks/SelectRoles-3d810b00.mjs.map +1 -0
- package/dist/_chunks/SelectRoles-e83f2dee.js +115 -0
- package/dist/_chunks/SelectRoles-e83f2dee.js.map +1 -0
- package/dist/_chunks/SettingsPage-571f777c.mjs +1074 -0
- package/dist/_chunks/SettingsPage-571f777c.mjs.map +1 -0
- package/dist/_chunks/SettingsPage-a558ffda.js +1097 -0
- package/dist/_chunks/SettingsPage-a558ffda.js.map +1 -0
- package/dist/_chunks/SingleSignOnPage-19f2e16f.mjs +325 -0
- package/dist/_chunks/SingleSignOnPage-19f2e16f.mjs.map +1 -0
- package/dist/_chunks/SingleSignOnPage-b63f4c0f.js +344 -0
- package/dist/_chunks/SingleSignOnPage-b63f4c0f.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-40ffa931.js.map +1 -1
- package/dist/_chunks/constants-5345058d.js +121 -0
- package/dist/_chunks/constants-5345058d.js.map +1 -0
- package/dist/_chunks/constants-71ebbb75.mjs +242 -0
- package/dist/_chunks/constants-71ebbb75.mjs.map +1 -0
- package/dist/_chunks/constants-73ebce66.js +242 -0
- package/dist/_chunks/constants-73ebce66.js.map +1 -0
- package/dist/_chunks/constants-7e57b453.mjs +52 -0
- package/dist/_chunks/constants-7e57b453.mjs.map +1 -0
- package/dist/_chunks/constants-8092eeb5.mjs.map +1 -1
- package/dist/_chunks/constants-85da8cc4.js.map +1 -1
- package/dist/_chunks/constants-a92ce583.mjs.map +1 -1
- package/dist/_chunks/constants-b3c9cbbf.mjs +119 -0
- package/dist/_chunks/constants-b3c9cbbf.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-d80f19f3.js +52 -0
- package/dist/_chunks/constants-d80f19f3.js.map +1 -0
- 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-3f8cf4d5.js +18413 -0
- package/dist/_chunks/index-3f8cf4d5.js.map +1 -0
- package/dist/_chunks/index-95e8649d.mjs +18334 -0
- package/dist/_chunks/index-95e8649d.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-122fa43a.js +2065 -0
- package/dist/_chunks/useAdminRolePermissions-122fa43a.js.map +1 -0
- package/dist/_chunks/useAdminRolePermissions-fccd0884.mjs +2036 -0
- package/dist/_chunks/useAdminRolePermissions-fccd0884.mjs.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-1f89db67.js +1078 -0
- package/dist/_chunks/validateWorkflow-1f89db67.js.map +1 -0
- package/dist/_chunks/validateWorkflow-8a63abd6.mjs +1055 -0
- package/dist/_chunks/validateWorkflow-8a63abd6.mjs.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-722b2e84.mjs +0 -1450
- package/dist/_chunks/AuthenticatedApp-722b2e84.mjs.map +0 -1
- package/dist/_chunks/AuthenticatedApp-7e646400.js +0 -1476
- package/dist/_chunks/AuthenticatedApp-7e646400.js.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-0e0dc215.js +0 -49
- package/dist/_chunks/HomePage-0e0dc215.js.map +0 -1
- package/dist/_chunks/HomePage-76bcd0cd.mjs +0 -542
- package/dist/_chunks/HomePage-76bcd0cd.mjs.map +0 -1
- package/dist/_chunks/HomePage-8c98b31f.mjs +0 -49
- package/dist/_chunks/HomePage-8c98b31f.mjs.map +0 -1
- package/dist/_chunks/HomePage-ef787733.js +0 -563
- package/dist/_chunks/HomePage-ef787733.js.map +0 -1
- package/dist/_chunks/InstalledPluginsPage-67b5f9c2.mjs +0 -134
- package/dist/_chunks/InstalledPluginsPage-67b5f9c2.mjs.map +0 -1
- package/dist/_chunks/InstalledPluginsPage-6f0897e8.js +0 -153
- package/dist/_chunks/InstalledPluginsPage-6f0897e8.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-5b447dd2.js +0 -64
- package/dist/_chunks/Login-5b447dd2.js.map +0 -1
- package/dist/_chunks/Login-8ade15b8.mjs +0 -62
- package/dist/_chunks/Login-8ade15b8.mjs.map +0 -1
- package/dist/_chunks/MarketplacePage-1c954f9d.js +0 -1035
- package/dist/_chunks/MarketplacePage-1c954f9d.js.map +0 -1
- package/dist/_chunks/MarketplacePage-58fc8a9a.mjs +0 -1011
- package/dist/_chunks/MarketplacePage-58fc8a9a.mjs.map +0 -1
- package/dist/_chunks/ProfilePage-a2f0366d.mjs +0 -642
- package/dist/_chunks/ProfilePage-a2f0366d.mjs.map +0 -1
- package/dist/_chunks/ProfilePage-a68483d3.js +0 -665
- package/dist/_chunks/ProfilePage-a68483d3.js.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-155022af.js +0 -85
- package/dist/_chunks/constants-155022af.js.map +0 -1
- package/dist/_chunks/constants-32d352b6.mjs +0 -85
- package/dist/_chunks/constants-32d352b6.mjs.map +0 -1
- package/dist/_chunks/constants-3967338c.js +0 -229
- package/dist/_chunks/constants-3967338c.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-6bf1c3c2.mjs +0 -227
- package/dist/_chunks/constants-6bf1c3c2.mjs.map +0 -1
- package/dist/_chunks/constants-6ecddc43.mjs +0 -111
- package/dist/_chunks/constants-6ecddc43.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-d097f266.js +0 -52
- package/dist/_chunks/constants-d097f266.js.map +0 -1
- package/dist/_chunks/constants-da1ff847.mjs +0 -52
- package/dist/_chunks/constants-da1ff847.mjs.map +0 -1
- package/dist/_chunks/constants-def33545.mjs +0 -30
- package/dist/_chunks/constants-def33545.mjs.map +0 -1
- package/dist/_chunks/constants-eb77e47a.js +0 -82
- package/dist/_chunks/constants-eb77e47a.js.map +0 -1
- package/dist/_chunks/constants-ecad1e20.mjs +0 -80
- package/dist/_chunks/constants-ecad1e20.mjs.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-061947f1.mjs +0 -1432
- package/dist/_chunks/index-061947f1.mjs.map +0 -1
- package/dist/_chunks/index-06e97c47.mjs +0 -359
- package/dist/_chunks/index-06e97c47.mjs.map +0 -1
- package/dist/_chunks/index-1482f542.js +0 -403
- package/dist/_chunks/index-1482f542.js.map +0 -1
- package/dist/_chunks/index-14887b9d.mjs +0 -338
- package/dist/_chunks/index-14887b9d.mjs.map +0 -1
- package/dist/_chunks/index-1502dedd.js +0 -51
- package/dist/_chunks/index-1502dedd.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-19bd1210.js +0 -697
- package/dist/_chunks/index-19bd1210.js.map +0 -1
- package/dist/_chunks/index-2064cfaf.js +0 -51
- package/dist/_chunks/index-2064cfaf.js.map +0 -1
- package/dist/_chunks/index-209cca35.mjs +0 -308
- package/dist/_chunks/index-209cca35.mjs.map +0 -1
- package/dist/_chunks/index-24c2627d.mjs +0 -826
- package/dist/_chunks/index-24c2627d.mjs.map +0 -1
- package/dist/_chunks/index-24d1e175.js +0 -129
- package/dist/_chunks/index-24d1e175.js.map +0 -1
- package/dist/_chunks/index-272d8fb9.js +0 -365
- package/dist/_chunks/index-272d8fb9.js.map +0 -1
- package/dist/_chunks/index-2cf8d1f6.mjs +0 -270
- package/dist/_chunks/index-2cf8d1f6.mjs.map +0 -1
- package/dist/_chunks/index-35c3f9f1.mjs +0 -51
- package/dist/_chunks/index-35c3f9f1.mjs.map +0 -1
- package/dist/_chunks/index-38115cde.js +0 -66
- package/dist/_chunks/index-38115cde.js.map +0 -1
- package/dist/_chunks/index-391891ba.mjs +0 -51
- package/dist/_chunks/index-391891ba.mjs.map +0 -1
- package/dist/_chunks/index-3939f07e.mjs +0 -55
- package/dist/_chunks/index-3939f07e.mjs.map +0 -1
- package/dist/_chunks/index-3aab6b0f.mjs +0 -676
- package/dist/_chunks/index-3aab6b0f.mjs.map +0 -1
- package/dist/_chunks/index-3c67c00b.mjs +0 -3374
- package/dist/_chunks/index-3c67c00b.mjs.map +0 -1
- package/dist/_chunks/index-48c35356.mjs +0 -314
- package/dist/_chunks/index-48c35356.mjs.map +0 -1
- package/dist/_chunks/index-49b7e6ff.mjs +0 -1266
- package/dist/_chunks/index-49b7e6ff.mjs.map +0 -1
- package/dist/_chunks/index-4a019067.js +0 -272
- package/dist/_chunks/index-4a019067.js.map +0 -1
- package/dist/_chunks/index-55155d83.mjs +0 -866
- package/dist/_chunks/index-55155d83.mjs.map +0 -1
- package/dist/_chunks/index-57f9a06f.js +0 -15401
- package/dist/_chunks/index-57f9a06f.js.map +0 -1
- package/dist/_chunks/index-61852c7a.mjs +0 -582
- package/dist/_chunks/index-61852c7a.mjs.map +0 -1
- package/dist/_chunks/index-6685e5a8.js +0 -266
- package/dist/_chunks/index-6685e5a8.js.map +0 -1
- package/dist/_chunks/index-6731bae9.js +0 -51
- package/dist/_chunks/index-6731bae9.js.map +0 -1
- package/dist/_chunks/index-674778e2.mjs +0 -383
- package/dist/_chunks/index-674778e2.mjs.map +0 -1
- package/dist/_chunks/index-6a8a1f1d.js +0 -311
- package/dist/_chunks/index-6a8a1f1d.js.map +0 -1
- package/dist/_chunks/index-707e89df.mjs +0 -60
- package/dist/_chunks/index-707e89df.mjs.map +0 -1
- package/dist/_chunks/index-724169b2.js +0 -125
- package/dist/_chunks/index-724169b2.js.map +0 -1
- package/dist/_chunks/index-73971882.js +0 -847
- package/dist/_chunks/index-73971882.js.map +0 -1
- package/dist/_chunks/index-74812118.mjs +0 -53
- package/dist/_chunks/index-74812118.mjs.map +0 -1
- package/dist/_chunks/index-78f4851e.js +0 -418
- package/dist/_chunks/index-78f4851e.js.map +0 -1
- package/dist/_chunks/index-7a797b0f.mjs +0 -47
- package/dist/_chunks/index-7a797b0f.mjs.map +0 -1
- package/dist/_chunks/index-7b174d49.js +0 -1456
- package/dist/_chunks/index-7b174d49.js.map +0 -1
- package/dist/_chunks/index-819443df.js +0 -51
- package/dist/_chunks/index-819443df.js.map +0 -1
- package/dist/_chunks/index-82fca9fd.mjs +0 -393
- package/dist/_chunks/index-82fca9fd.mjs.map +0 -1
- package/dist/_chunks/index-8609fab4.mjs +0 -15320
- package/dist/_chunks/index-8609fab4.mjs.map +0 -1
- package/dist/_chunks/index-86a4fbbf.mjs +0 -273
- package/dist/_chunks/index-86a4fbbf.mjs.map +0 -1
- package/dist/_chunks/index-88298941.js +0 -54
- package/dist/_chunks/index-88298941.js.map +0 -1
- package/dist/_chunks/index-8f8eaed6.js +0 -3404
- package/dist/_chunks/index-8f8eaed6.js.map +0 -1
- package/dist/_chunks/index-91726188.js +0 -62
- package/dist/_chunks/index-91726188.js.map +0 -1
- package/dist/_chunks/index-973c363e.mjs +0 -63
- package/dist/_chunks/index-973c363e.mjs.map +0 -1
- package/dist/_chunks/index-97c03ee2.mjs +0 -55
- package/dist/_chunks/index-97c03ee2.mjs.map +0 -1
- package/dist/_chunks/index-9b2501ca.mjs +0 -132
- package/dist/_chunks/index-9b2501ca.mjs.map +0 -1
- package/dist/_chunks/index-aad003e4.mjs +0 -399
- package/dist/_chunks/index-aad003e4.mjs.map +0 -1
- package/dist/_chunks/index-ad0512f0.js +0 -47
- package/dist/_chunks/index-ad0512f0.js.map +0 -1
- package/dist/_chunks/index-b247e702.js +0 -294
- package/dist/_chunks/index-b247e702.js.map +0 -1
- package/dist/_chunks/index-b3ad6e5f.js +0 -338
- package/dist/_chunks/index-b3ad6e5f.js.map +0 -1
- package/dist/_chunks/index-b5eec5e2.js +0 -418
- package/dist/_chunks/index-b5eec5e2.js.map +0 -1
- package/dist/_chunks/index-b6b2a306.js +0 -585
- package/dist/_chunks/index-b6b2a306.js.map +0 -1
- package/dist/_chunks/index-be9a9d91.mjs +0 -244
- package/dist/_chunks/index-be9a9d91.mjs.map +0 -1
- package/dist/_chunks/index-c5fa9006.mjs +0 -127
- package/dist/_chunks/index-c5fa9006.mjs.map +0 -1
- package/dist/_chunks/index-c6c83bb3.js +0 -134
- package/dist/_chunks/index-c6c83bb3.js.map +0 -1
- package/dist/_chunks/index-c8b6afca.js +0 -47
- package/dist/_chunks/index-c8b6afca.js.map +0 -1
- package/dist/_chunks/index-caab4b20.js +0 -873
- package/dist/_chunks/index-caab4b20.js.map +0 -1
- package/dist/_chunks/index-cc38421b.mjs +0 -51
- package/dist/_chunks/index-cc38421b.mjs.map +0 -1
- package/dist/_chunks/index-cdcf1a78.js +0 -380
- package/dist/_chunks/index-cdcf1a78.js.map +0 -1
- package/dist/_chunks/index-cea88049.mjs +0 -47
- package/dist/_chunks/index-cea88049.mjs.map +0 -1
- package/dist/_chunks/index-ceacb143.js +0 -335
- package/dist/_chunks/index-ceacb143.js.map +0 -1
- package/dist/_chunks/index-d1219a93.mjs +0 -232
- package/dist/_chunks/index-d1219a93.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-d47fc57d.mjs +0 -51
- package/dist/_chunks/index-d47fc57d.mjs.map +0 -1
- package/dist/_chunks/index-d844fbda.mjs +0 -362
- package/dist/_chunks/index-d844fbda.mjs.map +0 -1
- package/dist/_chunks/index-d9aae905.js +0 -418
- package/dist/_chunks/index-d9aae905.js.map +0 -1
- package/dist/_chunks/index-dab453d2.js +0 -55
- package/dist/_chunks/index-dab453d2.js.map +0 -1
- package/dist/_chunks/index-dd897afb.mjs +0 -125
- package/dist/_chunks/index-dd897afb.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-ec2d87cb.js +0 -55
- package/dist/_chunks/index-ec2d87cb.js.map +0 -1
- package/dist/_chunks/index-ecfaf6c1.js +0 -253
- package/dist/_chunks/index-ecfaf6c1.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-ff4fb44c.mjs +0 -412
- package/dist/_chunks/index-ff4fb44c.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-336f4dd6.js +0 -514
- package/dist/_chunks/schema-336f4dd6.js.map +0 -1
- package/dist/_chunks/schema-60d9880c.mjs +0 -490
- package/dist/_chunks/schema-60d9880c.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-022b5005.mjs +0 -1101
- package/dist/_chunks/validateWorkflow-022b5005.mjs.map +0 -1
- package/dist/_chunks/validateWorkflow-7f76e43f.js +0 -1124
- package/dist/_chunks/validateWorkflow-7f76e43f.js.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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-061947f1.mjs","sources":["../../admin/src/hooks/useSettingsMenu.ts","../../admin/src/pages/SettingsPage/components/SettingsNav/index.js","../../admin/src/pages/SettingsPage/constants.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/constants.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/reducer.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/index.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/reducer.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/parseFileMetadatas.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/urlToFile.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromUrlForm.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/AddLogoDialog.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/ImageCardAsset.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/PendingLogoDialog.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/stepper.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/init.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/reducer.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/index.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/getFormData.js","../../admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js","../../admin/src/pages/SettingsPage/utils/makeUniqueRoutes.ts","../../admin/src/pages/SettingsPage/index.js"],"sourcesContent":["import * as React from 'react';\n\nimport {\n hasPermissions,\n StrapiAppSetting,\n StrapiAppSettingLink,\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';\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: StrapiAppSettingLink['permissions'];\n}\n\ninterface SettingsMenuSection extends Omit<StrapiAppSetting, 'links'> {\n links: Array<SettingsMenuLinkWithPermissions | StrapiAppSettingLink>;\n}\n\ninterface SettingsMenuLinkWithPermissionsAndDisplayed extends SettingsMenuLinkWithPermissions {\n isDisplayed: boolean;\n}\n\ninterface StrapiAppSettingLinkWithDisplayed extends StrapiAppSettingLink {\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]?.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 React from 'react';\n\nimport { 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 PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\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\nconst SettingsNav = ({ menu }) => {\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 = null) => {\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 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\nSettingsNav.propTypes = {\n menu: PropTypes.array.isRequired,\n};\n\nexport default SettingsNav;\n","export const ROUTES_CE = [\n {\n async Component() {\n const component = await import('./pages/Roles/ProtectedListPage');\n\n return component;\n },\n to: '/settings/roles',\n exact: true,\n },\n {\n async Component() {\n const component = await import('./pages/Roles/CreatePage');\n\n return component;\n },\n to: '/settings/roles/duplicate/:id',\n exact: true,\n },\n {\n async Component() {\n const component = await import('./pages/Roles/CreatePage');\n\n return component;\n },\n to: '/settings/roles/new',\n exact: true,\n },\n {\n async Component() {\n const component = await import('./pages/Roles/ProtectedEditPage');\n\n return component;\n },\n to: '/settings/roles/:id',\n exact: true,\n },\n {\n async Component() {\n const component = await import('./pages/Users/ProtectedListPage');\n\n return component;\n },\n to: '/settings/users',\n exact: true,\n },\n {\n async Component() {\n const component = await import('./pages/Users/ProtectedEditPage');\n\n return component;\n },\n to: '/settings/users/:id',\n exact: true,\n },\n {\n async Component() {\n const component = await import('./pages/Webhooks/ProtectedCreateView');\n\n return component;\n },\n to: '/settings/webhooks/create',\n exact: true,\n },\n {\n async Component() {\n const component = await import('./pages/Webhooks/ProtectedEditView');\n\n return component;\n },\n to: '/settings/webhooks/:id',\n exact: true,\n },\n {\n async Component() {\n const component = await import('./pages/Webhooks/ProtectedListView');\n\n return component;\n },\n to: '/settings/webhooks',\n exact: true,\n },\n {\n async Component() {\n const component = await import('./pages/ApiTokens/ProtectedListView');\n\n return component;\n },\n to: '/settings/api-tokens',\n exact: true,\n },\n {\n async Component() {\n const component = await import('./pages/ApiTokens/ProtectedCreateView');\n\n return component;\n },\n to: '/settings/api-tokens/create',\n exact: true,\n },\n {\n async Component() {\n const component = await import('./pages/ApiTokens/ProtectedEditView');\n\n return component;\n },\n to: '/settings/api-tokens/:id',\n exact: true,\n },\n {\n async Component() {\n const component = await import('./pages/TransferTokens/ProtectedCreateView');\n\n return component;\n },\n to: '/settings/transfer-tokens/create',\n exact: true,\n },\n {\n async Component() {\n const component = await import('./pages/TransferTokens/ProtectedListView');\n\n return component;\n },\n to: '/settings/transfer-tokens',\n exact: true,\n },\n {\n async Component() {\n const component = await import('./pages/TransferTokens/ProtectedEditView');\n\n return component;\n },\n to: '/settings/transfer-tokens/:id',\n exact: true,\n },\n {\n async Component() {\n const component = await import('./pages/AuditLogs/SalesPage');\n\n return component;\n },\n to: '/settings/purchase-audit-logs',\n exact: true,\n },\n {\n async Component() {\n const component = await import('./pages/ReviewWorkflows/SalesPage');\n\n return component;\n },\n to: '/settings/purchase-review-workflows',\n exact: true,\n },\n {\n async Component() {\n const component = await import('./pages/SingleSignOn/SalesPage');\n\n return component;\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","/* eslint-disable consistent-return */\n/*\n *\n * LogoModalStepper reducer\n *\n */\n\nimport produce from 'immer';\n\nconst initialState = {\n localImage: undefined,\n};\n\nconst reducer = (state = initialState, action) =>\n produce(state, (draftState) => {\n switch (action.type) {\n case 'SET_LOCAL_IMAGE': {\n draftState.localImage = action.value;\n break;\n }\n default: {\n return draftState;\n }\n }\n });\n\nexport default reducer;\nexport { initialState };\n","import React, { useReducer } from 'react';\n\nimport { ModalHeader, ModalLayout, Typography } from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport reducer, { initialState } from './reducer';\n\nconst LogoModalStepper = ({\n onChangeLogo,\n customLogo,\n goTo,\n Component,\n modalTitle,\n next,\n prev,\n currentStep,\n}) => {\n const [{ localImage }, dispatch] = useReducer(reducer, initialState);\n const { formatMessage } = useIntl();\n\n const setLocalImage = (asset) => {\n dispatch({\n type: 'SET_LOCAL_IMAGE',\n value: asset,\n });\n };\n\n const handleCloseModal = () => {\n goTo(null);\n };\n\n if (!currentStep) {\n return null;\n }\n\n return (\n <ModalLayout labelledBy=\"modal\" onClose={handleCloseModal}>\n <ModalHeader>\n <Typography fontWeight=\"bold\" as=\"h2\" id=\"modal\">\n {formatMessage(modalTitle)}\n </Typography>\n </ModalHeader>\n <Component\n setLocalImage={setLocalImage}\n goTo={goTo}\n next={next}\n prev={prev}\n onClose={handleCloseModal}\n asset={localImage || customLogo}\n onChangeLogo={onChangeLogo}\n />\n </ModalLayout>\n );\n};\n\nLogoModalStepper.defaultProps = {\n Component: undefined,\n currentStep: undefined,\n customLogo: undefined,\n modalTitle: undefined,\n next: null,\n prev: null,\n};\n\nLogoModalStepper.propTypes = {\n Component: PropTypes.elementType,\n currentStep: PropTypes.string,\n customLogo: PropTypes.shape({\n name: PropTypes.string,\n url: PropTypes.string,\n width: PropTypes.number,\n height: PropTypes.number,\n ext: PropTypes.string,\n }),\n goTo: PropTypes.func.isRequired,\n modalTitle: PropTypes.shape({\n id: PropTypes.string,\n defaultMessage: PropTypes.string,\n }),\n next: PropTypes.string,\n onChangeLogo: PropTypes.func.isRequired,\n prev: PropTypes.string,\n};\n\nexport default LogoModalStepper;\n","/* eslint-disable consistent-return */\n/*\n *\n * LogoInput reducer\n *\n */\n\nimport produce from 'immer';\n\nconst initialState = {\n currentStep: undefined,\n};\n\nconst reducer = (state = initialState, action) =>\n produce(state, (draftState) => {\n switch (action.type) {\n case 'GO_TO': {\n draftState.currentStep = action.to;\n break;\n }\n default: {\n return draftState;\n }\n }\n });\n\nexport default reducer;\nexport { initialState };\n","import { ACCEPTED_FORMAT, DIMENSION, SIZE } from './constants';\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\nconst getFileDimensions = (file) => {\n return new Promise((resolve) => {\n const reader = new FileReader();\n reader.onload = () => {\n const img = new Image();\n img.onload = function () {\n resolve({ width: img.width, height: img.height });\n };\n img.src = reader.result;\n };\n reader.readAsDataURL(file);\n });\n};\n\nconst rawFileToAsset = (rawFile, fileDimensions) => {\n return {\n ext: rawFile.name.split('.').pop(),\n size: rawFile.size / 1000,\n name: rawFile.name,\n url: URL.createObjectURL(rawFile),\n rawFile,\n width: fileDimensions.width,\n height: fileDimensions.height,\n };\n};\n\nexport const parseFileMetadatas = async (file) => {\n let error;\n\n const isFormatAuthorized = ACCEPTED_FORMAT.includes(file.type);\n\n if (!isFormatAuthorized) {\n error = new Error('File format');\n error.displayMessage = FILE_FORMAT_ERROR_MESSAGE;\n\n throw error;\n }\n\n const fileDimensions = await getFileDimensions(file);\n\n const areDimensionsAuthorized =\n fileDimensions.width <= DIMENSION && fileDimensions.height <= DIMENSION;\n\n if (!areDimensionsAuthorized) {\n error = new Error('File sizing');\n error.displayMessage = FILE_SIZING_ERROR_MESSAGE;\n\n throw error;\n }\n\n const asset = rawFileToAsset(file, fileDimensions);\n\n const isSizeAuthorized = asset.size <= SIZE;\n\n if (!isSizeAuthorized) {\n error = new Error('File sizing');\n error.displayMessage = FILE_SIZING_ERROR_MESSAGE;\n\n throw error;\n }\n\n return asset;\n};\n","import React, { useRef, useState } from 'react';\n\nimport {\n Box,\n Button,\n Field,\n FieldError,\n FieldInput,\n Flex,\n Icon,\n ModalFooter,\n Typography,\n} from '@strapi/design-system';\nimport { PicturePlus } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { ACCEPTED_FORMAT, DIMENSION, SIZE } from '../../utils/constants';\nimport { parseFileMetadatas } from '../../utils/parseFileMetadatas';\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\nconst FromComputerForm = ({ setLocalImage, goTo, next, onClose }) => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = useState(false);\n const [fileError, setFileError] = useState(undefined);\n const inputRef = useRef(null);\n\n const handleDragEnter = () => setDragOver(true);\n const handleDragLeave = () => setDragOver(false);\n\n const handleClick = (e) => {\n e.preventDefault();\n inputRef.current.click();\n };\n\n const handleChange = async () => {\n handleDragLeave();\n const file = inputRef.current.files[0];\n\n if (!file) {\n return;\n }\n\n try {\n const asset = await parseFileMetadatas(file);\n setLocalImage(asset);\n goTo(next);\n } catch (err) {\n if (err.displayMessage) {\n setFileError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n inputRef.current.focus();\n } else {\n throw err;\n }\n }\n };\n\n const getBorderColor = () => {\n if (dragOver) {\n return 'primary500';\n }\n if (fileError) {\n return 'danger600';\n }\n\n return 'neutral300';\n };\n\n return (\n <>\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Field name=\"logo-upload\" error={fileError}>\n <label htmlFor=\"logo-upload\">\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={getBorderColor()}\n borderStyle=\"dashed\"\n borderWidth=\"1px\"\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n >\n <Icon\n color=\"primary600\"\n width={`${60 / 16}rem`}\n height={`${60 / 16}rem`}\n as={PicturePlus}\n aria-hidden\n />\n\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" as=\"span\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.drag-drop',\n defaultMessage: 'Drag and Drop here or',\n })}\n </Typography>\n </Box>\n\n <FileInput\n accept={ACCEPTED_FORMAT}\n cursor=\"pointer\"\n as=\"input\"\n type=\"file\"\n name=\"files\"\n tabIndex={-1}\n zIndex={1}\n onChange={handleChange}\n ref={inputRef}\n id=\"logo-upload\"\n />\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\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 </label>\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\nFromComputerForm.defaultProps = {\n next: null,\n};\n\nFromComputerForm.propTypes = {\n goTo: PropTypes.func.isRequired,\n next: PropTypes.string,\n onClose: PropTypes.func.isRequired,\n setLocalImage: PropTypes.func.isRequired,\n};\n\nexport default FromComputerForm;\n","import { getFetchClient } from '@strapi/helper-plugin';\n\nconst urlToFile = async (url) => {\n try {\n const { get } = getFetchClient();\n const res = await get(url, { responseType: 'blob', timeout: 8000 });\n const loadedFile = new File([res.data], res.config.url, {\n type: res.headers['content-type'],\n });\n\n return loadedFile;\n } catch (err) {\n err.displayMessage = {\n id: 'Settings.application.customization.modal.upload.error-network',\n defaultMessage: 'Network error',\n };\n\n throw err;\n }\n};\n\nexport default urlToFile;\n","import React, { useState } from 'react';\n\nimport { Box, Button, ModalFooter, TextInput } from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { DIMENSION, SIZE } from '../../utils/constants';\nimport { parseFileMetadatas } from '../../utils/parseFileMetadatas';\nimport urlToFile from '../../utils/urlToFile';\n\nconst FromUrlForm = ({ goTo, next, onClose, setLocalImage }) => {\n const { formatMessage } = useIntl();\n const [logoUrl, setLogoUrl] = useState('');\n const [error, setError] = useState(null);\n\n const handleChange = (e) => {\n setLogoUrl(e.target.value);\n };\n\n const handleSubmit = async () => {\n try {\n const file = await urlToFile(logoUrl);\n const asset = await parseFileMetadatas(file);\n\n setLocalImage(asset);\n goTo(next);\n } catch (err) {\n if (err.displayMessage) {\n setError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n } else {\n throw err;\n }\n }\n };\n\n return (\n <form\n onSubmit={(e) => {\n e.preventDefault();\n handleSubmit();\n }}\n >\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\nFromUrlForm.defaultProps = {\n next: null,\n};\n\nFromUrlForm.propTypes = {\n goTo: PropTypes.func.isRequired,\n next: PropTypes.string,\n onClose: PropTypes.func.isRequired,\n setLocalImage: PropTypes.func.isRequired,\n};\n\nexport default FromUrlForm;\n","import React from 'react';\n\nimport { Box, Divider, Tab, TabGroup, TabPanel, TabPanels, Tabs } from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport FromComputerForm from './FromComputerForm';\nimport FromUrlForm from './FromUrlForm';\n\nconst AddLogoDialog = ({ setLocalImage, goTo, next, onClose }) => {\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\n <Divider />\n </Box>\n <TabPanels>\n <TabPanel>\n <FromComputerForm\n onClose={onClose}\n setLocalImage={setLocalImage}\n goTo={goTo}\n next={next}\n />\n </TabPanel>\n <TabPanel>\n <FromUrlForm onClose={onClose} setLocalImage={setLocalImage} goTo={goTo} next={next} />\n </TabPanel>\n </TabPanels>\n </TabGroup>\n );\n};\n\nAddLogoDialog.defaultProps = {\n next: null,\n};\n\nAddLogoDialog.propTypes = {\n goTo: PropTypes.func.isRequired,\n next: PropTypes.string,\n onClose: PropTypes.func.isRequired,\n setLocalImage: PropTypes.func.isRequired,\n};\n\nexport default AddLogoDialog;\n","import React from 'react';\n\nimport {\n Card,\n CardAsset,\n CardBadge,\n CardBody,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n} from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nconst ImageCardAsset = ({ asset }) => {\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\nImageCardAsset.propTypes = {\n asset: PropTypes.shape({\n name: PropTypes.string,\n url: PropTypes.string,\n width: PropTypes.number,\n height: PropTypes.number,\n ext: PropTypes.string,\n }).isRequired,\n};\n\nexport default ImageCardAsset;\n","import React from 'react';\n\nimport { Box, Button, Flex, ModalFooter, Typography } from '@strapi/design-system';\nimport { pxToRem } from '@strapi/helper-plugin';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport ImageCardAsset from './ImageCardAsset';\n\nconst PendingLogoDialog = ({ onClose, asset, prev, next, goTo, setLocalImage, onChangeLogo }) => {\n const { formatMessage } = useIntl();\n\n const handleGoBack = () => {\n setLocalImage(undefined);\n goTo(prev);\n };\n\n const handleUpload = () => {\n onChangeLogo(asset);\n goTo(next);\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)}>{asset.url ? <ImageCardAsset asset={asset} /> : null}</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\nPendingLogoDialog.defaultProps = {\n next: null,\n prev: null,\n};\n\nPendingLogoDialog.propTypes = {\n goTo: PropTypes.func.isRequired,\n asset: PropTypes.shape({\n name: PropTypes.string,\n url: PropTypes.string,\n width: PropTypes.number,\n height: PropTypes.number,\n ext: PropTypes.string,\n }).isRequired,\n next: PropTypes.string,\n onClose: PropTypes.func.isRequired,\n onChangeLogo: PropTypes.func.isRequired,\n prev: PropTypes.string,\n setLocalImage: PropTypes.func.isRequired,\n};\n\nexport default PendingLogoDialog;\n","import AddLogoDialog from '../LogoModalStepper/AddLogoDialog';\nimport PendingLogoDialog from '../LogoModalStepper/PendingLogoDialog';\n\nconst stepper = {\n upload: {\n Component: AddLogoDialog,\n modalTitle: {\n id: 'Settings.application.customization.modal.upload',\n defaultMessage: 'Upload logo',\n },\n next: 'pending',\n prev: null,\n },\n pending: {\n Component: PendingLogoDialog,\n modalTitle: {\n id: 'Settings.application.customization.modal.pending',\n defaultMessage: 'Pending logo',\n },\n next: null,\n prev: 'upload',\n },\n};\n\nexport default stepper;\n","import React, { useReducer } from 'react';\n\nimport {\n Box,\n CarouselActions,\n CarouselInput,\n CarouselSlide,\n IconButton,\n} from '@strapi/design-system';\nimport { Plus, Refresh } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport LogoModalStepper from '../LogoModalStepper';\n\nimport reducer, { initialState } from './reducer';\nimport stepper from './stepper';\n\nconst LogoInput = ({\n canUpdate,\n customLogo,\n defaultLogo,\n hint,\n label,\n onChangeLogo,\n onResetLogo,\n}) => {\n const [{ currentStep }, dispatch] = useReducer(reducer, initialState);\n const { Component, next, prev, modalTitle } = stepper[currentStep] || {};\n const { formatMessage } = useIntl();\n\n const goTo = (to) => {\n dispatch({\n type: 'GO_TO',\n to,\n });\n };\n\n return (\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={() => goTo(customLogo ? 'pending' : 'upload')}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.change-action',\n defaultMessage: 'Change logo',\n })}\n icon={<Plus />}\n />\n {customLogo && (\n <IconButton\n disabled={!canUpdate}\n onClick={onResetLogo}\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 <LogoModalStepper\n Component={Component}\n currentStep={currentStep}\n onChangeLogo={onChangeLogo}\n customLogo={customLogo}\n goTo={goTo}\n next={next}\n prev={prev}\n modalTitle={modalTitle}\n />\n </>\n );\n};\n\nLogoInput.defaultProps = {\n canUpdate: false,\n customLogo: null,\n hint: null,\n};\n\nLogoInput.propTypes = {\n canUpdate: PropTypes.bool,\n customLogo: PropTypes.shape({\n url: PropTypes.string,\n name: PropTypes.string,\n }),\n label: PropTypes.string.isRequired,\n hint: PropTypes.string,\n defaultLogo: PropTypes.string.isRequired,\n onChangeLogo: PropTypes.func.isRequired,\n onResetLogo: PropTypes.func.isRequired,\n};\n\nexport default LogoInput;\n","import merge from 'lodash/merge';\n\nconst init = (initialState, projectSettingsStored) => {\n const copyInitialState = merge(initialState, {\n menuLogo: {\n display: projectSettingsStored.menuLogo,\n },\n authLogo: {\n display: projectSettingsStored.authLogo,\n },\n });\n\n return copyInitialState;\n};\n\nexport default init;\n","/* eslint-disable consistent-return */\n/*\n *\n * ApplicationInfosPage Form reducer\n *\n */\n\nimport produce from 'immer';\n\nconst initialState = {\n menuLogo: {\n display: null,\n submit: {\n rawFile: null,\n isReset: false,\n },\n },\n authLogo: {\n display: null,\n submit: {\n rawFile: null,\n isReset: false,\n },\n },\n};\n\nconst reducer = (state = initialState, action) =>\n produce(state, (draftState) => {\n switch (action.type) {\n case 'SET_CUSTOM_MENU_LOGO': {\n draftState.menuLogo.display = action.value;\n draftState.menuLogo.submit.rawFile = action.value.rawFile;\n break;\n }\n case 'SET_CUSTOM_AUTH_LOGO': {\n draftState.authLogo.display = action.value;\n draftState.authLogo.submit.rawFile = action.value.rawFile;\n break;\n }\n case 'RESET_CUSTOM_MENU_LOGO': {\n draftState.menuLogo.display = null;\n draftState.menuLogo.submit = {\n rawFile: null,\n isReset: true,\n };\n break;\n }\n case 'RESET_CUSTOM_AUTH_LOGO': {\n draftState.authLogo.display = null;\n draftState.authLogo.submit = {\n rawFile: null,\n isReset: true,\n };\n break;\n }\n default: {\n return draftState;\n }\n }\n });\n\nexport default reducer;\nexport { initialState };\n","import React, { forwardRef, useImperativeHandle, useReducer } from 'react';\n\nimport { Box, Grid, GridItem, Typography } from '@strapi/design-system';\nimport { useTracking } from '@strapi/helper-plugin';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { useConfiguration } from '../../../../../../contexts/configuration';\nimport { DIMENSION, SIZE } from '../../utils/constants';\nimport LogoInput from '../LogoInput';\n\nimport init from './init';\nimport reducer, { initialState } from './reducer';\n\nconst CustomizationInfos = forwardRef(({ canUpdate, projectSettingsStored }, ref) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const {\n logos: { menu, auth },\n } = useConfiguration();\n const [{ menuLogo, authLogo }, dispatch] = useReducer(reducer, initialState, () =>\n init(initialState, projectSettingsStored)\n );\n\n const handleChangeMenuLogo = (asset) => {\n dispatch({\n type: 'SET_CUSTOM_MENU_LOGO',\n value: asset,\n });\n };\n\n const handleResetMenuLogo = () => {\n trackUsage('didClickResetLogo', {\n logo: 'menu',\n });\n\n dispatch({\n type: 'RESET_CUSTOM_MENU_LOGO',\n });\n };\n\n const handleChangeAuthLogo = (asset) => {\n dispatch({\n type: 'SET_CUSTOM_AUTH_LOGO',\n value: asset,\n });\n };\n\n const handleResetAuthLogo = () => {\n trackUsage('didClickResetLogo', {\n logo: 'auth',\n });\n\n dispatch({\n type: 'RESET_CUSTOM_AUTH_LOGO',\n });\n };\n\n useImperativeHandle(ref, () => ({\n getValues: () => ({ menuLogo: menuLogo.submit, authLogo: authLogo.submit }),\n }));\n\n return (\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: '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={menuLogo.display}\n defaultLogo={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={handleChangeMenuLogo}\n onResetLogo={handleResetMenuLogo}\n />\n </GridItem>\n <GridItem col={6} s={12}>\n <LogoInput\n canUpdate={canUpdate}\n customLogo={authLogo.display}\n defaultLogo={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={handleChangeAuthLogo}\n onResetLogo={handleResetAuthLogo}\n />\n </GridItem>\n </Grid>\n </Box>\n );\n});\n\nCustomizationInfos.defaultProps = {\n canUpdate: false,\n projectSettingsStored: null,\n};\n\nCustomizationInfos.propTypes = {\n canUpdate: PropTypes.bool,\n projectSettingsStored: PropTypes.shape({\n menuLogo: PropTypes.shape({\n url: PropTypes.string,\n name: PropTypes.string,\n }),\n }),\n};\n\nexport default CustomizationInfos;\n","const getFormData = (data) => {\n const formData = new FormData();\n\n Object.entries(data).forEach(([key, value]) => {\n if (value && value.rawFile instanceof File) {\n formData.append(key, value.rawFile);\n }\n\n if (value && value.isReset) {\n formData.append(key, null);\n }\n });\n\n return formData;\n};\n\nexport default getFormData;\n","import * as React from 'react';\n\nimport {\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n Layout,\n Link,\n Loader,\n Main,\n Typography,\n} from '@strapi/design-system';\nimport {\n prefixFileUrlWithBackendUrl,\n SettingsPageTitle,\n useAPIErrorHandler,\n useAppInfo,\n useFetchClient,\n useFocusWhenNavigate,\n useNotification,\n useRBAC,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Check, ExternalLink } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery } from 'react-query';\nimport { useSelector } from 'react-redux';\n\nimport { useConfiguration } from '../../../../contexts/configuration';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { selectAdminPermissions } from '../../../../selectors';\n\nimport CustomizationInfos from './components/CustomizationInfos';\nimport getFormData from './utils/getFormData';\n\nconst AdminSeatInfoCE = () => null;\n\nconst ApplicationInfosPage = () => {\n const inputsRef = React.useRef();\n const toggleNotification = useNotification();\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { get, post } = useFetchClient();\n const { updateProjectSettings } = useConfiguration();\n const permissions = useSelector(selectAdminPermissions);\n const { formatAPIError } = useAPIErrorHandler();\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/ApplicationInfosPage/components/AdminSeatInfo'\n )\n ).AdminSeatInfoEE\n );\n\n const {\n allowedActions: { canRead, canUpdate },\n } = useRBAC(permissions.settings['project-settings']);\n\n useFocusWhenNavigate();\n\n const { data, isLoading } = useQuery(\n ['project-settings'],\n async () => {\n const { data } = await get('/admin/project-settings');\n\n return data;\n },\n {\n cacheTime: 0,\n enabled: canRead,\n select(data) {\n return {\n ...data,\n\n authLogo: data.authLogo\n ? {\n ...data.authLogo,\n url: prefixFileUrlWithBackendUrl(data.authLogo.url),\n }\n : data.authLogo,\n\n menuLogo: data.menuLogo\n ? {\n ...data.menuLogo,\n url: prefixFileUrlWithBackendUrl(data.menuLogo.url),\n }\n : data.menuLogo,\n };\n },\n }\n );\n\n const submitMutation = useMutation(\n (body) =>\n post('/admin/project-settings', body, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n }),\n {\n onError(error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n },\n\n async onSuccess(data) {\n const { menuLogo, authLogo } = data;\n\n updateProjectSettings({ menuLogo: menuLogo?.url, authLogo: authLogo?.url });\n\n if (menuLogo?.rawFile) {\n trackUsage('didChangeLogo', {\n logo: 'menu',\n });\n }\n\n if (authLogo?.rawFile) {\n trackUsage('didChangeLogo', {\n logo: 'auth',\n });\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'app', defaultMessage: 'Saved' }),\n });\n },\n }\n );\n\n const handleSubmit = (e) => {\n e.preventDefault();\n\n submitMutation.mutate(getFormData(inputsRef.current.getValues()));\n };\n\n // block rendering until the EE component is fully loaded\n if (!AdminSeatInfo) {\n return null;\n }\n\n return (\n <Layout>\n {/* TODO: Add missing translation */}\n <SettingsPageTitle name=\"Application\" />\n <Main>\n {isLoading ? (\n <Loader>\n {formatMessage({\n id: 'Settings.application.isLoading',\n defaultMessage: 'Loading',\n })}\n </Loader>\n ) : (\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 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 isExternal\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\n href=\"https://strapi.io/pricing-self-hosted\"\n isExternal\n endIcon={<ExternalLink />}\n >\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 && data && (\n <CustomizationInfos\n canUpdate={canUpdate}\n ref={inputsRef}\n projectSettingsStored={data}\n />\n )}\n </Flex>\n </ContentLayout>\n </form>\n )}\n </Main>\n </Layout>\n );\n};\n\nexport default ApplicationInfosPage;\n","import { MenuItem } from '@strapi/helper-plugin';\n\ninterface UniqueRouteProps\n extends Pick<MenuItem, 'to' | 'exact'>,\n Required<Pick<MenuItem, 'Component'>> {\n key: string;\n}\n\nexport function makeUniqueRoutes(routes: UniqueRouteProps[]) {\n return routes.filter(\n (route, index, refArray) => refArray.findIndex((obj) => obj.key === route.key) === index\n );\n}\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 } from './constants';\nimport ApplicationInfosPage from './pages/ApplicationInfosPage';\n// TODO: inline utility once the file is converted to TypeScript\nimport { makeUniqueRoutes } from './utils/makeUniqueRoutes';\n\nexport function SettingsPage() {\n const { settingId } = useParams();\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(\n routes.map(({ to, Component, exact }) => 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={ApplicationInfosPage} exact />\n {adminRoutes}\n {pluginsRoutes}\n </Switch>\n </Layout>\n );\n}\n"],"names":["ceLinks","sections","permission","initialState","reducer","data"],"mappings":"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"}
|
|
@@ -1,359 +0,0 @@
|
|
|
1
|
-
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useFetchClient, useAPIErrorHandler, useNotification, useRBAC, ConfirmDialog, CheckPagePermissions } from "@strapi/helper-plugin";
|
|
3
|
-
import { useSelector, useDispatch } from "react-redux";
|
|
4
|
-
import { s as selectAdminPermissions } from "./AuthenticatedApp-722b2e84.mjs";
|
|
5
|
-
import * as React from "react";
|
|
6
|
-
import { Button, Flex, Loader, Typography } from "@strapi/design-system";
|
|
7
|
-
import { Check } from "@strapi/icons";
|
|
8
|
-
import { useFormik, FormikProvider, Form } from "formik";
|
|
9
|
-
import set from "lodash/set";
|
|
10
|
-
import { useIntl } from "react-intl";
|
|
11
|
-
import { useMutation } from "react-query";
|
|
12
|
-
import { useParams } from "react-router-dom";
|
|
13
|
-
import { u as useAdminRoles } from "./useAdminRoles-7ab5d521.mjs";
|
|
14
|
-
import { u as useContentTypes } from "./useContentTypes-53b449bb.mjs";
|
|
15
|
-
import { j as selectServerState, a as selectIsWorkflowDirty, b as selectCurrentWorkflow, k as selectHasDeletedServerStages, c as selectRoles, s as selectIsLoading, v as validateWorkflow, u as useInjectReducer, l as setWorkflow, d as setWorkflows, e as setContentTypes, f as setRoles, g as setIsLoading, r as resetWorkflow, W as WorkflowAttributes, S as Stages, i as reducer } from "./validateWorkflow-022b5005.mjs";
|
|
16
|
-
import { u as useLicenseLimits } from "./useLicenseLimits-13a102d3.mjs";
|
|
17
|
-
import { D as DragLayerRendered, H as Header, B as Back, R as Root } from "./Layout-72fa2ace.mjs";
|
|
18
|
-
import { L as LimitsModal, T as Title, B as Body } from "./LimitsModal-da04700e.mjs";
|
|
19
|
-
import { C as CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME, a as CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME, R as REDUX_NAMESPACE } from "./constants-8092eeb5.mjs";
|
|
20
|
-
import { u as useReviewWorkflows } from "./useReviewWorkflows-9e6b8986.mjs";
|
|
21
|
-
import "semver/functions/lt";
|
|
22
|
-
import "semver/functions/valid";
|
|
23
|
-
import "./index-3c67c00b.mjs";
|
|
24
|
-
import "react-dom/client";
|
|
25
|
-
import "invariant";
|
|
26
|
-
import "lodash/isFunction";
|
|
27
|
-
import "lodash/merge";
|
|
28
|
-
import "lodash/pick";
|
|
29
|
-
import "react-helmet";
|
|
30
|
-
import "@radix-ui/react-context";
|
|
31
|
-
import "@strapi/design-system/v2";
|
|
32
|
-
import "lodash/camelCase";
|
|
33
|
-
import "styled-components";
|
|
34
|
-
import "yup";
|
|
35
|
-
import "lodash/defaultsDeep";
|
|
36
|
-
import "lodash/omit";
|
|
37
|
-
import "qs";
|
|
38
|
-
import "immer";
|
|
39
|
-
import "lodash/get";
|
|
40
|
-
import "@reduxjs/toolkit";
|
|
41
|
-
import "react-dnd";
|
|
42
|
-
import "react-dnd-html5-backend";
|
|
43
|
-
import "lodash/cloneDeep";
|
|
44
|
-
import "axios";
|
|
45
|
-
import "prop-types";
|
|
46
|
-
import "./schema-60d9880c.mjs";
|
|
47
|
-
import "lodash/isBoolean";
|
|
48
|
-
import "lodash/isEmpty";
|
|
49
|
-
import "lodash/isNaN";
|
|
50
|
-
import "lodash/toNumber";
|
|
51
|
-
import "lodash/isObject";
|
|
52
|
-
import "./colors-e7489dd4.mjs";
|
|
53
|
-
import "lodash/isEqual";
|
|
54
|
-
import "./DragLayer-bff96835.mjs";
|
|
55
|
-
function ReviewWorkflowsEditView() {
|
|
56
|
-
const { workflowId } = useParams();
|
|
57
|
-
const permissions = useSelector(selectAdminPermissions);
|
|
58
|
-
const { formatMessage } = useIntl();
|
|
59
|
-
const dispatch = useDispatch();
|
|
60
|
-
const { put } = useFetchClient();
|
|
61
|
-
const { formatAPIError } = useAPIErrorHandler();
|
|
62
|
-
const toggleNotification = useNotification();
|
|
63
|
-
const { isLoading: isLoadingWorkflow, meta, workflows, refetch } = useReviewWorkflows();
|
|
64
|
-
const { collectionTypes, singleTypes, isLoading: isLoadingContentTypes } = useContentTypes();
|
|
65
|
-
const serverState = useSelector(selectServerState);
|
|
66
|
-
const currentWorkflowIsDirty = useSelector(selectIsWorkflowDirty);
|
|
67
|
-
const currentWorkflow = useSelector(selectCurrentWorkflow);
|
|
68
|
-
const hasDeletedServerStages = useSelector(selectHasDeletedServerStages);
|
|
69
|
-
const roles = useSelector(selectRoles);
|
|
70
|
-
const isLoading = useSelector(selectIsLoading);
|
|
71
|
-
const {
|
|
72
|
-
allowedActions: { canDelete, canUpdate }
|
|
73
|
-
} = useRBAC(permissions.settings["review-workflows"]);
|
|
74
|
-
const [savePrompts, setSavePrompts] = React.useState({});
|
|
75
|
-
const { getFeature, isLoading: isLicenseLoading } = useLicenseLimits();
|
|
76
|
-
const { isLoading: isLoadingRoles, roles: serverRoles } = useAdminRoles(void 0, {
|
|
77
|
-
retry: false
|
|
78
|
-
});
|
|
79
|
-
const [showLimitModal, setShowLimitModal] = React.useState(false);
|
|
80
|
-
const [initialErrors, setInitialErrors] = React.useState(null);
|
|
81
|
-
const workflow = workflows.find((workflow2) => workflow2.id === parseInt(workflowId, 10));
|
|
82
|
-
const contentTypesFromOtherWorkflows = workflows.filter((workflow2) => workflow2.id !== parseInt(workflowId, 10)).flatMap((workflow2) => workflow2.contentTypes);
|
|
83
|
-
const { mutateAsync, isLoading: isLoadingMutation } = useMutation(
|
|
84
|
-
async ({ workflow: workflow2 }) => {
|
|
85
|
-
const {
|
|
86
|
-
data: { data }
|
|
87
|
-
} = await put(`/admin/review-workflows/workflows/${workflow2.id}`, {
|
|
88
|
-
data: workflow2
|
|
89
|
-
});
|
|
90
|
-
return data;
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
onSuccess() {
|
|
94
|
-
toggleNotification({
|
|
95
|
-
type: "success",
|
|
96
|
-
message: { id: "notification.success.saved", defaultMessage: "Saved" }
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
);
|
|
101
|
-
const updateWorkflow = async (workflow2) => {
|
|
102
|
-
setInitialErrors(null);
|
|
103
|
-
try {
|
|
104
|
-
const res = await mutateAsync({
|
|
105
|
-
workflow: {
|
|
106
|
-
...workflow2,
|
|
107
|
-
// compare permissions of stages and only submit them if at least one has
|
|
108
|
-
// changed; this enables partial updates e.g. for users who don't have
|
|
109
|
-
// permissions to see roles
|
|
110
|
-
stages: workflow2.stages.map((stage) => {
|
|
111
|
-
let hasUpdatedPermissions = true;
|
|
112
|
-
const serverStage = serverState.workflow.stages.find(
|
|
113
|
-
(serverStage2) => serverStage2.id === stage?.id
|
|
114
|
-
);
|
|
115
|
-
if (serverStage) {
|
|
116
|
-
hasUpdatedPermissions = serverStage.permissions?.length !== stage.permission?.length || !serverStage.permissions.every(
|
|
117
|
-
(serverPermission) => !!stage.permissions.find(
|
|
118
|
-
(permission) => permission.role === serverPermission.role
|
|
119
|
-
)
|
|
120
|
-
);
|
|
121
|
-
}
|
|
122
|
-
return {
|
|
123
|
-
...stage,
|
|
124
|
-
permissions: hasUpdatedPermissions ? stage.permissions : void 0
|
|
125
|
-
};
|
|
126
|
-
})
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
return res;
|
|
130
|
-
} catch (error) {
|
|
131
|
-
if (error.response.data?.error?.name === "ValidationError" && error.response.data?.error?.details?.errors?.length > 0) {
|
|
132
|
-
setInitialErrors(
|
|
133
|
-
error.response.data?.error?.details?.errors.reduce((acc, error2) => {
|
|
134
|
-
set(acc, error2.path, error2.message);
|
|
135
|
-
return acc;
|
|
136
|
-
}, {})
|
|
137
|
-
);
|
|
138
|
-
}
|
|
139
|
-
toggleNotification({
|
|
140
|
-
type: "warning",
|
|
141
|
-
message: formatAPIError(error)
|
|
142
|
-
});
|
|
143
|
-
return null;
|
|
144
|
-
}
|
|
145
|
-
};
|
|
146
|
-
const submitForm = async () => {
|
|
147
|
-
await updateWorkflow(currentWorkflow);
|
|
148
|
-
await refetch();
|
|
149
|
-
setSavePrompts({});
|
|
150
|
-
};
|
|
151
|
-
const handleConfirmDeleteDialog = async () => {
|
|
152
|
-
await submitForm();
|
|
153
|
-
};
|
|
154
|
-
const handleConfirmClose = () => {
|
|
155
|
-
setSavePrompts({});
|
|
156
|
-
};
|
|
157
|
-
const formik = useFormik({
|
|
158
|
-
enableReinitialize: true,
|
|
159
|
-
initialErrors,
|
|
160
|
-
initialValues: currentWorkflow,
|
|
161
|
-
async onSubmit() {
|
|
162
|
-
const isContentTypeReassignment = currentWorkflow.contentTypes.some(
|
|
163
|
-
(contentType) => contentTypesFromOtherWorkflows.includes(contentType)
|
|
164
|
-
);
|
|
165
|
-
if (limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] && meta?.workflowCount > parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10)) {
|
|
166
|
-
setShowLimitModal("workflow");
|
|
167
|
-
} else if (limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] && currentWorkflow.stages.length > parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10)) {
|
|
168
|
-
setShowLimitModal("stage");
|
|
169
|
-
} else if (hasDeletedServerStages || isContentTypeReassignment) {
|
|
170
|
-
if (hasDeletedServerStages) {
|
|
171
|
-
setSavePrompts((prev) => ({ ...prev, hasDeletedServerStages: true }));
|
|
172
|
-
}
|
|
173
|
-
if (isContentTypeReassignment) {
|
|
174
|
-
setSavePrompts((prev) => ({ ...prev, hasReassignedContentTypes: true }));
|
|
175
|
-
}
|
|
176
|
-
} else {
|
|
177
|
-
submitForm();
|
|
178
|
-
}
|
|
179
|
-
},
|
|
180
|
-
validate(values) {
|
|
181
|
-
return validateWorkflow({ values, formatMessage });
|
|
182
|
-
}
|
|
183
|
-
});
|
|
184
|
-
useInjectReducer(REDUX_NAMESPACE, reducer);
|
|
185
|
-
const limits = getFeature("review-workflows");
|
|
186
|
-
React.useEffect(() => {
|
|
187
|
-
if (!isLoadingWorkflow) {
|
|
188
|
-
dispatch(setWorkflow({ workflow }));
|
|
189
|
-
dispatch(setWorkflows({ workflows }));
|
|
190
|
-
}
|
|
191
|
-
if (!isLoadingContentTypes) {
|
|
192
|
-
dispatch(setContentTypes({ collectionTypes, singleTypes }));
|
|
193
|
-
}
|
|
194
|
-
if (!isLoadingRoles) {
|
|
195
|
-
dispatch(setRoles(serverRoles));
|
|
196
|
-
}
|
|
197
|
-
dispatch(setIsLoading(isLoadingWorkflow || isLoadingContentTypes || isLoadingRoles));
|
|
198
|
-
return () => {
|
|
199
|
-
dispatch(resetWorkflow());
|
|
200
|
-
};
|
|
201
|
-
}, [
|
|
202
|
-
collectionTypes,
|
|
203
|
-
dispatch,
|
|
204
|
-
isLoadingContentTypes,
|
|
205
|
-
isLoadingWorkflow,
|
|
206
|
-
isLoadingRoles,
|
|
207
|
-
serverRoles,
|
|
208
|
-
singleTypes,
|
|
209
|
-
workflow,
|
|
210
|
-
workflows
|
|
211
|
-
]);
|
|
212
|
-
React.useEffect(() => {
|
|
213
|
-
if (!isLoadingWorkflow && !isLicenseLoading) {
|
|
214
|
-
if (limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] && meta?.workflowCount > parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10)) {
|
|
215
|
-
setShowLimitModal("workflow");
|
|
216
|
-
} else if (limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] && currentWorkflow.stages.length > parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10)) {
|
|
217
|
-
setShowLimitModal("stage");
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}, [
|
|
221
|
-
currentWorkflow.stages.length,
|
|
222
|
-
isLicenseLoading,
|
|
223
|
-
isLoadingWorkflow,
|
|
224
|
-
limits,
|
|
225
|
-
meta?.workflowCount,
|
|
226
|
-
meta.workflowsTotal
|
|
227
|
-
]);
|
|
228
|
-
React.useEffect(() => {
|
|
229
|
-
if (!isLoading && roles.length === 0) {
|
|
230
|
-
toggleNotification({
|
|
231
|
-
blockTransition: true,
|
|
232
|
-
type: "warning",
|
|
233
|
-
message: formatMessage({
|
|
234
|
-
id: "Settings.review-workflows.stage.permissions.noPermissions.description",
|
|
235
|
-
defaultMessage: "You don’t have the permission to see roles"
|
|
236
|
-
})
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
}, [formatMessage, isLoading, roles, toggleNotification]);
|
|
240
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
241
|
-
/* @__PURE__ */ jsx(DragLayerRendered, {}),
|
|
242
|
-
/* @__PURE__ */ jsx(FormikProvider, { value: formik, children: /* @__PURE__ */ jsxs(Form, { onSubmit: formik.handleSubmit, children: [
|
|
243
|
-
/* @__PURE__ */ jsx(
|
|
244
|
-
Header,
|
|
245
|
-
{
|
|
246
|
-
navigationAction: /* @__PURE__ */ jsx(Back, { href: "/settings/review-workflows" }),
|
|
247
|
-
primaryAction: canUpdate && /* @__PURE__ */ jsx(
|
|
248
|
-
Button,
|
|
249
|
-
{
|
|
250
|
-
startIcon: /* @__PURE__ */ jsx(Check, {}),
|
|
251
|
-
type: "submit",
|
|
252
|
-
size: "M",
|
|
253
|
-
disabled: !currentWorkflowIsDirty,
|
|
254
|
-
loading: !Object.keys(savePrompts).length > 0 && isLoadingMutation,
|
|
255
|
-
children: formatMessage({
|
|
256
|
-
id: "global.save",
|
|
257
|
-
defaultMessage: "Save"
|
|
258
|
-
})
|
|
259
|
-
}
|
|
260
|
-
),
|
|
261
|
-
subtitle: !isLoading && formatMessage(
|
|
262
|
-
{
|
|
263
|
-
id: "Settings.review-workflows.page.subtitle",
|
|
264
|
-
defaultMessage: "{count, plural, one {# stage} other {# stages}}"
|
|
265
|
-
},
|
|
266
|
-
{ count: currentWorkflow.stages.length }
|
|
267
|
-
),
|
|
268
|
-
title: currentWorkflow.name
|
|
269
|
-
}
|
|
270
|
-
),
|
|
271
|
-
/* @__PURE__ */ jsx(Root, { children: isLoading ? /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Loader, { children: formatMessage({
|
|
272
|
-
id: "Settings.review-workflows.page.isLoading",
|
|
273
|
-
defaultMessage: "Workflow is loading"
|
|
274
|
-
}) }) }) : /* @__PURE__ */ jsxs(Flex, { alignItems: "stretch", direction: "column", gap: 7, children: [
|
|
275
|
-
/* @__PURE__ */ jsx(WorkflowAttributes, { canUpdate }),
|
|
276
|
-
/* @__PURE__ */ jsx(
|
|
277
|
-
Stages,
|
|
278
|
-
{
|
|
279
|
-
canDelete,
|
|
280
|
-
canUpdate,
|
|
281
|
-
stages: formik.values?.stages
|
|
282
|
-
}
|
|
283
|
-
)
|
|
284
|
-
] }) })
|
|
285
|
-
] }) }),
|
|
286
|
-
/* @__PURE__ */ jsx(
|
|
287
|
-
ConfirmDialog.Root,
|
|
288
|
-
{
|
|
289
|
-
isConfirmButtonLoading: isLoading,
|
|
290
|
-
isOpen: Object.keys(savePrompts).length > 0,
|
|
291
|
-
onToggleDialog: handleConfirmClose,
|
|
292
|
-
onConfirm: handleConfirmDeleteDialog,
|
|
293
|
-
children: /* @__PURE__ */ jsx(ConfirmDialog.Body, { children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 5, children: [
|
|
294
|
-
savePrompts.hasDeletedServerStages && /* @__PURE__ */ jsx(Typography, { textAlign: "center", variant: "omega", children: formatMessage({
|
|
295
|
-
id: "Settings.review-workflows.page.delete.confirm.stages.body",
|
|
296
|
-
defaultMessage: "All entries assigned to deleted stages will be moved to the previous stage."
|
|
297
|
-
}) }),
|
|
298
|
-
savePrompts.hasReassignedContentTypes && /* @__PURE__ */ jsx(Typography, { textAlign: "center", variant: "omega", children: formatMessage(
|
|
299
|
-
{
|
|
300
|
-
id: "Settings.review-workflows.page.delete.confirm.contentType.body",
|
|
301
|
-
defaultMessage: "{count} {count, plural, one {content-type} other {content-types}} {count, plural, one {is} other {are}} already mapped to {count, plural, one {another workflow} other {other workflows}}. If you save changes, {count, plural, one {this} other {these}} {count, plural, one {content-type} other {{count} content-types}} will no more be mapped to the {count, plural, one {another workflow} other {other workflows}} and all corresponding information will be removed."
|
|
302
|
-
},
|
|
303
|
-
{
|
|
304
|
-
count: contentTypesFromOtherWorkflows.filter(
|
|
305
|
-
(contentType) => currentWorkflow.contentTypes.includes(contentType)
|
|
306
|
-
).length
|
|
307
|
-
}
|
|
308
|
-
) }),
|
|
309
|
-
/* @__PURE__ */ jsx(Typography, { textAlign: "center", variant: "omega", children: formatMessage({
|
|
310
|
-
id: "Settings.review-workflows.page.delete.confirm.confirm",
|
|
311
|
-
defaultMessage: "Are you sure you want to save?"
|
|
312
|
-
}) })
|
|
313
|
-
] }) })
|
|
314
|
-
}
|
|
315
|
-
),
|
|
316
|
-
/* @__PURE__ */ jsxs(
|
|
317
|
-
LimitsModal,
|
|
318
|
-
{
|
|
319
|
-
isOpen: showLimitModal === "workflow",
|
|
320
|
-
onClose: () => setShowLimitModal(false),
|
|
321
|
-
children: [
|
|
322
|
-
/* @__PURE__ */ jsx(Title, { children: formatMessage({
|
|
323
|
-
id: "Settings.review-workflows.edit.page.workflows.limit.title",
|
|
324
|
-
defaultMessage: "You’ve reached the limit of workflows in your plan"
|
|
325
|
-
}) }),
|
|
326
|
-
/* @__PURE__ */ jsx(Body, { children: formatMessage({
|
|
327
|
-
id: "Settings.review-workflows.edit.page.workflows.limit.body",
|
|
328
|
-
defaultMessage: "Delete a workflow or contact Sales to enable more workflows."
|
|
329
|
-
}) })
|
|
330
|
-
]
|
|
331
|
-
}
|
|
332
|
-
),
|
|
333
|
-
/* @__PURE__ */ jsxs(
|
|
334
|
-
LimitsModal,
|
|
335
|
-
{
|
|
336
|
-
isOpen: showLimitModal === "stage",
|
|
337
|
-
onClose: () => setShowLimitModal(false),
|
|
338
|
-
children: [
|
|
339
|
-
/* @__PURE__ */ jsx(Title, { children: formatMessage({
|
|
340
|
-
id: "Settings.review-workflows.edit.page.stages.limit.title",
|
|
341
|
-
defaultMessage: "You have reached the limit of stages for this workflow in your plan"
|
|
342
|
-
}) }),
|
|
343
|
-
/* @__PURE__ */ jsx(Body, { children: formatMessage({
|
|
344
|
-
id: "Settings.review-workflows.edit.page.stages.limit.body",
|
|
345
|
-
defaultMessage: "Try deleting some stages or contact Sales to enable more stages."
|
|
346
|
-
}) })
|
|
347
|
-
]
|
|
348
|
-
}
|
|
349
|
-
)
|
|
350
|
-
] });
|
|
351
|
-
}
|
|
352
|
-
function index() {
|
|
353
|
-
const permissions = useSelector(selectAdminPermissions);
|
|
354
|
-
return /* @__PURE__ */ jsx(CheckPagePermissions, { permissions: permissions.settings["review-workflows"].main, children: /* @__PURE__ */ jsx(ReviewWorkflowsEditView, {}) });
|
|
355
|
-
}
|
|
356
|
-
export {
|
|
357
|
-
index as default
|
|
358
|
-
};
|
|
359
|
-
//# sourceMappingURL=index-06e97c47.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-06e97c47.mjs","sources":["../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/pages/EditView/EditView.js","../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/pages/EditView/index.js"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex, Loader, Typography } from '@strapi/design-system';\nimport {\n ConfirmDialog,\n useAPIErrorHandler,\n useFetchClient,\n useNotification,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { Check } from '@strapi/icons';\nimport { useFormik, Form, FormikProvider } from 'formik';\nimport set from 'lodash/set';\nimport { useIntl } from 'react-intl';\nimport { useMutation } from 'react-query';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { useParams } from 'react-router-dom';\n\nimport { useAdminRoles } from '../../../../../../../../../admin/src/hooks/useAdminRoles';\nimport { useContentTypes } from '../../../../../../../../../admin/src/hooks/useContentTypes';\nimport { useInjectReducer } from '../../../../../../../../../admin/src/hooks/useInjectReducer';\nimport { selectAdminPermissions } from '../../../../../../../../../admin/src/selectors';\nimport { useLicenseLimits } from '../../../../../../hooks/useLicenseLimits';\nimport {\n resetWorkflow,\n setIsLoading,\n setWorkflow,\n setContentTypes,\n setRoles,\n setWorkflows,\n} from '../../actions';\nimport * as Layout from '../../components/Layout';\nimport * as LimitsModal from '../../components/LimitsModal';\nimport { Stages } from '../../components/Stages';\nimport { WorkflowAttributes } from '../../components/WorkflowAttributes';\nimport {\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n REDUX_NAMESPACE,\n} from '../../constants';\nimport { useReviewWorkflows } from '../../hooks/useReviewWorkflows';\nimport { reducer } from '../../reducer';\nimport {\n selectIsWorkflowDirty,\n selectCurrentWorkflow,\n selectHasDeletedServerStages,\n selectIsLoading,\n selectRoles,\n selectServerState,\n} from '../../selectors';\nimport { validateWorkflow } from '../../utils/validateWorkflow';\n\nexport function ReviewWorkflowsEditView() {\n const { workflowId } = useParams();\n const permissions = useSelector(selectAdminPermissions);\n const { formatMessage } = useIntl();\n const dispatch = useDispatch();\n const { put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const { isLoading: isLoadingWorkflow, meta, workflows, refetch } = useReviewWorkflows();\n const { collectionTypes, singleTypes, isLoading: isLoadingContentTypes } = useContentTypes();\n const serverState = useSelector(selectServerState);\n const currentWorkflowIsDirty = useSelector(selectIsWorkflowDirty);\n const currentWorkflow = useSelector(selectCurrentWorkflow);\n const hasDeletedServerStages = useSelector(selectHasDeletedServerStages);\n const roles = useSelector(selectRoles);\n const isLoading = useSelector(selectIsLoading);\n const {\n allowedActions: { canDelete, canUpdate },\n } = useRBAC(permissions.settings['review-workflows']);\n const [savePrompts, setSavePrompts] = React.useState({});\n const { getFeature, isLoading: isLicenseLoading } = useLicenseLimits();\n const { isLoading: isLoadingRoles, roles: serverRoles } = useAdminRoles(undefined, {\n retry: false,\n });\n const [showLimitModal, setShowLimitModal] = React.useState(false);\n const [initialErrors, setInitialErrors] = React.useState(null);\n\n const workflow = workflows.find((workflow) => workflow.id === parseInt(workflowId, 10));\n const contentTypesFromOtherWorkflows = workflows\n .filter((workflow) => workflow.id !== parseInt(workflowId, 10))\n .flatMap((workflow) => workflow.contentTypes);\n\n const { mutateAsync, isLoading: isLoadingMutation } = useMutation(\n async ({ workflow }) => {\n const {\n data: { data },\n } = await put(`/admin/review-workflows/workflows/${workflow.id}`, {\n data: workflow,\n });\n\n return data;\n },\n {\n onSuccess() {\n toggleNotification({\n type: 'success',\n message: { id: 'notification.success.saved', defaultMessage: 'Saved' },\n });\n },\n }\n );\n\n const updateWorkflow = async (workflow) => {\n // reset the error messages\n setInitialErrors(null);\n\n try {\n const res = await mutateAsync({\n workflow: {\n ...workflow,\n\n // compare permissions of stages and only submit them if at least one has\n // changed; this enables partial updates e.g. for users who don't have\n // permissions to see roles\n stages: workflow.stages.map((stage) => {\n let hasUpdatedPermissions = true;\n const serverStage = serverState.workflow.stages.find(\n (serverStage) => serverStage.id === stage?.id\n );\n\n if (serverStage) {\n hasUpdatedPermissions =\n serverStage.permissions?.length !== stage.permission?.length ||\n !serverStage.permissions.every(\n (serverPermission) =>\n !!stage.permissions.find(\n (permission) => permission.role === serverPermission.role\n )\n );\n }\n\n return {\n ...stage,\n permissions: hasUpdatedPermissions ? stage.permissions : undefined,\n };\n }),\n },\n });\n\n return res;\n } catch (error) {\n // TODO: this would benefit from a utility to get a formik error\n // representation from an API error\n if (\n error.response.data?.error?.name === 'ValidationError' &&\n error.response.data?.error?.details?.errors?.length > 0\n ) {\n setInitialErrors(\n error.response.data?.error?.details?.errors.reduce((acc, error) => {\n set(acc, error.path, error.message);\n\n return acc;\n }, {})\n );\n }\n\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n\n return null;\n }\n };\n\n const submitForm = async () => {\n await updateWorkflow(currentWorkflow);\n await refetch();\n\n setSavePrompts({});\n };\n\n const handleConfirmDeleteDialog = async () => {\n await submitForm();\n };\n\n const handleConfirmClose = () => {\n setSavePrompts({});\n };\n\n const formik = useFormik({\n enableReinitialize: true,\n initialErrors,\n initialValues: currentWorkflow,\n async onSubmit() {\n const isContentTypeReassignment = currentWorkflow.contentTypes.some((contentType) =>\n contentTypesFromOtherWorkflows.includes(contentType)\n );\n\n if (\n limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] &&\n meta?.workflowCount > parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10)\n ) {\n /**\n * If the current license has a limit, check if the total count of workflows\n * exceeds that limit and display the limits modal instead of sending the\n * update, because it would throw an API error.\n */\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit, check if the total count of stages\n * exceeds that limit and display the limits modal instead of sending the\n * update, because it would throw an API error.\n */\n } else if (\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n currentWorkflow.stages.length >\n parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10)\n ) {\n setShowLimitModal('stage');\n } else if (hasDeletedServerStages || isContentTypeReassignment) {\n if (hasDeletedServerStages) {\n setSavePrompts((prev) => ({ ...prev, hasDeletedServerStages: true }));\n }\n\n if (isContentTypeReassignment) {\n setSavePrompts((prev) => ({ ...prev, hasReassignedContentTypes: true }));\n }\n } else {\n submitForm();\n }\n },\n validate(values) {\n return validateWorkflow({ values, formatMessage });\n },\n });\n\n useInjectReducer(REDUX_NAMESPACE, reducer);\n\n const limits = getFeature('review-workflows');\n\n React.useEffect(() => {\n if (!isLoadingWorkflow) {\n dispatch(setWorkflow({ workflow }));\n dispatch(setWorkflows({ workflows }));\n }\n\n if (!isLoadingContentTypes) {\n dispatch(setContentTypes({ collectionTypes, singleTypes }));\n }\n\n if (!isLoadingRoles) {\n dispatch(setRoles(serverRoles));\n }\n\n dispatch(setIsLoading(isLoadingWorkflow || isLoadingContentTypes || isLoadingRoles));\n\n // reset the state to the initial state to avoid flashes if a user\n // navigates from an edit-view to a create-view\n return () => {\n dispatch(resetWorkflow());\n };\n }, [\n collectionTypes,\n dispatch,\n isLoadingContentTypes,\n isLoadingWorkflow,\n isLoadingRoles,\n serverRoles,\n singleTypes,\n workflow,\n workflows,\n ]);\n\n /**\n * If the current license has a limit:\n * check if the total count of workflows or stages exceeds that limit and display\n * the limits modal on page load. It can be closed by the user, but the\n * API will throw an error in case they try to create a new workflow or update the\n * stages.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now). In case they are trying to create the 201st workflow/ stage\n * the API will throw an error.\n *\n */\n\n React.useEffect(() => {\n if (!isLoadingWorkflow && !isLicenseLoading) {\n if (\n limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] &&\n meta?.workflowCount > parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10)\n ) {\n setShowLimitModal('workflow');\n } else if (\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n currentWorkflow.stages.length >\n parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10)\n ) {\n setShowLimitModal('stage');\n }\n }\n }, [\n currentWorkflow.stages.length,\n isLicenseLoading,\n isLoadingWorkflow,\n limits,\n meta?.workflowCount,\n meta.workflowsTotal,\n ]);\n\n React.useEffect(() => {\n if (!isLoading && roles.length === 0) {\n toggleNotification({\n blockTransition: true,\n type: 'warning',\n message: formatMessage({\n id: 'Settings.review-workflows.stage.permissions.noPermissions.description',\n defaultMessage: 'You don’t have the permission to see roles',\n }),\n });\n }\n }, [formatMessage, isLoading, roles, toggleNotification]);\n\n // TODO: redirect back to list-view if workflow is not found?\n\n return (\n <>\n <Layout.DragLayerRendered />\n\n <FormikProvider value={formik}>\n <Form onSubmit={formik.handleSubmit}>\n <Layout.Header\n navigationAction={<Layout.Back href=\"/settings/review-workflows\" />}\n primaryAction={\n canUpdate && (\n <Button\n startIcon={<Check />}\n type=\"submit\"\n size=\"M\"\n disabled={!currentWorkflowIsDirty}\n // if the confirm dialog is open the loading state is on\n // the confirm button already\n loading={!Object.keys(savePrompts).length > 0 && isLoadingMutation}\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n )\n }\n subtitle={\n !isLoading &&\n formatMessage(\n {\n id: 'Settings.review-workflows.page.subtitle',\n defaultMessage: '{count, plural, one {# stage} other {# stages}}',\n },\n { count: currentWorkflow.stages.length }\n )\n }\n title={currentWorkflow.name}\n />\n\n <Layout.Root>\n {isLoading ? (\n <Flex justifyContent=\"center\">\n <Loader>\n {formatMessage({\n id: 'Settings.review-workflows.page.isLoading',\n defaultMessage: 'Workflow is loading',\n })}\n </Loader>\n </Flex>\n ) : (\n <Flex alignItems=\"stretch\" direction=\"column\" gap={7}>\n <WorkflowAttributes canUpdate={canUpdate} />\n <Stages\n canDelete={canDelete}\n canUpdate={canUpdate}\n stages={formik.values?.stages}\n />\n </Flex>\n )}\n </Layout.Root>\n </Form>\n </FormikProvider>\n\n <ConfirmDialog.Root\n isConfirmButtonLoading={isLoading}\n isOpen={Object.keys(savePrompts).length > 0}\n onToggleDialog={handleConfirmClose}\n onConfirm={handleConfirmDeleteDialog}\n >\n <ConfirmDialog.Body>\n <Flex direction=\"column\" gap={5}>\n {savePrompts.hasDeletedServerStages && (\n <Typography textAlign=\"center\" variant=\"omega\">\n {formatMessage({\n id: 'Settings.review-workflows.page.delete.confirm.stages.body',\n defaultMessage:\n 'All entries assigned to deleted stages will be moved to the previous stage.',\n })}\n </Typography>\n )}\n\n {savePrompts.hasReassignedContentTypes && (\n <Typography textAlign=\"center\" variant=\"omega\">\n {formatMessage(\n {\n id: 'Settings.review-workflows.page.delete.confirm.contentType.body',\n defaultMessage:\n '{count} {count, plural, one {content-type} other {content-types}} {count, plural, one {is} other {are}} already mapped to {count, plural, one {another workflow} other {other workflows}}. If you save changes, {count, plural, one {this} other {these}} {count, plural, one {content-type} other {{count} content-types}} will no more be mapped to the {count, plural, one {another workflow} other {other workflows}} and all corresponding information will be removed.',\n },\n {\n count: contentTypesFromOtherWorkflows.filter((contentType) =>\n currentWorkflow.contentTypes.includes(contentType)\n ).length,\n }\n )}\n </Typography>\n )}\n\n <Typography textAlign=\"center\" variant=\"omega\">\n {formatMessage({\n id: 'Settings.review-workflows.page.delete.confirm.confirm',\n defaultMessage: 'Are you sure you want to save?',\n })}\n </Typography>\n </Flex>\n </ConfirmDialog.Body>\n </ConfirmDialog.Root>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'workflow'}\n onClose={() => setShowLimitModal(false)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'Settings.review-workflows.edit.page.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'Settings.review-workflows.edit.page.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'stage'}\n onClose={() => setShowLimitModal(false)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'Settings.review-workflows.edit.page.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'Settings.review-workflows.edit.page.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </>\n );\n}\n","import React from 'react';\n\nimport { CheckPagePermissions } from '@strapi/helper-plugin';\nimport { useSelector } from 'react-redux';\n\nimport { selectAdminPermissions } from '../../../../../../../../../admin/src/selectors';\n\nimport { ReviewWorkflowsEditView } from './EditView';\n\nexport default function () {\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <CheckPagePermissions permissions={permissions.settings['review-workflows'].main}>\n <ReviewWorkflowsEditView />\n </CheckPagePermissions>\n );\n}\n"],"names":["workflow","serverStage","error","Layout.DragLayerRendered","Layout.Header","Layout.Back","Layout.Root","LimitsModal.Root","LimitsModal.Title","LimitsModal.Body"],"mappings":"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"}
|