@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
|
@@ -9,25 +9,25 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
return
|
|
12
|
+
withHrEvents: function() {
|
|
13
|
+
return withHrEvents;
|
|
14
14
|
},
|
|
15
15
|
ToolbarHrButton: function() {
|
|
16
16
|
return ToolbarHrButton;
|
|
17
17
|
},
|
|
18
|
+
Hr: function() {
|
|
19
|
+
return Hr;
|
|
20
|
+
},
|
|
18
21
|
createHrPlugin: function() {
|
|
19
22
|
return createHrPlugin;
|
|
20
|
-
},
|
|
21
|
-
withHrEvents: function() {
|
|
22
|
-
return withHrEvents;
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
|
-
const _react =
|
|
25
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
26
26
|
const _f36icons = require("@contentful/f36-icons");
|
|
27
|
-
const _f36tokens =
|
|
27
|
+
const _f36tokens = _interop_require_default(require("@contentful/f36-tokens"));
|
|
28
28
|
const _richtexttypes = require("@contentful/rich-text-types");
|
|
29
29
|
const _emotion = require("emotion");
|
|
30
|
-
const _slatereact =
|
|
30
|
+
const _slatereact = _interop_require_wildcard(require("slate-react"));
|
|
31
31
|
const _ContentfulEditorProvider = require("../../ContentfulEditorProvider");
|
|
32
32
|
const _editor = require("../../helpers/editor");
|
|
33
33
|
const _queries = require("../../internal/queries");
|
|
@@ -59,9 +59,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
59
59
|
if (cache && cache.has(obj)) {
|
|
60
60
|
return cache.get(obj);
|
|
61
61
|
}
|
|
62
|
-
var newObj = {
|
|
63
|
-
__proto__: null
|
|
64
|
-
};
|
|
62
|
+
var newObj = {};
|
|
65
63
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
66
64
|
for(var key in obj){
|
|
67
65
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -142,32 +140,29 @@ function ToolbarHrButton(props) {
|
|
|
142
140
|
};
|
|
143
141
|
const hasText = !!(0, _queries.getText)(editor, editor.selection.focus.path);
|
|
144
142
|
hasText ? (0, _transforms.insertNodes)(editor, hr) : (0, _transforms.setNodes)(editor, hr);
|
|
145
|
-
// Move focus to the next paragraph (added by TrailingParagraph plugin)
|
|
146
143
|
(0, _editor.moveToTheNextLine)(editor);
|
|
147
144
|
(0, _editor.focus)(editor);
|
|
148
145
|
}
|
|
149
146
|
if (!editor) return null;
|
|
150
|
-
return
|
|
147
|
+
return _react.createElement(_ToolbarButton.ToolbarButton, {
|
|
151
148
|
title: "HR",
|
|
152
149
|
isDisabled: props.isDisabled,
|
|
153
150
|
onClick: handleOnClick,
|
|
154
151
|
testId: "hr-toolbar-button",
|
|
155
152
|
isActive: (0, _editor.isBlockSelected)(editor, _richtexttypes.BLOCKS.HR)
|
|
156
|
-
},
|
|
153
|
+
}, _react.createElement(_f36icons.HorizontalRuleIcon, null));
|
|
157
154
|
}
|
|
158
155
|
function Hr(props) {
|
|
159
156
|
const isSelected = _slatereact.useSelected();
|
|
160
157
|
const isFocused = _slatereact.useFocused();
|
|
161
|
-
return
|
|
158
|
+
return _react.createElement("div", {
|
|
162
159
|
...props.attributes,
|
|
163
160
|
className: styles.container,
|
|
164
|
-
// COMPAT: To make HR copyable in Safari, we verify this attribute below on `deserialize`
|
|
165
161
|
"data-void-element": _richtexttypes.BLOCKS.HR
|
|
166
|
-
},
|
|
162
|
+
}, _react.createElement("div", {
|
|
167
163
|
draggable: true,
|
|
168
|
-
// Moving `contentEditable` to this div makes it to be selectable when being the first void element, e.g pressing ctrl + a to select everything
|
|
169
164
|
contentEditable: false
|
|
170
|
-
},
|
|
165
|
+
}, _react.createElement("hr", {
|
|
171
166
|
className: (0, _emotion.cx)(styles.hr, isSelected && isFocused ? styles.hrSelected : undefined)
|
|
172
167
|
})), props.children);
|
|
173
168
|
}
|
|
@@ -16,16 +16,16 @@ _export(exports, {
|
|
|
16
16
|
return addOrEditLink;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
-
const _react =
|
|
19
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
20
20
|
const _f36components = require("@contentful/f36-components");
|
|
21
|
-
const _f36tokens =
|
|
21
|
+
const _f36tokens = _interop_require_default(require("@contentful/f36-tokens"));
|
|
22
22
|
const _fieldeditorreference = require("@contentful/field-editor-reference");
|
|
23
23
|
const _fieldeditorshared = require("@contentful/field-editor-shared");
|
|
24
24
|
const _richtexttypes = require("@contentful/rich-text-types");
|
|
25
25
|
const _emotion = require("emotion");
|
|
26
26
|
const _editor = require("../../helpers/editor");
|
|
27
|
-
const _getAllowedResourcesForNodeType =
|
|
28
|
-
const _getLinkedContentTypeIdsForNodeType =
|
|
27
|
+
const _getAllowedResourcesForNodeType = _interop_require_default(require("../../helpers/getAllowedResourcesForNodeType"));
|
|
28
|
+
const _getLinkedContentTypeIdsForNodeType = _interop_require_default(require("../../helpers/getLinkedContentTypeIdsForNodeType"));
|
|
29
29
|
const _validations = require("../../helpers/validations");
|
|
30
30
|
const _internal = require("../../internal");
|
|
31
31
|
const _queries = require("../../internal/queries");
|
|
@@ -59,9 +59,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
59
59
|
if (cache && cache.has(obj)) {
|
|
60
60
|
return cache.get(obj);
|
|
61
61
|
}
|
|
62
|
-
var newObj = {
|
|
63
|
-
__proto__: null
|
|
64
|
-
};
|
|
62
|
+
var newObj = {};
|
|
65
63
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
66
64
|
for(var key in obj){
|
|
67
65
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -142,7 +140,7 @@ function HyperlinkModal(props) {
|
|
|
142
140
|
});
|
|
143
141
|
}
|
|
144
142
|
function entityToLink(entity) {
|
|
145
|
-
const { id, type
|
|
143
|
+
const { id , type } = entity.sys;
|
|
146
144
|
return {
|
|
147
145
|
sys: {
|
|
148
146
|
id,
|
|
@@ -152,8 +150,7 @@ function HyperlinkModal(props) {
|
|
|
152
150
|
};
|
|
153
151
|
}
|
|
154
152
|
function entityToResourceLink(entity) {
|
|
155
|
-
const { urn
|
|
156
|
-
// @ts-expect-error wait for update of app-sdk version
|
|
153
|
+
const { urn } = entity.sys;
|
|
157
154
|
return {
|
|
158
155
|
sys: {
|
|
159
156
|
urn,
|
|
@@ -186,7 +183,6 @@ function HyperlinkModal(props) {
|
|
|
186
183
|
const options = {
|
|
187
184
|
allowedResources: (0, _getAllowedResourcesForNodeType.default)(props.sdk.field, _richtexttypes.INLINES.RESOURCE_HYPERLINK)
|
|
188
185
|
};
|
|
189
|
-
// @ts-expect-error wait for update of app-sdk version
|
|
190
186
|
const entry = await props.sdk.dialogs.selectSingleResourceEntry(options);
|
|
191
187
|
if (entry) {
|
|
192
188
|
setLinkTarget('');
|
|
@@ -207,30 +203,30 @@ function HyperlinkModal(props) {
|
|
|
207
203
|
event.preventDefault();
|
|
208
204
|
setLinkEntity(null);
|
|
209
205
|
}
|
|
210
|
-
return
|
|
206
|
+
return _react.createElement(_fieldeditorreference.EntityProvider, {
|
|
211
207
|
sdk: props.sdk
|
|
212
|
-
},
|
|
208
|
+
}, _react.createElement(_react.Fragment, null, _react.createElement(_f36components.ModalContent, null, _react.createElement(_f36components.Form, null, !props.linkType && _react.createElement(_f36components.FormControl, {
|
|
213
209
|
id: "link-text",
|
|
214
210
|
isRequired: true
|
|
215
|
-
},
|
|
211
|
+
}, _react.createElement(_f36components.FormControl.Label, null, "Link text"), _react.createElement(_f36components.TextInput, {
|
|
216
212
|
testId: "link-text-input",
|
|
217
213
|
name: "link-text",
|
|
218
214
|
value: linkText,
|
|
219
215
|
onChange: (event)=>setLinkText(event.target.value)
|
|
220
|
-
})), enabledLinkTypes.length > 1 &&
|
|
216
|
+
})), enabledLinkTypes.length > 1 && _react.createElement(_f36components.FormControl, {
|
|
221
217
|
id: "link-type"
|
|
222
|
-
},
|
|
218
|
+
}, _react.createElement(_f36components.FormControl.Label, null, "Link type"), _react.createElement(_f36components.Select, {
|
|
223
219
|
value: linkType,
|
|
224
220
|
onChange: (event)=>setLinkType(event.target.value),
|
|
225
221
|
testId: "link-type-input",
|
|
226
222
|
isDisabled: props.readonly
|
|
227
|
-
}, enabledLinkTypes.map((nodeType)
|
|
223
|
+
}, enabledLinkTypes.map((nodeType)=>_react.createElement(_f36components.Select.Option, {
|
|
228
224
|
key: nodeType,
|
|
229
225
|
value: nodeType
|
|
230
|
-
}, LINK_TYPE_SELECTION_VALUES[nodeType])))), linkType === _richtexttypes.INLINES.HYPERLINK &&
|
|
226
|
+
}, LINK_TYPE_SELECTION_VALUES[nodeType])))), linkType === _richtexttypes.INLINES.HYPERLINK && _react.createElement(_f36components.FormControl, {
|
|
231
227
|
id: "linkTarget",
|
|
232
228
|
isRequired: true
|
|
233
|
-
},
|
|
229
|
+
}, _react.createElement(_f36components.FormControl.Label, null, "Link target"), _react.createElement(_f36components.TextInput, {
|
|
234
230
|
ref: linkTargetInputRef,
|
|
235
231
|
name: "linkTarget",
|
|
236
232
|
value: linkTarget,
|
|
@@ -240,46 +236,46 @@ function HyperlinkModal(props) {
|
|
|
240
236
|
},
|
|
241
237
|
testId: "link-target-input",
|
|
242
238
|
isDisabled: props.readonly
|
|
243
|
-
}),
|
|
239
|
+
}), _react.createElement(_f36components.FormControl.HelpText, null, "A protocol may be required, e.g. https://")), linkType !== _richtexttypes.INLINES.HYPERLINK && _react.createElement("div", null, _react.createElement(_f36components.FormLabel, {
|
|
244
240
|
isRequired: true,
|
|
245
241
|
htmlFor: ""
|
|
246
|
-
}, "Link target", ' '), linkEntity && linkEntity.sys.linkType === SYS_LINK_TYPES[linkType] ?
|
|
242
|
+
}, "Link target", ' '), linkEntity && linkEntity.sys.linkType === SYS_LINK_TYPES[linkType] ? _react.createElement(_react.Fragment, null, !props.readonly && _react.createElement(_f36components.TextLink, {
|
|
247
243
|
testId: "entity-selection-link",
|
|
248
244
|
onClick: resetLinkEntity,
|
|
249
245
|
className: styles.removeSelectionLabel
|
|
250
|
-
}, "Remove selection"),
|
|
246
|
+
}, "Remove selection"), _react.createElement("div", null, linkType === _richtexttypes.INLINES.ENTRY_HYPERLINK && isEntryLink(linkEntity) && _react.createElement(_FetchingWrappedEntryCard.FetchingWrappedEntryCard, {
|
|
251
247
|
sdk: props.sdk,
|
|
252
248
|
locale: props.sdk.field.locale,
|
|
253
249
|
entryId: linkEntity.sys.id,
|
|
254
250
|
isDisabled: true,
|
|
255
251
|
isSelected: false
|
|
256
|
-
}), linkType === _richtexttypes.INLINES.RESOURCE_HYPERLINK && isResourceLink(linkEntity) &&
|
|
252
|
+
}), linkType === _richtexttypes.INLINES.RESOURCE_HYPERLINK && isResourceLink(linkEntity) && _react.createElement(_FetchingWrappedResourceCard.FetchingWrappedResourceCard, {
|
|
257
253
|
sdk: props.sdk,
|
|
258
254
|
link: linkEntity.sys,
|
|
259
255
|
isDisabled: true,
|
|
260
256
|
isSelected: false
|
|
261
|
-
}), linkType === _richtexttypes.INLINES.ASSET_HYPERLINK && isAssetLink(linkEntity) &&
|
|
257
|
+
}), linkType === _richtexttypes.INLINES.ASSET_HYPERLINK && isAssetLink(linkEntity) && _react.createElement(_FetchingWrappedAssetCard.FetchingWrappedAssetCard, {
|
|
262
258
|
sdk: props.sdk,
|
|
263
259
|
locale: props.sdk.field.locale,
|
|
264
260
|
assetId: linkEntity.sys.id,
|
|
265
261
|
isDisabled: true,
|
|
266
262
|
isSelected: false
|
|
267
|
-
}))) :
|
|
263
|
+
}))) : _react.createElement("div", null, linkType === _richtexttypes.INLINES.ENTRY_HYPERLINK && _react.createElement(_f36components.TextLink, {
|
|
268
264
|
testId: "entity-selection-link",
|
|
269
265
|
onClick: selectEntry
|
|
270
|
-
}, "Select entry"), linkType === _richtexttypes.INLINES.RESOURCE_HYPERLINK &&
|
|
266
|
+
}, "Select entry"), linkType === _richtexttypes.INLINES.RESOURCE_HYPERLINK && _react.createElement(_f36components.TextLink, {
|
|
271
267
|
testId: "entity-selection-link",
|
|
272
268
|
onClick: selectResourceEntry
|
|
273
|
-
}, "Select entry"), linkType === _richtexttypes.INLINES.ASSET_HYPERLINK &&
|
|
269
|
+
}, "Select entry"), linkType === _richtexttypes.INLINES.ASSET_HYPERLINK && _react.createElement(_f36components.TextLink, {
|
|
274
270
|
testId: "entity-selection-link",
|
|
275
271
|
onClick: selectAsset
|
|
276
|
-
}, "Select asset"))))),
|
|
272
|
+
}, "Select asset"))))), _react.createElement(_f36components.ModalControls, null, _react.createElement(_f36components.Button, {
|
|
277
273
|
type: "button",
|
|
278
274
|
onClick: ()=>props.onClose(null),
|
|
279
275
|
variant: "secondary",
|
|
280
276
|
testId: "cancel-cta",
|
|
281
277
|
size: "small"
|
|
282
|
-
}, "Cancel"),
|
|
278
|
+
}, "Cancel"), _react.createElement(_f36components.Button, {
|
|
283
279
|
type: "submit",
|
|
284
280
|
variant: "positive",
|
|
285
281
|
size: "small",
|
|
@@ -315,8 +311,8 @@ async function addOrEditLink(editor, sdk, logAction, targetPath) {
|
|
|
315
311
|
shouldCloseOnEscapePress: true,
|
|
316
312
|
shouldCloseOnOverlayClick: true,
|
|
317
313
|
allowHeightOverflow: true
|
|
318
|
-
}, ({ onClose
|
|
319
|
-
return
|
|
314
|
+
}, ({ onClose })=>{
|
|
315
|
+
return _react.createElement(HyperlinkModal, {
|
|
320
316
|
linkTarget: linkTarget,
|
|
321
317
|
linkText: currentLinkText,
|
|
322
318
|
linkType: linkType,
|
|
@@ -332,7 +328,7 @@ async function addOrEditLink(editor, sdk, logAction, targetPath) {
|
|
|
332
328
|
logAction(isEditing ? 'cancelEditHyperlinkDialog' : 'cancelCreateHyperlinkDialog');
|
|
333
329
|
return;
|
|
334
330
|
}
|
|
335
|
-
const { linkText: text, linkTarget: url, linkType: type, linkEntity: target
|
|
331
|
+
const { linkText: text , linkTarget: url , linkType: type , linkEntity: target } = data;
|
|
336
332
|
(0, _internal.withoutNormalizing)(editor, ()=>{
|
|
337
333
|
(0, _editor.insertLink)(editor, {
|
|
338
334
|
text,
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
5
|
const _testutils = require("../../../test-utils");
|
|
6
6
|
describe('normalization', ()=>{
|
|
7
7
|
it('removes empty links from the document structure', ()=>{
|
|
8
|
-
const input =
|
|
8
|
+
const input = (0, _testutils.jsx)("editor", null, (0, _testutils.jsx)("hp", null, (0, _testutils.jsx)("htext", null, "link"), (0, _testutils.jsx)("hlink", {
|
|
9
9
|
uri: "https://link.com"
|
|
10
|
-
})),
|
|
10
|
+
})), (0, _testutils.jsx)("hp", null, (0, _testutils.jsx)("htext", null, "asset"), (0, _testutils.jsx)("hlink", {
|
|
11
11
|
asset: "asset-id"
|
|
12
|
-
})),
|
|
12
|
+
})), (0, _testutils.jsx)("hp", null, (0, _testutils.jsx)("htext", null, "entry"), (0, _testutils.jsx)("hlink", {
|
|
13
13
|
entry: "entry-id"
|
|
14
|
-
})),
|
|
14
|
+
})), (0, _testutils.jsx)("hp", null, (0, _testutils.jsx)("htext", null, "resource"), (0, _testutils.jsx)("hlink", {
|
|
15
15
|
resource: "resource-urn"
|
|
16
|
-
})),
|
|
16
|
+
})), (0, _testutils.jsx)("hp", null, (0, _testutils.jsx)("htext", null, "explicit empty link"), (0, _testutils.jsx)("hlink", {
|
|
17
17
|
uri: "https://link.com"
|
|
18
|
-
}, '')),
|
|
18
|
+
}, '')), (0, _testutils.jsx)("hp", null, (0, _testutils.jsx)("htext", null, "link with empty space"), (0, _testutils.jsx)("hlink", {
|
|
19
19
|
uri: "https://link.com"
|
|
20
20
|
}, " ")));
|
|
21
|
-
const expected =
|
|
21
|
+
const expected = (0, _testutils.jsx)("editor", null, (0, _testutils.jsx)("hp", null, (0, _testutils.jsx)("htext", null, "link")), (0, _testutils.jsx)("hp", null, (0, _testutils.jsx)("htext", null, "asset")), (0, _testutils.jsx)("hp", null, (0, _testutils.jsx)("htext", null, "entry")), (0, _testutils.jsx)("hp", null, (0, _testutils.jsx)("htext", null, "resource")), (0, _testutils.jsx)("hp", null, (0, _testutils.jsx)("htext", null, "explicit empty link")), (0, _testutils.jsx)("hp", null, (0, _testutils.jsx)("htext", null, "link with empty space")));
|
|
22
22
|
(0, _testutils.assertOutput)({
|
|
23
23
|
input,
|
|
24
24
|
expected
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "EntityHyperlink", {
|
|
|
8
8
|
return EntityHyperlink;
|
|
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 _linkstracking = require("../../links-tracking");
|
|
14
14
|
const _useEntityInfo = require("../useEntityInfo");
|
|
@@ -37,9 +37,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
37
37
|
if (cache && cache.has(obj)) {
|
|
38
38
|
return cache.get(obj);
|
|
39
39
|
}
|
|
40
|
-
var newObj = {
|
|
41
|
-
__proto__: null
|
|
42
|
-
};
|
|
40
|
+
var newObj = {};
|
|
43
41
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
44
42
|
for(var key in obj){
|
|
45
43
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -58,9 +56,9 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
58
56
|
return newObj;
|
|
59
57
|
}
|
|
60
58
|
function EntityHyperlink(props) {
|
|
61
|
-
const { editor, sdk, isLinkFocused, pathToElement
|
|
62
|
-
const { onEntityFetchComplete
|
|
63
|
-
const { target
|
|
59
|
+
const { editor , sdk , isLinkFocused , pathToElement } = (0, _useHyperlinkCommon.useHyperlinkCommon)(props.element);
|
|
60
|
+
const { onEntityFetchComplete } = (0, _linkstracking.useLinkTracking)();
|
|
61
|
+
const { target } = props.element.data;
|
|
64
62
|
const tooltipContent = (0, _useEntityInfo.useEntityInfo)({
|
|
65
63
|
target,
|
|
66
64
|
sdk,
|
|
@@ -69,17 +67,17 @@ function EntityHyperlink(props) {
|
|
|
69
67
|
if (!target) {
|
|
70
68
|
return null;
|
|
71
69
|
}
|
|
72
|
-
const popoverText =
|
|
70
|
+
const popoverText = _react.createElement(_f36components.Text, {
|
|
73
71
|
fontColor: "blue600",
|
|
74
72
|
fontWeight: "fontWeightMedium",
|
|
75
73
|
className: _styles.styles.openLink
|
|
76
74
|
}, tooltipContent);
|
|
77
|
-
return
|
|
75
|
+
return _react.createElement(_LinkPopover.LinkPopover, {
|
|
78
76
|
isLinkFocused: isLinkFocused,
|
|
79
77
|
handleEditLink: ()=>(0, _linkHandlers.handleEditLink)(editor, sdk, pathToElement),
|
|
80
78
|
handleRemoveLink: ()=>(0, _linkHandlers.handleRemoveLink)(editor),
|
|
81
79
|
popoverText: popoverText
|
|
82
|
-
},
|
|
80
|
+
}, _react.createElement(_f36components.Text, {
|
|
83
81
|
testId: "cf-ui-text-link",
|
|
84
82
|
fontColor: "blue600",
|
|
85
83
|
fontWeight: "fontWeightMedium",
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "LinkPopover", {
|
|
|
8
8
|
return LinkPopover;
|
|
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
14
|
const _hooks = require("../../../internal/hooks");
|
|
@@ -34,9 +34,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
34
34
|
if (cache && cache.has(obj)) {
|
|
35
35
|
return cache.get(obj);
|
|
36
36
|
}
|
|
37
|
-
var newObj = {
|
|
38
|
-
__proto__: null
|
|
39
|
-
};
|
|
37
|
+
var newObj = {};
|
|
40
38
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
41
39
|
for(var key in obj){
|
|
42
40
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -54,7 +52,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
54
52
|
}
|
|
55
53
|
return newObj;
|
|
56
54
|
}
|
|
57
|
-
const LinkPopover = ({ isLinkFocused, popoverText, handleEditLink, handleRemoveLink, children, handleCopyLink
|
|
55
|
+
const LinkPopover = ({ isLinkFocused , popoverText , handleEditLink , handleRemoveLink , children , handleCopyLink })=>{
|
|
58
56
|
const isEditorFocused = (0, _hooks.useFocused)();
|
|
59
57
|
const popoverContent = _react.useRef(null);
|
|
60
58
|
const [isPopoverContentClicked, setIsPopoverContentClicked] = _react.useState(false);
|
|
@@ -72,69 +70,65 @@ const LinkPopover = ({ isLinkFocused, popoverText, handleEditLink, handleRemoveL
|
|
|
72
70
|
};
|
|
73
71
|
}, []);
|
|
74
72
|
const isOpen = isLinkFocused && isEditorFocused || isPopoverContentClicked;
|
|
75
|
-
|
|
76
|
-
// Otherwise the content of the popover will get copied over when users copy text from the rich text editor
|
|
77
|
-
return(// eslint-disable-next-line jsx-a11y/no-autofocus -- we don't want to autofocus the popover
|
|
78
|
-
/*#__PURE__*/ _react.createElement(_f36components.Popover, {
|
|
73
|
+
return _react.createElement(_f36components.Popover, {
|
|
79
74
|
renderOnlyWhenOpen: false,
|
|
80
75
|
usePortal: true,
|
|
81
76
|
autoFocus: false,
|
|
82
77
|
isOpen: isOpen
|
|
83
|
-
},
|
|
78
|
+
}, _react.createElement(_f36components.Popover.Trigger, null, children), _react.createElement(_f36components.Popover.Content, {
|
|
84
79
|
className: _styles.styles.popover
|
|
85
|
-
},
|
|
80
|
+
}, _react.createElement(_f36components.Flex, {
|
|
86
81
|
ref: popoverContent,
|
|
87
82
|
alignItems: "center",
|
|
88
83
|
paddingTop: "spacing2Xs",
|
|
89
84
|
paddingBottom: "spacing2Xs",
|
|
90
85
|
paddingRight: "spacing2Xs",
|
|
91
86
|
paddingLeft: "spacingXs"
|
|
92
|
-
}, popoverText, handleCopyLink &&
|
|
87
|
+
}, popoverText, handleCopyLink && _react.createElement(_f36components.Tooltip, {
|
|
93
88
|
placement: "bottom",
|
|
94
89
|
content: "Copy link",
|
|
95
90
|
usePortal: true
|
|
96
|
-
},
|
|
91
|
+
}, _react.createElement(_f36components.IconButton, {
|
|
97
92
|
className: _styles.styles.iconButton,
|
|
98
93
|
onClick: handleCopyLink,
|
|
99
94
|
size: "small",
|
|
100
95
|
variant: "transparent",
|
|
101
96
|
"aria-label": "Copy link",
|
|
102
|
-
icon:
|
|
97
|
+
icon: _react.createElement(_f36icons.CopyIcon, {
|
|
103
98
|
size: "tiny"
|
|
104
99
|
})
|
|
105
|
-
})),
|
|
100
|
+
})), _react.createElement(_f36components.Tooltip, {
|
|
106
101
|
placement: "bottom",
|
|
107
102
|
content: "Edit link",
|
|
108
103
|
usePortal: true
|
|
109
|
-
},
|
|
104
|
+
}, _react.createElement(_f36components.IconButton, {
|
|
110
105
|
className: _styles.styles.iconButton,
|
|
111
106
|
onClick: handleEditLink,
|
|
112
107
|
size: "small",
|
|
113
108
|
variant: "transparent",
|
|
114
109
|
"aria-label": "Edit link",
|
|
115
|
-
icon:
|
|
110
|
+
icon: _react.createElement(_f36icons.EditIcon, {
|
|
116
111
|
size: "tiny"
|
|
117
112
|
})
|
|
118
|
-
})),
|
|
113
|
+
})), _react.createElement(_f36components.Tooltip, {
|
|
119
114
|
placement: "bottom",
|
|
120
115
|
content: "Remove link",
|
|
121
116
|
usePortal: true
|
|
122
|
-
},
|
|
117
|
+
}, _react.createElement(_f36components.IconButton, {
|
|
123
118
|
onClick: handleRemoveLink,
|
|
124
119
|
className: _styles.styles.iconButton,
|
|
125
120
|
size: "small",
|
|
126
121
|
variant: "transparent",
|
|
127
122
|
"aria-label": "Remove link",
|
|
128
|
-
icon:
|
|
129
|
-
/*#__PURE__*/ _react.createElement("svg", {
|
|
123
|
+
icon: _react.createElement("svg", {
|
|
130
124
|
width: "16",
|
|
131
125
|
height: "16",
|
|
132
126
|
viewBox: "0 0 16 16",
|
|
133
127
|
fill: "none",
|
|
134
128
|
xmlns: "http://www.w3.org/2000/svg"
|
|
135
|
-
},
|
|
129
|
+
}, _react.createElement("path", {
|
|
136
130
|
d: "M1.75 8C1.75 8.59674 1.98705 9.16903 2.40901 9.59099C2.83097 10.0129 3.40326 10.25 4 10.25H6.5C6.69891 10.25 6.88968 10.329 7.03033 10.4697C7.17098 10.6103 7.25 10.8011 7.25 11C7.25 11.1989 7.17098 11.3897 7.03033 11.5303C6.88968 11.671 6.69891 11.75 6.5 11.75H4C3.00544 11.75 2.05161 11.3549 1.34835 10.6517C0.645088 9.94839 0.25 8.99456 0.25 8C0.25 7.00544 0.645088 6.05161 1.34835 5.34835C2.05161 4.64509 3.00544 4.25 4 4.25H6.5C6.69891 4.25 6.88968 4.32902 7.03033 4.46967C7.17098 4.61032 7.25 4.80109 7.25 5C7.25 5.19891 7.17098 5.38968 7.03033 5.53033C6.88968 5.67098 6.69891 5.75 6.5 5.75H4C3.40326 5.75 2.83097 5.98705 2.40901 6.40901C1.98705 6.83097 1.75 7.40326 1.75 8ZM12 4.25H9.5C9.30109 4.25 9.11032 4.32902 8.96967 4.46967C8.82902 4.61032 8.75 4.80109 8.75 5C8.75 5.19891 8.82902 5.38968 8.96967 5.53033C9.11032 5.67098 9.30109 5.75 9.5 5.75H12C12.5967 5.75 13.169 5.98705 13.591 6.40901C14.0129 6.83097 14.25 7.40326 14.25 8C14.25 8.59674 14.0129 9.16903 13.591 9.59099C13.169 10.0129 12.5967 10.25 12 10.25H9.5C9.30109 10.25 9.11032 10.329 8.96967 10.4697C8.82902 10.6103 8.75 10.8011 8.75 11C8.75 11.1989 8.82902 11.3897 8.96967 11.5303C9.11032 11.671 9.30109 11.75 9.5 11.75H12C12.9946 11.75 13.9484 11.3549 14.6517 10.6517C15.3549 9.94839 15.75 8.99456 15.75 8C15.75 7.00544 15.3549 6.05161 14.6517 5.34835C13.9484 4.64509 12.9946 4.25 12 4.25Z",
|
|
137
131
|
fill: "black"
|
|
138
132
|
}))
|
|
139
|
-
})))))
|
|
133
|
+
})))));
|
|
140
134
|
};
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "ResourceHyperlink", {
|
|
|
8
8
|
return ResourceHyperlink;
|
|
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 _linkstracking = require("../../links-tracking");
|
|
14
14
|
const _useResourceEntityInfo = require("../useResourceEntityInfo");
|
|
@@ -37,9 +37,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
37
37
|
if (cache && cache.has(obj)) {
|
|
38
38
|
return cache.get(obj);
|
|
39
39
|
}
|
|
40
|
-
var newObj = {
|
|
41
|
-
__proto__: null
|
|
42
|
-
};
|
|
40
|
+
var newObj = {};
|
|
43
41
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
44
42
|
for(var key in obj){
|
|
45
43
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -58,9 +56,9 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
58
56
|
return newObj;
|
|
59
57
|
}
|
|
60
58
|
function ResourceHyperlink(props) {
|
|
61
|
-
const { editor, sdk, isLinkFocused, pathToElement
|
|
62
|
-
const { onEntityFetchComplete
|
|
63
|
-
const { target
|
|
59
|
+
const { editor , sdk , isLinkFocused , pathToElement } = (0, _useHyperlinkCommon.useHyperlinkCommon)(props.element);
|
|
60
|
+
const { onEntityFetchComplete } = (0, _linkstracking.useLinkTracking)();
|
|
61
|
+
const { target } = props.element.data;
|
|
64
62
|
const tooltipContent = (0, _useResourceEntityInfo.useResourceEntityInfo)({
|
|
65
63
|
target,
|
|
66
64
|
onEntityFetchComplete
|
|
@@ -68,17 +66,17 @@ function ResourceHyperlink(props) {
|
|
|
68
66
|
if (!target) {
|
|
69
67
|
return null;
|
|
70
68
|
}
|
|
71
|
-
const popoverText =
|
|
69
|
+
const popoverText = _react.createElement(_f36components.Text, {
|
|
72
70
|
fontColor: "blue600",
|
|
73
71
|
fontWeight: "fontWeightMedium",
|
|
74
72
|
className: _styles.styles.openLink
|
|
75
73
|
}, tooltipContent);
|
|
76
|
-
return
|
|
74
|
+
return _react.createElement(_LinkPopover.LinkPopover, {
|
|
77
75
|
isLinkFocused: isLinkFocused,
|
|
78
76
|
handleEditLink: ()=>(0, _linkHandlers.handleEditLink)(editor, sdk, pathToElement),
|
|
79
77
|
handleRemoveLink: ()=>(0, _linkHandlers.handleRemoveLink)(editor),
|
|
80
78
|
popoverText: popoverText
|
|
81
|
-
},
|
|
79
|
+
}, _react.createElement(_f36components.Text, {
|
|
82
80
|
testId: "cf-ui-text-link",
|
|
83
81
|
fontColor: "blue600",
|
|
84
82
|
fontWeight: "fontWeightMedium",
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "ToolbarHyperlinkButton", {
|
|
|
8
8
|
return ToolbarHyperlinkButton;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _react =
|
|
11
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
12
12
|
const _f36icons = require("@contentful/f36-icons");
|
|
13
13
|
const _ContentfulEditorProvider = require("../../../ContentfulEditorProvider");
|
|
14
14
|
const _editor = require("../../../helpers/editor");
|
|
@@ -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)) {
|
|
@@ -70,11 +68,11 @@ function ToolbarHyperlinkButton(props) {
|
|
|
70
68
|
}
|
|
71
69
|
}
|
|
72
70
|
if (!editor) return null;
|
|
73
|
-
return
|
|
71
|
+
return _react.createElement(_ToolbarButton.ToolbarButton, {
|
|
74
72
|
title: "Hyperlink",
|
|
75
73
|
testId: "hyperlink-toolbar-button",
|
|
76
74
|
onClick: handleClick,
|
|
77
75
|
isActive: isActive,
|
|
78
76
|
isDisabled: props.isDisabled
|
|
79
|
-
},
|
|
77
|
+
}, _react.createElement(_f36icons.LinkIcon, null));
|
|
80
78
|
}
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "UrlHyperlink", {
|
|
|
8
8
|
return UrlHyperlink;
|
|
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 _linkHandlers = require("./linkHandlers");
|
|
14
14
|
const _LinkPopover = require("./LinkPopover");
|
|
@@ -35,9 +35,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
35
35
|
if (cache && cache.has(obj)) {
|
|
36
36
|
return cache.get(obj);
|
|
37
37
|
}
|
|
38
|
-
var newObj = {
|
|
39
|
-
__proto__: null
|
|
40
|
-
};
|
|
38
|
+
var newObj = {};
|
|
41
39
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
42
40
|
for(var key in obj){
|
|
43
41
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -56,21 +54,21 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
56
54
|
return newObj;
|
|
57
55
|
}
|
|
58
56
|
function UrlHyperlink(props) {
|
|
59
|
-
const { editor, sdk, isLinkFocused, pathToElement
|
|
57
|
+
const { editor , sdk , isLinkFocused , pathToElement } = (0, _useHyperlinkCommon.useHyperlinkCommon)(props.element);
|
|
60
58
|
const uri = props.element.data?.uri;
|
|
61
|
-
const popoverText =
|
|
59
|
+
const popoverText = _react.createElement(_f36components.TextLink, {
|
|
62
60
|
className: _styles.styles.openLink,
|
|
63
61
|
href: uri,
|
|
64
62
|
rel: "noopener noreferrer",
|
|
65
63
|
target: "_blank"
|
|
66
64
|
}, uri);
|
|
67
|
-
return
|
|
65
|
+
return _react.createElement(_LinkPopover.LinkPopover, {
|
|
68
66
|
isLinkFocused: isLinkFocused,
|
|
69
67
|
handleEditLink: ()=>(0, _linkHandlers.handleEditLink)(editor, sdk, pathToElement),
|
|
70
68
|
handleRemoveLink: ()=>(0, _linkHandlers.handleRemoveLink)(editor),
|
|
71
69
|
handleCopyLink: ()=>(0, _linkHandlers.handleCopyLink)(uri),
|
|
72
70
|
popoverText: popoverText
|
|
73
|
-
},
|
|
71
|
+
}, _react.createElement(_f36components.TextLink, {
|
|
74
72
|
testId: "cf-ui-text-link",
|
|
75
73
|
href: uri,
|
|
76
74
|
onClick: (e)=>e.preventDefault(),
|
|
@@ -9,14 +9,14 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
handleCopyLink: function() {
|
|
13
|
-
return handleCopyLink;
|
|
14
|
-
},
|
|
15
12
|
handleEditLink: function() {
|
|
16
13
|
return handleEditLink;
|
|
17
14
|
},
|
|
18
15
|
handleRemoveLink: function() {
|
|
19
16
|
return handleRemoveLink;
|
|
17
|
+
},
|
|
18
|
+
handleCopyLink: function() {
|
|
19
|
+
return handleCopyLink;
|
|
20
20
|
}
|
|
21
21
|
});
|
|
22
22
|
const _f36components = require("@contentful/f36-components");
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "styles", {
|
|
|
8
8
|
return styles;
|
|
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 : {
|