@strapi/content-manager 5.49.0 → 5.50.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/ComponentIcon.js.map +1 -1
- package/dist/admin/components/ComponentIcon.mjs.map +1 -1
- package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
- package/dist/admin/components/DragLayer.js.map +1 -1
- package/dist/admin/components/DragLayer.mjs.map +1 -1
- package/dist/admin/components/LeftMenu.js +66 -67
- package/dist/admin/components/LeftMenu.js.map +1 -1
- package/dist/admin/components/LeftMenu.mjs +68 -69
- package/dist/admin/components/LeftMenu.mjs.map +1 -1
- package/dist/admin/history/components/VersionInputRenderer.js +3 -3
- package/dist/admin/history/components/VersionInputRenderer.js.map +1 -1
- package/dist/admin/history/components/VersionInputRenderer.mjs +3 -3
- package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -1
- package/dist/admin/history/routes.js.map +1 -1
- package/dist/admin/history/routes.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentActions.js +15 -8
- package/dist/admin/hooks/useDocumentActions.js.map +1 -1
- package/dist/admin/hooks/useDocumentActions.mjs +15 -8
- package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentContext.js.map +1 -1
- package/dist/admin/hooks/useDocumentContext.mjs.map +1 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/layout.js +21 -7
- package/dist/admin/layout.js.map +1 -1
- package/dist/admin/layout.mjs +23 -9
- package/dist/admin/layout.mjs.map +1 -1
- package/dist/admin/pages/ComponentConfigurationPage.js.map +1 -1
- package/dist/admin/pages/ComponentConfigurationPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.js +168 -78
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +168 -79
- package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js +6 -3
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs +6 -3
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.js +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +2 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +2 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js +6 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs +2 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +6 -2
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +3 -2
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js +6 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs +6 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +8 -5
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +8 -5
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.js +5 -4
- package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +5 -4
- package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/Panels.js.map +1 -1
- package/dist/admin/pages/EditView/components/Panels.mjs.map +1 -1
- package/dist/admin/pages/EditView/utils/data.js.map +1 -1
- package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
- package/dist/admin/pages/EditView/utils/draftRelationCounts.js +117 -0
- package/dist/admin/pages/EditView/utils/draftRelationCounts.js.map +1 -0
- package/dist/admin/pages/EditView/utils/draftRelationCounts.mjs +109 -0
- package/dist/admin/pages/EditView/utils/draftRelationCounts.mjs.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/Settings.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/Settings.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.mjs.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.js +71 -11
- package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.mjs +73 -13
- package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/Actions.js +2 -1
- package/dist/admin/pages/ListView/components/BulkActions/Actions.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs +2 -1
- package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.js +5 -3
- package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.mjs +5 -3
- package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.js +37 -0
- package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.mjs +39 -2
- package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellContent.js +28 -3
- package/dist/admin/pages/ListView/components/TableCells/CellContent.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs +28 -4
- package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.js +8 -7
- package/dist/admin/pages/ListView/components/TableCells/CellValue.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs +8 -7
- package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Components.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Components.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Relations.js +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Relations.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Relations.mjs +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Relations.mjs.map +1 -1
- package/dist/admin/preview/pages/Preview.js +40 -11
- package/dist/admin/preview/pages/Preview.js.map +1 -1
- package/dist/admin/preview/pages/Preview.mjs +41 -12
- package/dist/admin/preview/pages/Preview.mjs.map +1 -1
- package/dist/admin/preview/routes.js.map +1 -1
- package/dist/admin/preview/routes.mjs.map +1 -1
- package/dist/admin/preview/utils/constants.js +9 -15
- package/dist/admin/preview/utils/constants.js.map +1 -1
- package/dist/admin/preview/utils/constants.mjs +10 -15
- package/dist/admin/preview/utils/constants.mjs.map +1 -1
- package/dist/admin/preview/utils/fieldUtils.js.map +1 -1
- package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -1
- package/dist/admin/router.js.map +1 -1
- package/dist/admin/router.mjs.map +1 -1
- package/dist/admin/services/documents.js.map +1 -1
- package/dist/admin/services/documents.mjs.map +1 -1
- package/dist/admin/src/components/ComponentIcon.d.ts +4 -3
- package/dist/admin/src/components/DragLayer.d.ts +1 -1
- package/dist/admin/src/components/InjectionZone.d.ts +1 -2
- package/dist/admin/src/content-manager.d.ts +15 -15
- package/dist/admin/src/history/routes.d.ts +2 -2
- package/dist/admin/src/history/services/historyVersion.d.ts +3 -3
- package/dist/admin/src/hooks/useContentTypeSchema.d.ts +1 -1
- package/dist/admin/src/hooks/useDocument.d.ts +8 -9
- package/dist/admin/src/hooks/useDocumentActions.d.ts +17 -16
- package/dist/admin/src/hooks/useDocumentContext.d.ts +1 -1
- package/dist/admin/src/hooks/useDocumentLayout.d.ts +3 -3
- package/dist/admin/src/hooks/useDragAndDrop.d.ts +4 -4
- package/dist/admin/src/hooks/useKeyboardDragAndDrop.d.ts +1 -1
- package/dist/admin/src/hooks/usePersistentQueryParams.d.ts +0 -1
- package/dist/admin/src/index.d.ts +1 -1
- package/dist/admin/src/modules/app.d.ts +5 -5
- package/dist/admin/src/pages/EditView/EditViewPage.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +12 -1
- package/dist/admin/src/pages/EditView/components/EditorToolbarObserver.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.d.ts +2 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/ComponentContext.d.ts +1 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/Relations.d.ts +4 -4
- package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/Editor.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +2 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +19 -20
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.d.ts +7 -1
- package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +12 -12
- package/dist/admin/src/pages/EditView/utils/draftRelationCounts.d.ts +26 -0
- package/dist/admin/src/pages/ListView/components/BulkActions/PublishAction.d.ts +1 -1
- package/dist/admin/src/pages/ListView/components/Filters.d.ts +1 -1
- package/dist/admin/src/pages/ListView/components/TableCells/CellContent.d.ts +11 -2
- package/dist/admin/src/pages/ListView/components/TableCells/CellValue.d.ts +1 -1
- package/dist/admin/src/pages/formatComponentConfigurationEditLayout.d.ts +1 -1
- package/dist/admin/src/preview/routes.d.ts +2 -2
- package/dist/admin/src/preview/services/preview.d.ts +1 -1
- package/dist/admin/src/preview/utils/constants.d.ts +1 -7
- package/dist/admin/src/preview/utils/getSendMessage.d.ts +0 -1
- package/dist/admin/src/router.d.ts +2 -2
- package/dist/admin/src/services/api.d.ts +1 -1
- package/dist/admin/src/services/components.d.ts +2 -2
- package/dist/admin/src/services/contentTypes.d.ts +3 -3
- package/dist/admin/src/services/documents.d.ts +49 -89
- package/dist/admin/src/services/homepage.d.ts +1 -1
- package/dist/admin/src/services/init.d.ts +1 -1
- package/dist/admin/src/services/relations.d.ts +8 -22
- package/dist/admin/src/services/uid.d.ts +8 -8
- package/dist/admin/src/utils/api.d.ts +2 -2
- package/dist/admin/src/utils/conditionalFields.d.ts +1 -0
- package/dist/admin/src/utils/layouts/normalizeContentManagerLayout.d.ts +4 -4
- package/dist/admin/src/utils/objects.d.ts +7 -4
- package/dist/admin/src/utils/users.d.ts +1 -1
- package/dist/admin/src/utils/validation.d.ts +2 -1
- package/dist/admin/translations/en.json.js +6 -2
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +6 -2
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/ja.json.js +262 -87
- package/dist/admin/translations/ja.json.js.map +1 -1
- package/dist/admin/translations/ja.json.mjs +262 -87
- package/dist/admin/translations/ja.json.mjs.map +1 -1
- package/dist/admin/utils/api.js +6 -1
- package/dist/admin/utils/api.js.map +1 -1
- package/dist/admin/utils/api.mjs +6 -1
- package/dist/admin/utils/api.mjs.map +1 -1
- package/dist/admin/utils/conditionalFields.js.map +1 -1
- package/dist/admin/utils/conditionalFields.mjs.map +1 -1
- package/dist/admin/utils/objects.js +43 -13
- package/dist/admin/utils/objects.js.map +1 -1
- package/dist/admin/utils/objects.mjs +43 -13
- package/dist/admin/utils/objects.mjs.map +1 -1
- package/dist/admin/utils/validation.js.map +1 -1
- package/dist/admin/utils/validation.mjs.map +1 -1
- package/dist/server/controllers/collection-types.js +6 -3
- package/dist/server/controllers/collection-types.js.map +1 -1
- package/dist/server/controllers/collection-types.mjs +6 -3
- package/dist/server/controllers/collection-types.mjs.map +1 -1
- package/dist/server/controllers/relations.js +5 -4
- package/dist/server/controllers/relations.js.map +1 -1
- package/dist/server/controllers/relations.mjs +5 -4
- package/dist/server/controllers/relations.mjs.map +1 -1
- package/dist/server/controllers/single-types.js +2 -2
- package/dist/server/controllers/single-types.js.map +1 -1
- package/dist/server/controllers/single-types.mjs +2 -2
- package/dist/server/controllers/single-types.mjs.map +1 -1
- package/dist/server/controllers/validation/model-configuration.js +3 -1
- package/dist/server/controllers/validation/model-configuration.js.map +1 -1
- package/dist/server/controllers/validation/model-configuration.mjs +3 -1
- package/dist/server/controllers/validation/model-configuration.mjs.map +1 -1
- package/dist/server/homepage/services/homepage.js +27 -7
- package/dist/server/homepage/services/homepage.js.map +1 -1
- package/dist/server/homepage/services/homepage.mjs +27 -7
- package/dist/server/homepage/services/homepage.mjs.map +1 -1
- package/dist/server/preview/controllers/preview.js +9 -0
- package/dist/server/preview/controllers/preview.js.map +1 -1
- package/dist/server/preview/controllers/preview.mjs +9 -0
- package/dist/server/preview/controllers/preview.mjs.map +1 -1
- package/dist/server/preview/controllers/previewScript.js +1450 -0
- package/dist/server/preview/routes/preview.js +11 -0
- package/dist/server/preview/routes/preview.js.map +1 -1
- package/dist/server/preview/routes/preview.mjs +11 -0
- package/dist/server/preview/routes/preview.mjs.map +1 -1
- package/dist/server/services/document-manager.js +13 -19
- package/dist/server/services/document-manager.js.map +1 -1
- package/dist/server/services/document-manager.mjs +13 -19
- package/dist/server/services/document-manager.mjs.map +1 -1
- package/dist/server/services/permission.js +4 -3
- package/dist/server/services/permission.js.map +1 -1
- package/dist/server/services/permission.mjs +4 -3
- package/dist/server/services/permission.mjs.map +1 -1
- package/dist/server/services/utils/draft-relations.js +9 -0
- package/dist/server/services/utils/draft-relations.js.map +1 -0
- package/dist/server/services/utils/draft-relations.mjs +7 -0
- package/dist/server/services/utils/draft-relations.mjs.map +1 -0
- package/dist/server/services/utils/draft.js +118 -25
- package/dist/server/services/utils/draft.js.map +1 -1
- package/dist/server/services/utils/draft.mjs +118 -25
- package/dist/server/services/utils/draft.mjs.map +1 -1
- package/dist/server/services/utils/populate.js +15 -1
- package/dist/server/services/utils/populate.js.map +1 -1
- package/dist/server/services/utils/populate.mjs +15 -1
- package/dist/server/services/utils/populate.mjs.map +1 -1
- package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +1 -1
- package/dist/server/src/controllers/relations.d.ts.map +1 -1
- package/dist/server/src/controllers/utils/clone.d.ts.map +1 -1
- package/dist/server/src/controllers/utils/document-status.d.ts +1 -1
- package/dist/server/src/controllers/utils/document-status.d.ts.map +1 -1
- package/dist/server/src/controllers/utils/metadata.d.ts +5 -5
- package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/dimensions.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/index.d.ts +3 -3
- package/dist/server/src/controllers/validation/index.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/model-configuration.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/relations.d.ts +2 -2
- package/dist/server/src/history/controllers/history-version.d.ts +1 -7
- package/dist/server/src/history/controllers/history-version.d.ts.map +1 -1
- package/dist/server/src/history/controllers/index.d.ts +2 -1
- package/dist/server/src/history/controllers/index.d.ts.map +1 -1
- package/dist/server/src/history/controllers/validation/history-version.d.ts +1 -1
- package/dist/server/src/history/services/history.d.ts +0 -2
- package/dist/server/src/history/services/history.d.ts.map +1 -1
- package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
- package/dist/server/src/history/services/utils.d.ts +3 -3
- package/dist/server/src/history/services/utils.d.ts.map +1 -1
- package/dist/server/src/history/utils.d.ts +1 -18
- package/dist/server/src/history/utils.d.ts.map +1 -1
- package/dist/server/src/homepage/controllers/homepage.d.ts +0 -1
- package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -1
- package/dist/server/src/homepage/controllers/index.d.ts +2 -1
- package/dist/server/src/homepage/controllers/index.d.ts.map +1 -1
- package/dist/server/src/homepage/index.d.ts +4 -8
- package/dist/server/src/homepage/index.d.ts.map +1 -1
- package/dist/server/src/homepage/services/homepage-query-utils.d.ts.map +1 -1
- package/dist/server/src/homepage/services/homepage.d.ts +3 -4
- package/dist/server/src/homepage/services/homepage.d.ts.map +1 -1
- package/dist/server/src/homepage/services/index.d.ts +4 -8
- package/dist/server/src/homepage/services/index.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +79 -85
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/mcp/derive-content-type-mcp-tools.d.ts.map +1 -1
- package/dist/server/src/mcp/handlers/collection-handlers.d.ts.map +1 -1
- package/dist/server/src/mcp/handlers/single-type-handlers.d.ts.map +1 -1
- package/dist/server/src/mcp/permissions.d.ts +1 -1
- package/dist/server/src/mcp/permissions.d.ts.map +1 -1
- package/dist/server/src/mcp/register-content-manager-mcp-tools.d.ts.map +1 -1
- package/dist/server/src/mcp/sanitizers/shape-relations.d.ts.map +1 -1
- package/dist/server/src/mcp/schemas/blocks-schema.d.ts.map +1 -1
- package/dist/server/src/mcp/schemas/data-schema.d.ts.map +1 -1
- package/dist/server/src/mcp/schemas/filters-schema.d.ts.map +1 -1
- package/dist/server/src/mcp/schemas/output-schemas.d.ts.map +1 -1
- package/dist/server/src/mcp/schemas/sort-schema.d.ts.map +1 -1
- package/dist/server/src/mcp/utils.d.ts.map +1 -1
- package/dist/server/src/middlewares/routing.d.ts.map +1 -1
- package/dist/server/src/policies/hasPermissions.d.ts.map +1 -1
- package/dist/server/src/policies/index.d.ts.map +1 -1
- package/dist/server/src/preview/controllers/index.d.ts +2 -1
- package/dist/server/src/preview/controllers/index.d.ts.map +1 -1
- package/dist/server/src/preview/controllers/preview.d.ts +5 -0
- package/dist/server/src/preview/controllers/preview.d.ts.map +1 -1
- package/dist/server/src/preview/controllers/validation/preview.d.ts +1 -2
- package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -1
- package/dist/server/src/preview/routes/preview.d.ts.map +1 -1
- package/dist/server/src/preview/services/index.d.ts +1 -1
- package/dist/server/src/preview/services/index.d.ts.map +1 -1
- package/dist/server/src/preview/services/preview-config.d.ts +1 -1
- package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
- package/dist/server/src/preview/services/preview.d.ts.map +1 -1
- package/dist/server/src/preview/utils.d.ts +1 -16
- package/dist/server/src/preview/utils.d.ts.map +1 -1
- package/dist/server/src/services/components.d.ts +2 -2
- package/dist/server/src/services/components.d.ts.map +1 -1
- package/dist/server/src/services/configuration.d.ts.map +1 -1
- package/dist/server/src/services/content-types.d.ts.map +1 -1
- package/dist/server/src/services/data-mapper.d.ts +5 -5
- package/dist/server/src/services/data-mapper.d.ts.map +1 -1
- package/dist/server/src/services/document-manager.d.ts +14 -14
- package/dist/server/src/services/document-manager.d.ts.map +1 -1
- package/dist/server/src/services/document-metadata.d.ts +6 -6
- package/dist/server/src/services/document-metadata.d.ts.map +1 -1
- package/dist/server/src/services/field-sizes.d.ts +2 -2
- package/dist/server/src/services/field-sizes.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +78 -84
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/metrics.d.ts.map +1 -1
- package/dist/server/src/services/permission-checker.d.ts +12 -31
- package/dist/server/src/services/permission-checker.d.ts.map +1 -1
- package/dist/server/src/services/permission.d.ts.map +1 -1
- package/dist/server/src/services/populate-builder.d.ts +4 -4
- package/dist/server/src/services/populate-builder.d.ts.map +1 -1
- package/dist/server/src/services/uid.d.ts.map +1 -1
- package/dist/server/src/services/utils/configuration/attributes.d.ts.map +1 -1
- package/dist/server/src/services/utils/configuration/settings.d.ts.map +1 -1
- package/dist/server/src/services/utils/count.d.ts.map +1 -1
- package/dist/server/src/services/utils/draft-relations.d.ts +19 -0
- package/dist/server/src/services/utils/draft-relations.d.ts.map +1 -0
- package/dist/server/src/services/utils/draft.d.ts +8 -7
- package/dist/server/src/services/utils/draft.d.ts.map +1 -1
- package/dist/server/src/services/utils/populate.d.ts.map +1 -1
- package/dist/server/src/services/utils/store.d.ts.map +1 -1
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/dist/server/src/validation/policies/hasPermissions.d.ts +1 -1
- package/dist/server/src/validation/zod.d.ts +1 -1
- package/dist/server/src/validation/zod.d.ts.map +1 -1
- package/dist/shared/contracts/collection-types.d.ts +4 -1
- package/dist/shared/contracts/collection-types.d.ts.map +1 -1
- package/dist/shared/contracts/single-types.d.ts +4 -1
- package/dist/shared/contracts/single-types.d.ts.map +1 -1
- package/package.json +9 -9
- package/dist/admin/preview/utils/previewScript.js +0 -1068
- package/dist/admin/preview/utils/previewScript.js.map +0 -1
- package/dist/admin/preview/utils/previewScript.mjs +0 -1066
- package/dist/admin/preview/utils/previewScript.mjs.map +0 -1
- package/dist/admin/src/preview/utils/previewScript.d.ts +0 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentIcon.js","sources":["../../../admin/src/components/ComponentIcon.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, FlexProps } from '@strapi/design-system';\nimport * as Icons from '@strapi/icons';\nimport * as Symbols from '@strapi/icons/symbols';\n\nimport type { Struct } from '@strapi/types';\n\ninterface ComponentIconProps extends FlexProps {\n showBackground?: boolean;\n icon?: Struct.ContentTypeSchemaInfo['icon'];\n}\n\nconst ComponentIcon = ({\n showBackground = true,\n icon = 'dashboard',\n ...props\n}: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon as keyof typeof COMPONENT_ICONS] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={showBackground ? 'neutral200' : undefined}\n justifyContent=\"center\"\n height={8}\n width={8}\n color=\"neutral600\"\n borderRadius={showBackground ? '50%' : 0}\n {...props}\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n\nconst COMPONENT_ICONS: Record<string, React.ComponentType<any>> = {\n alien: Icons.Alien,\n apps: Icons.GridNine,\n archive: Icons.Archive,\n arrowDown: Icons.ArrowDown,\n arrowLeft: Icons.ArrowLeft,\n arrowRight: Icons.ArrowRight,\n arrowUp: Icons.ArrowUp,\n attachment: Icons.Paperclip,\n bell: Icons.Bell,\n bold: Icons.Bold,\n book: Icons.Book,\n briefcase: Icons.Briefcase,\n brush: Icons.PaintBrush,\n bulletList: Icons.BulletList,\n calendar: Icons.Calendar,\n car: Icons.Car,\n cast: Icons.Cast,\n chartBubble: Icons.ChartBubble,\n chartCircle: Icons.ChartCircle,\n chartPie: Icons.ChartPie,\n check: Icons.Check,\n clock: Icons.Clock,\n cloud: Icons.Cloud,\n code: Icons.Code,\n cog: Icons.Cog,\n collapse: Icons.Collapse,\n command: Icons.Command,\n connector: Icons.Faders,\n crop: Icons.Crop,\n crown: Icons.Crown,\n cup: Icons.Coffee,\n cursor: Icons.Cursor,\n dashboard: Icons.SquaresFour,\n database: Icons.Database,\n discuss: Icons.Discuss,\n doctor: Icons.Stethoscope,\n earth: Icons.Earth,\n emotionHappy: Icons.EmotionHappy,\n emotionUnhappy: Icons.EmotionUnhappy,\n envelop: Icons.Mail,\n exit: Icons.SignOut,\n expand: Icons.Expand,\n eye: Icons.Eye,\n feather: Icons.Feather,\n file: Icons.File,\n fileError: Icons.FileError,\n filePdf: Icons.FilePdf,\n fileXls: Icons.FileXls,\n fileZip: Icons.FileZip,\n fileCsv: Icons.FileCsv,\n filter: Icons.Filter,\n folder: Icons.Folder,\n gate: Icons.CastleTurret,\n gift: Icons.Gift,\n globe: Icons.Globe,\n grid: Icons.GridFour,\n handHeart: Icons.HandHeart,\n hashtag: Icons.Hashtag,\n headphone: Icons.Headphones,\n heart: Icons.Heart,\n house: Icons.House,\n information: Icons.Information,\n italic: Icons.Italic,\n key: Icons.Key,\n landscape: Icons.Images,\n layer: Icons.ListPlus,\n layout: Icons.Layout,\n lightbulb: Icons.Lightbulb,\n link: Icons.Link,\n lock: Icons.Lock,\n magic: Icons.Magic,\n manyToMany: Icons.ManyToMany,\n manyToOne: Icons.ManyToOne,\n manyWays: Icons.ManyWays,\n medium: Symbols.Medium,\n message: Icons.Message,\n microphone: Icons.Microphone,\n monitor: Icons.Monitor,\n moon: Icons.Moon,\n music: Icons.MusicNotes,\n oneToMany: Icons.OneToMany,\n oneToOne: Icons.OneToOne,\n oneWay: Icons.OneWay,\n paint: Icons.PaintBrush,\n paintBrush: Icons.PaintBrush,\n paperPlane: Icons.PaperPlane,\n pencil: Icons.Pencil,\n phone: Icons.Phone,\n picture: Icons.Image,\n pin: Icons.Pin,\n pinMap: Icons.PinMap,\n plane: Icons.Plane,\n play: Icons.Play,\n plus: Icons.Plus,\n priceTag: Icons.PriceTag,\n puzzle: Icons.PuzzlePiece,\n question: Icons.Question,\n quote: Icons.Quotes,\n refresh: Icons.ArrowClockwise,\n restaurant: Icons.Restaurant,\n rocket: Icons.Rocket,\n rotate: Icons.ArrowsCounterClockwise,\n scissors: Icons.Scissors,\n search: Icons.Search,\n seed: Icons.Plant,\n server: Icons.Server,\n shield: Icons.Shield,\n shirt: Icons.Shirt,\n shoppingCart: Icons.ShoppingCart,\n slideshow: Icons.PresentationChart,\n stack: Icons.Stack,\n star: Icons.Star,\n store: Icons.Store,\n strikeThrough: Icons.StrikeThrough,\n sun: Icons.Sun,\n television: Icons.Television,\n thumbDown: Icons.ThumbDown,\n thumbUp: Icons.ThumbUp,\n train: Icons.Train,\n twitter: Symbols.X,\n typhoon: Icons.Typhoon,\n underline: Icons.Underline,\n user: Icons.User,\n volumeMute: Icons.VolumeMute,\n volumeUp: Icons.VolumeUp,\n walk: Icons.Walk,\n wheelchair: Icons.Wheelchair,\n write: Icons.Feather,\n};\n\nexport { ComponentIcon, COMPONENT_ICONS };\nexport type { ComponentIconProps };\n"],"names":["ComponentIcon","showBackground","icon","props","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","undefined","justifyContent","height","width","color","borderRadius","alien","Icons","Alien","apps","GridNine","archive","Archive","arrowDown","ArrowDown","arrowLeft","ArrowLeft","arrowRight","ArrowRight","arrowUp","ArrowUp","attachment","Paperclip","bell","Bell","bold","Bold","book","Book","briefcase","Briefcase","brush","PaintBrush","bulletList","BulletList","calendar","Calendar","car","Car","cast","Cast","chartBubble","ChartBubble","chartCircle","ChartCircle","chartPie","ChartPie","check","Check","clock","Clock","cloud","Cloud","code","Code","cog","Cog","collapse","Collapse","command","Command","connector","Faders","crop","Crop","crown","Crown","cup","Coffee","cursor","Cursor","SquaresFour","database","Database","discuss","Discuss","doctor","Stethoscope","earth","Earth","emotionHappy","EmotionHappy","emotionUnhappy","EmotionUnhappy","envelop","Mail","exit","SignOut","expand","Expand","eye","Eye","feather","Feather","file","File","fileError","FileError","filePdf","FilePdf","fileXls","FileXls","fileZip","FileZip","fileCsv","FileCsv","filter","Filter","folder","Folder","gate","CastleTurret","gift","Gift","globe","Globe","grid","GridFour","handHeart","HandHeart","hashtag","Hashtag","headphone","Headphones","heart","Heart","house","House","information","Information","italic","Italic","key","Key","landscape","Images","layer","ListPlus","layout","Layout","lightbulb","Lightbulb","link","Link","lock","Lock","magic","Magic","manyToMany","ManyToMany","manyToOne","ManyToOne","manyWays","ManyWays","medium","Symbols","Medium","message","Message","microphone","Microphone","monitor","Monitor","moon","Moon","music","MusicNotes","oneToMany","OneToMany","oneToOne","OneToOne","oneWay","OneWay","paint","paintBrush","paperPlane","PaperPlane","pencil","Pencil","phone","Phone","picture","Image","pin","Pin","pinMap","PinMap","plane","Plane","play","Play","plus","Plus","priceTag","PriceTag","puzzle","PuzzlePiece","question","Question","quote","Quotes","refresh","ArrowClockwise","restaurant","Restaurant","rocket","Rocket","rotate","ArrowsCounterClockwise","scissors","Scissors","search","Search","seed","Plant","server","Server","shield","Shield","shirt","Shirt","shoppingCart","ShoppingCart","slideshow","PresentationChart","stack","Stack","star","Star","store","Store","strikeThrough","StrikeThrough","sun","Sun","television","Television","thumbDown","ThumbDown","thumbUp","ThumbUp","train","Train","twitter","X","typhoon","Typhoon","underline","Underline","user","User","volumeMute","VolumeMute","volumeUp","VolumeUp","walk","Walk","wheelchair","Wheelchair","write"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ComponentIcon.js","sources":["../../../admin/src/components/ComponentIcon.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, FlexProps } from '@strapi/design-system';\nimport * as Icons from '@strapi/icons';\nimport * as Symbols from '@strapi/icons/symbols';\n\nimport type { Struct } from '@strapi/types';\n\ntype ComponentIconProps = FlexProps & {\n showBackground?: boolean;\n icon?: Struct.ContentTypeSchemaInfo['icon'];\n};\n\ntype IconComponent = React.ComponentType<Pick<React.SVGProps<SVGSVGElement>, 'height' | 'width'>>;\n\nconst ComponentIcon = ({\n showBackground = true,\n icon = 'dashboard',\n ...props\n}: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon as keyof typeof COMPONENT_ICONS] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={showBackground ? 'neutral200' : undefined}\n justifyContent=\"center\"\n height={8}\n width={8}\n color=\"neutral600\"\n borderRadius={showBackground ? '50%' : 0}\n {...props}\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n\nconst COMPONENT_ICONS: Record<string, IconComponent> = {\n alien: Icons.Alien,\n apps: Icons.GridNine,\n archive: Icons.Archive,\n arrowDown: Icons.ArrowDown,\n arrowLeft: Icons.ArrowLeft,\n arrowRight: Icons.ArrowRight,\n arrowUp: Icons.ArrowUp,\n attachment: Icons.Paperclip,\n bell: Icons.Bell,\n bold: Icons.Bold,\n book: Icons.Book,\n briefcase: Icons.Briefcase,\n brush: Icons.PaintBrush,\n bulletList: Icons.BulletList,\n calendar: Icons.Calendar,\n car: Icons.Car,\n cast: Icons.Cast,\n chartBubble: Icons.ChartBubble,\n chartCircle: Icons.ChartCircle,\n chartPie: Icons.ChartPie,\n check: Icons.Check,\n clock: Icons.Clock,\n cloud: Icons.Cloud,\n code: Icons.Code,\n cog: Icons.Cog,\n collapse: Icons.Collapse,\n command: Icons.Command,\n connector: Icons.Faders,\n crop: Icons.Crop,\n crown: Icons.Crown,\n cup: Icons.Coffee,\n cursor: Icons.Cursor,\n dashboard: Icons.SquaresFour,\n database: Icons.Database,\n discuss: Icons.Discuss,\n doctor: Icons.Stethoscope,\n earth: Icons.Earth,\n emotionHappy: Icons.EmotionHappy,\n emotionUnhappy: Icons.EmotionUnhappy,\n envelop: Icons.Mail,\n exit: Icons.SignOut,\n expand: Icons.Expand,\n eye: Icons.Eye,\n feather: Icons.Feather,\n file: Icons.File,\n fileError: Icons.FileError,\n filePdf: Icons.FilePdf,\n fileXls: Icons.FileXls,\n fileZip: Icons.FileZip,\n fileCsv: Icons.FileCsv,\n filter: Icons.Filter,\n folder: Icons.Folder,\n gate: Icons.CastleTurret,\n gift: Icons.Gift,\n globe: Icons.Globe,\n grid: Icons.GridFour,\n handHeart: Icons.HandHeart,\n hashtag: Icons.Hashtag,\n headphone: Icons.Headphones,\n heart: Icons.Heart,\n house: Icons.House,\n information: Icons.Information,\n italic: Icons.Italic,\n key: Icons.Key,\n landscape: Icons.Images,\n layer: Icons.ListPlus,\n layout: Icons.Layout,\n lightbulb: Icons.Lightbulb,\n link: Icons.Link,\n lock: Icons.Lock,\n magic: Icons.Magic,\n manyToMany: Icons.ManyToMany,\n manyToOne: Icons.ManyToOne,\n manyWays: Icons.ManyWays,\n medium: Symbols.Medium,\n message: Icons.Message,\n microphone: Icons.Microphone,\n monitor: Icons.Monitor,\n moon: Icons.Moon,\n music: Icons.MusicNotes,\n oneToMany: Icons.OneToMany,\n oneToOne: Icons.OneToOne,\n oneWay: Icons.OneWay,\n paint: Icons.PaintBrush,\n paintBrush: Icons.PaintBrush,\n paperPlane: Icons.PaperPlane,\n pencil: Icons.Pencil,\n phone: Icons.Phone,\n picture: Icons.Image,\n pin: Icons.Pin,\n pinMap: Icons.PinMap,\n plane: Icons.Plane,\n play: Icons.Play,\n plus: Icons.Plus,\n priceTag: Icons.PriceTag,\n puzzle: Icons.PuzzlePiece,\n question: Icons.Question,\n quote: Icons.Quotes,\n refresh: Icons.ArrowClockwise,\n restaurant: Icons.Restaurant,\n rocket: Icons.Rocket,\n rotate: Icons.ArrowsCounterClockwise,\n scissors: Icons.Scissors,\n search: Icons.Search,\n seed: Icons.Plant,\n server: Icons.Server,\n shield: Icons.Shield,\n shirt: Icons.Shirt,\n shoppingCart: Icons.ShoppingCart,\n slideshow: Icons.PresentationChart,\n stack: Icons.Stack,\n star: Icons.Star,\n store: Icons.Store,\n strikeThrough: Icons.StrikeThrough,\n sun: Icons.Sun,\n television: Icons.Television,\n thumbDown: Icons.ThumbDown,\n thumbUp: Icons.ThumbUp,\n train: Icons.Train,\n twitter: Symbols.X,\n typhoon: Icons.Typhoon,\n underline: Icons.Underline,\n user: Icons.User,\n volumeMute: Icons.VolumeMute,\n volumeUp: Icons.VolumeUp,\n walk: Icons.Walk,\n wheelchair: Icons.Wheelchair,\n write: Icons.Feather,\n};\n\nexport { ComponentIcon, COMPONENT_ICONS };\nexport type { ComponentIconProps };\n"],"names":["ComponentIcon","showBackground","icon","props","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","undefined","justifyContent","height","width","color","borderRadius","alien","Icons","Alien","apps","GridNine","archive","Archive","arrowDown","ArrowDown","arrowLeft","ArrowLeft","arrowRight","ArrowRight","arrowUp","ArrowUp","attachment","Paperclip","bell","Bell","bold","Bold","book","Book","briefcase","Briefcase","brush","PaintBrush","bulletList","BulletList","calendar","Calendar","car","Car","cast","Cast","chartBubble","ChartBubble","chartCircle","ChartCircle","chartPie","ChartPie","check","Check","clock","Clock","cloud","Cloud","code","Code","cog","Cog","collapse","Collapse","command","Command","connector","Faders","crop","Crop","crown","Crown","cup","Coffee","cursor","Cursor","SquaresFour","database","Database","discuss","Discuss","doctor","Stethoscope","earth","Earth","emotionHappy","EmotionHappy","emotionUnhappy","EmotionUnhappy","envelop","Mail","exit","SignOut","expand","Expand","eye","Eye","feather","Feather","file","File","fileError","FileError","filePdf","FilePdf","fileXls","FileXls","fileZip","FileZip","fileCsv","FileCsv","filter","Filter","folder","Folder","gate","CastleTurret","gift","Gift","globe","Globe","grid","GridFour","handHeart","HandHeart","hashtag","Hashtag","headphone","Headphones","heart","Heart","house","House","information","Information","italic","Italic","key","Key","landscape","Images","layer","ListPlus","layout","Layout","lightbulb","Lightbulb","link","Link","lock","Lock","magic","Magic","manyToMany","ManyToMany","manyToOne","ManyToOne","manyWays","ManyWays","medium","Symbols","Medium","message","Message","microphone","Microphone","monitor","Monitor","moon","Moon","music","MusicNotes","oneToMany","OneToMany","oneToOne","OneToOne","oneWay","OneWay","paint","paintBrush","paperPlane","PaperPlane","pencil","Pencil","phone","Phone","picture","Image","pin","Pin","pinMap","PinMap","plane","Plane","play","Play","plus","Plus","priceTag","PriceTag","puzzle","PuzzlePiece","question","Question","quote","Quotes","refresh","ArrowClockwise","restaurant","Restaurant","rocket","Rocket","rotate","ArrowsCounterClockwise","scissors","Scissors","search","Search","seed","Plant","server","Server","shield","Shield","shirt","Shirt","shoppingCart","ShoppingCart","slideshow","PresentationChart","stack","Stack","star","Star","store","Store","strikeThrough","StrikeThrough","sun","Sun","television","Television","thumbDown","ThumbDown","thumbUp","ThumbUp","train","Train","twitter","X","typhoon","Typhoon","underline","Underline","user","User","volumeMute","VolumeMute","volumeUp","VolumeUp","walk","Walk","wheelchair","Wheelchair","write"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentIcon.mjs","sources":["../../../admin/src/components/ComponentIcon.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, FlexProps } from '@strapi/design-system';\nimport * as Icons from '@strapi/icons';\nimport * as Symbols from '@strapi/icons/symbols';\n\nimport type { Struct } from '@strapi/types';\n\ninterface ComponentIconProps extends FlexProps {\n showBackground?: boolean;\n icon?: Struct.ContentTypeSchemaInfo['icon'];\n}\n\nconst ComponentIcon = ({\n showBackground = true,\n icon = 'dashboard',\n ...props\n}: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon as keyof typeof COMPONENT_ICONS] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={showBackground ? 'neutral200' : undefined}\n justifyContent=\"center\"\n height={8}\n width={8}\n color=\"neutral600\"\n borderRadius={showBackground ? '50%' : 0}\n {...props}\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n\nconst COMPONENT_ICONS: Record<string, React.ComponentType<any>> = {\n alien: Icons.Alien,\n apps: Icons.GridNine,\n archive: Icons.Archive,\n arrowDown: Icons.ArrowDown,\n arrowLeft: Icons.ArrowLeft,\n arrowRight: Icons.ArrowRight,\n arrowUp: Icons.ArrowUp,\n attachment: Icons.Paperclip,\n bell: Icons.Bell,\n bold: Icons.Bold,\n book: Icons.Book,\n briefcase: Icons.Briefcase,\n brush: Icons.PaintBrush,\n bulletList: Icons.BulletList,\n calendar: Icons.Calendar,\n car: Icons.Car,\n cast: Icons.Cast,\n chartBubble: Icons.ChartBubble,\n chartCircle: Icons.ChartCircle,\n chartPie: Icons.ChartPie,\n check: Icons.Check,\n clock: Icons.Clock,\n cloud: Icons.Cloud,\n code: Icons.Code,\n cog: Icons.Cog,\n collapse: Icons.Collapse,\n command: Icons.Command,\n connector: Icons.Faders,\n crop: Icons.Crop,\n crown: Icons.Crown,\n cup: Icons.Coffee,\n cursor: Icons.Cursor,\n dashboard: Icons.SquaresFour,\n database: Icons.Database,\n discuss: Icons.Discuss,\n doctor: Icons.Stethoscope,\n earth: Icons.Earth,\n emotionHappy: Icons.EmotionHappy,\n emotionUnhappy: Icons.EmotionUnhappy,\n envelop: Icons.Mail,\n exit: Icons.SignOut,\n expand: Icons.Expand,\n eye: Icons.Eye,\n feather: Icons.Feather,\n file: Icons.File,\n fileError: Icons.FileError,\n filePdf: Icons.FilePdf,\n fileXls: Icons.FileXls,\n fileZip: Icons.FileZip,\n fileCsv: Icons.FileCsv,\n filter: Icons.Filter,\n folder: Icons.Folder,\n gate: Icons.CastleTurret,\n gift: Icons.Gift,\n globe: Icons.Globe,\n grid: Icons.GridFour,\n handHeart: Icons.HandHeart,\n hashtag: Icons.Hashtag,\n headphone: Icons.Headphones,\n heart: Icons.Heart,\n house: Icons.House,\n information: Icons.Information,\n italic: Icons.Italic,\n key: Icons.Key,\n landscape: Icons.Images,\n layer: Icons.ListPlus,\n layout: Icons.Layout,\n lightbulb: Icons.Lightbulb,\n link: Icons.Link,\n lock: Icons.Lock,\n magic: Icons.Magic,\n manyToMany: Icons.ManyToMany,\n manyToOne: Icons.ManyToOne,\n manyWays: Icons.ManyWays,\n medium: Symbols.Medium,\n message: Icons.Message,\n microphone: Icons.Microphone,\n monitor: Icons.Monitor,\n moon: Icons.Moon,\n music: Icons.MusicNotes,\n oneToMany: Icons.OneToMany,\n oneToOne: Icons.OneToOne,\n oneWay: Icons.OneWay,\n paint: Icons.PaintBrush,\n paintBrush: Icons.PaintBrush,\n paperPlane: Icons.PaperPlane,\n pencil: Icons.Pencil,\n phone: Icons.Phone,\n picture: Icons.Image,\n pin: Icons.Pin,\n pinMap: Icons.PinMap,\n plane: Icons.Plane,\n play: Icons.Play,\n plus: Icons.Plus,\n priceTag: Icons.PriceTag,\n puzzle: Icons.PuzzlePiece,\n question: Icons.Question,\n quote: Icons.Quotes,\n refresh: Icons.ArrowClockwise,\n restaurant: Icons.Restaurant,\n rocket: Icons.Rocket,\n rotate: Icons.ArrowsCounterClockwise,\n scissors: Icons.Scissors,\n search: Icons.Search,\n seed: Icons.Plant,\n server: Icons.Server,\n shield: Icons.Shield,\n shirt: Icons.Shirt,\n shoppingCart: Icons.ShoppingCart,\n slideshow: Icons.PresentationChart,\n stack: Icons.Stack,\n star: Icons.Star,\n store: Icons.Store,\n strikeThrough: Icons.StrikeThrough,\n sun: Icons.Sun,\n television: Icons.Television,\n thumbDown: Icons.ThumbDown,\n thumbUp: Icons.ThumbUp,\n train: Icons.Train,\n twitter: Symbols.X,\n typhoon: Icons.Typhoon,\n underline: Icons.Underline,\n user: Icons.User,\n volumeMute: Icons.VolumeMute,\n volumeUp: Icons.VolumeUp,\n walk: Icons.Walk,\n wheelchair: Icons.Wheelchair,\n write: Icons.Feather,\n};\n\nexport { ComponentIcon, COMPONENT_ICONS };\nexport type { ComponentIconProps };\n"],"names":["ComponentIcon","showBackground","icon","props","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","undefined","justifyContent","height","width","color","borderRadius","alien","Icons","Alien","apps","GridNine","archive","Archive","arrowDown","ArrowDown","arrowLeft","ArrowLeft","arrowRight","ArrowRight","arrowUp","ArrowUp","attachment","Paperclip","bell","Bell","bold","Bold","book","Book","briefcase","Briefcase","brush","PaintBrush","bulletList","BulletList","calendar","Calendar","car","Car","cast","Cast","chartBubble","ChartBubble","chartCircle","ChartCircle","chartPie","ChartPie","check","Check","clock","Clock","cloud","Cloud","code","Code","cog","Cog","collapse","Collapse","command","Command","connector","Faders","crop","Crop","crown","Crown","cup","Coffee","cursor","Cursor","SquaresFour","database","Database","discuss","Discuss","doctor","Stethoscope","earth","Earth","emotionHappy","EmotionHappy","emotionUnhappy","EmotionUnhappy","envelop","Mail","exit","SignOut","expand","Expand","eye","Eye","feather","Feather","file","File","fileError","FileError","filePdf","FilePdf","fileXls","FileXls","fileZip","FileZip","fileCsv","FileCsv","filter","Filter","folder","Folder","gate","CastleTurret","gift","Gift","globe","Globe","grid","GridFour","handHeart","HandHeart","hashtag","Hashtag","headphone","Headphones","heart","Heart","house","House","information","Information","italic","Italic","key","Key","landscape","Images","layer","ListPlus","layout","Layout","lightbulb","Lightbulb","link","Link","lock","Lock","magic","Magic","manyToMany","ManyToMany","manyToOne","ManyToOne","manyWays","ManyWays","medium","Symbols","Medium","message","Message","microphone","Microphone","monitor","Monitor","moon","Moon","music","MusicNotes","oneToMany","OneToMany","oneToOne","OneToOne","oneWay","OneWay","paint","paintBrush","paperPlane","PaperPlane","pencil","Pencil","phone","Phone","picture","Image","pin","Pin","pinMap","PinMap","plane","Plane","play","Play","plus","Plus","priceTag","PriceTag","puzzle","PuzzlePiece","question","Question","quote","Quotes","refresh","ArrowClockwise","restaurant","Restaurant","rocket","Rocket","rotate","ArrowsCounterClockwise","scissors","Scissors","search","Search","seed","Plant","server","Server","shield","Shield","shirt","Shirt","shoppingCart","ShoppingCart","slideshow","PresentationChart","stack","Stack","star","Star","store","Store","strikeThrough","StrikeThrough","sun","Sun","television","Television","thumbDown","ThumbDown","thumbUp","ThumbUp","train","Train","twitter","X","typhoon","Typhoon","underline","Underline","user","User","volumeMute","VolumeMute","volumeUp","VolumeUp","walk","Walk","wheelchair","Wheelchair","write"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ComponentIcon.mjs","sources":["../../../admin/src/components/ComponentIcon.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, FlexProps } from '@strapi/design-system';\nimport * as Icons from '@strapi/icons';\nimport * as Symbols from '@strapi/icons/symbols';\n\nimport type { Struct } from '@strapi/types';\n\ntype ComponentIconProps = FlexProps & {\n showBackground?: boolean;\n icon?: Struct.ContentTypeSchemaInfo['icon'];\n};\n\ntype IconComponent = React.ComponentType<Pick<React.SVGProps<SVGSVGElement>, 'height' | 'width'>>;\n\nconst ComponentIcon = ({\n showBackground = true,\n icon = 'dashboard',\n ...props\n}: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon as keyof typeof COMPONENT_ICONS] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={showBackground ? 'neutral200' : undefined}\n justifyContent=\"center\"\n height={8}\n width={8}\n color=\"neutral600\"\n borderRadius={showBackground ? '50%' : 0}\n {...props}\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n\nconst COMPONENT_ICONS: Record<string, IconComponent> = {\n alien: Icons.Alien,\n apps: Icons.GridNine,\n archive: Icons.Archive,\n arrowDown: Icons.ArrowDown,\n arrowLeft: Icons.ArrowLeft,\n arrowRight: Icons.ArrowRight,\n arrowUp: Icons.ArrowUp,\n attachment: Icons.Paperclip,\n bell: Icons.Bell,\n bold: Icons.Bold,\n book: Icons.Book,\n briefcase: Icons.Briefcase,\n brush: Icons.PaintBrush,\n bulletList: Icons.BulletList,\n calendar: Icons.Calendar,\n car: Icons.Car,\n cast: Icons.Cast,\n chartBubble: Icons.ChartBubble,\n chartCircle: Icons.ChartCircle,\n chartPie: Icons.ChartPie,\n check: Icons.Check,\n clock: Icons.Clock,\n cloud: Icons.Cloud,\n code: Icons.Code,\n cog: Icons.Cog,\n collapse: Icons.Collapse,\n command: Icons.Command,\n connector: Icons.Faders,\n crop: Icons.Crop,\n crown: Icons.Crown,\n cup: Icons.Coffee,\n cursor: Icons.Cursor,\n dashboard: Icons.SquaresFour,\n database: Icons.Database,\n discuss: Icons.Discuss,\n doctor: Icons.Stethoscope,\n earth: Icons.Earth,\n emotionHappy: Icons.EmotionHappy,\n emotionUnhappy: Icons.EmotionUnhappy,\n envelop: Icons.Mail,\n exit: Icons.SignOut,\n expand: Icons.Expand,\n eye: Icons.Eye,\n feather: Icons.Feather,\n file: Icons.File,\n fileError: Icons.FileError,\n filePdf: Icons.FilePdf,\n fileXls: Icons.FileXls,\n fileZip: Icons.FileZip,\n fileCsv: Icons.FileCsv,\n filter: Icons.Filter,\n folder: Icons.Folder,\n gate: Icons.CastleTurret,\n gift: Icons.Gift,\n globe: Icons.Globe,\n grid: Icons.GridFour,\n handHeart: Icons.HandHeart,\n hashtag: Icons.Hashtag,\n headphone: Icons.Headphones,\n heart: Icons.Heart,\n house: Icons.House,\n information: Icons.Information,\n italic: Icons.Italic,\n key: Icons.Key,\n landscape: Icons.Images,\n layer: Icons.ListPlus,\n layout: Icons.Layout,\n lightbulb: Icons.Lightbulb,\n link: Icons.Link,\n lock: Icons.Lock,\n magic: Icons.Magic,\n manyToMany: Icons.ManyToMany,\n manyToOne: Icons.ManyToOne,\n manyWays: Icons.ManyWays,\n medium: Symbols.Medium,\n message: Icons.Message,\n microphone: Icons.Microphone,\n monitor: Icons.Monitor,\n moon: Icons.Moon,\n music: Icons.MusicNotes,\n oneToMany: Icons.OneToMany,\n oneToOne: Icons.OneToOne,\n oneWay: Icons.OneWay,\n paint: Icons.PaintBrush,\n paintBrush: Icons.PaintBrush,\n paperPlane: Icons.PaperPlane,\n pencil: Icons.Pencil,\n phone: Icons.Phone,\n picture: Icons.Image,\n pin: Icons.Pin,\n pinMap: Icons.PinMap,\n plane: Icons.Plane,\n play: Icons.Play,\n plus: Icons.Plus,\n priceTag: Icons.PriceTag,\n puzzle: Icons.PuzzlePiece,\n question: Icons.Question,\n quote: Icons.Quotes,\n refresh: Icons.ArrowClockwise,\n restaurant: Icons.Restaurant,\n rocket: Icons.Rocket,\n rotate: Icons.ArrowsCounterClockwise,\n scissors: Icons.Scissors,\n search: Icons.Search,\n seed: Icons.Plant,\n server: Icons.Server,\n shield: Icons.Shield,\n shirt: Icons.Shirt,\n shoppingCart: Icons.ShoppingCart,\n slideshow: Icons.PresentationChart,\n stack: Icons.Stack,\n star: Icons.Star,\n store: Icons.Store,\n strikeThrough: Icons.StrikeThrough,\n sun: Icons.Sun,\n television: Icons.Television,\n thumbDown: Icons.ThumbDown,\n thumbUp: Icons.ThumbUp,\n train: Icons.Train,\n twitter: Symbols.X,\n typhoon: Icons.Typhoon,\n underline: Icons.Underline,\n user: Icons.User,\n volumeMute: Icons.VolumeMute,\n volumeUp: Icons.VolumeUp,\n walk: Icons.Walk,\n wheelchair: Icons.Wheelchair,\n write: Icons.Feather,\n};\n\nexport { ComponentIcon, COMPONENT_ICONS };\nexport type { ComponentIconProps };\n"],"names":["ComponentIcon","showBackground","icon","props","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","undefined","justifyContent","height","width","color","borderRadius","alien","Icons","Alien","apps","GridNine","archive","Archive","arrowDown","ArrowDown","arrowLeft","ArrowLeft","arrowRight","ArrowRight","arrowUp","ArrowUp","attachment","Paperclip","bell","Bell","bold","Bold","book","Book","briefcase","Briefcase","brush","PaintBrush","bulletList","BulletList","calendar","Calendar","car","Car","cast","Cast","chartBubble","ChartBubble","chartCircle","ChartCircle","chartPie","ChartPie","check","Check","clock","Clock","cloud","Cloud","code","Code","cog","Cog","collapse","Collapse","command","Command","connector","Faders","crop","Crop","crown","Crown","cup","Coffee","cursor","Cursor","SquaresFour","database","Database","discuss","Discuss","doctor","Stethoscope","earth","Earth","emotionHappy","EmotionHappy","emotionUnhappy","EmotionUnhappy","envelop","Mail","exit","SignOut","expand","Expand","eye","Eye","feather","Feather","file","File","fileError","FileError","filePdf","FilePdf","fileXls","FileXls","fileZip","FileZip","fileCsv","FileCsv","filter","Filter","folder","Folder","gate","CastleTurret","gift","Gift","globe","Globe","grid","GridFour","handHeart","HandHeart","hashtag","Hashtag","headphone","Headphones","heart","Heart","house","House","information","Information","italic","Italic","key","Key","landscape","Images","layer","ListPlus","layout","Layout","lightbulb","Lightbulb","link","Link","lock","Lock","magic","Magic","manyToMany","ManyToMany","manyToOne","ManyToOne","manyWays","ManyWays","medium","Symbols","Medium","message","Message","microphone","Microphone","monitor","Monitor","moon","Moon","music","MusicNotes","oneToMany","OneToMany","oneToOne","OneToOne","oneWay","OneWay","paint","paintBrush","paperPlane","PaperPlane","pencil","Pencil","phone","Phone","picture","Image","pin","Pin","pinMap","PinMap","plane","Plane","play","Play","plus","Plus","priceTag","PriceTag","puzzle","PuzzlePiece","question","Question","quote","Quotes","refresh","ArrowClockwise","restaurant","Restaurant","rocket","Rocket","rotate","ArrowsCounterClockwise","scissors","Scissors","search","Search","seed","Plant","server","Server","shield","Shield","shirt","Shirt","shoppingCart","ShoppingCart","slideshow","PresentationChart","stack","Stack","star","Star","store","Store","strikeThrough","StrikeThrough","sun","Sun","television","Television","thumbDown","ThumbDown","thumbUp","ThumbUp","train","Train","twitter","X","typhoon","Typhoon","underline","Underline","user","User","volumeMute","VolumeMute","volumeUp","VolumeUp","walk","Walk","wheelchair","Wheelchair","write"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fields.js","sources":["../../../../admin/src/components/ConfigurationForm/Fields.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useDroppable, DndContext, UniqueIdentifier, DragOverlay } from '@dnd-kit/core';\nimport { arraySwap, SortableContext, useSortable, rectSwappingStrategy } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { useField, useForm, useIsDesktop } from '@strapi/admin/strapi-admin';\nimport {\n Modal,\n Box,\n Flex,\n Grid,\n IconButton,\n IconButtonComponent,\n Typography,\n Link,\n Menu,\n} from '@strapi/design-system';\nimport { Cog, Cross, Drag, Pencil, Plus } from '@strapi/icons';\nimport { generateNKeysBetween as generateNKeysBetweenImpl } from 'fractional-indexing';\nimport { produce } from 'immer';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { getTranslation } from '../../utils/translations';\nimport { ComponentIcon } from '../ComponentIcon';\n\nimport { EditFieldForm, EditFieldFormProps } from './EditFieldForm';\n\nimport type { ConfigurationFormData, EditFieldSpacerLayout } from './Form';\nimport type { EditLayout } from '../../hooks/useDocumentLayout';\n\ntype FormField = ConfigurationFormData['layout'][number]['children'][number];\ntype Field = Omit<ConfigurationFormData['layout'][number]['children'][number], '__temp_key__'>;\n\nconst GRID_COLUMNS = 12;\n\n/* -------------------------------------------------------------------------------------------------\n * Drag and Drop\n * -----------------------------------------------------------------------------------------------*/\n\nconst DroppableContainer = ({\n id,\n children,\n}: {\n id: string;\n children: (props: ReturnType<typeof useDroppable>) => React.ReactNode;\n}) => {\n const droppable = useDroppable({\n id,\n });\n\n return children(droppable);\n};\n\nexport const SortableItem = ({ id, children }: { id: string; children: React.ReactNode }) => {\n const { attributes, setNodeRef, transform, transition, isDragging } = useSortable({\n id,\n });\n\n const style = {\n transform: CSS.Transform.toString({\n x: transform?.x ?? 0,\n y: transform?.y ?? 0,\n // Avoid any scaling animations which can visually \"squish\" or\n // \"stretch\" neighbouring cards in mixed-width grids (4/8/12 cols).\n scaleX: 1,\n scaleY: 1,\n }),\n transition,\n height: '100%',\n opacity: isDragging ? 0.6 : 1,\n outlineOffset: 2,\n };\n\n return (\n <div ref={setNodeRef} style={style} {...attributes}>\n {children}\n </div>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Fields\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FieldsProps extends Pick<EditLayout, 'metadatas'>, Pick<FieldProps, 'components'> {\n attributes: {\n [key: string]: FieldProps['attribute'];\n };\n fieldSizes: Record<string, number>;\n components: EditLayout['components'];\n}\n\n/**\n * Compute uids and formName for drag and drop items for the incoming layout\n */\nconst createDragAndDropContainersFromLayout = (layout: ConfigurationFormData['layout']) => {\n return layout.map((row, containerIndex) => ({\n ...row,\n // Use unique ids for drag and drop items\n dndId: `container-${containerIndex}`,\n children: row.children.map((child, childIndex) => ({\n ...child,\n dndId: `container-${containerIndex}-child-${childIndex}`,\n\n // The formName must be recomputed each time an item is moved\n formName: `layout.${containerIndex}.children.${childIndex}`,\n })),\n }));\n};\n\nconst Fields = ({ attributes, fieldSizes, components, metadatas = {} }: FieldsProps) => {\n const { formatMessage } = useIntl();\n\n const layout = useForm<ConfigurationFormData['layout']>(\n 'Fields',\n (state) => state.values.layout ?? []\n );\n\n const onChange = useForm('Fields', (state) => state.onChange);\n const addFieldRow = useForm('Fields', (state) => state.addFieldRow);\n const removeFieldRow = useForm('Fields', (state) => state.removeFieldRow);\n\n const existingFields = layout.map((row) => row.children.map((field) => field.name)).flat();\n\n /**\n * Get the fields that are not already in the layout\n * But also check that they are visible before we give users\n * the option to display them. e.g. `id` is not visible.\n */\n const remainingFields = Object.entries(metadatas).reduce<Field[]>((acc, current) => {\n const [name, { visible, ...field }] = current;\n\n if (!existingFields.includes(name) && visible === true) {\n const type = attributes[name]?.type;\n const size = type ? fieldSizes[type] : GRID_COLUMNS;\n\n acc.push({\n ...field,\n label: field.label ?? name,\n name,\n size,\n });\n }\n\n return acc;\n }, []);\n\n const handleRemoveField =\n (rowIndex: number, fieldIndex: number): FieldProps['onRemoveField'] =>\n () => {\n if (layout[rowIndex].children.length === 1) {\n removeFieldRow(`layout`, rowIndex);\n } else {\n onChange(`layout.${rowIndex}.children`, [\n ...layout[rowIndex].children.slice(0, fieldIndex),\n ...layout[rowIndex].children.slice(fieldIndex + 1),\n ]);\n }\n };\n\n const handleAddField = (field: Field) => () => {\n addFieldRow('layout', { children: [field] });\n };\n\n const [containers, setContainers] = React.useState(() =>\n createDragAndDropContainersFromLayout(layout)\n );\n type Container = (typeof containers)[number];\n const [activeDragItem, setActiveDragItem] = React.useState<Container['children'][number] | null>(\n null\n );\n\n /**\n * Finds either the parent container id or the child id within a container\n */\n function findContainer(id: UniqueIdentifier, containersAsDictionary: Record<string, Container>) {\n // If the id is a key, then it is the parent container\n if (id in containersAsDictionary) {\n return id;\n }\n\n // Otherwise, it is a child inside a container\n return Object.keys(containersAsDictionary).find((key) =>\n containersAsDictionary[key].children.find((child) => child.dndId === id)\n );\n }\n\n /**\n * Gets an item from a container based on its id\n */\n const getItemFromContainer = (id: UniqueIdentifier, container: Container) => {\n return container.children.find((item) => id === item.dndId);\n };\n\n /**\n * Gets the containers as dictionary for quick lookup\n */\n const getContainersAsDictionary = () => {\n return Object.fromEntries(containers.map((container) => [container.dndId, container]));\n };\n\n /**\n * Recomputes the empty space in the grid\n */\n const createContainersWithSpacers = (layout: typeof containers) => {\n return layout\n .map((row) => ({\n ...row,\n children: row.children.filter((field) => field.name !== TEMP_FIELD_NAME),\n }))\n .filter((row) => row.children.length > 0)\n .map((row) => {\n const totalSpaceTaken = row.children.reduce((acc, curr) => acc + curr.size, 0);\n\n if (totalSpaceTaken < GRID_COLUMNS) {\n const [spacerKey] = generateNKeysBetweenImpl(\n row.children.at(-1)?.__temp_key__,\n undefined,\n 1\n );\n\n return {\n ...row,\n children: [\n ...row.children,\n {\n name: TEMP_FIELD_NAME,\n size: GRID_COLUMNS - totalSpaceTaken,\n __temp_key__: spacerKey,\n } satisfies EditFieldSpacerLayout,\n ],\n };\n }\n\n return row;\n });\n };\n\n /**\n * When layout changes (e.g. when a field size is changed or the containers are reordered)\n * we need to update the ids and form names\n */\n React.useEffect(() => {\n const containers = createDragAndDropContainersFromLayout(layout);\n setContainers(containers);\n }, [layout, setContainers]);\n\n return (\n <DndContext\n onDragStart={(event) => {\n const containersAsDictionary = getContainersAsDictionary();\n\n const activeContainer = findContainer(event.active.id, containersAsDictionary);\n\n if (!activeContainer) return;\n\n const activeItem = getItemFromContainer(\n event.active.id,\n containersAsDictionary[activeContainer]\n );\n\n if (activeItem) {\n setActiveDragItem(activeItem);\n }\n }}\n onDragOver={({ active, over }) => {\n const containersAsDictionary = getContainersAsDictionary();\n const activeContainer = findContainer(active.id, containersAsDictionary);\n const overContainer = findContainer(over?.id ?? '', containersAsDictionary);\n const activeContainerIndex = containers.findIndex(\n (container) => container.dndId === activeContainer\n );\n const overContainerIndex = containers.findIndex(\n (container) => container.dndId === overContainer\n );\n\n if (!activeContainer || !overContainer) {\n return;\n }\n\n const draggedItem = getItemFromContainer(\n active.id,\n containersAsDictionary[activeContainer]\n );\n const overItem = getItemFromContainer(\n over?.id ?? '',\n containersAsDictionary[overContainer]\n );\n const overIndex = containersAsDictionary[overContainer].children.findIndex(\n (item) => item.dndId === over?.id\n );\n const activeIndex = containersAsDictionary[activeContainer].children.findIndex(\n (item) => item.dndId === active.id\n );\n\n if (!draggedItem) return;\n\n // Handle a full width field being dragged\n if (draggedItem?.size === GRID_COLUMNS) {\n // Swap the items in the containers\n const update = produce(containers, (draft) => {\n draft[activeContainerIndex].children = containers[overContainerIndex].children;\n draft[overContainerIndex].children = containers[activeContainerIndex].children;\n });\n setContainers(update);\n return;\n }\n\n /**\n * Handle an item being dragged from one container to another,\n * the item is removed from its current container, and then added to its new container\n * An item can only be added in a container if there is enough space\n */\n const update = produce(containers, (draft) => {\n draft[activeContainerIndex].children = draft[activeContainerIndex].children.filter(\n (item) => item.dndId !== active.id\n );\n\n const targetChildren = draft[overContainerIndex].children;\n const spaceTaken = targetChildren.reduce((acc, curr) => {\n if (curr.name === TEMP_FIELD_NAME) {\n return acc;\n }\n\n return acc + curr.size;\n }, 0);\n const isNotEnoughSpace = spaceTaken + draggedItem.size > GRID_COLUMNS;\n const canSwapSameSizeItem =\n overItem &&\n overItem.name !== TEMP_FIELD_NAME &&\n overItem.size === draggedItem.size &&\n activeIndex !== -1 &&\n overIndex !== -1;\n const canCreateNewRowForItem =\n activeContainerIndex !== overContainerIndex && GRID_COLUMNS - spaceTaken === 0;\n const isHoveringOverSpacer = overItem?.name === TEMP_FIELD_NAME;\n\n /**\n * Not enough space in the hovered row\n *\n * We still want:\n * - ability to swap items of the same size\n * - ability to create a single extra row to host the dragged item\n * when surrounding rows are full\n */\n if (isNotEnoughSpace) {\n // Try a simple swap when target item is of the same size\n if (canSwapSameSizeItem) {\n const sourceChildren = draft[activeContainerIndex].children;\n\n // Put the hovered item back where the dragged item came from\n sourceChildren.splice(activeIndex, 0, overItem);\n\n // Swap the hovered item with the dragged one in the target row\n const draftOverIndex = targetChildren.findIndex(\n (item) => item.dndId === overItem.dndId\n );\n\n if (draftOverIndex !== -1) {\n targetChildren.splice(draftOverIndex, 1, draggedItem);\n }\n\n return;\n }\n\n // If there is absolutely no space left in the target row and the\n // dragged item comes from a different row, add it to a new row\n if (canCreateNewRowForItem) {\n // Default: insert a new row after the row being hovered (between that row and the\n // next). For row 0, use index 0 instead so fields that are not full-width can still\n // be moved above the first row—there is no separate drop area above it in the UI.\n const insertIndex = overContainerIndex === 0 ? 0 : overContainerIndex + 1;\n\n /**\n * When inserting *after* the hovered row, reuse the following row if it only\n * contains spacers. Skip when inserting at index 0 — draft[0] is the hovered row.\n */\n if (insertIndex > overContainerIndex) {\n const existingRow = draft[insertIndex];\n\n if (existingRow) {\n const nonTempChildren = existingRow.children.filter(\n (child) => child.name !== TEMP_FIELD_NAME\n );\n const isNextRowEmpty = nonTempChildren.length === 0;\n\n // If the row directly after is empty (only spacers), reuse it\n // instead of creating yet another row.\n if (isNextRowEmpty) {\n existingRow.children = [draggedItem];\n return;\n }\n }\n }\n\n const newContainerPrototype = draft[overContainerIndex];\n const newContainerId = `container-${draft.length}`;\n\n draft.splice(insertIndex, 0, {\n ...newContainerPrototype,\n dndId: newContainerId,\n children: [draggedItem],\n });\n\n return;\n }\n }\n\n // There is enough room in the target row\n if (isHoveringOverSpacer) {\n // We are over an invisible spacer, replace it with the dragged item\n targetChildren.splice(overIndex, 1, draggedItem);\n return;\n }\n\n // There is room for the item in the container, drop it\n targetChildren.splice(overIndex, 0, draggedItem);\n });\n\n setContainers(update);\n }}\n onDragEnd={(event) => {\n const { active, over } = event;\n const { id } = active;\n const overId = over?.id;\n const containersAsDictionary = getContainersAsDictionary();\n const activeContainer = findContainer(id, containersAsDictionary);\n const overContainer = findContainer(overId!, containersAsDictionary);\n\n if (!activeContainer || !overContainer) {\n return;\n }\n\n const activeIndex = containersAsDictionary[activeContainer].children.findIndex(\n (children) => children.dndId === id\n );\n const overIndex = containersAsDictionary[overContainer].children.findIndex(\n (children) => children.dndId === overId\n );\n\n const movedContainerItems = produce(containersAsDictionary, (draft) => {\n if (\n activeIndex >= 0 &&\n overIndex >= 0 &&\n activeIndex !== overIndex &&\n activeContainer === overContainer\n ) {\n // Move items around inside their own container\n draft[activeContainer].children = arraySwap(\n draft[activeContainer].children,\n activeIndex,\n overIndex\n );\n }\n });\n\n // Remove properties the server does not expect before updating the form\n const updatedContainers = Object.values(movedContainerItems);\n const updatedContainersWithSpacers = createContainersWithSpacers(\n updatedContainers\n ) as typeof containers;\n const updatedLayout = updatedContainersWithSpacers.map(\n ({ dndId: _dndId, children, ...container }) => ({\n ...container,\n children: children.map(({ dndId: _dndId, formName: _formName, ...child }) => child),\n })\n );\n\n // Update the layout\n onChange('layout', updatedLayout);\n setActiveDragItem(null);\n }}\n >\n <Flex paddingTop={6} direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex alignItems=\"flex-start\" direction=\"column\" justifyContent=\"space-between\">\n <Typography fontWeight=\"bold\">\n {formatMessage({\n id: getTranslation('containers.list.displayedFields'),\n defaultMessage: 'Displayed fields',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: 'containers.SettingPage.editSettings.description',\n defaultMessage: 'Drag & drop the fields to build the layout',\n })}\n </Typography>\n </Flex>\n <Box padding={4} hasRadius borderStyle=\"dashed\" borderWidth=\"1px\" borderColor=\"neutral300\">\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n {containers.map((container, containerIndex) => (\n <SortableContext\n key={container.dndId}\n id={container.dndId}\n items={container.children.map((child) => ({ id: child.dndId }))}\n strategy={rectSwappingStrategy}\n >\n <DroppableContainer id={container.dndId}>\n {({ setNodeRef }) => (\n <Grid.Root key={container.dndId} ref={setNodeRef} gap={2}>\n {container.children.map((child, childIndex) => (\n <Grid.Item\n col={child.size}\n xs={12}\n key={child.dndId}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <SortableItem id={child.dndId}>\n <Field\n attribute={attributes[child.name]}\n components={components}\n name={child.formName}\n onRemoveField={handleRemoveField(containerIndex, childIndex)}\n dndId={child.dndId}\n />\n </SortableItem>\n </Grid.Item>\n ))}\n </Grid.Root>\n )}\n </DroppableContainer>\n </SortableContext>\n ))}\n <DragOverlay>\n {activeDragItem ? (\n <Field\n attribute={attributes[activeDragItem.name]}\n components={components}\n name={activeDragItem.formName}\n dndId={activeDragItem.dndId}\n />\n ) : null}\n </DragOverlay>\n <Menu.Root>\n <Menu.Trigger\n startIcon={<Plus />}\n endIcon={null}\n disabled={remainingFields.length === 0}\n fullWidth\n variant=\"secondary\"\n >\n {formatMessage({\n id: getTranslation('containers.SettingPage.add.field'),\n defaultMessage: 'Insert another field',\n })}\n </Menu.Trigger>\n <Menu.Content>\n {remainingFields.map((field) => (\n <Menu.Item key={field.name} onSelect={handleAddField(field)}>\n {field.label}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n </Flex>\n </Box>\n </Flex>\n </DndContext>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Field\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FieldProps extends Pick<EditFieldFormProps, 'name' | 'attribute'> {\n components: EditLayout['components'];\n dndId: string;\n onRemoveField?: React.MouseEventHandler<HTMLButtonElement>;\n}\n\nconst TEMP_FIELD_NAME = '_TEMP_';\n\n/**\n * Displays a field in the layout with drag options, also\n * opens a modal to edit the details of said field.\n */\nconst Field = ({ attribute, components, name, onRemoveField, dndId }: FieldProps) => {\n const isDesktop = useIsDesktop();\n const [isModalOpen, setIsModalOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n const { value } = useField<FormField>(name);\n const { listeners, setActivatorNodeRef } = useSortable({\n id: dndId,\n });\n\n const handleRemoveField: React.MouseEventHandler<HTMLButtonElement> = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (onRemoveField) {\n onRemoveField?.(e);\n }\n };\n\n const onEditFieldMeta: React.MouseEventHandler<HTMLButtonElement> = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setIsModalOpen(true);\n };\n\n if (!value) {\n return null;\n }\n\n if (value.name === TEMP_FIELD_NAME) {\n return <Flex tag=\"span\" height=\"100%\" style={{ opacity: 0 }} />;\n }\n\n if (!attribute) {\n return null;\n }\n\n return (\n <Modal.Root open={isModalOpen} onOpenChange={setIsModalOpen}>\n <Flex\n borderColor=\"neutral150\"\n background=\"neutral100\"\n hasRadius\n gap={3}\n cursor=\"pointer\"\n onClick={() => {\n setIsModalOpen(true);\n }}\n position=\"relative\"\n >\n {isDesktop && (\n <DragButton\n ref={setActivatorNodeRef}\n tag=\"span\"\n withTooltip={false}\n label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.move.field'),\n defaultMessage: 'Move {item}',\n },\n { item: value.label }\n )}\n {...listeners}\n >\n <Drag />\n </DragButton>\n )}\n <Flex direction=\"column\" alignItems=\"flex-start\" grow={1} overflow=\"hidden\">\n <Flex gap={3} justifyContent=\"space-between\" width=\"100%\">\n <Typography ellipsis fontWeight=\"bold\">\n {value.label}\n </Typography>\n <Flex position=\"relative\">\n <IconButton\n type=\"button\"\n variant=\"ghost\"\n background=\"transparent\"\n onClick={onEditFieldMeta}\n withTooltip={false}\n label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.edit.field'),\n defaultMessage: 'Edit {item}',\n },\n { item: value.label }\n )}\n >\n <Pencil />\n </IconButton>\n <IconButton\n type=\"button\"\n variant=\"ghost\"\n onClick={handleRemoveField}\n background=\"transparent\"\n withTooltip={false}\n label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.delete.field'),\n defaultMessage: 'Delete {item}',\n },\n { item: value.label }\n )}\n >\n <Cross />\n </IconButton>\n </Flex>\n </Flex>\n {attribute?.type === 'component' ? (\n <Flex\n paddingTop={3}\n paddingRight={3}\n paddingBottom={3}\n paddingLeft={0}\n alignItems=\"flex-start\"\n direction=\"column\"\n gap={2}\n width=\"100%\"\n >\n <Grid.Root gap={4} width=\"100%\">\n {components[attribute.component].layout.map((row) =>\n row.map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <Flex\n alignItems=\"center\"\n background=\"neutral0\"\n paddingTop={2}\n paddingBottom={2}\n paddingLeft={3}\n paddingRight={3}\n hasRadius\n borderColor=\"neutral200\"\n >\n <Typography textColor=\"neutral800\">{field.name}</Typography>\n </Flex>\n </Grid.Item>\n ))\n )}\n </Grid.Root>\n <Link\n // used to stop the edit form from appearing when we click here.\n onClick={(e) => e.stopPropagation()}\n startIcon={<Cog />}\n tag={NavLink}\n to={`../components/${attribute.component}/configurations/edit`}\n >\n {formatMessage({\n id: getTranslation('components.FieldItem.linkToComponentLayout'),\n defaultMessage: \"Set the component's layout\",\n })}\n </Link>\n </Flex>\n ) : null}\n {attribute?.type === 'dynamiczone' ? (\n <Flex\n paddingTop={3}\n paddingRight={3}\n paddingBottom={3}\n paddingLeft={0}\n alignItems=\"flex-start\"\n gap={2}\n width=\"100%\"\n wrap=\"wrap\"\n >\n {attribute?.components.map((uid) => (\n <ComponentLink\n // used to stop the edit form from appearing when we click here.\n onClick={(e) => e.stopPropagation()}\n key={uid}\n to={`../components/${uid}/configurations/edit`}\n >\n <ComponentIcon icon={components[uid].settings.icon} />\n <Typography fontSize={1} textColor=\"neutral600\" fontWeight=\"bold\">\n {components[uid].settings.displayName}\n </Typography>\n </ComponentLink>\n ))}\n </Flex>\n ) : null}\n </Flex>\n </Flex>\n {value.name !== TEMP_FIELD_NAME && (\n <EditFieldForm attribute={attribute} name={name} onClose={() => setIsModalOpen(false)} />\n )}\n </Modal.Root>\n );\n};\n\nconst DragButton = styled<IconButtonComponent<'span'>>(IconButton)`\n height: unset;\n align-self: stretch;\n display: flex;\n align-items: center;\n padding: 0;\n border: none;\n background-color: transparent;\n border-radius: 0px;\n border-right: 1px solid ${({ theme }) => theme.colors.neutral150};\n cursor: all-scroll;\n\n svg {\n width: 1.2rem;\n height: 1.2rem;\n }\n`;\n\nconst ComponentLink = styled(NavLink)`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: ${({ theme }) => theme.spaces[1]};\n padding: ${(props) => props.theme.spaces[2]};\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n background: ${({ theme }) => theme.colors.neutral0};\n width: 14rem;\n border-radius: ${({ theme }) => theme.borderRadius};\n text-decoration: none;\n\n &:focus,\n &:hover {\n ${({ theme }) => `\n background-color: ${theme.colors.primary100};\n border-color: ${theme.colors.primary200};\n\n ${Typography} {\n color: ${theme.colors.primary600};\n }\n `}\n\n /* > ComponentIcon */\n > div:first-child {\n background: ${({ theme }) => theme.colors.primary200};\n color: ${({ theme }) => theme.colors.primary600};\n\n svg {\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n }\n }\n`;\n\nexport { Fields, TEMP_FIELD_NAME };\nexport type { FieldsProps };\n"],"names":["GRID_COLUMNS","DroppableContainer","id","children","droppable","useDroppable","SortableItem","attributes","setNodeRef","transform","transition","isDragging","useSortable","style","CSS","Transform","toString","x","y","scaleX","scaleY","height","opacity","outlineOffset","_jsx","div","ref","createDragAndDropContainersFromLayout","layout","map","row","containerIndex","dndId","child","childIndex","formName","Fields","fieldSizes","components","metadatas","formatMessage","useIntl","useForm","state","values","onChange","addFieldRow","removeFieldRow","existingFields","field","name","flat","remainingFields","Object","entries","reduce","acc","current","visible","includes","type","size","push","label","handleRemoveField","rowIndex","fieldIndex","length","slice","handleAddField","containers","setContainers","React","useState","activeDragItem","setActiveDragItem","findContainer","containersAsDictionary","keys","find","key","getItemFromContainer","container","item","getContainersAsDictionary","fromEntries","createContainersWithSpacers","filter","TEMP_FIELD_NAME","totalSpaceTaken","curr","spacerKey","generateNKeysBetweenImpl","at","__temp_key__","undefined","useEffect","DndContext","onDragStart","event","activeContainer","active","activeItem","onDragOver","over","overContainer","activeContainerIndex","findIndex","overContainerIndex","draggedItem","overItem","overIndex","activeIndex","update","produce","draft","targetChildren","spaceTaken","isNotEnoughSpace","canSwapSameSizeItem","canCreateNewRowForItem","isHoveringOverSpacer","sourceChildren","splice","draftOverIndex","insertIndex","existingRow","nonTempChildren","isNextRowEmpty","newContainerPrototype","newContainerId","onDragEnd","overId","movedContainerItems","arraySwap","updatedContainers","updatedContainersWithSpacers","updatedLayout","_dndId","_formName","_jsxs","Flex","paddingTop","direction","alignItems","gap","justifyContent","Typography","fontWeight","getTranslation","defaultMessage","variant","textColor","Box","padding","hasRadius","borderStyle","borderWidth","borderColor","SortableContext","items","strategy","rectSwappingStrategy","Grid","Root","Item","col","xs","Field","attribute","onRemoveField","DragOverlay","Menu","Trigger","startIcon","Plus","endIcon","disabled","fullWidth","Content","onSelect","isDesktop","useIsDesktop","isModalOpen","setIsModalOpen","value","useField","listeners","setActivatorNodeRef","e","preventDefault","stopPropagation","onEditFieldMeta","tag","Modal","open","onOpenChange","background","cursor","onClick","position","DragButton","withTooltip","Drag","grow","overflow","width","ellipsis","IconButton","Pencil","Cross","paddingRight","paddingBottom","paddingLeft","component","Link","Cog","NavLink","to","wrap","uid","ComponentLink","ComponentIcon","icon","settings","fontSize","displayName","EditFieldForm","onClose","styled","theme","colors","neutral150","spaces","props","neutral200","neutral0","borderRadius","primary100","primary200","primary600"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Fields.js","sources":["../../../../admin/src/components/ConfigurationForm/Fields.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useDroppable, DndContext, UniqueIdentifier, DragOverlay } from '@dnd-kit/core';\nimport { arraySwap, SortableContext, useSortable, rectSwappingStrategy } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { useField, useForm, useIsDesktop } from '@strapi/admin/strapi-admin';\nimport {\n Modal,\n Box,\n Flex,\n Grid,\n IconButton,\n IconButtonComponent,\n Typography,\n Link,\n Menu,\n} from '@strapi/design-system';\nimport { Cog, Cross, Drag, Pencil, Plus } from '@strapi/icons';\nimport { generateNKeysBetween as generateNKeysBetweenImpl } from 'fractional-indexing';\nimport { produce } from 'immer';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { getTranslation } from '../../utils/translations';\nimport { ComponentIcon } from '../ComponentIcon';\n\nimport { EditFieldForm, EditFieldFormProps } from './EditFieldForm';\n\nimport type { ConfigurationFormData, EditFieldSpacerLayout } from './Form';\nimport type { EditLayout } from '../../hooks/useDocumentLayout';\n\ntype FormField = ConfigurationFormData['layout'][number]['children'][number];\ntype Field = Omit<ConfigurationFormData['layout'][number]['children'][number], '__temp_key__'>;\n\nconst GRID_COLUMNS = 12;\n\n/* -------------------------------------------------------------------------------------------------\n * Drag and Drop\n * -----------------------------------------------------------------------------------------------*/\n\nconst DroppableContainer = ({\n id,\n children,\n}: {\n id: string;\n children: (props: ReturnType<typeof useDroppable>) => React.ReactNode;\n}) => {\n const droppable = useDroppable({\n id,\n });\n\n return children(droppable);\n};\n\nexport const SortableItem = ({ id, children }: { id: string; children: React.ReactNode }) => {\n const { attributes, setNodeRef, transform, transition, isDragging } = useSortable({\n id,\n });\n\n const style = {\n transform: CSS.Transform.toString({\n x: transform?.x ?? 0,\n y: transform?.y ?? 0,\n // Avoid any scaling animations which can visually \"squish\" or\n // \"stretch\" neighbouring cards in mixed-width grids (4/8/12 cols).\n scaleX: 1,\n scaleY: 1,\n }),\n transition,\n height: '100%',\n opacity: isDragging ? 0.6 : 1,\n outlineOffset: 2,\n };\n\n return (\n <div ref={setNodeRef} style={style} {...attributes}>\n {children}\n </div>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Fields\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FieldsProps extends Pick<EditLayout, 'metadatas'>, Pick<FieldProps, 'components'> {\n attributes: {\n [key: string]: FieldProps['attribute'];\n };\n fieldSizes: Record<string, number>;\n components: EditLayout['components'];\n}\n\n/**\n * Compute uids and formName for drag and drop items for the incoming layout\n */\nconst createDragAndDropContainersFromLayout = (layout: ConfigurationFormData['layout']) => {\n return layout.map((row, containerIndex) => ({\n ...row,\n // Use unique ids for drag and drop items\n dndId: `container-${containerIndex}`,\n children: row.children.map((child, childIndex) => ({\n ...child,\n dndId: `container-${containerIndex}-child-${childIndex}`,\n\n // The formName must be recomputed each time an item is moved\n formName: `layout.${containerIndex}.children.${childIndex}`,\n })),\n }));\n};\n\nconst Fields = ({ attributes, fieldSizes, components, metadatas = {} }: FieldsProps) => {\n const { formatMessage } = useIntl();\n\n const layout = useForm<ConfigurationFormData['layout']>(\n 'Fields',\n (state) => (state.values as ConfigurationFormData).layout ?? []\n );\n\n const onChange = useForm('Fields', (state) => state.onChange);\n const addFieldRow = useForm('Fields', (state) => state.addFieldRow);\n const removeFieldRow = useForm('Fields', (state) => state.removeFieldRow);\n\n const existingFields = layout.map((row) => row.children.map((field) => field.name)).flat();\n\n /**\n * Get the fields that are not already in the layout\n * But also check that they are visible before we give users\n * the option to display them. e.g. `id` is not visible.\n */\n const remainingFields = Object.entries(metadatas).reduce<Field[]>((acc, current) => {\n const [name, { visible, ...field }] = current;\n\n if (!existingFields.includes(name) && visible === true) {\n const type = attributes[name]?.type;\n const size = type ? fieldSizes[type] : GRID_COLUMNS;\n\n acc.push({\n ...field,\n label: field.label ?? name,\n name,\n size,\n });\n }\n\n return acc;\n }, []);\n\n const handleRemoveField =\n (rowIndex: number, fieldIndex: number): FieldProps['onRemoveField'] =>\n () => {\n if (layout[rowIndex].children.length === 1) {\n removeFieldRow(`layout`, rowIndex);\n } else {\n onChange(`layout.${rowIndex}.children`, [\n ...layout[rowIndex].children.slice(0, fieldIndex),\n ...layout[rowIndex].children.slice(fieldIndex + 1),\n ]);\n }\n };\n\n const handleAddField = (field: Field) => () => {\n addFieldRow('layout', { children: [field] });\n };\n\n const [containers, setContainers] = React.useState(() =>\n createDragAndDropContainersFromLayout(layout)\n );\n type Container = (typeof containers)[number];\n const [activeDragItem, setActiveDragItem] = React.useState<Container['children'][number] | null>(\n null\n );\n\n /**\n * Finds either the parent container id or the child id within a container\n */\n function findContainer(id: UniqueIdentifier, containersAsDictionary: Record<string, Container>) {\n // If the id is a key, then it is the parent container\n if (id in containersAsDictionary) {\n return id;\n }\n\n // Otherwise, it is a child inside a container\n return Object.keys(containersAsDictionary).find((key) =>\n containersAsDictionary[key].children.find((child) => child.dndId === id)\n );\n }\n\n /**\n * Gets an item from a container based on its id\n */\n const getItemFromContainer = (id: UniqueIdentifier, container: Container) => {\n return container.children.find((item) => id === item.dndId);\n };\n\n /**\n * Gets the containers as dictionary for quick lookup\n */\n const getContainersAsDictionary = () => {\n return Object.fromEntries(containers.map((container) => [container.dndId, container]));\n };\n\n /**\n * Recomputes the empty space in the grid\n */\n const createContainersWithSpacers = (layout: typeof containers) => {\n return layout\n .map((row) => ({\n ...row,\n children: row.children.filter((field) => field.name !== TEMP_FIELD_NAME),\n }))\n .filter((row) => row.children.length > 0)\n .map((row) => {\n const totalSpaceTaken = row.children.reduce((acc, curr) => acc + curr.size, 0);\n\n if (totalSpaceTaken < GRID_COLUMNS) {\n const [spacerKey] = generateNKeysBetweenImpl(\n row.children.at(-1)?.__temp_key__,\n undefined,\n 1\n );\n\n return {\n ...row,\n children: [\n ...row.children,\n {\n name: TEMP_FIELD_NAME,\n size: GRID_COLUMNS - totalSpaceTaken,\n __temp_key__: spacerKey,\n } satisfies EditFieldSpacerLayout,\n ],\n };\n }\n\n return row;\n });\n };\n\n /**\n * When layout changes (e.g. when a field size is changed or the containers are reordered)\n * we need to update the ids and form names\n */\n React.useEffect(() => {\n const containers = createDragAndDropContainersFromLayout(layout);\n setContainers(containers);\n }, [layout, setContainers]);\n\n return (\n <DndContext\n onDragStart={(event) => {\n const containersAsDictionary = getContainersAsDictionary();\n\n const activeContainer = findContainer(event.active.id, containersAsDictionary);\n\n if (!activeContainer) return;\n\n const activeItem = getItemFromContainer(\n event.active.id,\n containersAsDictionary[activeContainer]\n );\n\n if (activeItem) {\n setActiveDragItem(activeItem);\n }\n }}\n onDragOver={({ active, over }) => {\n const containersAsDictionary = getContainersAsDictionary();\n const activeContainer = findContainer(active.id, containersAsDictionary);\n const overContainer = findContainer(over?.id ?? '', containersAsDictionary);\n const activeContainerIndex = containers.findIndex(\n (container) => container.dndId === activeContainer\n );\n const overContainerIndex = containers.findIndex(\n (container) => container.dndId === overContainer\n );\n\n if (!activeContainer || !overContainer) {\n return;\n }\n\n const draggedItem = getItemFromContainer(\n active.id,\n containersAsDictionary[activeContainer]\n );\n const overItem = getItemFromContainer(\n over?.id ?? '',\n containersAsDictionary[overContainer]\n );\n const overIndex = containersAsDictionary[overContainer].children.findIndex(\n (item) => item.dndId === over?.id\n );\n const activeIndex = containersAsDictionary[activeContainer].children.findIndex(\n (item) => item.dndId === active.id\n );\n\n if (!draggedItem) return;\n\n // Handle a full width field being dragged\n if (draggedItem?.size === GRID_COLUMNS) {\n // Swap the items in the containers\n const update = produce(containers, (draft) => {\n draft[activeContainerIndex].children = containers[overContainerIndex].children;\n draft[overContainerIndex].children = containers[activeContainerIndex].children;\n });\n setContainers(update);\n return;\n }\n\n /**\n * Handle an item being dragged from one container to another,\n * the item is removed from its current container, and then added to its new container\n * An item can only be added in a container if there is enough space\n */\n const update = produce(containers, (draft) => {\n draft[activeContainerIndex].children = draft[activeContainerIndex].children.filter(\n (item) => item.dndId !== active.id\n );\n\n const targetChildren = draft[overContainerIndex].children;\n const spaceTaken = targetChildren.reduce((acc, curr) => {\n if (curr.name === TEMP_FIELD_NAME) {\n return acc;\n }\n\n return acc + curr.size;\n }, 0);\n const isNotEnoughSpace = spaceTaken + draggedItem.size > GRID_COLUMNS;\n const canSwapSameSizeItem =\n overItem &&\n overItem.name !== TEMP_FIELD_NAME &&\n overItem.size === draggedItem.size &&\n activeIndex !== -1 &&\n overIndex !== -1;\n const canCreateNewRowForItem =\n activeContainerIndex !== overContainerIndex && GRID_COLUMNS - spaceTaken === 0;\n const isHoveringOverSpacer = overItem?.name === TEMP_FIELD_NAME;\n\n /**\n * Not enough space in the hovered row\n *\n * We still want:\n * - ability to swap items of the same size\n * - ability to create a single extra row to host the dragged item\n * when surrounding rows are full\n */\n if (isNotEnoughSpace) {\n // Try a simple swap when target item is of the same size\n if (canSwapSameSizeItem) {\n const sourceChildren = draft[activeContainerIndex].children;\n\n // Put the hovered item back where the dragged item came from\n sourceChildren.splice(activeIndex, 0, overItem);\n\n // Swap the hovered item with the dragged one in the target row\n const draftOverIndex = targetChildren.findIndex(\n (item) => item.dndId === overItem.dndId\n );\n\n if (draftOverIndex !== -1) {\n targetChildren.splice(draftOverIndex, 1, draggedItem);\n }\n\n return;\n }\n\n // If there is absolutely no space left in the target row and the\n // dragged item comes from a different row, add it to a new row\n if (canCreateNewRowForItem) {\n // Default: insert a new row after the row being hovered (between that row and the\n // next). For row 0, use index 0 instead so fields that are not full-width can still\n // be moved above the first row—there is no separate drop area above it in the UI.\n const insertIndex = overContainerIndex === 0 ? 0 : overContainerIndex + 1;\n\n /**\n * When inserting *after* the hovered row, reuse the following row if it only\n * contains spacers. Skip when inserting at index 0 — draft[0] is the hovered row.\n */\n if (insertIndex > overContainerIndex) {\n const existingRow = draft[insertIndex];\n\n if (existingRow) {\n const nonTempChildren = existingRow.children.filter(\n (child) => child.name !== TEMP_FIELD_NAME\n );\n const isNextRowEmpty = nonTempChildren.length === 0;\n\n // If the row directly after is empty (only spacers), reuse it\n // instead of creating yet another row.\n if (isNextRowEmpty) {\n existingRow.children = [draggedItem];\n return;\n }\n }\n }\n\n const newContainerPrototype = draft[overContainerIndex];\n const newContainerId = `container-${draft.length}`;\n\n draft.splice(insertIndex, 0, {\n ...newContainerPrototype,\n dndId: newContainerId,\n children: [draggedItem],\n });\n\n return;\n }\n }\n\n // There is enough room in the target row\n if (isHoveringOverSpacer) {\n // We are over an invisible spacer, replace it with the dragged item\n targetChildren.splice(overIndex, 1, draggedItem);\n return;\n }\n\n // There is room for the item in the container, drop it\n targetChildren.splice(overIndex, 0, draggedItem);\n });\n\n setContainers(update);\n }}\n onDragEnd={(event) => {\n const { active, over } = event;\n const { id } = active;\n const overId = over?.id;\n const containersAsDictionary = getContainersAsDictionary();\n const activeContainer = findContainer(id, containersAsDictionary);\n const overContainer = findContainer(overId!, containersAsDictionary);\n\n if (!activeContainer || !overContainer) {\n return;\n }\n\n const activeIndex = containersAsDictionary[activeContainer].children.findIndex(\n (children) => children.dndId === id\n );\n const overIndex = containersAsDictionary[overContainer].children.findIndex(\n (children) => children.dndId === overId\n );\n\n const movedContainerItems = produce(containersAsDictionary, (draft) => {\n if (\n activeIndex >= 0 &&\n overIndex >= 0 &&\n activeIndex !== overIndex &&\n activeContainer === overContainer\n ) {\n // Move items around inside their own container\n draft[activeContainer].children = arraySwap(\n draft[activeContainer].children,\n activeIndex,\n overIndex\n );\n }\n });\n\n // Remove properties the server does not expect before updating the form\n const updatedContainers = Object.values(movedContainerItems);\n const updatedContainersWithSpacers = createContainersWithSpacers(\n updatedContainers\n ) as typeof containers;\n const updatedLayout = updatedContainersWithSpacers.map(\n ({ dndId: _dndId, children, ...container }) => ({\n ...container,\n children: children.map(({ dndId: _dndId, formName: _formName, ...child }) => child),\n })\n );\n\n // Update the layout\n onChange('layout', updatedLayout);\n setActiveDragItem(null);\n }}\n >\n <Flex paddingTop={6} direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex alignItems=\"flex-start\" direction=\"column\" justifyContent=\"space-between\">\n <Typography fontWeight=\"bold\">\n {formatMessage({\n id: getTranslation('containers.list.displayedFields'),\n defaultMessage: 'Displayed fields',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: 'containers.SettingPage.editSettings.description',\n defaultMessage: 'Drag & drop the fields to build the layout',\n })}\n </Typography>\n </Flex>\n <Box padding={4} hasRadius borderStyle=\"dashed\" borderWidth=\"1px\" borderColor=\"neutral300\">\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n {containers.map((container, containerIndex) => (\n <SortableContext\n key={container.dndId}\n id={container.dndId}\n items={container.children.map((child) => ({ id: child.dndId }))}\n strategy={rectSwappingStrategy}\n >\n <DroppableContainer id={container.dndId}>\n {({ setNodeRef }) => (\n <Grid.Root key={container.dndId} ref={setNodeRef} gap={2}>\n {container.children.map((child, childIndex) => (\n <Grid.Item\n col={child.size}\n xs={12}\n key={child.dndId}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <SortableItem id={child.dndId}>\n <Field\n attribute={attributes[child.name]}\n components={components}\n name={child.formName}\n onRemoveField={handleRemoveField(containerIndex, childIndex)}\n dndId={child.dndId}\n />\n </SortableItem>\n </Grid.Item>\n ))}\n </Grid.Root>\n )}\n </DroppableContainer>\n </SortableContext>\n ))}\n <DragOverlay>\n {activeDragItem ? (\n <Field\n attribute={attributes[activeDragItem.name]}\n components={components}\n name={activeDragItem.formName}\n dndId={activeDragItem.dndId}\n />\n ) : null}\n </DragOverlay>\n <Menu.Root>\n <Menu.Trigger\n startIcon={<Plus />}\n endIcon={null}\n disabled={remainingFields.length === 0}\n fullWidth\n variant=\"secondary\"\n >\n {formatMessage({\n id: getTranslation('containers.SettingPage.add.field'),\n defaultMessage: 'Insert another field',\n })}\n </Menu.Trigger>\n <Menu.Content>\n {remainingFields.map((field) => (\n <Menu.Item key={field.name} onSelect={handleAddField(field)}>\n {field.label}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n </Flex>\n </Box>\n </Flex>\n </DndContext>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Field\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FieldProps extends Pick<EditFieldFormProps, 'name' | 'attribute'> {\n components: EditLayout['components'];\n dndId: string;\n onRemoveField?: React.MouseEventHandler<HTMLButtonElement>;\n}\n\nconst TEMP_FIELD_NAME = '_TEMP_';\n\n/**\n * Displays a field in the layout with drag options, also\n * opens a modal to edit the details of said field.\n */\nconst Field = ({ attribute, components, name, onRemoveField, dndId }: FieldProps) => {\n const isDesktop = useIsDesktop();\n const [isModalOpen, setIsModalOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n const { value } = useField<FormField>(name);\n const { listeners, setActivatorNodeRef } = useSortable({\n id: dndId,\n });\n\n const handleRemoveField: React.MouseEventHandler<HTMLButtonElement> = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (onRemoveField) {\n onRemoveField?.(e);\n }\n };\n\n const onEditFieldMeta: React.MouseEventHandler<HTMLButtonElement> = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setIsModalOpen(true);\n };\n\n if (!value) {\n return null;\n }\n\n if (value.name === TEMP_FIELD_NAME) {\n return <Flex tag=\"span\" height=\"100%\" style={{ opacity: 0 }} />;\n }\n\n if (!attribute) {\n return null;\n }\n\n return (\n <Modal.Root open={isModalOpen} onOpenChange={setIsModalOpen}>\n <Flex\n borderColor=\"neutral150\"\n background=\"neutral100\"\n hasRadius\n gap={3}\n cursor=\"pointer\"\n onClick={() => {\n setIsModalOpen(true);\n }}\n position=\"relative\"\n >\n {isDesktop && (\n <DragButton\n ref={setActivatorNodeRef}\n tag=\"span\"\n withTooltip={false}\n label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.move.field'),\n defaultMessage: 'Move {item}',\n },\n { item: value.label }\n )}\n {...listeners}\n >\n <Drag />\n </DragButton>\n )}\n <Flex direction=\"column\" alignItems=\"flex-start\" grow={1} overflow=\"hidden\">\n <Flex gap={3} justifyContent=\"space-between\" width=\"100%\">\n <Typography ellipsis fontWeight=\"bold\">\n {value.label}\n </Typography>\n <Flex position=\"relative\">\n <IconButton\n type=\"button\"\n variant=\"ghost\"\n background=\"transparent\"\n onClick={onEditFieldMeta}\n withTooltip={false}\n label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.edit.field'),\n defaultMessage: 'Edit {item}',\n },\n { item: value.label }\n )}\n >\n <Pencil />\n </IconButton>\n <IconButton\n type=\"button\"\n variant=\"ghost\"\n onClick={handleRemoveField}\n background=\"transparent\"\n withTooltip={false}\n label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.delete.field'),\n defaultMessage: 'Delete {item}',\n },\n { item: value.label }\n )}\n >\n <Cross />\n </IconButton>\n </Flex>\n </Flex>\n {attribute?.type === 'component' ? (\n <Flex\n paddingTop={3}\n paddingRight={3}\n paddingBottom={3}\n paddingLeft={0}\n alignItems=\"flex-start\"\n direction=\"column\"\n gap={2}\n width=\"100%\"\n >\n <Grid.Root gap={4} width=\"100%\">\n {components[attribute.component].layout.map((row) =>\n row.map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <Flex\n alignItems=\"center\"\n background=\"neutral0\"\n paddingTop={2}\n paddingBottom={2}\n paddingLeft={3}\n paddingRight={3}\n hasRadius\n borderColor=\"neutral200\"\n >\n <Typography textColor=\"neutral800\">{field.name}</Typography>\n </Flex>\n </Grid.Item>\n ))\n )}\n </Grid.Root>\n <Link\n // used to stop the edit form from appearing when we click here.\n onClick={(e) => e.stopPropagation()}\n startIcon={<Cog />}\n tag={NavLink}\n to={`../components/${attribute.component}/configurations/edit`}\n >\n {formatMessage({\n id: getTranslation('components.FieldItem.linkToComponentLayout'),\n defaultMessage: \"Set the component's layout\",\n })}\n </Link>\n </Flex>\n ) : null}\n {attribute?.type === 'dynamiczone' ? (\n <Flex\n paddingTop={3}\n paddingRight={3}\n paddingBottom={3}\n paddingLeft={0}\n alignItems=\"flex-start\"\n gap={2}\n width=\"100%\"\n wrap=\"wrap\"\n >\n {attribute?.components.map((uid) => (\n <ComponentLink\n // used to stop the edit form from appearing when we click here.\n onClick={(e) => e.stopPropagation()}\n key={uid}\n to={`../components/${uid}/configurations/edit`}\n >\n <ComponentIcon icon={components[uid].settings.icon} />\n <Typography fontSize={1} textColor=\"neutral600\" fontWeight=\"bold\">\n {components[uid].settings.displayName}\n </Typography>\n </ComponentLink>\n ))}\n </Flex>\n ) : null}\n </Flex>\n </Flex>\n {value.name !== TEMP_FIELD_NAME && (\n <EditFieldForm attribute={attribute} name={name} onClose={() => setIsModalOpen(false)} />\n )}\n </Modal.Root>\n );\n};\n\nconst DragButton = styled<IconButtonComponent<'span'>>(IconButton)`\n height: unset;\n align-self: stretch;\n display: flex;\n align-items: center;\n padding: 0;\n border: none;\n background-color: transparent;\n border-radius: 0px;\n border-right: 1px solid ${({ theme }) => theme.colors.neutral150};\n cursor: all-scroll;\n\n svg {\n width: 1.2rem;\n height: 1.2rem;\n }\n`;\n\nconst ComponentLink = styled(NavLink)`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: ${({ theme }) => theme.spaces[1]};\n padding: ${(props) => props.theme.spaces[2]};\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n background: ${({ theme }) => theme.colors.neutral0};\n width: 14rem;\n border-radius: ${({ theme }) => theme.borderRadius};\n text-decoration: none;\n\n &:focus,\n &:hover {\n ${({ theme }) => `\n background-color: ${theme.colors.primary100};\n border-color: ${theme.colors.primary200};\n\n ${Typography} {\n color: ${theme.colors.primary600};\n }\n `}\n\n /* > ComponentIcon */\n > div:first-child {\n background: ${({ theme }) => theme.colors.primary200};\n color: ${({ theme }) => theme.colors.primary600};\n\n svg {\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n }\n }\n`;\n\nexport { Fields, TEMP_FIELD_NAME };\nexport type { FieldsProps };\n"],"names":["GRID_COLUMNS","DroppableContainer","id","children","droppable","useDroppable","SortableItem","attributes","setNodeRef","transform","transition","isDragging","useSortable","style","CSS","Transform","toString","x","y","scaleX","scaleY","height","opacity","outlineOffset","_jsx","div","ref","createDragAndDropContainersFromLayout","layout","map","row","containerIndex","dndId","child","childIndex","formName","Fields","fieldSizes","components","metadatas","formatMessage","useIntl","useForm","state","values","onChange","addFieldRow","removeFieldRow","existingFields","field","name","flat","remainingFields","Object","entries","reduce","acc","current","visible","includes","type","size","push","label","handleRemoveField","rowIndex","fieldIndex","length","slice","handleAddField","containers","setContainers","React","useState","activeDragItem","setActiveDragItem","findContainer","containersAsDictionary","keys","find","key","getItemFromContainer","container","item","getContainersAsDictionary","fromEntries","createContainersWithSpacers","filter","TEMP_FIELD_NAME","totalSpaceTaken","curr","spacerKey","generateNKeysBetweenImpl","at","__temp_key__","undefined","useEffect","DndContext","onDragStart","event","activeContainer","active","activeItem","onDragOver","over","overContainer","activeContainerIndex","findIndex","overContainerIndex","draggedItem","overItem","overIndex","activeIndex","update","produce","draft","targetChildren","spaceTaken","isNotEnoughSpace","canSwapSameSizeItem","canCreateNewRowForItem","isHoveringOverSpacer","sourceChildren","splice","draftOverIndex","insertIndex","existingRow","nonTempChildren","isNextRowEmpty","newContainerPrototype","newContainerId","onDragEnd","overId","movedContainerItems","arraySwap","updatedContainers","updatedContainersWithSpacers","updatedLayout","_dndId","_formName","_jsxs","Flex","paddingTop","direction","alignItems","gap","justifyContent","Typography","fontWeight","getTranslation","defaultMessage","variant","textColor","Box","padding","hasRadius","borderStyle","borderWidth","borderColor","SortableContext","items","strategy","rectSwappingStrategy","Grid","Root","Item","col","xs","Field","attribute","onRemoveField","DragOverlay","Menu","Trigger","startIcon","Plus","endIcon","disabled","fullWidth","Content","onSelect","isDesktop","useIsDesktop","isModalOpen","setIsModalOpen","value","useField","listeners","setActivatorNodeRef","e","preventDefault","stopPropagation","onEditFieldMeta","tag","Modal","open","onOpenChange","background","cursor","onClick","position","DragButton","withTooltip","Drag","grow","overflow","width","ellipsis","IconButton","Pencil","Cross","paddingRight","paddingBottom","paddingLeft","component","Link","Cog","NavLink","to","wrap","uid","ComponentLink","ComponentIcon","icon","settings","fontSize","displayName","EditFieldForm","onClose","styled","theme","colors","neutral150","spaces","props","neutral200","neutral0","borderRadius","primary100","primary200","primary600"],"mappings":"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"}
|