@contentful/field-editor-rich-text 3.16.8 → 3.16.10
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/cjs/ContentfulEditorProvider.js +8 -8
- package/dist/cjs/RichTextEditor.js +20 -22
- package/dist/cjs/RichTextEditor.styles.js +1 -2
- package/dist/cjs/SdkProvider.js +5 -7
- package/dist/cjs/SyncEditorChanges.js +6 -15
- package/dist/cjs/Toolbar/_tests_/toolbar.test.js +15 -17
- package/dist/cjs/Toolbar/components/EmbedEntityWidget.js +9 -13
- package/dist/cjs/Toolbar/components/EmbeddedEntityDropdownButton.js +8 -10
- package/dist/cjs/Toolbar/components/StickyToolbarWrapper.js +2 -2
- package/dist/cjs/Toolbar/index.js +30 -33
- package/dist/cjs/__fixtures__/FakeSdk.js +3 -3
- package/dist/cjs/__fixtures__/asset/index.js +10 -10
- package/dist/cjs/__fixtures__/content-type/index.js +1 -1
- package/dist/cjs/__fixtures__/entry/index.js +7 -7
- package/dist/cjs/__fixtures__/fixtures.js +6 -8
- package/dist/cjs/__fixtures__/locale/index.js +2 -2
- package/dist/cjs/__fixtures__/space/index.js +1 -1
- package/dist/cjs/constants/Schema.js +0 -1
- package/dist/cjs/dialogs/HypelinkDialog/HyperlinkDialog.js +38 -43
- package/dist/cjs/dialogs/openRichTextDialog.js +4 -6
- package/dist/cjs/dialogs/renderRichTextDialog.js +4 -6
- package/dist/cjs/helpers/__tests__/removeInternalMarks.test.js +10 -10
- package/dist/cjs/helpers/callbacks.js +3 -3
- package/dist/cjs/helpers/config.js +2 -2
- package/dist/cjs/helpers/editor.js +44 -53
- package/dist/cjs/helpers/environment.js +3 -3
- package/dist/cjs/helpers/formatDateAndTime.js +4 -5
- package/dist/cjs/helpers/getAllowedResourcesForNodeType.js +5 -22
- package/dist/cjs/helpers/getLinkedContentTypeIdsForNodeType.js +5 -29
- package/dist/cjs/helpers/nodeFactory.js +6 -6
- package/dist/cjs/helpers/sdkNavigatorSlideIn.js +6 -14
- package/dist/cjs/helpers/sdkNavigatorSlideIn.spec.js +2 -3
- package/dist/cjs/helpers/toSlateValue.js +3 -14
- package/dist/cjs/helpers/transformers.js +5 -5
- package/dist/cjs/helpers/validations.js +9 -12
- package/dist/cjs/index.js +5 -7
- package/dist/cjs/internal/constants.js +2 -4
- package/dist/cjs/internal/hooks.js +7 -9
- package/dist/cjs/internal/misc.js +12 -15
- package/dist/cjs/internal/queries.js +108 -115
- package/dist/cjs/internal/transforms.js +48 -51
- package/dist/cjs/internal/types/editor.js +1 -3
- package/dist/cjs/plugins/Break/createExitBreakPlugin.test.js +3 -4
- package/dist/cjs/plugins/Break/createResetNodePlugin.js +0 -1
- package/dist/cjs/plugins/Break/createSoftBreakPlugin.test.js +3 -3
- package/dist/cjs/plugins/CommandPalette/components/CommandList.js +33 -35
- package/dist/cjs/plugins/CommandPalette/components/CommandList.styles.js +1 -1
- package/dist/cjs/plugins/CommandPalette/components/CommandPrompt.js +5 -7
- package/dist/cjs/plugins/CommandPalette/hooks/useCommandList.js +3 -7
- package/dist/cjs/plugins/CommandPalette/onKeyDown.js +1 -6
- package/dist/cjs/plugins/CommandPalette/onKeyDown.spec.js +4 -6
- package/dist/cjs/plugins/CommandPalette/useCommands.js +3 -3
- package/dist/cjs/plugins/CommandPalette/utils/fetchEntries.js +0 -2
- package/dist/cjs/plugins/CommandPalette/utils/trimLeadingSlash.js +1 -6
- package/dist/cjs/plugins/DragAndDrop/index.js +1 -9
- package/dist/cjs/plugins/EmbeddedEntityBlock/LinkedEntityBlock.js +8 -10
- package/dist/cjs/plugins/EmbeddedEntityBlock/index.js +3 -3
- package/dist/cjs/plugins/EmbeddedEntityInline/FetchingWrappedInlineEntryCard.js +17 -19
- package/dist/cjs/plugins/EmbeddedEntityInline/LinkedEntityInline.js +7 -9
- package/dist/cjs/plugins/EmbeddedResourceBlock/LinkedResourceBlock.js +5 -5
- package/dist/cjs/plugins/EmbeddedResourceInline/FetchingWrappedResourceInlineCard.js +11 -13
- package/dist/cjs/plugins/EmbeddedResourceInline/LinkedResourceInline.js +5 -5
- package/dist/cjs/plugins/Heading/__tests__/createHeadingPlugin.test.js +32 -32
- package/dist/cjs/plugins/Heading/components/Heading.js +10 -13
- package/dist/cjs/plugins/Heading/components/ToolbarHeadingButton.js +29 -23
- package/dist/cjs/plugins/Heading/createHeadingPlugin.js +2 -7
- package/dist/cjs/plugins/Hr/index.js +14 -19
- package/dist/cjs/plugins/Hyperlink/HyperlinkModal.js +28 -32
- package/dist/cjs/plugins/Hyperlink/__tests__/createHyperlinkPlugin.test.js +8 -8
- package/dist/cjs/plugins/Hyperlink/components/EntityHyperlink.js +8 -10
- package/dist/cjs/plugins/Hyperlink/components/LinkPopover.js +17 -23
- package/dist/cjs/plugins/Hyperlink/components/ResourceHyperlink.js +8 -10
- package/dist/cjs/plugins/Hyperlink/components/ToolbarHyperlinkButton.js +4 -6
- package/dist/cjs/plugins/Hyperlink/components/UrlHyperlink.js +6 -8
- package/dist/cjs/plugins/Hyperlink/components/linkHandlers.js +3 -3
- package/dist/cjs/plugins/Hyperlink/components/styles.js +1 -1
- package/dist/cjs/plugins/Hyperlink/createHyperlinkPlugin.js +4 -10
- package/dist/cjs/plugins/Hyperlink/useEntityInfo.js +3 -6
- package/dist/cjs/plugins/Hyperlink/useResourceEntityInfo.js +4 -6
- package/dist/cjs/plugins/Hyperlink/utils.js +4 -4
- package/dist/cjs/plugins/List/__tests__/createListPlugin.test.js +13 -13
- package/dist/cjs/plugins/List/__tests__/insertListBreak.test.js +25 -29
- package/dist/cjs/plugins/List/__tests__/insertListFragment.test.js +22 -22
- package/dist/cjs/plugins/List/components/List.js +7 -9
- package/dist/cjs/plugins/List/components/ListItem.js +4 -6
- package/dist/cjs/plugins/List/components/ToolbarListButton.js +5 -7
- package/dist/cjs/plugins/List/createListPlugin.js +0 -4
- package/dist/cjs/plugins/List/insertListBreak.js +4 -13
- package/dist/cjs/plugins/List/insertListFragment.js +5 -18
- package/dist/cjs/plugins/List/onKeyDownList.js +6 -8
- package/dist/cjs/plugins/List/transforms/insertListItem.js +2 -17
- package/dist/cjs/plugins/List/transforms/moveListItemDown.js +2 -8
- package/dist/cjs/plugins/List/transforms/moveListItems.js +2 -7
- package/dist/cjs/plugins/List/transforms/moveListItems.test.js +14 -15
- package/dist/cjs/plugins/List/transforms/toggleList.js +3 -8
- package/dist/cjs/plugins/List/transforms/toggleList.spec.js +28 -28
- package/dist/cjs/plugins/List/transforms/unwrapList.js +2 -7
- package/dist/cjs/plugins/List/utils.js +11 -12
- package/dist/cjs/plugins/List/withList.js +2 -6
- package/dist/cjs/plugins/Marks/Bold.js +7 -9
- package/dist/cjs/plugins/Marks/Code.js +7 -15
- package/dist/cjs/plugins/Marks/Italic.js +7 -9
- package/dist/cjs/plugins/Marks/Subscript.js +8 -10
- package/dist/cjs/plugins/Marks/Superscript.js +8 -10
- package/dist/cjs/plugins/Marks/Underline.js +4 -6
- package/dist/cjs/plugins/Marks/components/MarkToolbarButton.js +7 -9
- package/dist/cjs/plugins/Marks/helpers.js +5 -5
- package/dist/cjs/plugins/Normalizer/baseRules.js +0 -2
- package/dist/cjs/plugins/Normalizer/createNormalizerPlugin.test.js +12 -12
- package/dist/cjs/plugins/Normalizer/utils.js +3 -4
- package/dist/cjs/plugins/Normalizer/withNormalizer.js +3 -23
- package/dist/cjs/plugins/Paragraph/Paragraph.js +4 -6
- package/dist/cjs/plugins/Paragraph/__tests__/createParagraphPlugin.test.js +32 -32
- package/dist/cjs/plugins/Paragraph/createParagraphPlugin.js +2 -3
- package/dist/cjs/plugins/PasteHTML/createPasteHTMLPlugin.js +6 -9
- package/dist/cjs/plugins/PasteHTML/utils/__tests__/sanitizeHTML.test.js +0 -2
- package/dist/cjs/plugins/PasteHTML/utils/sanitizeAnchors.js +0 -9
- package/dist/cjs/plugins/PasteHTML/utils/sanitizeHTML.js +2 -17
- package/dist/cjs/plugins/PasteHTML/utils/sanitizeSheets.js +1 -13
- package/dist/cjs/plugins/Quote/__test__/createQuotePlugin.test.js +21 -21
- package/dist/cjs/plugins/Quote/components/Quote.js +4 -6
- package/dist/cjs/plugins/Quote/components/ToolbarQuoteButton.js +4 -6
- package/dist/cjs/plugins/Quote/createQuotePlugin.js +0 -1
- package/dist/cjs/plugins/Quote/toggleQuote.js +5 -5
- package/dist/cjs/plugins/Quote/withQuote.js +2 -4
- package/dist/cjs/plugins/SelectOnBackspace/createSelectOnBackspacePlugin.js +0 -1
- package/dist/cjs/plugins/Table/__tests__/createTablePlugin.test.js +22 -22
- package/dist/cjs/plugins/Table/__tests__/helpers.test.js +4 -4
- package/dist/cjs/plugins/Table/actions/addColumn.js +4 -5
- package/dist/cjs/plugins/Table/actions/addRow.js +3 -6
- package/dist/cjs/plugins/Table/components/Cell.js +5 -7
- package/dist/cjs/plugins/Table/components/HeaderCell.js +5 -7
- package/dist/cjs/plugins/Table/components/Row.js +4 -6
- package/dist/cjs/plugins/Table/components/Table.js +6 -8
- package/dist/cjs/plugins/Table/components/TableActions.js +16 -19
- package/dist/cjs/plugins/Table/components/ToolbarButton.js +4 -7
- package/dist/cjs/plugins/Table/createTablePlugin.js +1 -11
- package/dist/cjs/plugins/Table/helpers.js +12 -16
- package/dist/cjs/plugins/Table/insertTableFragment.js +2 -15
- package/dist/cjs/plugins/Table/onKeyDownTable.js +2 -11
- package/dist/cjs/plugins/Table/tableTracking.js +6 -6
- package/dist/cjs/plugins/Text/__tests__/createTextPlugin.test.js +17 -19
- package/dist/cjs/plugins/Text/createTextPlugin.js +5 -22
- package/dist/cjs/plugins/Tracking/createTrackingPlugin.js +4 -5
- package/dist/cjs/plugins/Tracking/utils.js +3 -6
- package/dist/cjs/plugins/Voids/createVoidsPlugin.js +0 -5
- package/dist/cjs/plugins/Voids/transformVoid.js +0 -1
- package/dist/cjs/plugins/index.js +3 -15
- package/dist/cjs/plugins/shared/EmbeddedBlockToolbarIcon.js +10 -12
- package/dist/cjs/plugins/shared/EmbeddedBlockUtil.js +6 -16
- package/dist/cjs/plugins/shared/EmbeddedInlineToolbarIcon.js +8 -10
- package/dist/cjs/plugins/shared/EmbeddedInlineUtil.js +5 -9
- package/dist/cjs/plugins/shared/FetchingWrappedAssetCard.js +11 -13
- package/dist/cjs/plugins/shared/FetchingWrappedEntryCard.js +12 -14
- package/dist/cjs/plugins/shared/FetchingWrappedResourceCard.js +11 -14
- package/dist/cjs/plugins/shared/LinkedBlockWrapper.js +4 -8
- package/dist/cjs/plugins/shared/LinkedInlineWrapper.js +6 -10
- package/dist/cjs/plugins/shared/ResourceNewBadge.js +3 -5
- package/dist/cjs/plugins/shared/ToolbarButton.js +6 -8
- package/dist/cjs/plugins/shared/__tests__/FetchingWrappedAssetCard.test.js +5 -10
- package/dist/cjs/plugins/shared/__tests__/FetchingWrappedEntryCard.test.js +6 -11
- package/dist/cjs/plugins/shared/__tests__/FetchingWrappedResourceCard.test.js +13 -15
- package/dist/cjs/plugins/shared/utils.js +1 -4
- package/dist/cjs/test-utils/assertOutput.js +0 -1
- package/dist/cjs/test-utils/hyperscript.d.js +0 -1
- package/dist/cjs/test-utils/randomId.js +1 -3
- package/dist/cjs/test-utils/validation.js +5 -8
- package/dist/esm/ContentfulEditorProvider.js +1 -4
- package/dist/esm/RichTextEditor.js +13 -13
- package/dist/esm/RichTextEditor.styles.js +0 -1
- package/dist/esm/SdkProvider.js +2 -2
- package/dist/esm/SyncEditorChanges.js +3 -18
- package/dist/esm/Toolbar/_tests_/toolbar.test.js +12 -12
- package/dist/esm/Toolbar/components/EmbedEntityWidget.js +7 -9
- package/dist/esm/Toolbar/components/EmbeddedEntityDropdownButton.js +6 -6
- package/dist/esm/Toolbar/components/StickyToolbarWrapper.js +1 -1
- package/dist/esm/Toolbar/index.js +27 -28
- package/dist/esm/__fixtures__/FakeSdk.js +3 -3
- package/dist/esm/constants/Schema.js +0 -1
- package/dist/esm/dialogs/HypelinkDialog/HyperlinkDialog.js +31 -34
- package/dist/esm/dialogs/openRichTextDialog.js +2 -2
- package/dist/esm/dialogs/renderRichTextDialog.js +2 -2
- package/dist/esm/helpers/__tests__/removeInternalMarks.test.js +10 -10
- package/dist/esm/helpers/callbacks.js +1 -1
- package/dist/esm/helpers/config.js +1 -9
- package/dist/esm/helpers/editor.js +6 -22
- package/dist/esm/helpers/extractNodes.js +1 -3
- package/dist/esm/helpers/formatDateAndTime.js +2 -11
- package/dist/esm/helpers/getAllowedResourcesForNodeType.js +2 -19
- package/dist/esm/helpers/getLinkedContentTypeIdsForNodeType.js +2 -26
- package/dist/esm/helpers/sdkNavigatorSlideIn.js +6 -20
- package/dist/esm/helpers/sdkNavigatorSlideIn.spec.js +0 -1
- package/dist/esm/helpers/toSlateValue.js +3 -17
- package/dist/esm/helpers/validations.js +1 -5
- package/dist/esm/internal/misc.js +2 -23
- package/dist/esm/internal/queries.js +2 -11
- package/dist/esm/internal/transforms.js +3 -14
- package/dist/esm/internal/types/editor.js +1 -3
- package/dist/esm/plugins/Break/createExitBreakPlugin.test.js +3 -4
- package/dist/esm/plugins/Break/createResetNodePlugin.js +0 -1
- package/dist/esm/plugins/Break/createSoftBreakPlugin.test.js +3 -3
- package/dist/esm/plugins/CommandPalette/components/CommandList.js +30 -30
- package/dist/esm/plugins/CommandPalette/components/CommandPrompt.js +2 -2
- package/dist/esm/plugins/CommandPalette/createCommandPalettePlugin.js +1 -11
- package/dist/esm/plugins/CommandPalette/hooks/useCommandList.js +0 -2
- package/dist/esm/plugins/CommandPalette/onKeyDown.js +0 -5
- package/dist/esm/plugins/CommandPalette/onKeyDown.spec.js +2 -2
- package/dist/esm/plugins/CommandPalette/useCommands.js +3 -3
- package/dist/esm/plugins/CommandPalette/utils/fetchEntries.js +0 -2
- package/dist/esm/plugins/CommandPalette/utils/trimLeadingSlash.js +1 -6
- package/dist/esm/plugins/DragAndDrop/index.js +1 -9
- package/dist/esm/plugins/EmbeddedEntityBlock/LinkedEntityBlock.js +6 -6
- package/dist/esm/plugins/EmbeddedEntityInline/FetchingWrappedInlineEntryCard.js +14 -14
- package/dist/esm/plugins/EmbeddedEntityInline/LinkedEntityInline.js +5 -5
- package/dist/esm/plugins/EmbeddedResourceBlock/LinkedResourceBlock.js +4 -4
- package/dist/esm/plugins/EmbeddedResourceInline/FetchingWrappedResourceInlineCard.js +9 -9
- package/dist/esm/plugins/EmbeddedResourceInline/LinkedResourceInline.js +4 -4
- package/dist/esm/plugins/Heading/__tests__/createHeadingPlugin.test.js +32 -32
- package/dist/esm/plugins/Heading/components/Heading.js +7 -8
- package/dist/esm/plugins/Heading/components/ToolbarHeadingButton.js +26 -18
- package/dist/esm/plugins/Heading/createHeadingPlugin.js +1 -6
- package/dist/esm/plugins/Hr/index.js +5 -8
- package/dist/esm/plugins/Hyperlink/HyperlinkModal.js +23 -25
- package/dist/esm/plugins/Hyperlink/__tests__/createHyperlinkPlugin.test.js +8 -8
- package/dist/esm/plugins/Hyperlink/components/EntityHyperlink.js +6 -6
- package/dist/esm/plugins/Hyperlink/components/LinkPopover.js +15 -19
- package/dist/esm/plugins/Hyperlink/components/ResourceHyperlink.js +6 -6
- package/dist/esm/plugins/Hyperlink/components/ToolbarHyperlinkButton.js +2 -2
- package/dist/esm/plugins/Hyperlink/components/UrlHyperlink.js +4 -4
- package/dist/esm/plugins/Hyperlink/createHyperlinkPlugin.js +1 -5
- package/dist/esm/plugins/Hyperlink/useEntityInfo.js +3 -6
- package/dist/esm/plugins/Hyperlink/useResourceEntityInfo.js +2 -2
- package/dist/esm/plugins/Hyperlink/utils.js +1 -1
- package/dist/esm/plugins/List/__tests__/createListPlugin.test.js +13 -13
- package/dist/esm/plugins/List/__tests__/insertListBreak.test.js +25 -29
- package/dist/esm/plugins/List/__tests__/insertListFragment.test.js +22 -22
- package/dist/esm/plugins/List/components/List.js +1 -1
- package/dist/esm/plugins/List/components/ListItem.js +1 -1
- package/dist/esm/plugins/List/components/ToolbarListButton.js +3 -3
- package/dist/esm/plugins/List/createListPlugin.js +0 -4
- package/dist/esm/plugins/List/insertListBreak.js +4 -13
- package/dist/esm/plugins/List/insertListFragment.js +5 -18
- package/dist/esm/plugins/List/onKeyDownList.js +5 -7
- package/dist/esm/plugins/List/transforms/insertListItem.js +3 -20
- package/dist/esm/plugins/List/transforms/moveListItemDown.js +2 -8
- package/dist/esm/plugins/List/transforms/moveListItems.js +2 -7
- package/dist/esm/plugins/List/transforms/moveListItems.test.js +14 -15
- package/dist/esm/plugins/List/transforms/toggleList.js +3 -8
- package/dist/esm/plugins/List/transforms/toggleList.spec.js +28 -28
- package/dist/esm/plugins/List/transforms/unwrapList.js +2 -7
- package/dist/esm/plugins/List/utils.js +2 -7
- package/dist/esm/plugins/List/withList.js +2 -6
- package/dist/esm/plugins/Marks/Bold.js +2 -2
- package/dist/esm/plugins/Marks/Code.js +2 -8
- package/dist/esm/plugins/Marks/Italic.js +2 -2
- package/dist/esm/plugins/Marks/Subscript.js +2 -2
- package/dist/esm/plugins/Marks/Superscript.js +2 -2
- package/dist/esm/plugins/Marks/Underline.js +2 -2
- package/dist/esm/plugins/Marks/components/MarkToolbarButton.js +4 -4
- package/dist/esm/plugins/Marks/helpers.js +1 -1
- package/dist/esm/plugins/Normalizer/baseRules.js +0 -4
- package/dist/esm/plugins/Normalizer/createNormalizerPlugin.test.js +12 -12
- package/dist/esm/plugins/Normalizer/utils.js +0 -1
- package/dist/esm/plugins/Normalizer/withNormalizer.js +2 -22
- package/dist/esm/plugins/Paragraph/Paragraph.js +1 -1
- package/dist/esm/plugins/Paragraph/__tests__/createParagraphPlugin.test.js +32 -32
- package/dist/esm/plugins/Paragraph/createParagraphPlugin.js +1 -2
- package/dist/esm/plugins/PasteHTML/createPasteHTMLPlugin.js +3 -9
- package/dist/esm/plugins/PasteHTML/utils/__tests__/sanitizeHTML.test.js +0 -2
- package/dist/esm/plugins/PasteHTML/utils/sanitizeAnchors.js +1 -27
- package/dist/esm/plugins/PasteHTML/utils/sanitizeHTML.js +2 -17
- package/dist/esm/plugins/PasteHTML/utils/sanitizeSheets.js +1 -13
- package/dist/esm/plugins/Quote/__test__/createQuotePlugin.test.js +21 -21
- package/dist/esm/plugins/Quote/components/Quote.js +1 -1
- package/dist/esm/plugins/Quote/components/ToolbarQuoteButton.js +2 -2
- package/dist/esm/plugins/Quote/createQuotePlugin.js +0 -1
- package/dist/esm/plugins/Quote/shouldResetQuote.js +1 -6
- package/dist/esm/plugins/Quote/toggleQuote.js +1 -1
- package/dist/esm/plugins/Quote/withQuote.js +2 -4
- package/dist/esm/plugins/SelectOnBackspace/createSelectOnBackspacePlugin.js +0 -1
- package/dist/esm/plugins/Table/__tests__/createTablePlugin.test.js +22 -22
- package/dist/esm/plugins/Table/__tests__/helpers.test.js +4 -4
- package/dist/esm/plugins/Table/actions/addColumn.js +1 -2
- package/dist/esm/plugins/Table/actions/addRow.js +0 -3
- package/dist/esm/plugins/Table/components/Cell.js +2 -2
- package/dist/esm/plugins/Table/components/HeaderCell.js +2 -2
- package/dist/esm/plugins/Table/components/Row.js +1 -1
- package/dist/esm/plugins/Table/components/Table.js +3 -3
- package/dist/esm/plugins/Table/components/TableActions.js +11 -12
- package/dist/esm/plugins/Table/components/ToolbarButton.js +2 -3
- package/dist/esm/plugins/Table/createTablePlugin.js +1 -11
- package/dist/esm/plugins/Table/helpers.js +1 -10
- package/dist/esm/plugins/Table/insertTableFragment.js +2 -15
- package/dist/esm/plugins/Table/onKeyDownTable.js +2 -11
- package/dist/esm/plugins/Table/tableTracking.js +6 -6
- package/dist/esm/plugins/Text/__tests__/createTextPlugin.test.js +17 -19
- package/dist/esm/plugins/Text/createTextPlugin.js +5 -22
- package/dist/esm/plugins/Tracking/createTrackingPlugin.js +1 -2
- package/dist/esm/plugins/Tracking/utils.js +0 -1
- package/dist/esm/plugins/Voids/createVoidsPlugin.js +0 -5
- package/dist/esm/plugins/Voids/transformVoid.js +1 -4
- package/dist/esm/plugins/index.js +0 -12
- package/dist/esm/plugins/shared/EmbeddedBlockToolbarIcon.js +5 -5
- package/dist/esm/plugins/shared/EmbeddedBlockUtil.js +5 -15
- package/dist/esm/plugins/shared/EmbeddedInlineToolbarIcon.js +5 -5
- package/dist/esm/plugins/shared/EmbeddedInlineUtil.js +4 -8
- package/dist/esm/plugins/shared/FetchingWrappedAssetCard.js +8 -8
- package/dist/esm/plugins/shared/FetchingWrappedEntryCard.js +9 -9
- package/dist/esm/plugins/shared/FetchingWrappedResourceCard.js +8 -9
- package/dist/esm/plugins/shared/LinkedBlockWrapper.js +3 -7
- package/dist/esm/plugins/shared/LinkedInlineWrapper.js +3 -5
- package/dist/esm/plugins/shared/ResourceNewBadge.js +1 -1
- package/dist/esm/plugins/shared/ToolbarButton.js +3 -3
- package/dist/esm/plugins/shared/__tests__/FetchingWrappedAssetCard.test.js +2 -5
- package/dist/esm/plugins/shared/__tests__/FetchingWrappedEntryCard.test.js +2 -5
- package/dist/esm/plugins/shared/__tests__/FetchingWrappedResourceCard.test.js +8 -8
- package/dist/esm/plugins/shared/utils.js +1 -4
- package/dist/esm/test-utils/assertOutput.js +0 -1
- package/dist/esm/test-utils/hyperscript.d.js +0 -1
- package/dist/esm/test-utils/jsx.js +1 -5
- package/dist/esm/test-utils/randomId.js +1 -3
- package/dist/esm/test-utils/setEmptyDataAttribute.js +1 -4
- package/dist/esm/test-utils/validation.js +4 -7
- package/dist/types/RichTextEditor.d.ts +2 -3
- package/dist/types/Toolbar/components/EmbedEntityWidget.d.ts +1 -2
- package/dist/types/Toolbar/components/EmbeddedEntityDropdownButton.d.ts +1 -1
- package/dist/types/Toolbar/components/StickyToolbarWrapper.d.ts +2 -2
- package/dist/types/Toolbar/index.d.ts +1 -2
- package/dist/types/dialogs/HypelinkDialog/HyperlinkDialog.d.ts +4 -4
- package/dist/types/dialogs/renderRichTextDialog.d.ts +1 -2
- package/dist/types/plugins/CommandPalette/components/CommandList.d.ts +1 -2
- package/dist/types/plugins/CommandPalette/components/CommandPrompt.d.ts +1 -2
- package/dist/types/plugins/EmbeddedEntityBlock/LinkedEntityBlock.d.ts +1 -2
- package/dist/types/plugins/EmbeddedEntityInline/FetchingWrappedInlineEntryCard.d.ts +1 -1
- package/dist/types/plugins/EmbeddedEntityInline/LinkedEntityInline.d.ts +1 -2
- package/dist/types/plugins/EmbeddedResourceBlock/LinkedResourceBlock.d.ts +1 -2
- package/dist/types/plugins/EmbeddedResourceInline/FetchingWrappedResourceInlineCard.d.ts +1 -1
- package/dist/types/plugins/EmbeddedResourceInline/LinkedResourceInline.d.ts +1 -2
- package/dist/types/plugins/Heading/components/Heading.d.ts +6 -6
- package/dist/types/plugins/Heading/components/ToolbarHeadingButton.d.ts +1 -2
- package/dist/types/plugins/Hr/index.d.ts +2 -2
- package/dist/types/plugins/Hyperlink/HyperlinkModal.d.ts +1 -2
- package/dist/types/plugins/Hyperlink/components/EntityHyperlink.d.ts +1 -2
- package/dist/types/plugins/Hyperlink/components/LinkPopover.d.ts +1 -1
- package/dist/types/plugins/Hyperlink/components/ResourceHyperlink.d.ts +1 -2
- package/dist/types/plugins/Hyperlink/components/ToolbarHyperlinkButton.d.ts +1 -2
- package/dist/types/plugins/Hyperlink/components/UrlHyperlink.d.ts +1 -2
- package/dist/types/plugins/List/components/List.d.ts +2 -3
- package/dist/types/plugins/List/components/ListItem.d.ts +1 -2
- package/dist/types/plugins/List/components/ToolbarListButton.d.ts +1 -2
- package/dist/types/plugins/Marks/Bold.d.ts +2 -3
- package/dist/types/plugins/Marks/Code.d.ts +3 -4
- package/dist/types/plugins/Marks/Italic.d.ts +2 -3
- package/dist/types/plugins/Marks/Subscript.d.ts +3 -4
- package/dist/types/plugins/Marks/Superscript.d.ts +3 -4
- package/dist/types/plugins/Marks/Underline.d.ts +2 -3
- package/dist/types/plugins/Marks/components/MarkToolbarButton.d.ts +1 -1
- package/dist/types/plugins/Paragraph/Paragraph.d.ts +1 -2
- package/dist/types/plugins/Quote/components/Quote.d.ts +1 -2
- package/dist/types/plugins/Quote/components/ToolbarQuoteButton.d.ts +1 -2
- package/dist/types/plugins/Table/components/Cell.d.ts +1 -2
- package/dist/types/plugins/Table/components/HeaderCell.d.ts +1 -2
- package/dist/types/plugins/Table/components/Row.d.ts +1 -2
- package/dist/types/plugins/Table/components/Table.d.ts +1 -2
- package/dist/types/plugins/Table/components/TableActions.d.ts +1 -2
- package/dist/types/plugins/Table/components/ToolbarButton.d.ts +1 -2
- package/dist/types/plugins/shared/EmbeddedBlockToolbarIcon.d.ts +1 -2
- package/dist/types/plugins/shared/EmbeddedInlineToolbarIcon.d.ts +1 -2
- package/dist/types/plugins/shared/FetchingWrappedAssetCard.d.ts +1 -2
- package/dist/types/plugins/shared/FetchingWrappedEntryCard.d.ts +1 -2
- package/dist/types/plugins/shared/FetchingWrappedResourceCard.d.ts +1 -2
- package/dist/types/plugins/shared/LinkedBlockWrapper.d.ts +1 -1
- package/dist/types/plugins/shared/LinkedInlineWrapper.d.ts +1 -1
- package/dist/types/plugins/shared/ResourceNewBadge.d.ts +1 -2
- package/dist/types/plugins/shared/ToolbarButton.d.ts +1 -2
- package/package.json +8 -5
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "CommandList", {
|
|
|
8
8
|
return CommandList;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _react =
|
|
11
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
12
12
|
const _reactpopper = require("react-popper");
|
|
13
13
|
const _f36components = require("@contentful/f36-components");
|
|
14
14
|
const _f36utils = require("@contentful/f36-utils");
|
|
@@ -16,7 +16,7 @@ const _emotion = require("emotion");
|
|
|
16
16
|
const _SdkProvider = require("../../../SdkProvider");
|
|
17
17
|
const _useCommandList = require("../hooks/useCommandList");
|
|
18
18
|
const _useCommands = require("../useCommands");
|
|
19
|
-
const _CommandListstyles =
|
|
19
|
+
const _CommandListstyles = _interop_require_default(require("./CommandList.styles"));
|
|
20
20
|
function _interop_require_default(obj) {
|
|
21
21
|
return obj && obj.__esModule ? obj : {
|
|
22
22
|
default: obj
|
|
@@ -43,9 +43,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
43
43
|
if (cache && cache.has(obj)) {
|
|
44
44
|
return cache.get(obj);
|
|
45
45
|
}
|
|
46
|
-
var newObj = {
|
|
47
|
-
__proto__: null
|
|
48
|
-
};
|
|
46
|
+
var newObj = {};
|
|
49
47
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
50
48
|
for(var key in obj){
|
|
51
49
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -63,47 +61,47 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
63
61
|
}
|
|
64
62
|
return newObj;
|
|
65
63
|
}
|
|
66
|
-
const Group = ({ commandGroup, selectedItem
|
|
64
|
+
const Group = ({ commandGroup , selectedItem })=>_react.createElement("section", {
|
|
67
65
|
key: commandGroup.group
|
|
68
|
-
},
|
|
66
|
+
}, _react.createElement(_f36components.SectionHeading, {
|
|
69
67
|
as: "h3",
|
|
70
68
|
marginBottom: "spacingS",
|
|
71
69
|
marginTop: "spacingS",
|
|
72
70
|
marginLeft: "spacingM",
|
|
73
71
|
marginRight: "spacingM"
|
|
74
|
-
}, commandGroup.group), commandGroup.commands.map((command)
|
|
72
|
+
}, commandGroup.group), commandGroup.commands.map((command)=>_react.createElement("button", {
|
|
75
73
|
key: command.id,
|
|
76
74
|
id: command.id,
|
|
77
75
|
className: (0, _emotion.cx)(_CommandListstyles.default.menuItem, {
|
|
78
76
|
[_CommandListstyles.default.menuItemSelected]: command.id === selectedItem
|
|
79
77
|
}),
|
|
80
78
|
onClick: command.callback
|
|
81
|
-
}, command.label)),
|
|
79
|
+
}, command.label)), _react.createElement("hr", {
|
|
82
80
|
className: _CommandListstyles.default.menuDivider,
|
|
83
81
|
"aria-orientation": "horizontal"
|
|
84
82
|
}));
|
|
85
|
-
const Asset = ({ command, selectedItem
|
|
83
|
+
const Asset = ({ command , selectedItem })=>_react.createElement("button", {
|
|
86
84
|
key: command.id,
|
|
87
85
|
id: command.id,
|
|
88
86
|
className: (0, _emotion.cx)(_CommandListstyles.default.menuItem, {
|
|
89
87
|
[_CommandListstyles.default.menuItemSelected]: command.id === selectedItem
|
|
90
88
|
}),
|
|
91
89
|
onClick: command.callback
|
|
92
|
-
},
|
|
90
|
+
}, _react.createElement(_f36components.Flex, {
|
|
93
91
|
alignItems: "center",
|
|
94
92
|
gap: "spacingS"
|
|
95
|
-
}, command.thumbnail ?
|
|
93
|
+
}, command.thumbnail ? _react.createElement("img", {
|
|
96
94
|
width: "30",
|
|
97
95
|
height: "30",
|
|
98
96
|
src: command.thumbnail,
|
|
99
97
|
alt: "",
|
|
100
98
|
className: _CommandListstyles.default.thumbnail
|
|
101
|
-
}) :
|
|
99
|
+
}) : _react.createElement(_f36components.AssetIcon, {
|
|
102
100
|
width: "30",
|
|
103
101
|
height: "30",
|
|
104
102
|
className: _CommandListstyles.default.thumbnail
|
|
105
|
-
}),
|
|
106
|
-
const Item = ({ command, selectedItem
|
|
103
|
+
}), _react.createElement("span", null, command.label)));
|
|
104
|
+
const Item = ({ command , selectedItem })=>_react.createElement("button", {
|
|
107
105
|
key: command.id,
|
|
108
106
|
id: command.id,
|
|
109
107
|
className: (0, _emotion.cx)(_CommandListstyles.default.menuItem, {
|
|
@@ -111,70 +109,70 @@ const Item = ({ command, selectedItem })=>/*#__PURE__*/ _react.createElement("bu
|
|
|
111
109
|
}),
|
|
112
110
|
onClick: command.callback
|
|
113
111
|
}, command.label);
|
|
114
|
-
const CommandListItems = ({ commandItems, selectedItem
|
|
115
|
-
return
|
|
116
|
-
return 'group' in command ?
|
|
112
|
+
const CommandListItems = ({ commandItems , selectedItem })=>{
|
|
113
|
+
return _react.createElement(_react.Fragment, null, commandItems.map((command)=>{
|
|
114
|
+
return 'group' in command ? _react.createElement(Group, {
|
|
117
115
|
key: command.group,
|
|
118
116
|
commandGroup: command,
|
|
119
117
|
selectedItem: selectedItem
|
|
120
|
-
}) : command.asset ?
|
|
118
|
+
}) : command.asset ? _react.createElement(Asset, {
|
|
121
119
|
key: command.id,
|
|
122
120
|
command: command,
|
|
123
121
|
selectedItem: selectedItem
|
|
124
|
-
}) :
|
|
122
|
+
}) : _react.createElement(Item, {
|
|
125
123
|
key: command.id,
|
|
126
124
|
command: command,
|
|
127
125
|
selectedItem: selectedItem
|
|
128
126
|
});
|
|
129
127
|
}));
|
|
130
128
|
};
|
|
131
|
-
const CommandList = ({ query, editor, textContainer
|
|
129
|
+
const CommandList = ({ query , editor , textContainer })=>{
|
|
132
130
|
const sdk = (0, _SdkProvider.useSdkContext)();
|
|
133
131
|
const popoverContainer = _react.useRef(null);
|
|
134
132
|
const popper = (0, _reactpopper.usePopper)(textContainer, popoverContainer?.current, {
|
|
135
133
|
placement: 'bottom-start'
|
|
136
134
|
});
|
|
137
135
|
const commandItems = (0, _useCommands.useCommands)(sdk, query, editor);
|
|
138
|
-
const { selectedItem, isOpen
|
|
136
|
+
const { selectedItem , isOpen } = (0, _useCommandList.useCommandList)(commandItems, popoverContainer);
|
|
139
137
|
if (!commandItems.length) {
|
|
140
138
|
return null;
|
|
141
139
|
}
|
|
142
|
-
return
|
|
140
|
+
return _react.createElement("div", {
|
|
143
141
|
className: _CommandListstyles.default.container,
|
|
144
142
|
tabIndex: -1,
|
|
145
143
|
contentEditable: false
|
|
146
|
-
},
|
|
144
|
+
}, _react.createElement("div", {
|
|
147
145
|
role: "alert"
|
|
148
|
-
},
|
|
146
|
+
}, _react.createElement(_f36components.ScreenReaderOnly, null, "Richtext commands. Currently focused item: ", selectedItem, ". Press ", _react.createElement("kbd", null, "enter"), " to select, ", _react.createElement("kbd", null, "arrows"), " to navigate, ", _react.createElement("kbd", null, "escape"), " to close.")), _react.createElement(_f36utils.Portal, null, _react.createElement("div", {
|
|
149
147
|
"aria-hidden": true,
|
|
150
148
|
ref: popoverContainer,
|
|
151
149
|
className: _CommandListstyles.default.menuPoper,
|
|
152
150
|
style: popper.styles.popper,
|
|
153
151
|
...popper.attributes.popper
|
|
154
|
-
},
|
|
152
|
+
}, _react.createElement(_f36components.Popover, {
|
|
155
153
|
isOpen: isOpen,
|
|
156
154
|
usePortal: false,
|
|
157
|
-
|
|
158
|
-
},
|
|
155
|
+
autoFocus: false
|
|
156
|
+
}, _react.createElement(_f36components.Popover.Trigger, null, _react.createElement("span", null)), _react.createElement(_f36components.Popover.Content, {
|
|
159
157
|
className: _CommandListstyles.default.menuContent,
|
|
160
158
|
testId: "rich-text-commands"
|
|
161
|
-
},
|
|
159
|
+
}, _react.createElement("header", {
|
|
162
160
|
className: _CommandListstyles.default.menuHeader
|
|
163
|
-
},
|
|
161
|
+
}, _react.createElement(_f36components.SectionHeading, {
|
|
164
162
|
marginBottom: "none"
|
|
165
|
-
}, "Richtext commands")),
|
|
163
|
+
}, "Richtext commands")), _react.createElement("div", {
|
|
166
164
|
className: _CommandListstyles.default.menuList,
|
|
167
165
|
"data-test-id": "rich-text-commands-list"
|
|
168
|
-
},
|
|
166
|
+
}, _react.createElement(CommandListItems, {
|
|
169
167
|
commandItems: commandItems,
|
|
170
168
|
selectedItem: selectedItem
|
|
171
|
-
})),
|
|
169
|
+
})), _react.createElement("footer", {
|
|
172
170
|
className: _CommandListstyles.default.menuFooter
|
|
173
|
-
},
|
|
171
|
+
}, _react.createElement(_f36components.Stack, {
|
|
174
172
|
as: "ul",
|
|
175
173
|
margin: "none",
|
|
176
174
|
padding: "none",
|
|
177
175
|
spacing: "spacingS",
|
|
178
176
|
className: _CommandListstyles.default.footerList
|
|
179
|
-
},
|
|
177
|
+
}, _react.createElement("li", null, _react.createElement("kbd", null, "↑"), _react.createElement("kbd", null, "↓"), " to navigate"), _react.createElement("li", null, _react.createElement("kbd", null, "↵"), " to confirm"), _react.createElement("li", null, _react.createElement("kbd", null, "esc"), " to close"))))))));
|
|
180
178
|
};
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _f36tokens =
|
|
11
|
+
const _f36tokens = _interop_require_default(require("@contentful/f36-tokens"));
|
|
12
12
|
const _emotion = require("emotion");
|
|
13
13
|
function _interop_require_default(obj) {
|
|
14
14
|
return obj && obj.__esModule ? obj : {
|
|
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "CommandPrompt", {
|
|
|
8
8
|
return CommandPrompt;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _react =
|
|
12
|
-
const _f36tokens =
|
|
11
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
12
|
+
const _f36tokens = _interop_require_default(require("@contentful/f36-tokens"));
|
|
13
13
|
const _emotion = require("emotion");
|
|
14
14
|
const _trimLeadingSlash = require("../utils/trimLeadingSlash");
|
|
15
15
|
const _CommandList = require("./CommandList");
|
|
@@ -39,9 +39,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
39
39
|
if (cache && cache.has(obj)) {
|
|
40
40
|
return cache.get(obj);
|
|
41
41
|
}
|
|
42
|
-
var newObj = {
|
|
43
|
-
__proto__: null
|
|
44
|
-
};
|
|
42
|
+
var newObj = {};
|
|
45
43
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
46
44
|
for(var key in obj){
|
|
47
45
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -70,13 +68,13 @@ const CommandPrompt = (props)=>{
|
|
|
70
68
|
]);
|
|
71
69
|
const editor = props.editor;
|
|
72
70
|
const [textElement, setTextElement] = _react.useState();
|
|
73
|
-
return
|
|
71
|
+
return _react.createElement("span", {
|
|
74
72
|
className: styles.commandPrompt,
|
|
75
73
|
ref: (e)=>{
|
|
76
74
|
setTextElement(e);
|
|
77
75
|
},
|
|
78
76
|
...props.attributes
|
|
79
|
-
}, props.children,
|
|
77
|
+
}, props.children, _react.createElement(_CommandList.CommandList, {
|
|
80
78
|
query: query,
|
|
81
79
|
editor: editor,
|
|
82
80
|
textContainer: textElement
|
|
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "useCommandList", {
|
|
|
8
8
|
return useCommandList;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _react =
|
|
12
|
-
const _ishotkey =
|
|
11
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
12
|
+
const _ishotkey = _interop_require_default(require("is-hotkey"));
|
|
13
13
|
function _interop_require_default(obj) {
|
|
14
14
|
return obj && obj.__esModule ? obj : {
|
|
15
15
|
default: obj
|
|
@@ -36,9 +36,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
36
36
|
if (cache && cache.has(obj)) {
|
|
37
37
|
return cache.get(obj);
|
|
38
38
|
}
|
|
39
|
-
var newObj = {
|
|
40
|
-
__proto__: null
|
|
41
|
-
};
|
|
39
|
+
var newObj = {};
|
|
42
40
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
43
41
|
for(var key in obj){
|
|
44
42
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -58,7 +56,6 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
58
56
|
}
|
|
59
57
|
const useCommandList = (commandItems, container)=>{
|
|
60
58
|
const [selectedItem, setSelectedItem] = _react.useState(()=>{
|
|
61
|
-
// select the first item on initial render
|
|
62
59
|
if (!commandItems.length) {
|
|
63
60
|
return '';
|
|
64
61
|
}
|
|
@@ -111,7 +108,6 @@ const useCommandList = (commandItems, container)=>{
|
|
|
111
108
|
currBtn.click();
|
|
112
109
|
}
|
|
113
110
|
}
|
|
114
|
-
//TODO: handle shift+enter, which must be detected using separate events
|
|
115
111
|
}
|
|
116
112
|
if (commandItems.length) {
|
|
117
113
|
window.addEventListener('keydown', handleKeyDown);
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "createOnKeyDown", {
|
|
|
8
8
|
return createOnKeyDown;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _ishotkey =
|
|
11
|
+
const _ishotkey = _interop_require_default(require("is-hotkey"));
|
|
12
12
|
const _internal = require("../../internal");
|
|
13
13
|
const _misc = require("../../internal/misc");
|
|
14
14
|
const _constants = require("./constants");
|
|
@@ -20,10 +20,6 @@ function _interop_require_default(obj) {
|
|
|
20
20
|
const createOnKeyDown = ()=>{
|
|
21
21
|
return (editor)=>{
|
|
22
22
|
return (event)=>{
|
|
23
|
-
// Support for different keyboard layouts:
|
|
24
|
-
// `isHotKey` uses by default `event.which`, which will never generates a match for all layouts (QWERTY: `/`, QWERTZ: `shift+7`)
|
|
25
|
-
// with `byKey: true` `isHotKey` uses `event.key` which will return the interpreted key '/'
|
|
26
|
-
// It would still fail without the the optional `shift?` param, as it first checks the modKeys (`shiftKey` would be true on QWERTZ)
|
|
27
23
|
if ((0, _ishotkey.default)('shift?+/', {
|
|
28
24
|
byKey: true
|
|
29
25
|
}, event)) {
|
|
@@ -40,7 +36,6 @@ const createOnKeyDown = ()=>{
|
|
|
40
36
|
const [, path] = (0, _internal.getAboveNode)(editor);
|
|
41
37
|
const range = (0, _internal.getRange)(editor, path);
|
|
42
38
|
if ((0, _ishotkey.default)('backspace', event)) {
|
|
43
|
-
// if it is the last character in the command string
|
|
44
39
|
if (range.focus.offset - range.anchor.offset === 1) {
|
|
45
40
|
(0, _internal.removeMark)(editor, _constants.COMMAND_PROMPT, range);
|
|
46
41
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
const _transforms =
|
|
5
|
+
const _transforms = _interop_require_wildcard(require("../../internal/transforms"));
|
|
6
6
|
const _testutils = require("../../test-utils");
|
|
7
7
|
const _constants = require("./constants");
|
|
8
8
|
const _onKeyDown = require("./onKeyDown");
|
|
@@ -27,9 +27,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
27
27
|
if (cache && cache.has(obj)) {
|
|
28
28
|
return cache.get(obj);
|
|
29
29
|
}
|
|
30
|
-
var newObj = {
|
|
31
|
-
__proto__: null
|
|
32
|
-
};
|
|
30
|
+
var newObj = {};
|
|
33
31
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
34
32
|
for(var key in obj){
|
|
35
33
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -54,7 +52,7 @@ jest.mock('../../internal/transforms', ()=>{
|
|
|
54
52
|
};
|
|
55
53
|
});
|
|
56
54
|
describe('onKeyDown', ()=>{
|
|
57
|
-
const { editor
|
|
55
|
+
const { editor } = (0, _testutils.createTestEditor)({});
|
|
58
56
|
const addMark = jest.spyOn(_transforms, 'addMark');
|
|
59
57
|
const onCommandPaletteAction = jest.spyOn(editor.tracking, 'onCommandPaletteAction');
|
|
60
58
|
afterEach(()=>{
|
|
@@ -72,7 +70,7 @@ describe('onKeyDown', ()=>{
|
|
|
72
70
|
which: 55,
|
|
73
71
|
shiftKey: true
|
|
74
72
|
}}
|
|
75
|
-
`('supports hotKeys for every keyboard layout #{layout}', ({ key
|
|
73
|
+
`('supports hotKeys for every keyboard layout #{layout}', ({ key })=>{
|
|
76
74
|
(0, _onKeyDown.createOnKeyDown)()(editor, {})({
|
|
77
75
|
type: 'keydown',
|
|
78
76
|
...key
|
|
@@ -57,7 +57,7 @@ function isCommandPromptPluginEnabled(sdk) {
|
|
|
57
57
|
}
|
|
58
58
|
function getCommandPermissions(sdk, editor) {
|
|
59
59
|
const canInsertBlocks = !(0, _editor.isNodeTypeSelected)(editor, _richtexttypes.BLOCKS.TABLE);
|
|
60
|
-
const { inlineAllowed, entriesAllowed, assetsAllowed
|
|
60
|
+
const { inlineAllowed , entriesAllowed , assetsAllowed } = isCommandPromptPluginEnabled(sdk);
|
|
61
61
|
return {
|
|
62
62
|
inlineAllowed,
|
|
63
63
|
entriesAllowed: entriesAllowed && canInsertBlocks,
|
|
@@ -86,7 +86,7 @@ const getAllowedContentTypesFromValidation = (validations)=>{
|
|
|
86
86
|
};
|
|
87
87
|
const useCommands = (sdk, query, editor)=>{
|
|
88
88
|
const contentTypes = sdk.space.getCachedContentTypes();
|
|
89
|
-
const { inlineAllowed, entriesAllowed, assetsAllowed
|
|
89
|
+
const { inlineAllowed , entriesAllowed , assetsAllowed } = getCommandPermissions(sdk, editor);
|
|
90
90
|
const allowedContentTypesFromValidation = getAllowedContentTypesFromValidation(sdk.field.validations);
|
|
91
91
|
const filterContentTypesByValidation = (type)=>contentTypes.filter((contentType)=>allowedContentTypesFromValidation[type]?.[contentType.sys.id]);
|
|
92
92
|
const filteredBlockContentTypes = filterContentTypesByValidation(_richtexttypes.BLOCKS.EMBEDDED_ENTRY);
|
|
@@ -235,7 +235,7 @@ const useCommands = (sdk, query, editor)=>{
|
|
|
235
235
|
}
|
|
236
236
|
return contentTypeCommands;
|
|
237
237
|
});
|
|
238
|
-
|
|
238
|
+
return query ? commands.reduce((list, nextItem)=>{
|
|
239
239
|
if ('group' in nextItem) {
|
|
240
240
|
const subcommands = nextItem.commands.filter((command)=>{
|
|
241
241
|
return command.label.toLowerCase().includes(query.toLowerCase());
|
|
@@ -17,13 +17,11 @@ async function fetchEntries(sdk, contentType, query) {
|
|
|
17
17
|
return entries.items.map((entry)=>{
|
|
18
18
|
const description = _fieldeditorshared.entityHelpers.getEntityDescription({
|
|
19
19
|
contentType,
|
|
20
|
-
// @ts-expect-error inconsistent in typing between app-sdk & field-editors-shared
|
|
21
20
|
entity: entry,
|
|
22
21
|
localeCode: sdk.field.locale,
|
|
23
22
|
defaultLocaleCode: sdk.locales.default
|
|
24
23
|
});
|
|
25
24
|
const displayTitle = _fieldeditorshared.entityHelpers.getEntryTitle({
|
|
26
|
-
// @ts-expect-error inconsistent in typing between app-sdk & field-editors-shared
|
|
27
25
|
entry,
|
|
28
26
|
contentType,
|
|
29
27
|
localeCode: sdk.field.locale,
|
|
@@ -19,11 +19,7 @@ function createDragAndDropPlugin() {
|
|
|
19
19
|
_richtexttypes.INLINES.EMBEDDED_ENTRY,
|
|
20
20
|
_richtexttypes.INLINES.EMBEDDED_RESOURCE
|
|
21
21
|
];
|
|
22
|
-
|
|
23
|
-
* HTML node names where dropping should be allowed
|
|
24
|
-
* Usually for elements where `Transforms.removeNodes` is needed
|
|
25
|
-
* TODO: looking up for html nodes is not the best solution and it won't scale but it works fine for our current cases/elements
|
|
26
|
-
*/ const ON_DROP_ALLOWED_TYPES = {
|
|
22
|
+
const ON_DROP_ALLOWED_TYPES = {
|
|
27
23
|
TABLE: [
|
|
28
24
|
_richtexttypes.INLINES.EMBEDDED_ENTRY,
|
|
29
25
|
_richtexttypes.INLINES.EMBEDDED_RESOURCE
|
|
@@ -32,7 +28,6 @@ function createDragAndDropPlugin() {
|
|
|
32
28
|
return {
|
|
33
29
|
key: 'DragAndDropPlugin',
|
|
34
30
|
handlers: {
|
|
35
|
-
// If true, the next handlers will be skipped.
|
|
36
31
|
onDrop: (editor)=>(event)=>{
|
|
37
32
|
const [draggingBlock] = Array.from((0, _queries.getNodeEntries)(editor, {
|
|
38
33
|
match: (node)=>DRAGGABLE_TYPES.includes(node.type)
|
|
@@ -40,13 +35,10 @@ function createDragAndDropPlugin() {
|
|
|
40
35
|
if (!draggingBlock) return false;
|
|
41
36
|
const [draggingNode] = draggingBlock;
|
|
42
37
|
if (!event.nativeEvent.target) return false;
|
|
43
|
-
// TODO: looking up for html nodes is not the best solution and it won't scale, we need to find a way to know the dropping target slate element
|
|
44
38
|
const dropDisallowed = getParents(event.nativeEvent.target).some((node)=>{
|
|
45
39
|
return ON_DROP_ALLOWED_TYPES[node.nodeName] ? !ON_DROP_ALLOWED_TYPES[node.nodeName]?.includes(draggingNode.type) : false;
|
|
46
40
|
});
|
|
47
41
|
if (!dropDisallowed) {
|
|
48
|
-
// Move the drop event to a new undo batch mitigating the bug where undo not only moves it back,
|
|
49
|
-
// but also undoes a previous action: https://github.com/ianstormtaylor/slate/issues/4694
|
|
50
42
|
editor.history.undos.push([]);
|
|
51
43
|
}
|
|
52
44
|
return dropDisallowed;
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "LinkedEntityBlock", {
|
|
|
8
8
|
return LinkedEntityBlock;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _react =
|
|
11
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
12
12
|
const _slatereact = require("slate-react");
|
|
13
13
|
const _ContentfulEditorProvider = require("../../ContentfulEditorProvider");
|
|
14
14
|
const _queries = require("../../internal/queries");
|
|
@@ -39,9 +39,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
39
39
|
if (cache && cache.has(obj)) {
|
|
40
40
|
return cache.get(obj);
|
|
41
41
|
}
|
|
42
|
-
var newObj = {
|
|
43
|
-
__proto__: null
|
|
44
|
-
};
|
|
42
|
+
var newObj = {};
|
|
45
43
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
46
44
|
for(var key in obj){
|
|
47
45
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -60,13 +58,13 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
60
58
|
return newObj;
|
|
61
59
|
}
|
|
62
60
|
function LinkedEntityBlock(props) {
|
|
63
|
-
const { attributes, children, element
|
|
64
|
-
const { onEntityFetchComplete
|
|
61
|
+
const { attributes , children , element } = props;
|
|
62
|
+
const { onEntityFetchComplete } = (0, _linkstracking.useLinkTracking)();
|
|
65
63
|
const isSelected = (0, _slatereact.useSelected)();
|
|
66
64
|
const editor = (0, _ContentfulEditorProvider.useContentfulEditor)();
|
|
67
65
|
const sdk = (0, _SdkProvider.useSdkContext)();
|
|
68
66
|
const isDisabled = (0, _slatereact.useReadOnly)();
|
|
69
|
-
const { id: entityId, linkType: entityType
|
|
67
|
+
const { id: entityId , linkType: entityType } = element.data.target.sys;
|
|
70
68
|
const handleEditClick = _react.useCallback(()=>{
|
|
71
69
|
const openEntity = entityType === 'Asset' ? sdk.navigator.openAsset : sdk.navigator.openEntry;
|
|
72
70
|
return openEntity(entityId, {
|
|
@@ -87,9 +85,9 @@ function LinkedEntityBlock(props) {
|
|
|
87
85
|
editor,
|
|
88
86
|
element
|
|
89
87
|
]);
|
|
90
|
-
return
|
|
88
|
+
return _react.createElement(_LinkedBlockWrapper.LinkedBlockWrapper, {
|
|
91
89
|
attributes: attributes,
|
|
92
|
-
card:
|
|
90
|
+
card: _react.createElement(_react.Fragment, null, entityType === 'Entry' && _react.createElement(_FetchingWrappedEntryCard.FetchingWrappedEntryCard, {
|
|
93
91
|
sdk: sdk,
|
|
94
92
|
entryId: entityId,
|
|
95
93
|
locale: sdk.field.locale,
|
|
@@ -98,7 +96,7 @@ function LinkedEntityBlock(props) {
|
|
|
98
96
|
onRemove: handleRemoveClick,
|
|
99
97
|
onEdit: handleEditClick,
|
|
100
98
|
onEntityFetchComplete: onEntityFetchComplete
|
|
101
|
-
}), entityType === 'Asset' &&
|
|
99
|
+
}), entityType === 'Asset' && _react.createElement(_FetchingWrappedAssetCard.FetchingWrappedAssetCard, {
|
|
102
100
|
sdk: sdk,
|
|
103
101
|
assetId: entityId,
|
|
104
102
|
locale: sdk.field.locale,
|
|
@@ -9,11 +9,11 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
createEmbeddedAssetBlockPlugin: function() {
|
|
13
|
-
return createEmbeddedAssetBlockPlugin;
|
|
14
|
-
},
|
|
15
12
|
createEmbeddedEntryBlockPlugin: function() {
|
|
16
13
|
return createEmbeddedEntryBlockPlugin;
|
|
14
|
+
},
|
|
15
|
+
createEmbeddedAssetBlockPlugin: function() {
|
|
16
|
+
return createEmbeddedAssetBlockPlugin;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
19
|
const _richtexttypes = require("@contentful/rich-text-types");
|
|
@@ -8,10 +8,10 @@ Object.defineProperty(exports, "FetchingWrappedInlineEntryCard", {
|
|
|
8
8
|
return FetchingWrappedInlineEntryCard;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _react =
|
|
11
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
12
12
|
const _f36components = require("@contentful/f36-components");
|
|
13
13
|
const _f36icons = require("@contentful/f36-icons");
|
|
14
|
-
const _f36tokens =
|
|
14
|
+
const _f36tokens = _interop_require_default(require("@contentful/f36-tokens"));
|
|
15
15
|
const _fieldeditorreference = require("@contentful/field-editor-reference");
|
|
16
16
|
const _fieldeditorshared = require("@contentful/field-editor-shared");
|
|
17
17
|
const _richtexttypes = require("@contentful/rich-text-types");
|
|
@@ -42,9 +42,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
42
42
|
if (cache && cache.has(obj)) {
|
|
43
43
|
return cache.get(obj);
|
|
44
44
|
}
|
|
45
|
-
var newObj = {
|
|
46
|
-
__proto__: null
|
|
47
|
-
};
|
|
45
|
+
var newObj = {};
|
|
48
46
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
49
47
|
for(var key in obj){
|
|
50
48
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -62,7 +60,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
62
60
|
}
|
|
63
61
|
return newObj;
|
|
64
62
|
}
|
|
65
|
-
const { getEntryTitle, getEntryStatus
|
|
63
|
+
const { getEntryTitle , getEntryStatus } = _fieldeditorshared.entityHelpers;
|
|
66
64
|
const styles = {
|
|
67
65
|
scheduledIcon: (0, _emotion.css)({
|
|
68
66
|
verticalAlign: 'text-bottom',
|
|
@@ -70,11 +68,11 @@ const styles = {
|
|
|
70
68
|
})
|
|
71
69
|
};
|
|
72
70
|
function FetchingWrappedInlineEntryCard(props) {
|
|
73
|
-
const { data: entry, status: requestStatus
|
|
74
|
-
const { getEntityScheduledActions
|
|
71
|
+
const { data: entry , status: requestStatus } = (0, _fieldeditorreference.useEntity)('Entry', props.entryId);
|
|
72
|
+
const { getEntityScheduledActions } = (0, _fieldeditorreference.useEntityLoader)();
|
|
75
73
|
const loadEntityScheduledActions = ()=>getEntityScheduledActions('Entry', props.entryId);
|
|
76
74
|
const allContentTypes = props.sdk.space.getCachedContentTypes();
|
|
77
|
-
const { onEntityFetchComplete
|
|
75
|
+
const { onEntityFetchComplete } = props;
|
|
78
76
|
const contentType = _react.useMemo(()=>{
|
|
79
77
|
if (!entry || !allContentTypes) return undefined;
|
|
80
78
|
return allContentTypes.find((contentType)=>contentType.sys.id === entry.sys.contentType.sys.id);
|
|
@@ -105,25 +103,25 @@ function FetchingWrappedInlineEntryCard(props) {
|
|
|
105
103
|
props.sdk.locales.default
|
|
106
104
|
]);
|
|
107
105
|
if (requestStatus === 'error') {
|
|
108
|
-
return
|
|
106
|
+
return _react.createElement(_f36components.InlineEntryCard, {
|
|
109
107
|
title: "Entry missing or inaccessible",
|
|
110
108
|
testId: _richtexttypes.INLINES.EMBEDDED_ENTRY,
|
|
111
109
|
isSelected: props.isSelected
|
|
112
110
|
});
|
|
113
111
|
}
|
|
114
112
|
if (requestStatus === 'loading') {
|
|
115
|
-
return
|
|
113
|
+
return _react.createElement(_f36components.InlineEntryCard, {
|
|
116
114
|
isLoading: true
|
|
117
115
|
});
|
|
118
116
|
}
|
|
119
117
|
const entryStatus = getEntryStatus(entry.sys);
|
|
120
118
|
if (entryStatus === 'deleted') {
|
|
121
|
-
return
|
|
119
|
+
return _react.createElement(_f36components.InlineEntryCard, {
|
|
122
120
|
title: "Entry missing or inaccessible",
|
|
123
121
|
testId: _richtexttypes.INLINES.EMBEDDED_ENTRY,
|
|
124
122
|
isSelected: props.isSelected,
|
|
125
123
|
actions: [
|
|
126
|
-
|
|
124
|
+
_react.createElement(_f36components.MenuItem, {
|
|
127
125
|
key: "remove",
|
|
128
126
|
onClick: props.onRemove,
|
|
129
127
|
testId: "delete"
|
|
@@ -131,30 +129,30 @@ function FetchingWrappedInlineEntryCard(props) {
|
|
|
131
129
|
]
|
|
132
130
|
});
|
|
133
131
|
}
|
|
134
|
-
return
|
|
132
|
+
return _react.createElement(_f36components.InlineEntryCard, {
|
|
135
133
|
testId: _richtexttypes.INLINES.EMBEDDED_ENTRY,
|
|
136
134
|
isSelected: props.isSelected,
|
|
137
135
|
title: `${contentTypeName}: ${title}`,
|
|
138
136
|
status: entryStatus,
|
|
139
137
|
actions: [
|
|
140
|
-
|
|
138
|
+
_react.createElement(_f36components.MenuItem, {
|
|
141
139
|
key: "edit",
|
|
142
140
|
onClick: props.onEdit
|
|
143
141
|
}, "Edit"),
|
|
144
|
-
|
|
142
|
+
_react.createElement(_f36components.MenuItem, {
|
|
145
143
|
key: "remove",
|
|
146
144
|
onClick: props.onRemove,
|
|
147
145
|
disabled: props.isDisabled,
|
|
148
146
|
testId: "delete"
|
|
149
147
|
}, "Remove")
|
|
150
148
|
]
|
|
151
|
-
},
|
|
149
|
+
}, _react.createElement(_fieldeditorreference.ScheduledIconWithTooltip, {
|
|
152
150
|
getEntityScheduledActions: loadEntityScheduledActions,
|
|
153
151
|
entityType: "Entry",
|
|
154
152
|
entityId: entry.sys.id
|
|
155
|
-
},
|
|
153
|
+
}, _react.createElement(_f36icons.ClockIcon, {
|
|
156
154
|
className: styles.scheduledIcon,
|
|
157
155
|
variant: "muted",
|
|
158
156
|
testId: "scheduled-icon"
|
|
159
|
-
})),
|
|
157
|
+
})), _react.createElement(_f36components.Text, null, title));
|
|
160
158
|
}
|