@strapi/content-manager 5.37.1 → 5.38.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/ActionsDrawer.js.map +1 -1
- package/dist/admin/components/ActionsDrawer.mjs.map +1 -1
- package/dist/admin/components/ComponentIcon.js.map +1 -1
- package/dist/admin/components/ComponentIcon.mjs.map +1 -1
- package/dist/admin/components/ConfigurationForm/EditFieldForm.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs.map +1 -1
- package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/Fields.mjs +2 -2
- package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
- package/dist/admin/components/ConfigurationForm/Form.js +62 -30
- package/dist/admin/components/ConfigurationForm/Form.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/Form.mjs +62 -30
- package/dist/admin/components/ConfigurationForm/Form.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/DragPreviews/CardDragPreview.js.map +1 -1
- package/dist/admin/components/DragPreviews/CardDragPreview.mjs.map +1 -1
- package/dist/admin/components/DragPreviews/ComponentDragPreview.js.map +1 -1
- package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs.map +1 -1
- package/dist/admin/components/DragPreviews/RelationDragPreview.js.map +1 -1
- package/dist/admin/components/DragPreviews/RelationDragPreview.mjs.map +1 -1
- package/dist/admin/components/FieldTypeIcon.js.map +1 -1
- package/dist/admin/components/FieldTypeIcon.mjs +1 -1
- package/dist/admin/components/FieldTypeIcon.mjs.map +1 -1
- package/dist/admin/components/InjectionZone.js.map +1 -1
- package/dist/admin/components/InjectionZone.mjs.map +1 -1
- package/dist/admin/components/LeftMenu.js.map +1 -1
- package/dist/admin/components/LeftMenu.mjs.map +1 -1
- package/dist/admin/components/RelativeTime.js.map +1 -1
- package/dist/admin/components/RelativeTime.mjs.map +1 -1
- package/dist/admin/components/Widgets.js.map +1 -1
- package/dist/admin/components/Widgets.mjs +1 -1
- package/dist/admin/components/Widgets.mjs.map +1 -1
- package/dist/admin/constants/attributes.js.map +1 -1
- package/dist/admin/constants/attributes.mjs.map +1 -1
- package/dist/admin/constants/collections.js.map +1 -1
- package/dist/admin/constants/collections.mjs.map +1 -1
- package/dist/admin/constants/dragAndDrop.js.map +1 -1
- package/dist/admin/constants/dragAndDrop.mjs.map +1 -1
- package/dist/admin/constants/hooks.js.map +1 -1
- package/dist/admin/constants/hooks.mjs.map +1 -1
- package/dist/admin/constants/plugin.js.map +1 -1
- package/dist/admin/constants/plugin.mjs.map +1 -1
- package/dist/admin/content-manager.js.map +1 -1
- package/dist/admin/content-manager.mjs.map +1 -1
- package/dist/admin/features/DocumentRBAC.js.map +1 -1
- package/dist/admin/features/DocumentRBAC.mjs.map +1 -1
- package/dist/admin/history/components/HistoryAction.js.map +1 -1
- package/dist/admin/history/components/HistoryAction.mjs.map +1 -1
- package/dist/admin/history/components/VersionContent.js +48 -16
- package/dist/admin/history/components/VersionContent.js.map +1 -1
- package/dist/admin/history/components/VersionContent.mjs +48 -16
- package/dist/admin/history/components/VersionContent.mjs.map +1 -1
- package/dist/admin/history/components/VersionHeader.js.map +1 -1
- package/dist/admin/history/components/VersionHeader.mjs +1 -1
- package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
- package/dist/admin/history/components/VersionInputRenderer.js.map +1 -1
- package/dist/admin/history/components/VersionInputRenderer.mjs +1 -1
- package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -1
- package/dist/admin/history/components/VersionsList.js.map +1 -1
- package/dist/admin/history/components/VersionsList.mjs.map +1 -1
- package/dist/admin/history/index.js.map +1 -1
- package/dist/admin/history/index.mjs.map +1 -1
- package/dist/admin/history/pages/History.js.map +1 -1
- package/dist/admin/history/pages/History.mjs +1 -1
- package/dist/admin/history/pages/History.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/history/services/historyVersion.js.map +1 -1
- package/dist/admin/history/services/historyVersion.mjs.map +1 -1
- package/dist/admin/hooks/useContentManagerInitData.js.map +1 -1
- package/dist/admin/hooks/useContentManagerInitData.mjs.map +1 -1
- package/dist/admin/hooks/useContentTypeSchema.js.map +1 -1
- package/dist/admin/hooks/useContentTypeSchema.mjs.map +1 -1
- package/dist/admin/hooks/useDebounce.js.map +1 -1
- package/dist/admin/hooks/useDebounce.mjs.map +1 -1
- package/dist/admin/hooks/useDocument.js.map +1 -1
- package/dist/admin/hooks/useDocument.mjs +1 -1
- package/dist/admin/hooks/useDocument.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentActions.js.map +1 -1
- 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/hooks/useDocumentLayout.js +2 -1
- package/dist/admin/hooks/useDocumentLayout.js.map +1 -1
- package/dist/admin/hooks/useDocumentLayout.mjs +2 -1
- package/dist/admin/hooks/useDocumentLayout.mjs.map +1 -1
- package/dist/admin/hooks/useDragAndDrop.js +1 -3
- package/dist/admin/hooks/useDragAndDrop.js.map +1 -1
- package/dist/admin/hooks/useDragAndDrop.mjs +1 -3
- package/dist/admin/hooks/useDragAndDrop.mjs.map +1 -1
- package/dist/admin/hooks/useKeyboardDragAndDrop.js.map +1 -1
- package/dist/admin/hooks/useKeyboardDragAndDrop.mjs.map +1 -1
- package/dist/admin/hooks/useLazyComponents.js.map +1 -1
- package/dist/admin/hooks/useLazyComponents.mjs.map +1 -1
- package/dist/admin/hooks/useOnce.js.map +1 -1
- package/dist/admin/hooks/useOnce.mjs.map +1 -1
- package/dist/admin/hooks/usePersistentQueryParams.js.map +1 -1
- package/dist/admin/hooks/usePersistentQueryParams.mjs.map +1 -1
- package/dist/admin/hooks/usePrev.js.map +1 -1
- package/dist/admin/hooks/usePrev.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.map +1 -1
- package/dist/admin/layout.mjs.map +1 -1
- package/dist/admin/modules/app.js.map +1 -1
- package/dist/admin/modules/app.mjs.map +1 -1
- package/dist/admin/modules/hooks.js.map +1 -1
- package/dist/admin/modules/hooks.mjs +1 -1
- package/dist/admin/modules/hooks.mjs.map +1 -1
- package/dist/admin/modules/reducers.js.map +1 -1
- package/dist/admin/modules/reducers.mjs.map +1 -1
- package/dist/admin/pages/ComponentConfigurationPage.js.map +1 -1
- package/dist/admin/pages/ComponentConfigurationPage.mjs +1 -1
- package/dist/admin/pages/ComponentConfigurationPage.mjs.map +1 -1
- package/dist/admin/pages/EditConfigurationPage.js.map +1 -1
- package/dist/admin/pages/EditConfigurationPage.mjs +1 -1
- package/dist/admin/pages/EditConfigurationPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.mjs +4 -4
- package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/Blocker.js.map +1 -1
- package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +4 -4
- package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentStatus.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentStatus.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/EditorToolbarObserver.js.map +1 -1
- package/dist/admin/pages/EditView/components/EditorToolbarObserver.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js +51 -0
- 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 +53 -2
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +6 -2
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +6 -2
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +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.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 +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.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.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +45 -6
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +45 -8
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +148 -111
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +152 -115
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
- 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/EditorLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js +8 -6
- 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 +8 -6
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/Header.js.map +1 -1
- package/dist/admin/pages/EditView/components/Header.mjs +2 -2
- package/dist/admin/pages/EditView/components/Header.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/InputRenderer.js +15 -5
- package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
- package/dist/admin/pages/EditView/components/InputRenderer.mjs +15 -5
- package/dist/admin/pages/EditView/components/InputRenderer.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/forms.js.map +1 -1
- package/dist/admin/pages/EditView/utils/forms.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs +1 -1
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs +1 -1
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs +1 -1
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/Header.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/Header.mjs.map +1 -1
- 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.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.mjs +3 -3
- package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js.map +1 -1
- package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/Actions.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +1 -4
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -5
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +4 -4
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +2 -2
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.js +54 -1
- package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.mjs +54 -1
- package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellContent.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.js +7 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs +7 -1
- 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 +2 -2
- package/dist/admin/pages/ListView/components/TableCells/Components.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Media.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Media.mjs +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Media.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Relations.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Relations.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.js.map +1 -1
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs.map +1 -1
- package/dist/admin/pages/NoContentTypePage.js.map +1 -1
- package/dist/admin/pages/NoContentTypePage.mjs.map +1 -1
- package/dist/admin/pages/NoPermissionsPage.js.map +1 -1
- package/dist/admin/pages/NoPermissionsPage.mjs.map +1 -1
- package/dist/admin/preview/components/InputPopover.js.map +1 -1
- package/dist/admin/preview/components/InputPopover.mjs.map +1 -1
- package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
- package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
- package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
- package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
- package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -1
- package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -1
- package/dist/admin/preview/index.js.map +1 -1
- package/dist/admin/preview/index.mjs.map +1 -1
- package/dist/admin/preview/pages/Preview.js.map +1 -1
- 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/services/preview.js.map +1 -1
- package/dist/admin/preview/services/preview.mjs.map +1 -1
- package/dist/admin/preview/utils/constants.js +0 -1
- package/dist/admin/preview/utils/constants.js.map +1 -1
- package/dist/admin/preview/utils/constants.mjs +0 -1
- 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/preview/utils/getSendMessage.js.map +1 -1
- package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -1
- package/dist/admin/preview/utils/previewScript.js.map +1 -1
- package/dist/admin/preview/utils/previewScript.mjs.map +1 -1
- package/dist/admin/router.js.map +1 -1
- package/dist/admin/router.mjs.map +1 -1
- package/dist/admin/services/api.js.map +1 -1
- package/dist/admin/services/api.mjs.map +1 -1
- package/dist/admin/services/components.js.map +1 -1
- package/dist/admin/services/components.mjs.map +1 -1
- package/dist/admin/services/contentTypes.js.map +1 -1
- package/dist/admin/services/contentTypes.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/services/homepage.js.map +1 -1
- package/dist/admin/services/homepage.mjs.map +1 -1
- package/dist/admin/services/init.js.map +1 -1
- package/dist/admin/services/init.mjs.map +1 -1
- package/dist/admin/services/relations.js.map +1 -1
- package/dist/admin/services/relations.mjs.map +1 -1
- package/dist/admin/services/uid.js.map +1 -1
- package/dist/admin/services/uid.mjs.map +1 -1
- package/dist/admin/src/exports.d.ts +1 -1
- package/dist/admin/src/hooks/useDocumentLayout.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +7 -2
- package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +1 -1
- package/dist/admin/src/utils/conditionalFields.d.ts +12 -0
- package/dist/admin/translations/en.json.js +10 -0
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +10 -0
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/es.json.js +136 -2
- package/dist/admin/translations/es.json.js.map +1 -1
- package/dist/admin/translations/es.json.mjs +136 -2
- package/dist/admin/translations/es.json.mjs.map +1 -1
- package/dist/admin/translations/fr.json.js +72 -1
- package/dist/admin/translations/fr.json.js.map +1 -1
- package/dist/admin/translations/fr.json.mjs +72 -1
- package/dist/admin/translations/fr.json.mjs.map +1 -1
- package/dist/admin/utils/api.js.map +1 -1
- package/dist/admin/utils/api.mjs.map +1 -1
- package/dist/admin/utils/attributes.js.map +1 -1
- package/dist/admin/utils/attributes.mjs.map +1 -1
- package/dist/admin/utils/conditionalFields.js +76 -0
- package/dist/admin/utils/conditionalFields.js.map +1 -0
- package/dist/admin/utils/conditionalFields.mjs +69 -0
- package/dist/admin/utils/conditionalFields.mjs.map +1 -0
- package/dist/admin/utils/objects.js.map +1 -1
- package/dist/admin/utils/objects.mjs.map +1 -1
- package/dist/admin/utils/relations.js.map +1 -1
- package/dist/admin/utils/relations.mjs.map +1 -1
- package/dist/admin/utils/strings.js.map +1 -1
- package/dist/admin/utils/strings.mjs.map +1 -1
- package/dist/admin/utils/translations.js.map +1 -1
- package/dist/admin/utils/translations.mjs.map +1 -1
- package/dist/admin/utils/urls.js.map +1 -1
- package/dist/admin/utils/urls.mjs.map +1 -1
- package/dist/admin/utils/users.js.map +1 -1
- package/dist/admin/utils/users.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/bootstrap.js.map +1 -1
- package/dist/server/bootstrap.mjs.map +1 -1
- package/dist/server/constants/index.js.map +1 -1
- package/dist/server/constants/index.mjs.map +1 -1
- package/dist/server/controllers/collection-types.js +157 -4
- package/dist/server/controllers/collection-types.js.map +1 -1
- package/dist/server/controllers/collection-types.mjs +159 -6
- package/dist/server/controllers/collection-types.mjs.map +1 -1
- package/dist/server/controllers/components.js.map +1 -1
- package/dist/server/controllers/components.mjs.map +1 -1
- package/dist/server/controllers/content-types.js +10 -10
- package/dist/server/controllers/content-types.js.map +1 -1
- package/dist/server/controllers/content-types.mjs.map +1 -1
- package/dist/server/controllers/index.js +4 -4
- package/dist/server/controllers/index.js.map +1 -1
- package/dist/server/controllers/index.mjs.map +1 -1
- package/dist/server/controllers/init.js.map +1 -1
- package/dist/server/controllers/init.mjs.map +1 -1
- package/dist/server/controllers/relations.js.map +1 -1
- package/dist/server/controllers/relations.mjs +3 -3
- package/dist/server/controllers/relations.mjs.map +1 -1
- package/dist/server/controllers/single-types.js +19 -4
- package/dist/server/controllers/single-types.js.map +1 -1
- package/dist/server/controllers/single-types.mjs +20 -5
- package/dist/server/controllers/single-types.mjs.map +1 -1
- package/dist/server/controllers/uid.js.map +1 -1
- package/dist/server/controllers/uid.mjs +1 -1
- package/dist/server/controllers/uid.mjs.map +1 -1
- package/dist/server/controllers/utils/clone.js.map +1 -1
- package/dist/server/controllers/utils/clone.mjs.map +1 -1
- package/dist/server/controllers/utils/document-status.js.map +1 -1
- package/dist/server/controllers/utils/document-status.mjs.map +1 -1
- package/dist/server/controllers/utils/metadata.js.map +1 -1
- package/dist/server/controllers/utils/metadata.mjs.map +1 -1
- package/dist/server/controllers/validation/dimensions.js.map +1 -1
- package/dist/server/controllers/validation/dimensions.mjs.map +1 -1
- package/dist/server/controllers/validation/index.js.map +1 -1
- package/dist/server/controllers/validation/index.mjs +1 -1
- package/dist/server/controllers/validation/index.mjs.map +1 -1
- package/dist/server/controllers/validation/model-configuration.js +6 -1
- package/dist/server/controllers/validation/model-configuration.js.map +1 -1
- package/dist/server/controllers/validation/model-configuration.mjs +6 -1
- package/dist/server/controllers/validation/model-configuration.mjs.map +1 -1
- package/dist/server/controllers/validation/relations.js.map +1 -1
- package/dist/server/controllers/validation/relations.mjs.map +1 -1
- package/dist/server/destroy.js.map +1 -1
- package/dist/server/destroy.mjs.map +1 -1
- package/dist/server/history/constants.js.map +1 -1
- package/dist/server/history/constants.mjs.map +1 -1
- package/dist/server/history/controllers/history-version.js.map +1 -1
- package/dist/server/history/controllers/history-version.mjs.map +1 -1
- package/dist/server/history/controllers/index.js.map +1 -1
- package/dist/server/history/controllers/index.mjs.map +1 -1
- package/dist/server/history/controllers/validation/history-version.js.map +1 -1
- package/dist/server/history/controllers/validation/history-version.mjs.map +1 -1
- package/dist/server/history/index.js +4 -4
- package/dist/server/history/index.js.map +1 -1
- package/dist/server/history/index.mjs.map +1 -1
- package/dist/server/history/models/history-version.js.map +1 -1
- package/dist/server/history/models/history-version.mjs.map +1 -1
- package/dist/server/history/routes/history-version.js.map +1 -1
- package/dist/server/history/routes/history-version.mjs.map +1 -1
- package/dist/server/history/routes/index.js.map +1 -1
- package/dist/server/history/routes/index.mjs.map +1 -1
- package/dist/server/history/services/history.js.map +1 -1
- package/dist/server/history/services/history.mjs.map +1 -1
- package/dist/server/history/services/index.js.map +1 -1
- package/dist/server/history/services/index.mjs.map +1 -1
- package/dist/server/history/services/lifecycles.js.map +1 -1
- package/dist/server/history/services/lifecycles.mjs.map +1 -1
- package/dist/server/history/services/utils.js.map +1 -1
- package/dist/server/history/services/utils.mjs.map +1 -1
- package/dist/server/history/utils.js.map +1 -1
- package/dist/server/history/utils.mjs.map +1 -1
- package/dist/server/homepage/controllers/homepage.js.map +1 -1
- package/dist/server/homepage/controllers/homepage.mjs.map +1 -1
- package/dist/server/homepage/controllers/index.js.map +1 -1
- package/dist/server/homepage/controllers/index.mjs.map +1 -1
- package/dist/server/homepage/index.js +6 -6
- package/dist/server/homepage/index.js.map +1 -1
- package/dist/server/homepage/index.mjs.map +1 -1
- package/dist/server/homepage/routes/homepage.js.map +1 -1
- package/dist/server/homepage/routes/homepage.mjs.map +1 -1
- package/dist/server/homepage/routes/index.js.map +1 -1
- package/dist/server/homepage/routes/index.mjs.map +1 -1
- package/dist/server/homepage/services/homepage.js.map +1 -1
- package/dist/server/homepage/services/homepage.mjs.map +1 -1
- package/dist/server/homepage/services/index.js.map +1 -1
- package/dist/server/homepage/services/index.mjs.map +1 -1
- package/dist/server/index.js +8 -8
- package/dist/server/middlewares/routing.js.map +1 -1
- package/dist/server/middlewares/routing.mjs.map +1 -1
- package/dist/server/policies/hasPermissions.js.map +1 -1
- package/dist/server/policies/hasPermissions.mjs.map +1 -1
- package/dist/server/policies/index.js.map +1 -1
- package/dist/server/policies/index.mjs.map +1 -1
- package/dist/server/preview/controllers/index.js.map +1 -1
- package/dist/server/preview/controllers/index.mjs.map +1 -1
- package/dist/server/preview/controllers/preview.js.map +1 -1
- package/dist/server/preview/controllers/preview.mjs.map +1 -1
- package/dist/server/preview/controllers/validation/preview.js.map +1 -1
- package/dist/server/preview/controllers/validation/preview.mjs.map +1 -1
- package/dist/server/preview/index.js +4 -4
- package/dist/server/preview/index.js.map +1 -1
- package/dist/server/preview/index.mjs.map +1 -1
- package/dist/server/preview/routes/index.js.map +1 -1
- package/dist/server/preview/routes/index.mjs.map +1 -1
- package/dist/server/preview/routes/preview.js.map +1 -1
- package/dist/server/preview/routes/preview.mjs.map +1 -1
- package/dist/server/preview/services/index.js.map +1 -1
- package/dist/server/preview/services/index.mjs.map +1 -1
- package/dist/server/preview/services/preview-config.js.map +1 -1
- package/dist/server/preview/services/preview-config.mjs +1 -1
- package/dist/server/preview/services/preview-config.mjs.map +1 -1
- package/dist/server/preview/services/preview.js +2 -1
- package/dist/server/preview/services/preview.js.map +1 -1
- package/dist/server/preview/services/preview.mjs +2 -1
- package/dist/server/preview/services/preview.mjs.map +1 -1
- package/dist/server/preview/utils.js.map +1 -1
- package/dist/server/preview/utils.mjs.map +1 -1
- package/dist/server/register.js.map +1 -1
- package/dist/server/register.mjs.map +1 -1
- package/dist/server/routes/admin.js.map +1 -1
- package/dist/server/routes/admin.mjs.map +1 -1
- package/dist/server/routes/index.js +4 -4
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/index.mjs.map +1 -1
- package/dist/server/services/components.js.map +1 -1
- package/dist/server/services/components.mjs.map +1 -1
- package/dist/server/services/configuration.js.map +1 -1
- package/dist/server/services/configuration.mjs.map +1 -1
- package/dist/server/services/content-types.js.map +1 -1
- package/dist/server/services/content-types.mjs.map +1 -1
- package/dist/server/services/data-mapper.js.map +1 -1
- package/dist/server/services/data-mapper.mjs.map +1 -1
- package/dist/server/services/document-manager.js.map +1 -1
- package/dist/server/services/document-manager.mjs +2 -2
- package/dist/server/services/document-manager.mjs.map +1 -1
- package/dist/server/services/document-metadata.js.map +1 -1
- package/dist/server/services/document-metadata.mjs +2 -2
- package/dist/server/services/document-metadata.mjs.map +1 -1
- package/dist/server/services/field-sizes.js.map +1 -1
- package/dist/server/services/field-sizes.mjs.map +1 -1
- package/dist/server/services/index.js +4 -4
- package/dist/server/services/index.js.map +1 -1
- package/dist/server/services/index.mjs.map +1 -1
- package/dist/server/services/metrics.js.map +1 -1
- package/dist/server/services/metrics.mjs.map +1 -1
- package/dist/server/services/permission-checker.js.map +1 -1
- package/dist/server/services/permission-checker.mjs.map +1 -1
- package/dist/server/services/permission.js.map +1 -1
- package/dist/server/services/permission.mjs.map +1 -1
- package/dist/server/services/populate-builder.js.map +1 -1
- package/dist/server/services/populate-builder.mjs +4 -4
- package/dist/server/services/populate-builder.mjs.map +1 -1
- package/dist/server/services/uid.js.map +1 -1
- package/dist/server/services/uid.mjs.map +1 -1
- package/dist/server/services/utils/configuration/attributes.js.map +1 -1
- package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
- package/dist/server/services/utils/configuration/index.js.map +1 -1
- package/dist/server/services/utils/configuration/index.mjs +3 -3
- package/dist/server/services/utils/configuration/index.mjs.map +1 -1
- package/dist/server/services/utils/configuration/layouts.js.map +1 -1
- package/dist/server/services/utils/configuration/layouts.mjs +1 -1
- package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
- package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
- package/dist/server/services/utils/configuration/metadatas.mjs +1 -1
- package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
- package/dist/server/services/utils/configuration/settings.js +4 -2
- package/dist/server/services/utils/configuration/settings.js.map +1 -1
- package/dist/server/services/utils/configuration/settings.mjs +5 -3
- package/dist/server/services/utils/configuration/settings.mjs.map +1 -1
- package/dist/server/services/utils/draft.js.map +1 -1
- package/dist/server/services/utils/draft.mjs.map +1 -1
- package/dist/server/services/utils/populate.js.map +1 -1
- package/dist/server/services/utils/populate.mjs +1 -1
- package/dist/server/services/utils/populate.mjs.map +1 -1
- package/dist/server/services/utils/store.js.map +1 -1
- package/dist/server/services/utils/store.mjs.map +1 -1
- package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
- package/dist/server/src/controllers/single-types.d.ts.map +1 -1
- package/dist/server/src/preview/services/preview.d.ts.map +1 -1
- package/dist/server/src/services/utils/configuration/settings.d.ts.map +1 -1
- package/dist/server/utils/index.js.map +1 -1
- package/dist/server/utils/index.mjs.map +1 -1
- package/dist/server/validation/policies/hasPermissions.js.map +1 -1
- package/dist/server/validation/policies/hasPermissions.mjs.map +1 -1
- package/dist/shared/contracts/content-types.d.ts +2 -0
- package/dist/shared/contracts/content-types.d.ts.map +1 -1
- package/dist/shared/contracts/relations.d.ts +1 -1
- package/dist/shared/contracts/relations.d.ts.map +1 -1
- package/package.json +15 -10
|
@@ -145,15 +145,17 @@ const listHandler = (editor, listType)=>{
|
|
|
145
145
|
const pos = [
|
|
146
146
|
selection.head.line,
|
|
147
147
|
selection.anchor.line
|
|
148
|
-
].sort();
|
|
149
|
-
//
|
|
148
|
+
].sort((a, b)=>a - b);
|
|
149
|
+
// Will match a bullet point or any number
|
|
150
|
+
const regexIsItemFromList = /^[*-]\s|^\d+\.\s/;
|
|
151
|
+
// Remove if the first text starts with a bullet point or any number
|
|
150
152
|
if (remove == null) {
|
|
151
|
-
remove = doc.getLine(pos[0]).
|
|
153
|
+
remove = doc.getLine(pos[0]).match(regexIsItemFromList) !== null;
|
|
152
154
|
}
|
|
153
155
|
for(let i = pos[0]; i <= pos[1]; i++){
|
|
154
156
|
if (remove) {
|
|
155
|
-
// Don't remove if
|
|
156
|
-
if (doc.getLine(i).
|
|
157
|
+
// Don't remove if the line doesn't start with a bullet point or a number
|
|
158
|
+
if (doc.getLine(i).match(regexIsItemFromList) !== null) {
|
|
157
159
|
doc.replaceRange('', {
|
|
158
160
|
line: i,
|
|
159
161
|
ch: 0
|
|
@@ -163,7 +165,7 @@ const listHandler = (editor, listType)=>{
|
|
|
163
165
|
});
|
|
164
166
|
}
|
|
165
167
|
} else {
|
|
166
|
-
const lineInsertion = listType === 'BulletList' ? '- ' : `${i + 1}. `;
|
|
168
|
+
const lineInsertion = listType === 'BulletList' ? '- ' : `${i - pos[0] + 1}. `;
|
|
167
169
|
doc.replaceRange(lineInsertion, {
|
|
168
170
|
line: i,
|
|
169
171
|
ch: 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.ts"],"sourcesContent":["import { MutableRefObject } from 'react';\n\nimport CodeMirror from 'codemirror5';\n\nexport const replaceText = (markdownName: string, textToChange: string) => {\n let editedText;\n\n switch (markdownName) {\n case 'Strikethrough':\n editedText = `~~${textToChange}~~`;\n break;\n case 'Bold':\n editedText = `**${textToChange}**`;\n break;\n case 'Italic':\n editedText = `_${textToChange}_`;\n break;\n case 'Underline':\n editedText = `<u>${textToChange}</u>`;\n break;\n case 'Code':\n editedText = `\\`\\`\\`\\n${textToChange}\\n\\`\\`\\``;\n break;\n case 'Link':\n editedText = `[${textToChange}](link)`;\n break;\n case 'Quote':\n editedText = `>${textToChange}`;\n break;\n default:\n editedText = textToChange;\n }\n\n return editedText;\n};\n\nexport const insertText = (markdownName: string) => {\n let editedText;\n // object to calculate text that will be selected after insert of markdown\n const selection = { start: markdownName.length, end: 0 };\n\n switch (markdownName) {\n case 'Strikethrough':\n editedText = `~~${markdownName}~~`;\n selection.end = 2;\n break;\n case 'Bold':\n editedText = `**${markdownName}**`;\n selection.end = 2;\n break;\n case 'Italic':\n editedText = `_${markdownName}_`;\n selection.end = 1;\n break;\n case 'alt':\n editedText = `[${markdownName}]()`;\n selection.end = 3;\n break;\n case 'Underline':\n editedText = `<u>${markdownName}</u>`;\n selection.end = 4;\n break;\n case 'Code':\n editedText = `\\`\\`\\`\\n${markdownName}\\n\\`\\`\\``;\n selection.end = 3;\n break;\n case 'Link':\n editedText = `[${markdownName}](link)`;\n selection.end = 7;\n break;\n case 'Quote':\n editedText = `>${markdownName}`;\n selection.end = 0;\n break;\n default:\n editedText = '';\n }\n\n return { editedText, selection };\n};\n\nexport const insertListOrTitle = (markdown: string) => {\n let textToInsert;\n\n switch (markdown) {\n case 'BulletList':\n textToInsert = '- ';\n break;\n case 'NumberList':\n textToInsert = '1. ';\n break;\n case 'h1':\n textToInsert = '# ';\n break;\n case 'h2':\n textToInsert = '## ';\n break;\n case 'h3':\n textToInsert = '### ';\n break;\n case 'h4':\n textToInsert = '#### ';\n break;\n case 'h5':\n textToInsert = '##### ';\n break;\n case 'h6':\n textToInsert = '###### ';\n break;\n default:\n return '';\n }\n\n return textToInsert;\n};\n\n// EDITOR ACTIONS FUNCTIONS\n\nexport const markdownHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string\n) => {\n const textToEdit = editor.current.getSelection();\n let textToInsert;\n\n if (textToEdit) {\n const editedText = replaceText(markdownType, textToEdit);\n editor.current.replaceSelection(editedText);\n editor.current.focus();\n } else {\n textToInsert = insertText(markdownType);\n editor.current.replaceSelection(textToInsert.editedText);\n editor.current.focus();\n // set selection-focus to text to replace with content\n const { line, ch } = editor.current.getCursor();\n const endSelection = ch - textToInsert.selection.end;\n const startSelection = ch - textToInsert.selection.end - textToInsert.selection.start;\n editor.current.setSelection({ line, ch: startSelection }, { line, ch: endSelection });\n }\n};\n\nexport const listHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n listType: string\n) => {\n const doc = editor.current.getDoc();\n const insertion = listType === 'BulletList' ? '- ' : '1. ';\n\n if (doc.somethingSelected()) {\n const selections = doc.listSelections();\n let remove: boolean | null = null;\n\n editor.current.operation(function () {\n selections.forEach(function (selection) {\n const pos = [selection.head.line, selection.anchor.line].sort();\n\n // Remove if the first text starts with it\n if (remove == null) {\n remove = doc.getLine(pos[0]).startsWith(insertion);\n }\n\n for (let i = pos[0]; i <= pos[1]; i++) {\n if (remove) {\n // Don't remove if we don't start with it\n if (doc.getLine(i).startsWith(insertion)) {\n doc.replaceRange('', { line: i, ch: 0 }, { line: i, ch: insertion.length });\n }\n } else {\n const lineInsertion = listType === 'BulletList' ? '- ' : `${i + 1}. `;\n doc.replaceRange(lineInsertion, { line: i, ch: 0 });\n }\n }\n });\n });\n } else {\n const { line: currentLine } = doc.getCursor();\n const listToInsert = insertListOrTitle(listType);\n const lineContent = editor.current.getLine(currentLine);\n\n const textToInsert = listToInsert + lineContent;\n editor.current.setSelection(\n { line: currentLine, ch: 0 },\n { line: currentLine, ch: lineContent.length }\n );\n editor.current.replaceSelection(textToInsert);\n }\n\n editor.current.focus();\n};\n\nexport const titleHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n titleType: string\n) => {\n const { line: currentLine } = editor.current.getCursor();\n const titleToInsert = insertListOrTitle(titleType);\n const lineContent = editor.current.getLine(currentLine);\n\n // replace hashtags followed by a space in case user want to change the type of title\n const lineWithNoTitle = lineContent.replace(/#{1,6}\\s/g, '').trim();\n\n const textToInsert = titleToInsert + lineWithNoTitle;\n editor.current.setSelection(\n { line: currentLine, ch: 0 },\n { line: currentLine, ch: lineContent.length }\n );\n editor.current.replaceSelection(textToInsert);\n\n setTimeout(() => {\n const newLastLineLength = editor.current.getLine(currentLine).length;\n editor.current.focus();\n editor.current.setCursor({ line: currentLine, ch: newLastLineLength });\n }, 0);\n};\n\nexport const insertFile = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n files: any[]\n) => {\n let { line } = editor.current.getCursor();\n const { ch } = editor.current.getCursor();\n\n files.forEach((file, i) => {\n let contentLength = editor.current.getLine(line).length;\n editor.current.setCursor({ line, ch: contentLength });\n // create a new line after first image markdown inserted\n // or if there is content in current line\n\n if (i > 0 || (i === 0 && ch !== 0)) {\n contentLength = editor.current.getLine(line).length;\n editor.current.setCursor({ line, ch: contentLength });\n line++;\n editor.current.replaceSelection('\\n');\n }\n\n if (file.mime.includes('image')) {\n editor.current.replaceSelection(``);\n } else {\n editor.current.replaceSelection(`[${file.alt}](${file.url})`);\n }\n });\n\n setTimeout(() => editor.current.focus(), 0);\n};\n\n// NEXT FUNCTIONS FOR QUOTE OR CODE MARKDOWN\n\nconst insertWithTextToEdit = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string,\n line: number,\n contentLength: number,\n textToEdit: string\n) => {\n const textToInsert = replaceText(markdownType, textToEdit);\n\n // remove content after current line\n const contentToMove = editor.current.getRange(\n { line: line + 1, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.replaceRange('', { line: line + 1, ch: 0 }, { line: Infinity, ch: Infinity });\n\n // remove word that was selected\n // set cursor end of line + move to next line\n // add text to insert\n editor.current.replaceSelection('');\n editor.current.setCursor({ line, ch: contentLength });\n editor.current.replaceSelection('\\n');\n editor.current.replaceSelection(textToInsert);\n\n if (markdownType === 'Code') {\n const { line: newLine } = editor.current.getCursor();\n editor.current.setCursor({ line: newLine - 1, ch: textToEdit.length });\n }\n\n // add content we had to remove earlier\n editor.current.replaceRange(\n contentToMove,\n { line: line + 4, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n\n editor.current.focus();\n};\n\nconst insertWithoutTextToEdit = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string,\n line: number,\n contentLength: number\n) => {\n const textToInsert = insertText(markdownType);\n\n // remove content after current line\n const contentToMove = editor.current.getRange(\n { line: line + 1, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.replaceRange('', { line: line + 1, ch: 0 }, { line: Infinity, ch: Infinity });\n\n // replace cursor to next line\n editor.current.setCursor({ line, ch: contentLength });\n editor.current.replaceSelection('\\n');\n editor.current.replaceSelection(textToInsert.editedText);\n\n // set selection on \"Code\" or \"Quote\" word\n\n if (markdownType === 'Code') {\n line += 2;\n\n editor.current.setSelection({ line, ch: 0 }, { line, ch: 4 });\n } else {\n line += 1;\n\n const { ch } = editor.current.getCursor();\n const endSelection = ch - textToInsert.selection.end;\n const startSelection = ch - textToInsert.selection.end - textToInsert.selection.start;\n editor.current.setSelection({ line, ch: startSelection }, { line, ch: endSelection });\n }\n\n // add content we had to remove earlier\n editor.current.replaceRange(\n contentToMove,\n { line: line + 2, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.focus();\n};\n\nexport const quoteAndCodeHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string\n) => {\n const textToEdit = editor.current.getSelection();\n const { line } = editor.current.getCursor();\n const contentLength = editor.current.getLine(line).length;\n\n if (textToEdit) {\n insertWithTextToEdit(editor, markdownType, line, contentLength, textToEdit);\n } else {\n insertWithoutTextToEdit(editor, markdownType, line, contentLength);\n }\n};\n"],"names":["replaceText","markdownName","textToChange","editedText","insertText","selection","start","length","end","insertListOrTitle","markdown","textToInsert","markdownHandler","editor","markdownType","textToEdit","current","getSelection","replaceSelection","focus","line","ch","getCursor","endSelection","startSelection","setSelection","listHandler","listType","doc","getDoc","insertion","somethingSelected","selections","listSelections","remove","operation","forEach","pos","head","anchor","sort","getLine","startsWith","i","replaceRange","lineInsertion","currentLine","listToInsert","lineContent","titleHandler","titleType","titleToInsert","lineWithNoTitle","replace","trim","setTimeout","newLastLineLength","setCursor","insertFile","files","file","contentLength","mime","includes","alt","url","insertWithTextToEdit","contentToMove","getRange","Infinity","newLine","insertWithoutTextToEdit","quoteAndCodeHandler"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.ts"],"sourcesContent":["import { MutableRefObject } from 'react';\n\nimport CodeMirror from 'codemirror5';\n\nexport const replaceText = (markdownName: string, textToChange: string) => {\n let editedText;\n\n switch (markdownName) {\n case 'Strikethrough':\n editedText = `~~${textToChange}~~`;\n break;\n case 'Bold':\n editedText = `**${textToChange}**`;\n break;\n case 'Italic':\n editedText = `_${textToChange}_`;\n break;\n case 'Underline':\n editedText = `<u>${textToChange}</u>`;\n break;\n case 'Code':\n editedText = `\\`\\`\\`\\n${textToChange}\\n\\`\\`\\``;\n break;\n case 'Link':\n editedText = `[${textToChange}](link)`;\n break;\n case 'Quote':\n editedText = `>${textToChange}`;\n break;\n default:\n editedText = textToChange;\n }\n\n return editedText;\n};\n\nexport const insertText = (markdownName: string) => {\n let editedText;\n // object to calculate text that will be selected after insert of markdown\n const selection = { start: markdownName.length, end: 0 };\n\n switch (markdownName) {\n case 'Strikethrough':\n editedText = `~~${markdownName}~~`;\n selection.end = 2;\n break;\n case 'Bold':\n editedText = `**${markdownName}**`;\n selection.end = 2;\n break;\n case 'Italic':\n editedText = `_${markdownName}_`;\n selection.end = 1;\n break;\n case 'alt':\n editedText = `[${markdownName}]()`;\n selection.end = 3;\n break;\n case 'Underline':\n editedText = `<u>${markdownName}</u>`;\n selection.end = 4;\n break;\n case 'Code':\n editedText = `\\`\\`\\`\\n${markdownName}\\n\\`\\`\\``;\n selection.end = 3;\n break;\n case 'Link':\n editedText = `[${markdownName}](link)`;\n selection.end = 7;\n break;\n case 'Quote':\n editedText = `>${markdownName}`;\n selection.end = 0;\n break;\n default:\n editedText = '';\n }\n\n return { editedText, selection };\n};\n\nexport const insertListOrTitle = (markdown: string) => {\n let textToInsert;\n\n switch (markdown) {\n case 'BulletList':\n textToInsert = '- ';\n break;\n case 'NumberList':\n textToInsert = '1. ';\n break;\n case 'h1':\n textToInsert = '# ';\n break;\n case 'h2':\n textToInsert = '## ';\n break;\n case 'h3':\n textToInsert = '### ';\n break;\n case 'h4':\n textToInsert = '#### ';\n break;\n case 'h5':\n textToInsert = '##### ';\n break;\n case 'h6':\n textToInsert = '###### ';\n break;\n default:\n return '';\n }\n\n return textToInsert;\n};\n\n// EDITOR ACTIONS FUNCTIONS\n\nexport const markdownHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string\n) => {\n const textToEdit = editor.current.getSelection();\n let textToInsert;\n\n if (textToEdit) {\n const editedText = replaceText(markdownType, textToEdit);\n editor.current.replaceSelection(editedText);\n editor.current.focus();\n } else {\n textToInsert = insertText(markdownType);\n editor.current.replaceSelection(textToInsert.editedText);\n editor.current.focus();\n // set selection-focus to text to replace with content\n const { line, ch } = editor.current.getCursor();\n const endSelection = ch - textToInsert.selection.end;\n const startSelection = ch - textToInsert.selection.end - textToInsert.selection.start;\n editor.current.setSelection({ line, ch: startSelection }, { line, ch: endSelection });\n }\n};\n\nexport const listHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n listType: string\n) => {\n const doc = editor.current.getDoc();\n const insertion = listType === 'BulletList' ? '- ' : '1. ';\n\n if (doc.somethingSelected()) {\n const selections = doc.listSelections();\n let remove: boolean | null = null;\n\n editor.current.operation(function () {\n selections.forEach(function (selection) {\n const pos = [selection.head.line, selection.anchor.line].sort((a, b) => a - b);\n // Will match a bullet point or any number\n const regexIsItemFromList = /^[*-]\\s|^\\d+\\.\\s/;\n\n // Remove if the first text starts with a bullet point or any number\n if (remove == null) {\n remove = doc.getLine(pos[0]).match(regexIsItemFromList) !== null;\n }\n\n for (let i = pos[0]; i <= pos[1]; i++) {\n if (remove) {\n // Don't remove if the line doesn't start with a bullet point or a number\n if (doc.getLine(i).match(regexIsItemFromList) !== null) {\n doc.replaceRange('', { line: i, ch: 0 }, { line: i, ch: insertion.length });\n }\n } else {\n const lineInsertion = listType === 'BulletList' ? '- ' : `${i - pos[0] + 1}. `;\n doc.replaceRange(lineInsertion, { line: i, ch: 0 });\n }\n }\n });\n });\n } else {\n const { line: currentLine } = doc.getCursor();\n const listToInsert = insertListOrTitle(listType);\n const lineContent = editor.current.getLine(currentLine);\n\n const textToInsert = listToInsert + lineContent;\n editor.current.setSelection(\n { line: currentLine, ch: 0 },\n { line: currentLine, ch: lineContent.length }\n );\n editor.current.replaceSelection(textToInsert);\n }\n\n editor.current.focus();\n};\n\nexport const titleHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n titleType: string\n) => {\n const { line: currentLine } = editor.current.getCursor();\n const titleToInsert = insertListOrTitle(titleType);\n const lineContent = editor.current.getLine(currentLine);\n\n // replace hashtags followed by a space in case user want to change the type of title\n const lineWithNoTitle = lineContent.replace(/#{1,6}\\s/g, '').trim();\n\n const textToInsert = titleToInsert + lineWithNoTitle;\n editor.current.setSelection(\n { line: currentLine, ch: 0 },\n { line: currentLine, ch: lineContent.length }\n );\n editor.current.replaceSelection(textToInsert);\n\n setTimeout(() => {\n const newLastLineLength = editor.current.getLine(currentLine).length;\n editor.current.focus();\n editor.current.setCursor({ line: currentLine, ch: newLastLineLength });\n }, 0);\n};\n\nexport const insertFile = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n files: any[]\n) => {\n let { line } = editor.current.getCursor();\n const { ch } = editor.current.getCursor();\n\n files.forEach((file, i) => {\n let contentLength = editor.current.getLine(line).length;\n editor.current.setCursor({ line, ch: contentLength });\n // create a new line after first image markdown inserted\n // or if there is content in current line\n\n if (i > 0 || (i === 0 && ch !== 0)) {\n contentLength = editor.current.getLine(line).length;\n editor.current.setCursor({ line, ch: contentLength });\n line++;\n editor.current.replaceSelection('\\n');\n }\n\n if (file.mime.includes('image')) {\n editor.current.replaceSelection(``);\n } else {\n editor.current.replaceSelection(`[${file.alt}](${file.url})`);\n }\n });\n\n setTimeout(() => editor.current.focus(), 0);\n};\n\n// NEXT FUNCTIONS FOR QUOTE OR CODE MARKDOWN\n\nconst insertWithTextToEdit = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string,\n line: number,\n contentLength: number,\n textToEdit: string\n) => {\n const textToInsert = replaceText(markdownType, textToEdit);\n\n // remove content after current line\n const contentToMove = editor.current.getRange(\n { line: line + 1, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.replaceRange('', { line: line + 1, ch: 0 }, { line: Infinity, ch: Infinity });\n\n // remove word that was selected\n // set cursor end of line + move to next line\n // add text to insert\n editor.current.replaceSelection('');\n editor.current.setCursor({ line, ch: contentLength });\n editor.current.replaceSelection('\\n');\n editor.current.replaceSelection(textToInsert);\n\n if (markdownType === 'Code') {\n const { line: newLine } = editor.current.getCursor();\n editor.current.setCursor({ line: newLine - 1, ch: textToEdit.length });\n }\n\n // add content we had to remove earlier\n editor.current.replaceRange(\n contentToMove,\n { line: line + 4, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n\n editor.current.focus();\n};\n\nconst insertWithoutTextToEdit = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string,\n line: number,\n contentLength: number\n) => {\n const textToInsert = insertText(markdownType);\n\n // remove content after current line\n const contentToMove = editor.current.getRange(\n { line: line + 1, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.replaceRange('', { line: line + 1, ch: 0 }, { line: Infinity, ch: Infinity });\n\n // replace cursor to next line\n editor.current.setCursor({ line, ch: contentLength });\n editor.current.replaceSelection('\\n');\n editor.current.replaceSelection(textToInsert.editedText);\n\n // set selection on \"Code\" or \"Quote\" word\n\n if (markdownType === 'Code') {\n line += 2;\n\n editor.current.setSelection({ line, ch: 0 }, { line, ch: 4 });\n } else {\n line += 1;\n\n const { ch } = editor.current.getCursor();\n const endSelection = ch - textToInsert.selection.end;\n const startSelection = ch - textToInsert.selection.end - textToInsert.selection.start;\n editor.current.setSelection({ line, ch: startSelection }, { line, ch: endSelection });\n }\n\n // add content we had to remove earlier\n editor.current.replaceRange(\n contentToMove,\n { line: line + 2, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.focus();\n};\n\nexport const quoteAndCodeHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string\n) => {\n const textToEdit = editor.current.getSelection();\n const { line } = editor.current.getCursor();\n const contentLength = editor.current.getLine(line).length;\n\n if (textToEdit) {\n insertWithTextToEdit(editor, markdownType, line, contentLength, textToEdit);\n } else {\n insertWithoutTextToEdit(editor, markdownType, line, contentLength);\n }\n};\n"],"names":["replaceText","markdownName","textToChange","editedText","insertText","selection","start","length","end","insertListOrTitle","markdown","textToInsert","markdownHandler","editor","markdownType","textToEdit","current","getSelection","replaceSelection","focus","line","ch","getCursor","endSelection","startSelection","setSelection","listHandler","listType","doc","getDoc","insertion","somethingSelected","selections","listSelections","remove","operation","forEach","pos","head","anchor","sort","a","b","regexIsItemFromList","getLine","match","i","replaceRange","lineInsertion","currentLine","listToInsert","lineContent","titleHandler","titleType","titleToInsert","lineWithNoTitle","replace","trim","setTimeout","newLastLineLength","setCursor","insertFile","files","file","contentLength","mime","includes","alt","url","insertWithTextToEdit","contentToMove","getRange","Infinity","newLine","insertWithoutTextToEdit","quoteAndCodeHandler"],"mappings":"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"}
|
|
@@ -143,15 +143,17 @@ const listHandler = (editor, listType)=>{
|
|
|
143
143
|
const pos = [
|
|
144
144
|
selection.head.line,
|
|
145
145
|
selection.anchor.line
|
|
146
|
-
].sort();
|
|
147
|
-
//
|
|
146
|
+
].sort((a, b)=>a - b);
|
|
147
|
+
// Will match a bullet point or any number
|
|
148
|
+
const regexIsItemFromList = /^[*-]\s|^\d+\.\s/;
|
|
149
|
+
// Remove if the first text starts with a bullet point or any number
|
|
148
150
|
if (remove == null) {
|
|
149
|
-
remove = doc.getLine(pos[0]).
|
|
151
|
+
remove = doc.getLine(pos[0]).match(regexIsItemFromList) !== null;
|
|
150
152
|
}
|
|
151
153
|
for(let i = pos[0]; i <= pos[1]; i++){
|
|
152
154
|
if (remove) {
|
|
153
|
-
// Don't remove if
|
|
154
|
-
if (doc.getLine(i).
|
|
155
|
+
// Don't remove if the line doesn't start with a bullet point or a number
|
|
156
|
+
if (doc.getLine(i).match(regexIsItemFromList) !== null) {
|
|
155
157
|
doc.replaceRange('', {
|
|
156
158
|
line: i,
|
|
157
159
|
ch: 0
|
|
@@ -161,7 +163,7 @@ const listHandler = (editor, listType)=>{
|
|
|
161
163
|
});
|
|
162
164
|
}
|
|
163
165
|
} else {
|
|
164
|
-
const lineInsertion = listType === 'BulletList' ? '- ' : `${i + 1}. `;
|
|
166
|
+
const lineInsertion = listType === 'BulletList' ? '- ' : `${i - pos[0] + 1}. `;
|
|
165
167
|
doc.replaceRange(lineInsertion, {
|
|
166
168
|
line: i,
|
|
167
169
|
ch: 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","sources":["../../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.ts"],"sourcesContent":["import { MutableRefObject } from 'react';\n\nimport CodeMirror from 'codemirror5';\n\nexport const replaceText = (markdownName: string, textToChange: string) => {\n let editedText;\n\n switch (markdownName) {\n case 'Strikethrough':\n editedText = `~~${textToChange}~~`;\n break;\n case 'Bold':\n editedText = `**${textToChange}**`;\n break;\n case 'Italic':\n editedText = `_${textToChange}_`;\n break;\n case 'Underline':\n editedText = `<u>${textToChange}</u>`;\n break;\n case 'Code':\n editedText = `\\`\\`\\`\\n${textToChange}\\n\\`\\`\\``;\n break;\n case 'Link':\n editedText = `[${textToChange}](link)`;\n break;\n case 'Quote':\n editedText = `>${textToChange}`;\n break;\n default:\n editedText = textToChange;\n }\n\n return editedText;\n};\n\nexport const insertText = (markdownName: string) => {\n let editedText;\n // object to calculate text that will be selected after insert of markdown\n const selection = { start: markdownName.length, end: 0 };\n\n switch (markdownName) {\n case 'Strikethrough':\n editedText = `~~${markdownName}~~`;\n selection.end = 2;\n break;\n case 'Bold':\n editedText = `**${markdownName}**`;\n selection.end = 2;\n break;\n case 'Italic':\n editedText = `_${markdownName}_`;\n selection.end = 1;\n break;\n case 'alt':\n editedText = `[${markdownName}]()`;\n selection.end = 3;\n break;\n case 'Underline':\n editedText = `<u>${markdownName}</u>`;\n selection.end = 4;\n break;\n case 'Code':\n editedText = `\\`\\`\\`\\n${markdownName}\\n\\`\\`\\``;\n selection.end = 3;\n break;\n case 'Link':\n editedText = `[${markdownName}](link)`;\n selection.end = 7;\n break;\n case 'Quote':\n editedText = `>${markdownName}`;\n selection.end = 0;\n break;\n default:\n editedText = '';\n }\n\n return { editedText, selection };\n};\n\nexport const insertListOrTitle = (markdown: string) => {\n let textToInsert;\n\n switch (markdown) {\n case 'BulletList':\n textToInsert = '- ';\n break;\n case 'NumberList':\n textToInsert = '1. ';\n break;\n case 'h1':\n textToInsert = '# ';\n break;\n case 'h2':\n textToInsert = '## ';\n break;\n case 'h3':\n textToInsert = '### ';\n break;\n case 'h4':\n textToInsert = '#### ';\n break;\n case 'h5':\n textToInsert = '##### ';\n break;\n case 'h6':\n textToInsert = '###### ';\n break;\n default:\n return '';\n }\n\n return textToInsert;\n};\n\n// EDITOR ACTIONS FUNCTIONS\n\nexport const markdownHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string\n) => {\n const textToEdit = editor.current.getSelection();\n let textToInsert;\n\n if (textToEdit) {\n const editedText = replaceText(markdownType, textToEdit);\n editor.current.replaceSelection(editedText);\n editor.current.focus();\n } else {\n textToInsert = insertText(markdownType);\n editor.current.replaceSelection(textToInsert.editedText);\n editor.current.focus();\n // set selection-focus to text to replace with content\n const { line, ch } = editor.current.getCursor();\n const endSelection = ch - textToInsert.selection.end;\n const startSelection = ch - textToInsert.selection.end - textToInsert.selection.start;\n editor.current.setSelection({ line, ch: startSelection }, { line, ch: endSelection });\n }\n};\n\nexport const listHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n listType: string\n) => {\n const doc = editor.current.getDoc();\n const insertion = listType === 'BulletList' ? '- ' : '1. ';\n\n if (doc.somethingSelected()) {\n const selections = doc.listSelections();\n let remove: boolean | null = null;\n\n editor.current.operation(function () {\n selections.forEach(function (selection) {\n const pos = [selection.head.line, selection.anchor.line].sort();\n\n // Remove if the first text starts with it\n if (remove == null) {\n remove = doc.getLine(pos[0]).startsWith(insertion);\n }\n\n for (let i = pos[0]; i <= pos[1]; i++) {\n if (remove) {\n // Don't remove if we don't start with it\n if (doc.getLine(i).startsWith(insertion)) {\n doc.replaceRange('', { line: i, ch: 0 }, { line: i, ch: insertion.length });\n }\n } else {\n const lineInsertion = listType === 'BulletList' ? '- ' : `${i + 1}. `;\n doc.replaceRange(lineInsertion, { line: i, ch: 0 });\n }\n }\n });\n });\n } else {\n const { line: currentLine } = doc.getCursor();\n const listToInsert = insertListOrTitle(listType);\n const lineContent = editor.current.getLine(currentLine);\n\n const textToInsert = listToInsert + lineContent;\n editor.current.setSelection(\n { line: currentLine, ch: 0 },\n { line: currentLine, ch: lineContent.length }\n );\n editor.current.replaceSelection(textToInsert);\n }\n\n editor.current.focus();\n};\n\nexport const titleHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n titleType: string\n) => {\n const { line: currentLine } = editor.current.getCursor();\n const titleToInsert = insertListOrTitle(titleType);\n const lineContent = editor.current.getLine(currentLine);\n\n // replace hashtags followed by a space in case user want to change the type of title\n const lineWithNoTitle = lineContent.replace(/#{1,6}\\s/g, '').trim();\n\n const textToInsert = titleToInsert + lineWithNoTitle;\n editor.current.setSelection(\n { line: currentLine, ch: 0 },\n { line: currentLine, ch: lineContent.length }\n );\n editor.current.replaceSelection(textToInsert);\n\n setTimeout(() => {\n const newLastLineLength = editor.current.getLine(currentLine).length;\n editor.current.focus();\n editor.current.setCursor({ line: currentLine, ch: newLastLineLength });\n }, 0);\n};\n\nexport const insertFile = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n files: any[]\n) => {\n let { line } = editor.current.getCursor();\n const { ch } = editor.current.getCursor();\n\n files.forEach((file, i) => {\n let contentLength = editor.current.getLine(line).length;\n editor.current.setCursor({ line, ch: contentLength });\n // create a new line after first image markdown inserted\n // or if there is content in current line\n\n if (i > 0 || (i === 0 && ch !== 0)) {\n contentLength = editor.current.getLine(line).length;\n editor.current.setCursor({ line, ch: contentLength });\n line++;\n editor.current.replaceSelection('\\n');\n }\n\n if (file.mime.includes('image')) {\n editor.current.replaceSelection(``);\n } else {\n editor.current.replaceSelection(`[${file.alt}](${file.url})`);\n }\n });\n\n setTimeout(() => editor.current.focus(), 0);\n};\n\n// NEXT FUNCTIONS FOR QUOTE OR CODE MARKDOWN\n\nconst insertWithTextToEdit = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string,\n line: number,\n contentLength: number,\n textToEdit: string\n) => {\n const textToInsert = replaceText(markdownType, textToEdit);\n\n // remove content after current line\n const contentToMove = editor.current.getRange(\n { line: line + 1, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.replaceRange('', { line: line + 1, ch: 0 }, { line: Infinity, ch: Infinity });\n\n // remove word that was selected\n // set cursor end of line + move to next line\n // add text to insert\n editor.current.replaceSelection('');\n editor.current.setCursor({ line, ch: contentLength });\n editor.current.replaceSelection('\\n');\n editor.current.replaceSelection(textToInsert);\n\n if (markdownType === 'Code') {\n const { line: newLine } = editor.current.getCursor();\n editor.current.setCursor({ line: newLine - 1, ch: textToEdit.length });\n }\n\n // add content we had to remove earlier\n editor.current.replaceRange(\n contentToMove,\n { line: line + 4, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n\n editor.current.focus();\n};\n\nconst insertWithoutTextToEdit = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string,\n line: number,\n contentLength: number\n) => {\n const textToInsert = insertText(markdownType);\n\n // remove content after current line\n const contentToMove = editor.current.getRange(\n { line: line + 1, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.replaceRange('', { line: line + 1, ch: 0 }, { line: Infinity, ch: Infinity });\n\n // replace cursor to next line\n editor.current.setCursor({ line, ch: contentLength });\n editor.current.replaceSelection('\\n');\n editor.current.replaceSelection(textToInsert.editedText);\n\n // set selection on \"Code\" or \"Quote\" word\n\n if (markdownType === 'Code') {\n line += 2;\n\n editor.current.setSelection({ line, ch: 0 }, { line, ch: 4 });\n } else {\n line += 1;\n\n const { ch } = editor.current.getCursor();\n const endSelection = ch - textToInsert.selection.end;\n const startSelection = ch - textToInsert.selection.end - textToInsert.selection.start;\n editor.current.setSelection({ line, ch: startSelection }, { line, ch: endSelection });\n }\n\n // add content we had to remove earlier\n editor.current.replaceRange(\n contentToMove,\n { line: line + 2, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.focus();\n};\n\nexport const quoteAndCodeHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string\n) => {\n const textToEdit = editor.current.getSelection();\n const { line } = editor.current.getCursor();\n const contentLength = editor.current.getLine(line).length;\n\n if (textToEdit) {\n insertWithTextToEdit(editor, markdownType, line, contentLength, textToEdit);\n } else {\n insertWithoutTextToEdit(editor, markdownType, line, contentLength);\n }\n};\n"],"names":["replaceText","markdownName","textToChange","editedText","insertText","selection","start","length","end","insertListOrTitle","markdown","textToInsert","markdownHandler","editor","markdownType","textToEdit","current","getSelection","replaceSelection","focus","line","ch","getCursor","endSelection","startSelection","setSelection","listHandler","listType","doc","getDoc","insertion","somethingSelected","selections","listSelections","remove","operation","forEach","pos","head","anchor","sort","getLine","startsWith","i","replaceRange","lineInsertion","currentLine","listToInsert","lineContent","titleHandler","titleType","titleToInsert","lineWithNoTitle","replace","trim","setTimeout","newLastLineLength","setCursor","insertFile","files","file","contentLength","mime","includes","alt","url","insertWithTextToEdit","contentToMove","getRange","Infinity","newLine","insertWithoutTextToEdit","quoteAndCodeHandler"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.ts"],"sourcesContent":["import { MutableRefObject } from 'react';\n\nimport CodeMirror from 'codemirror5';\n\nexport const replaceText = (markdownName: string, textToChange: string) => {\n let editedText;\n\n switch (markdownName) {\n case 'Strikethrough':\n editedText = `~~${textToChange}~~`;\n break;\n case 'Bold':\n editedText = `**${textToChange}**`;\n break;\n case 'Italic':\n editedText = `_${textToChange}_`;\n break;\n case 'Underline':\n editedText = `<u>${textToChange}</u>`;\n break;\n case 'Code':\n editedText = `\\`\\`\\`\\n${textToChange}\\n\\`\\`\\``;\n break;\n case 'Link':\n editedText = `[${textToChange}](link)`;\n break;\n case 'Quote':\n editedText = `>${textToChange}`;\n break;\n default:\n editedText = textToChange;\n }\n\n return editedText;\n};\n\nexport const insertText = (markdownName: string) => {\n let editedText;\n // object to calculate text that will be selected after insert of markdown\n const selection = { start: markdownName.length, end: 0 };\n\n switch (markdownName) {\n case 'Strikethrough':\n editedText = `~~${markdownName}~~`;\n selection.end = 2;\n break;\n case 'Bold':\n editedText = `**${markdownName}**`;\n selection.end = 2;\n break;\n case 'Italic':\n editedText = `_${markdownName}_`;\n selection.end = 1;\n break;\n case 'alt':\n editedText = `[${markdownName}]()`;\n selection.end = 3;\n break;\n case 'Underline':\n editedText = `<u>${markdownName}</u>`;\n selection.end = 4;\n break;\n case 'Code':\n editedText = `\\`\\`\\`\\n${markdownName}\\n\\`\\`\\``;\n selection.end = 3;\n break;\n case 'Link':\n editedText = `[${markdownName}](link)`;\n selection.end = 7;\n break;\n case 'Quote':\n editedText = `>${markdownName}`;\n selection.end = 0;\n break;\n default:\n editedText = '';\n }\n\n return { editedText, selection };\n};\n\nexport const insertListOrTitle = (markdown: string) => {\n let textToInsert;\n\n switch (markdown) {\n case 'BulletList':\n textToInsert = '- ';\n break;\n case 'NumberList':\n textToInsert = '1. ';\n break;\n case 'h1':\n textToInsert = '# ';\n break;\n case 'h2':\n textToInsert = '## ';\n break;\n case 'h3':\n textToInsert = '### ';\n break;\n case 'h4':\n textToInsert = '#### ';\n break;\n case 'h5':\n textToInsert = '##### ';\n break;\n case 'h6':\n textToInsert = '###### ';\n break;\n default:\n return '';\n }\n\n return textToInsert;\n};\n\n// EDITOR ACTIONS FUNCTIONS\n\nexport const markdownHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string\n) => {\n const textToEdit = editor.current.getSelection();\n let textToInsert;\n\n if (textToEdit) {\n const editedText = replaceText(markdownType, textToEdit);\n editor.current.replaceSelection(editedText);\n editor.current.focus();\n } else {\n textToInsert = insertText(markdownType);\n editor.current.replaceSelection(textToInsert.editedText);\n editor.current.focus();\n // set selection-focus to text to replace with content\n const { line, ch } = editor.current.getCursor();\n const endSelection = ch - textToInsert.selection.end;\n const startSelection = ch - textToInsert.selection.end - textToInsert.selection.start;\n editor.current.setSelection({ line, ch: startSelection }, { line, ch: endSelection });\n }\n};\n\nexport const listHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n listType: string\n) => {\n const doc = editor.current.getDoc();\n const insertion = listType === 'BulletList' ? '- ' : '1. ';\n\n if (doc.somethingSelected()) {\n const selections = doc.listSelections();\n let remove: boolean | null = null;\n\n editor.current.operation(function () {\n selections.forEach(function (selection) {\n const pos = [selection.head.line, selection.anchor.line].sort((a, b) => a - b);\n // Will match a bullet point or any number\n const regexIsItemFromList = /^[*-]\\s|^\\d+\\.\\s/;\n\n // Remove if the first text starts with a bullet point or any number\n if (remove == null) {\n remove = doc.getLine(pos[0]).match(regexIsItemFromList) !== null;\n }\n\n for (let i = pos[0]; i <= pos[1]; i++) {\n if (remove) {\n // Don't remove if the line doesn't start with a bullet point or a number\n if (doc.getLine(i).match(regexIsItemFromList) !== null) {\n doc.replaceRange('', { line: i, ch: 0 }, { line: i, ch: insertion.length });\n }\n } else {\n const lineInsertion = listType === 'BulletList' ? '- ' : `${i - pos[0] + 1}. `;\n doc.replaceRange(lineInsertion, { line: i, ch: 0 });\n }\n }\n });\n });\n } else {\n const { line: currentLine } = doc.getCursor();\n const listToInsert = insertListOrTitle(listType);\n const lineContent = editor.current.getLine(currentLine);\n\n const textToInsert = listToInsert + lineContent;\n editor.current.setSelection(\n { line: currentLine, ch: 0 },\n { line: currentLine, ch: lineContent.length }\n );\n editor.current.replaceSelection(textToInsert);\n }\n\n editor.current.focus();\n};\n\nexport const titleHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n titleType: string\n) => {\n const { line: currentLine } = editor.current.getCursor();\n const titleToInsert = insertListOrTitle(titleType);\n const lineContent = editor.current.getLine(currentLine);\n\n // replace hashtags followed by a space in case user want to change the type of title\n const lineWithNoTitle = lineContent.replace(/#{1,6}\\s/g, '').trim();\n\n const textToInsert = titleToInsert + lineWithNoTitle;\n editor.current.setSelection(\n { line: currentLine, ch: 0 },\n { line: currentLine, ch: lineContent.length }\n );\n editor.current.replaceSelection(textToInsert);\n\n setTimeout(() => {\n const newLastLineLength = editor.current.getLine(currentLine).length;\n editor.current.focus();\n editor.current.setCursor({ line: currentLine, ch: newLastLineLength });\n }, 0);\n};\n\nexport const insertFile = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n files: any[]\n) => {\n let { line } = editor.current.getCursor();\n const { ch } = editor.current.getCursor();\n\n files.forEach((file, i) => {\n let contentLength = editor.current.getLine(line).length;\n editor.current.setCursor({ line, ch: contentLength });\n // create a new line after first image markdown inserted\n // or if there is content in current line\n\n if (i > 0 || (i === 0 && ch !== 0)) {\n contentLength = editor.current.getLine(line).length;\n editor.current.setCursor({ line, ch: contentLength });\n line++;\n editor.current.replaceSelection('\\n');\n }\n\n if (file.mime.includes('image')) {\n editor.current.replaceSelection(``);\n } else {\n editor.current.replaceSelection(`[${file.alt}](${file.url})`);\n }\n });\n\n setTimeout(() => editor.current.focus(), 0);\n};\n\n// NEXT FUNCTIONS FOR QUOTE OR CODE MARKDOWN\n\nconst insertWithTextToEdit = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string,\n line: number,\n contentLength: number,\n textToEdit: string\n) => {\n const textToInsert = replaceText(markdownType, textToEdit);\n\n // remove content after current line\n const contentToMove = editor.current.getRange(\n { line: line + 1, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.replaceRange('', { line: line + 1, ch: 0 }, { line: Infinity, ch: Infinity });\n\n // remove word that was selected\n // set cursor end of line + move to next line\n // add text to insert\n editor.current.replaceSelection('');\n editor.current.setCursor({ line, ch: contentLength });\n editor.current.replaceSelection('\\n');\n editor.current.replaceSelection(textToInsert);\n\n if (markdownType === 'Code') {\n const { line: newLine } = editor.current.getCursor();\n editor.current.setCursor({ line: newLine - 1, ch: textToEdit.length });\n }\n\n // add content we had to remove earlier\n editor.current.replaceRange(\n contentToMove,\n { line: line + 4, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n\n editor.current.focus();\n};\n\nconst insertWithoutTextToEdit = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string,\n line: number,\n contentLength: number\n) => {\n const textToInsert = insertText(markdownType);\n\n // remove content after current line\n const contentToMove = editor.current.getRange(\n { line: line + 1, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.replaceRange('', { line: line + 1, ch: 0 }, { line: Infinity, ch: Infinity });\n\n // replace cursor to next line\n editor.current.setCursor({ line, ch: contentLength });\n editor.current.replaceSelection('\\n');\n editor.current.replaceSelection(textToInsert.editedText);\n\n // set selection on \"Code\" or \"Quote\" word\n\n if (markdownType === 'Code') {\n line += 2;\n\n editor.current.setSelection({ line, ch: 0 }, { line, ch: 4 });\n } else {\n line += 1;\n\n const { ch } = editor.current.getCursor();\n const endSelection = ch - textToInsert.selection.end;\n const startSelection = ch - textToInsert.selection.end - textToInsert.selection.start;\n editor.current.setSelection({ line, ch: startSelection }, { line, ch: endSelection });\n }\n\n // add content we had to remove earlier\n editor.current.replaceRange(\n contentToMove,\n { line: line + 2, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.focus();\n};\n\nexport const quoteAndCodeHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string\n) => {\n const textToEdit = editor.current.getSelection();\n const { line } = editor.current.getCursor();\n const contentLength = editor.current.getLine(line).length;\n\n if (textToEdit) {\n insertWithTextToEdit(editor, markdownType, line, contentLength, textToEdit);\n } else {\n insertWithoutTextToEdit(editor, markdownType, line, contentLength);\n }\n};\n"],"names":["replaceText","markdownName","textToChange","editedText","insertText","selection","start","length","end","insertListOrTitle","markdown","textToInsert","markdownHandler","editor","markdownType","textToEdit","current","getSelection","replaceSelection","focus","line","ch","getCursor","endSelection","startSelection","setSelection","listHandler","listType","doc","getDoc","insertion","somethingSelected","selections","listSelections","remove","operation","forEach","pos","head","anchor","sort","a","b","regexIsItemFromList","getLine","match","i","replaceRange","lineInsertion","currentLine","listToInsert","lineContent","titleHandler","titleType","titleToInsert","lineWithNoTitle","replace","trim","setTimeout","newLastLineLength","setCursor","insertFile","files","file","contentLength","mime","includes","alt","url","insertWithTextToEdit","contentToMove","getRange","Infinity","newLine","insertWithoutTextToEdit","quoteAndCodeHandler"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormLayout.js","sources":["../../../../../admin/src/pages/EditView/components/FormLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, BoxProps, Flex, Grid } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { EditLayout } from '../../../hooks/useDocumentLayout';\n\nimport { InputRenderer } from './InputRenderer';\n\nimport type { UseDocument } from '../../../hooks/useDocument';\n\nexport const ResponsiveGridRoot = styled(Grid.Root)`\n container-type: inline-size;\n`;\n\nexport const ResponsiveGridItem =\n /**\n * TODO:\n * JSDOM cannot handle container queries.\n * This is a temporary workaround so that tests do not fail in the CI when jestdom throws an error\n * for failing to parse the stylesheet.\n */\n process.env.NODE_ENV !== 'test'\n ? styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n ${({ theme }) => theme.breakpoints.medium} {\n ${({ col }) => col && `grid-column: span ${col};`}\n }\n `\n : styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n `;\n\nconst panelStyles = {\n padding: {\n initial: 4,\n medium: 6,\n },\n borderColor: 'neutral150',\n background: 'neutral0',\n hasRadius: true,\n shadow: 'tableShadow',\n} satisfies BoxProps;\n\ninterface FormLayoutProps extends Pick<EditLayout, 'layout'> {\n hasBackground?: boolean;\n document: ReturnType<UseDocument>;\n}\n\nconst FormLayout = ({ layout, document, hasBackground = true }: FormLayoutProps) => {\n const { formatMessage } = useIntl();\n const modelUid = document.schema?.uid;\n\n const getLabel = (name: string, label: string) => {\n return formatMessage({\n id: `content-manager.content-types.${modelUid}.${name}`,\n defaultMessage: label,\n });\n };\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {layout.map((panel, index) => {\n if (panel.some((row) => row.some((field) => field.type === 'dynamiczone'))) {\n const [row] = panel;\n const [field] = row;\n\n return (\n <Grid.Root key={field.name} gap={4}>\n <Grid.Item col={12} s={12} xs={12} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </Grid.Item>\n </Grid.Root>\n );\n }\n\n return (\n <Box key={index} {...(hasBackground && panelStyles)}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {panel.map((row, gridRowIndex) => {\n return (\n <ResponsiveGridRoot key={gridRowIndex} gap={{ initial: 6, medium: 4 }}>\n {row.map(({ size, ...field }) => {\n return (\n <ResponsiveGridItem\n col={size}\n key={field.name}\n s={12}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </Flex>\n </Box>\n );\n })}\n </Flex>\n );\n};\n\nexport { FormLayout, FormLayoutProps };\n"],"names":["ResponsiveGridRoot","styled","Grid","Root","ResponsiveGridItem","process","env","NODE_ENV","Item","theme","breakpoints","medium","col","panelStyles","padding","initial","borderColor","background","hasRadius","shadow","FormLayout","layout","document","hasBackground","formatMessage","useIntl","modelUid","schema","uid","getLabel","name","label","id","defaultMessage","_jsx","Flex","direction","alignItems","gap","map","panel","index","some","row","field","type","s","xs","InputRenderer","Box","gridRowIndex","size"],"mappings":";;;;;;;;;MAYaA,
|
|
1
|
+
{"version":3,"file":"FormLayout.js","sources":["../../../../../admin/src/pages/EditView/components/FormLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, BoxProps, Flex, Grid } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { EditLayout } from '../../../hooks/useDocumentLayout';\n\nimport { InputRenderer } from './InputRenderer';\n\nimport type { UseDocument } from '../../../hooks/useDocument';\n\nexport const ResponsiveGridRoot = styled(Grid.Root)`\n container-type: inline-size;\n`;\n\nexport const ResponsiveGridItem =\n /**\n * TODO:\n * JSDOM cannot handle container queries.\n * This is a temporary workaround so that tests do not fail in the CI when jestdom throws an error\n * for failing to parse the stylesheet.\n */\n process.env.NODE_ENV !== 'test'\n ? styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n ${({ theme }) => theme.breakpoints.medium} {\n ${({ col }) => col && `grid-column: span ${col};`}\n }\n `\n : styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n `;\n\nconst panelStyles = {\n padding: {\n initial: 4,\n medium: 6,\n },\n borderColor: 'neutral150',\n background: 'neutral0',\n hasRadius: true,\n shadow: 'tableShadow',\n} satisfies BoxProps;\n\ninterface FormLayoutProps extends Pick<EditLayout, 'layout'> {\n hasBackground?: boolean;\n document: ReturnType<UseDocument>;\n}\n\nconst FormLayout = ({ layout, document, hasBackground = true }: FormLayoutProps) => {\n const { formatMessage } = useIntl();\n const modelUid = document.schema?.uid;\n\n const getLabel = (name: string, label: string) => {\n return formatMessage({\n id: `content-manager.content-types.${modelUid}.${name}`,\n defaultMessage: label,\n });\n };\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {layout.map((panel, index) => {\n if (panel.some((row) => row.some((field) => field.type === 'dynamiczone'))) {\n const [row] = panel;\n const [field] = row;\n\n return (\n <Grid.Root key={field.name} gap={4}>\n <Grid.Item col={12} s={12} xs={12} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </Grid.Item>\n </Grid.Root>\n );\n }\n\n return (\n <Box key={index} {...(hasBackground && panelStyles)}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {panel.map((row, gridRowIndex) => {\n return (\n <ResponsiveGridRoot key={gridRowIndex} gap={{ initial: 6, medium: 4 }}>\n {row.map(({ size, ...field }) => {\n return (\n <ResponsiveGridItem\n col={size}\n key={field.name}\n s={12}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </Flex>\n </Box>\n );\n })}\n </Flex>\n );\n};\n\nexport { FormLayout, FormLayoutProps };\n"],"names":["ResponsiveGridRoot","styled","Grid","Root","ResponsiveGridItem","process","env","NODE_ENV","Item","theme","breakpoints","medium","col","panelStyles","padding","initial","borderColor","background","hasRadius","shadow","FormLayout","layout","document","hasBackground","formatMessage","useIntl","modelUid","schema","uid","getLabel","name","label","id","defaultMessage","_jsx","Flex","direction","alignItems","gap","map","panel","index","some","row","field","type","s","xs","InputRenderer","Box","gridRowIndex","size"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormLayout.mjs","sources":["../../../../../admin/src/pages/EditView/components/FormLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, BoxProps, Flex, Grid } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { EditLayout } from '../../../hooks/useDocumentLayout';\n\nimport { InputRenderer } from './InputRenderer';\n\nimport type { UseDocument } from '../../../hooks/useDocument';\n\nexport const ResponsiveGridRoot = styled(Grid.Root)`\n container-type: inline-size;\n`;\n\nexport const ResponsiveGridItem =\n /**\n * TODO:\n * JSDOM cannot handle container queries.\n * This is a temporary workaround so that tests do not fail in the CI when jestdom throws an error\n * for failing to parse the stylesheet.\n */\n process.env.NODE_ENV !== 'test'\n ? styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n ${({ theme }) => theme.breakpoints.medium} {\n ${({ col }) => col && `grid-column: span ${col};`}\n }\n `\n : styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n `;\n\nconst panelStyles = {\n padding: {\n initial: 4,\n medium: 6,\n },\n borderColor: 'neutral150',\n background: 'neutral0',\n hasRadius: true,\n shadow: 'tableShadow',\n} satisfies BoxProps;\n\ninterface FormLayoutProps extends Pick<EditLayout, 'layout'> {\n hasBackground?: boolean;\n document: ReturnType<UseDocument>;\n}\n\nconst FormLayout = ({ layout, document, hasBackground = true }: FormLayoutProps) => {\n const { formatMessage } = useIntl();\n const modelUid = document.schema?.uid;\n\n const getLabel = (name: string, label: string) => {\n return formatMessage({\n id: `content-manager.content-types.${modelUid}.${name}`,\n defaultMessage: label,\n });\n };\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {layout.map((panel, index) => {\n if (panel.some((row) => row.some((field) => field.type === 'dynamiczone'))) {\n const [row] = panel;\n const [field] = row;\n\n return (\n <Grid.Root key={field.name} gap={4}>\n <Grid.Item col={12} s={12} xs={12} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </Grid.Item>\n </Grid.Root>\n );\n }\n\n return (\n <Box key={index} {...(hasBackground && panelStyles)}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {panel.map((row, gridRowIndex) => {\n return (\n <ResponsiveGridRoot key={gridRowIndex} gap={{ initial: 6, medium: 4 }}>\n {row.map(({ size, ...field }) => {\n return (\n <ResponsiveGridItem\n col={size}\n key={field.name}\n s={12}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </Flex>\n </Box>\n );\n })}\n </Flex>\n );\n};\n\nexport { FormLayout, FormLayoutProps };\n"],"names":["ResponsiveGridRoot","styled","Grid","Root","ResponsiveGridItem","process","env","NODE_ENV","Item","theme","breakpoints","medium","col","panelStyles","padding","initial","borderColor","background","hasRadius","shadow","FormLayout","layout","document","hasBackground","formatMessage","useIntl","modelUid","schema","uid","getLabel","name","label","id","defaultMessage","_jsx","Flex","direction","alignItems","gap","map","panel","index","some","row","field","type","s","xs","InputRenderer","Box","gridRowIndex","size"],"mappings":";;;;;;;MAYaA,
|
|
1
|
+
{"version":3,"file":"FormLayout.mjs","sources":["../../../../../admin/src/pages/EditView/components/FormLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, BoxProps, Flex, Grid } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { EditLayout } from '../../../hooks/useDocumentLayout';\n\nimport { InputRenderer } from './InputRenderer';\n\nimport type { UseDocument } from '../../../hooks/useDocument';\n\nexport const ResponsiveGridRoot = styled(Grid.Root)`\n container-type: inline-size;\n`;\n\nexport const ResponsiveGridItem =\n /**\n * TODO:\n * JSDOM cannot handle container queries.\n * This is a temporary workaround so that tests do not fail in the CI when jestdom throws an error\n * for failing to parse the stylesheet.\n */\n process.env.NODE_ENV !== 'test'\n ? styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n ${({ theme }) => theme.breakpoints.medium} {\n ${({ col }) => col && `grid-column: span ${col};`}\n }\n `\n : styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n `;\n\nconst panelStyles = {\n padding: {\n initial: 4,\n medium: 6,\n },\n borderColor: 'neutral150',\n background: 'neutral0',\n hasRadius: true,\n shadow: 'tableShadow',\n} satisfies BoxProps;\n\ninterface FormLayoutProps extends Pick<EditLayout, 'layout'> {\n hasBackground?: boolean;\n document: ReturnType<UseDocument>;\n}\n\nconst FormLayout = ({ layout, document, hasBackground = true }: FormLayoutProps) => {\n const { formatMessage } = useIntl();\n const modelUid = document.schema?.uid;\n\n const getLabel = (name: string, label: string) => {\n return formatMessage({\n id: `content-manager.content-types.${modelUid}.${name}`,\n defaultMessage: label,\n });\n };\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {layout.map((panel, index) => {\n if (panel.some((row) => row.some((field) => field.type === 'dynamiczone'))) {\n const [row] = panel;\n const [field] = row;\n\n return (\n <Grid.Root key={field.name} gap={4}>\n <Grid.Item col={12} s={12} xs={12} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </Grid.Item>\n </Grid.Root>\n );\n }\n\n return (\n <Box key={index} {...(hasBackground && panelStyles)}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {panel.map((row, gridRowIndex) => {\n return (\n <ResponsiveGridRoot key={gridRowIndex} gap={{ initial: 6, medium: 4 }}>\n {row.map(({ size, ...field }) => {\n return (\n <ResponsiveGridItem\n col={size}\n key={field.name}\n s={12}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </Flex>\n </Box>\n );\n })}\n </Flex>\n );\n};\n\nexport { FormLayout, FormLayoutProps };\n"],"names":["ResponsiveGridRoot","styled","Grid","Root","ResponsiveGridItem","process","env","NODE_ENV","Item","theme","breakpoints","medium","col","panelStyles","padding","initial","borderColor","background","hasRadius","shadow","FormLayout","layout","document","hasBackground","formatMessage","useIntl","modelUid","schema","uid","getLabel","name","label","id","defaultMessage","_jsx","Flex","direction","alignItems","gap","map","panel","index","some","row","field","type","s","xs","InputRenderer","Box","gridRowIndex","size"],"mappings":"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"}
|