@contentful/field-editor-rich-text 3.4.22 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ContentfulEditorProvider.js +59 -0
- package/dist/cjs/RichTextEditor.js +170 -0
- package/dist/cjs/RichTextEditor.styles.js +66 -0
- package/dist/cjs/SdkProvider.js +69 -0
- package/dist/cjs/Toolbar/_tests_/toolbar.test.js +152 -0
- package/dist/cjs/Toolbar/components/EmbedEntityWidget.js +87 -0
- package/dist/cjs/Toolbar/components/EmbeddedEntityDropdownButton.js +69 -0
- package/dist/cjs/Toolbar/components/StickyToolbarWrapper.js +29 -0
- package/dist/cjs/Toolbar/index.js +222 -0
- package/dist/cjs/__fixtures__/FakeSdk.js +183 -0
- package/dist/cjs/__fixtures__/asset/index.js +37 -0
- package/dist/cjs/__fixtures__/content-type/index.js +16 -0
- package/dist/cjs/__fixtures__/entry/index.js +33 -0
- package/dist/cjs/__fixtures__/fixtures.js +71 -0
- package/dist/cjs/__fixtures__/locale/index.js +40 -0
- package/dist/cjs/__fixtures__/space/index.js +16 -0
- package/dist/cjs/constants/Schema.js +172 -0
- package/dist/cjs/dialogs/HypelinkDialog/HyperlinkDialog.js +348 -0
- package/dist/cjs/dialogs/openRichTextDialog.js +64 -0
- package/dist/cjs/dialogs/renderRichTextDialog.js +63 -0
- package/dist/cjs/helpers/__tests__/extractNodes.test.js +299 -0
- package/dist/cjs/helpers/__tests__/removeInternalMarks.test.js +52 -0
- package/dist/cjs/helpers/__tests__/validations.test.js +49 -0
- package/dist/cjs/helpers/editor.js +276 -0
- package/dist/cjs/helpers/environment.js +20 -0
- package/dist/cjs/helpers/extractNodes.js +27 -0
- package/dist/cjs/helpers/formatDateAndTime.js +45 -0
- package/dist/cjs/helpers/getLinkedContentTypeIdsForNodeType.js +24 -0
- package/dist/cjs/helpers/newEntitySelectorConfigFromRichTextField.js +33 -0
- package/dist/cjs/helpers/nodeFactory.js +51 -0
- package/dist/cjs/helpers/removeInternalMarks.js +26 -0
- package/dist/cjs/helpers/sanitizeIncomingSlateDoc.js +33 -0
- package/dist/cjs/helpers/sdkNavigatorSlideIn.js +57 -0
- package/dist/cjs/helpers/sdkNavigatorSlideIn.spec.js +209 -0
- package/dist/cjs/helpers/transformers.js +61 -0
- package/dist/cjs/helpers/validations.js +56 -0
- package/dist/cjs/index.js +66 -0
- package/dist/cjs/internal/constants.js +51 -0
- package/dist/cjs/internal/hooks.js +65 -0
- package/dist/cjs/internal/index.js +21 -0
- package/dist/cjs/internal/misc.js +103 -0
- package/dist/cjs/internal/queries.js +407 -0
- package/dist/cjs/internal/transforms.js +195 -0
- package/dist/cjs/internal/types/editor.js +4 -0
- package/dist/cjs/internal/types/index.js +19 -0
- package/dist/cjs/internal/types/plugins.js +4 -0
- package/dist/cjs/plugins/Break/createExitBreakPlugin.js +26 -0
- package/dist/cjs/plugins/Break/createExitBreakPlugin.test.js +36 -0
- package/dist/cjs/plugins/Break/createResetNodePlugin.js +32 -0
- package/dist/cjs/plugins/Break/createSoftBreakPlugin.js +23 -0
- package/dist/cjs/plugins/Break/createSoftBreakPlugin.test.js +47 -0
- package/dist/cjs/plugins/Break/index.js +20 -0
- package/dist/cjs/plugins/CommandPalette/components/CommandList.js +167 -0
- package/dist/cjs/plugins/CommandPalette/components/CommandList.styles.js +103 -0
- package/dist/cjs/plugins/CommandPalette/components/CommandPrompt.js +69 -0
- package/dist/cjs/plugins/CommandPalette/constants.js +11 -0
- package/dist/cjs/plugins/CommandPalette/createCommandPalettePlugin.js +24 -0
- package/dist/cjs/plugins/CommandPalette/hooks/useCommandList.js +138 -0
- package/dist/cjs/plugins/CommandPalette/index.js +11 -0
- package/dist/cjs/plugins/CommandPalette/onKeyDown.js +51 -0
- package/dist/cjs/plugins/CommandPalette/onKeyDown.spec.js +83 -0
- package/dist/cjs/plugins/CommandPalette/useCommands.js +222 -0
- package/dist/cjs/plugins/CommandPalette/utils/createInlineEntryNode.js +30 -0
- package/dist/cjs/plugins/CommandPalette/utils/fetchAssets.js +31 -0
- package/dist/cjs/plugins/CommandPalette/utils/fetchEntries.js +39 -0
- package/dist/cjs/plugins/CommandPalette/utils/insertBlock.js +42 -0
- package/dist/cjs/plugins/CommandPalette/utils/trimLeadingSlash.js +16 -0
- package/dist/cjs/plugins/DragAndDrop/index.js +54 -0
- package/dist/cjs/plugins/EmbeddedEntityBlock/LinkedEntityBlock.js +128 -0
- package/dist/cjs/plugins/EmbeddedEntityBlock/ToolbarIcon.js +106 -0
- package/dist/cjs/plugins/EmbeddedEntityBlock/Util.js +108 -0
- package/dist/cjs/plugins/EmbeddedEntityBlock/index.js +100 -0
- package/dist/cjs/plugins/EmbeddedEntityInline/FetchingWrappedInlineEntryCard.js +158 -0
- package/dist/cjs/plugins/EmbeddedEntityInline/Util.js +30 -0
- package/dist/cjs/plugins/EmbeddedEntityInline/index.js +221 -0
- package/dist/cjs/plugins/Heading/__tests__/createHeadingPlugin.test.js +117 -0
- package/dist/cjs/plugins/Heading/components/Heading.js +127 -0
- package/dist/cjs/plugins/Heading/components/ToolbarHeadingButton.js +173 -0
- package/dist/cjs/plugins/Heading/createHeadingPlugin.js +102 -0
- package/dist/cjs/plugins/Heading/index.js +19 -0
- package/dist/cjs/plugins/Hr/index.js +193 -0
- package/dist/cjs/plugins/Hyperlink/HyperlinkModal.js +282 -0
- package/dist/cjs/plugins/Hyperlink/__tests__/createHyperlinkPlugin.test.js +25 -0
- package/dist/cjs/plugins/Hyperlink/components/EntityHyperlink.js +93 -0
- package/dist/cjs/plugins/Hyperlink/components/ToolbarHyperlinkButton.js +78 -0
- package/dist/cjs/plugins/Hyperlink/components/UrlHyperlink.js +86 -0
- package/dist/cjs/plugins/Hyperlink/components/styles.js +36 -0
- package/dist/cjs/plugins/Hyperlink/createHyperlinkPlugin.js +179 -0
- package/dist/cjs/plugins/Hyperlink/index.js +20 -0
- package/dist/cjs/plugins/Hyperlink/useEntityInfo.js +95 -0
- package/dist/cjs/plugins/Hyperlink/utils.js +43 -0
- package/dist/cjs/plugins/List/__tests__/createListPlugin.test.js +47 -0
- package/dist/cjs/plugins/List/__tests__/insertListBreak.test.js +77 -0
- package/dist/cjs/plugins/List/__tests__/insertListFragment.test.js +64 -0
- package/dist/cjs/plugins/List/components/List.js +108 -0
- package/dist/cjs/plugins/List/components/ListItem.js +73 -0
- package/dist/cjs/plugins/List/components/ToolbarListButton.js +86 -0
- package/dist/cjs/plugins/List/createListPlugin.js +76 -0
- package/dist/cjs/plugins/List/index.js +19 -0
- package/dist/cjs/plugins/List/insertListBreak.js +60 -0
- package/dist/cjs/plugins/List/insertListFragment.js +98 -0
- package/dist/cjs/plugins/List/onKeyDownList.js +46 -0
- package/dist/cjs/plugins/List/transforms/insertListItem.js +92 -0
- package/dist/cjs/plugins/List/transforms/moveListItemDown.js +47 -0
- package/dist/cjs/plugins/List/transforms/moveListItems.js +56 -0
- package/dist/cjs/plugins/List/transforms/moveListItems.test.js +72 -0
- package/dist/cjs/plugins/List/transforms/toggleList.js +141 -0
- package/dist/cjs/plugins/List/transforms/toggleList.spec.js +139 -0
- package/dist/cjs/plugins/List/transforms/unwrapList.js +38 -0
- package/dist/cjs/plugins/List/utils.js +122 -0
- package/dist/cjs/plugins/List/withList.js +32 -0
- package/dist/cjs/plugins/Marks/Bold.js +119 -0
- package/dist/cjs/plugins/Marks/Code.js +122 -0
- package/dist/cjs/plugins/Marks/Italic.js +114 -0
- package/dist/cjs/plugins/Marks/Subscript.js +109 -0
- package/dist/cjs/plugins/Marks/Superscript.js +107 -0
- package/dist/cjs/plugins/Marks/Underline.js +106 -0
- package/dist/cjs/plugins/Marks/components/MarkToolbarButton.js +105 -0
- package/dist/cjs/plugins/Marks/helpers.js +48 -0
- package/dist/cjs/plugins/Marks/index.js +27 -0
- package/dist/cjs/plugins/Normalizer/baseRules.js +38 -0
- package/dist/cjs/plugins/Normalizer/createNormalizerPlugin.js +15 -0
- package/dist/cjs/plugins/Normalizer/createNormalizerPlugin.test.js +117 -0
- package/dist/cjs/plugins/Normalizer/index.js +19 -0
- package/dist/cjs/plugins/Normalizer/types.js +4 -0
- package/dist/cjs/plugins/Normalizer/utils.js +39 -0
- package/dist/cjs/plugins/Normalizer/withNormalizer.js +88 -0
- package/dist/cjs/plugins/Paragraph/Paragraph.js +70 -0
- package/dist/cjs/plugins/Paragraph/__tests__/createParagraphPlugin.test.js +125 -0
- package/dist/cjs/plugins/Paragraph/createParagraphPlugin.js +73 -0
- package/dist/cjs/plugins/Paragraph/index.js +18 -0
- package/dist/cjs/plugins/Paragraph/utils.js +24 -0
- package/dist/cjs/plugins/PasteHTML/createPasteHTMLPlugin.js +63 -0
- package/dist/cjs/plugins/PasteHTML/index.js +18 -0
- package/dist/cjs/plugins/PasteHTML/utils/__tests__/sanitizeHTML.test.js +54 -0
- package/dist/cjs/plugins/PasteHTML/utils/sanitizeAnchors.js +43 -0
- package/dist/cjs/plugins/PasteHTML/utils/sanitizeHTML.js +50 -0
- package/dist/cjs/plugins/PasteHTML/utils/sanitizeSheets.js +44 -0
- package/dist/cjs/plugins/Quote/__test__/createQuotePlugin.test.js +78 -0
- package/dist/cjs/plugins/Quote/components/Quote.js +69 -0
- package/dist/cjs/plugins/Quote/components/ToolbarQuoteButton.js +72 -0
- package/dist/cjs/plugins/Quote/createQuotePlugin.js +57 -0
- package/dist/cjs/plugins/Quote/index.js +19 -0
- package/dist/cjs/plugins/Quote/shouldResetQuote.js +40 -0
- package/dist/cjs/plugins/Quote/toggleQuote.js +56 -0
- package/dist/cjs/plugins/Quote/withQuote.js +48 -0
- package/dist/cjs/plugins/SelectOnBackspace/createSelectOnBackspacePlugin.js +21 -0
- package/dist/cjs/plugins/SelectOnBackspace/index.js +18 -0
- package/dist/cjs/plugins/Table/__tests__/createTablePlugin.test.js +92 -0
- package/dist/cjs/plugins/Table/__tests__/helpers.test.js +18 -0
- package/dist/cjs/plugins/Table/actions/addColumn.js +63 -0
- package/dist/cjs/plugins/Table/actions/addRow.js +57 -0
- package/dist/cjs/plugins/Table/actions/index.js +20 -0
- package/dist/cjs/plugins/Table/actions/setHeader.js +34 -0
- package/dist/cjs/plugins/Table/components/Cell.js +79 -0
- package/dist/cjs/plugins/Table/components/HeaderCell.js +82 -0
- package/dist/cjs/plugins/Table/components/Row.js +69 -0
- package/dist/cjs/plugins/Table/components/Table.js +76 -0
- package/dist/cjs/plugins/Table/components/TableActions.js +175 -0
- package/dist/cjs/plugins/Table/components/ToolbarButton.js +73 -0
- package/dist/cjs/plugins/Table/createTablePlugin.js +119 -0
- package/dist/cjs/plugins/Table/helpers.js +152 -0
- package/dist/cjs/plugins/Table/index.js +19 -0
- package/dist/cjs/plugins/Table/insertTableFragment.js +50 -0
- package/dist/cjs/plugins/Table/onKeyDownTable.js +62 -0
- package/dist/cjs/plugins/Table/tableTracking.js +64 -0
- package/dist/cjs/plugins/Text/__tests__/createTextPlugin.test.js +79 -0
- package/dist/cjs/plugins/Text/createTextPlugin.js +136 -0
- package/dist/cjs/plugins/Text/index.js +18 -0
- package/dist/cjs/plugins/Tracking/createTrackingPlugin.js +101 -0
- package/dist/cjs/plugins/Tracking/index.js +18 -0
- package/dist/cjs/plugins/Tracking/utils.js +64 -0
- package/dist/cjs/plugins/TrailingParagraph/index.js +20 -0
- package/dist/cjs/plugins/Voids/createVoidsPlugin.js +31 -0
- package/dist/cjs/plugins/Voids/index.js +18 -0
- package/dist/cjs/plugins/Voids/transformVoid.js +29 -0
- package/dist/cjs/plugins/index.js +76 -0
- package/dist/cjs/plugins/links-tracking.js +29 -0
- package/dist/cjs/plugins/shared/FetchingWrappedAssetCard.js +113 -0
- package/dist/cjs/plugins/shared/FetchingWrappedEntryCard.js +116 -0
- package/dist/cjs/plugins/shared/ToolbarButton.js +93 -0
- package/dist/cjs/plugins/shared/__tests__/FetchingWrappedAssetCard.test.js +107 -0
- package/dist/cjs/plugins/shared/__tests__/FetchingWrappedEntryCard.test.js +110 -0
- package/dist/cjs/prepareDocument.js +86 -0
- package/dist/cjs/test-utils/assertOutput.js +31 -0
- package/dist/cjs/test-utils/createEditor.js +31 -0
- package/dist/cjs/test-utils/hyperscript.d.js +1 -0
- package/dist/cjs/test-utils/index.js +21 -0
- package/dist/cjs/test-utils/jsx.js +159 -0
- package/dist/cjs/test-utils/mockPlugin.js +16 -0
- package/dist/cjs/test-utils/randomId.js +13 -0
- package/dist/cjs/test-utils/setEmptyDataAttribute.js +21 -0
- package/dist/cjs/test-utils/validation.js +127 -0
- package/dist/cjs/useOnValueChanged.js +58 -0
- package/dist/esm/ContentfulEditorProvider.js +29 -0
- package/dist/esm/RichTextEditor.js +108 -0
- package/dist/esm/RichTextEditor.styles.js +51 -0
- package/dist/esm/SdkProvider.js +7 -0
- package/dist/esm/Toolbar/_tests_/toolbar.test.js +104 -0
- package/dist/esm/Toolbar/components/EmbedEntityWidget.js +38 -0
- package/dist/esm/Toolbar/components/EmbeddedEntityDropdownButton.js +20 -0
- package/dist/esm/Toolbar/components/StickyToolbarWrapper.js +14 -0
- package/dist/esm/Toolbar/index.js +168 -0
- package/dist/esm/__fixtures__/FakeSdk.js +173 -0
- package/dist/esm/__fixtures__/asset/index.js +6 -0
- package/dist/esm/__fixtures__/content-type/index.js +2 -0
- package/dist/esm/__fixtures__/entry/index.js +5 -0
- package/dist/esm/__fixtures__/fixtures.js +6 -0
- package/dist/esm/__fixtures__/locale/index.js +15 -0
- package/dist/esm/__fixtures__/space/index.js +2 -0
- package/dist/esm/constants/Schema.js +162 -0
- package/dist/esm/dialogs/HypelinkDialog/HyperlinkDialog.js +283 -0
- package/dist/esm/dialogs/openRichTextDialog.js +15 -0
- package/dist/esm/dialogs/renderRichTextDialog.js +14 -0
- package/dist/esm/helpers/__tests__/extractNodes.test.js +295 -0
- package/dist/esm/helpers/__tests__/removeInternalMarks.test.js +48 -0
- package/dist/esm/helpers/__tests__/validations.test.js +45 -0
- package/dist/esm/helpers/editor.js +198 -0
- package/dist/esm/helpers/environment.js +2 -0
- package/dist/esm/helpers/extractNodes.js +17 -0
- package/dist/esm/helpers/formatDateAndTime.js +19 -0
- package/dist/esm/helpers/getLinkedContentTypeIdsForNodeType.js +9 -0
- package/dist/esm/helpers/newEntitySelectorConfigFromRichTextField.js +18 -0
- package/dist/esm/helpers/nodeFactory.js +24 -0
- package/dist/esm/helpers/removeInternalMarks.js +16 -0
- package/dist/esm/helpers/sanitizeIncomingSlateDoc.js +23 -0
- package/dist/esm/helpers/sdkNavigatorSlideIn.js +42 -0
- package/dist/esm/helpers/sdkNavigatorSlideIn.spec.js +200 -0
- package/dist/esm/helpers/transformers.js +34 -0
- package/dist/esm/helpers/validations.js +24 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/internal/constants.js +2 -0
- package/dist/esm/internal/hooks.js +5 -0
- package/dist/esm/internal/index.js +4 -0
- package/dist/esm/internal/misc.js +28 -0
- package/dist/esm/internal/queries.js +182 -0
- package/dist/esm/internal/transforms.js +75 -0
- package/dist/esm/internal/types/editor.js +1 -0
- package/dist/esm/internal/types/index.js +2 -0
- package/dist/esm/internal/types/plugins.js +1 -0
- package/dist/esm/plugins/Break/createExitBreakPlugin.js +16 -0
- package/dist/esm/plugins/Break/createExitBreakPlugin.test.js +32 -0
- package/dist/esm/plugins/Break/createResetNodePlugin.js +22 -0
- package/dist/esm/plugins/Break/createSoftBreakPlugin.js +13 -0
- package/dist/esm/plugins/Break/createSoftBreakPlugin.test.js +43 -0
- package/dist/esm/plugins/Break/index.js +3 -0
- package/dist/esm/plugins/CommandPalette/components/CommandList.js +113 -0
- package/dist/esm/plugins/CommandPalette/components/CommandList.styles.js +88 -0
- package/dist/esm/plugins/CommandPalette/components/CommandPrompt.js +20 -0
- package/dist/esm/plugins/CommandPalette/constants.js +1 -0
- package/dist/esm/plugins/CommandPalette/createCommandPalettePlugin.js +14 -0
- package/dist/esm/plugins/CommandPalette/hooks/useCommandList.js +84 -0
- package/dist/esm/plugins/CommandPalette/index.js +1 -0
- package/dist/esm/plugins/CommandPalette/onKeyDown.js +36 -0
- package/dist/esm/plugins/CommandPalette/onKeyDown.spec.js +40 -0
- package/dist/esm/plugins/CommandPalette/useCommands.js +204 -0
- package/dist/esm/plugins/CommandPalette/utils/createInlineEntryNode.js +20 -0
- package/dist/esm/plugins/CommandPalette/utils/fetchAssets.js +21 -0
- package/dist/esm/plugins/CommandPalette/utils/fetchEntries.js +29 -0
- package/dist/esm/plugins/CommandPalette/utils/insertBlock.js +32 -0
- package/dist/esm/plugins/CommandPalette/utils/trimLeadingSlash.js +6 -0
- package/dist/esm/plugins/DragAndDrop/index.js +44 -0
- package/dist/esm/plugins/EmbeddedEntityBlock/LinkedEntityBlock.js +79 -0
- package/dist/esm/plugins/EmbeddedEntityBlock/ToolbarIcon.js +49 -0
- package/dist/esm/plugins/EmbeddedEntityBlock/Util.js +85 -0
- package/dist/esm/plugins/EmbeddedEntityBlock/index.js +74 -0
- package/dist/esm/plugins/EmbeddedEntityInline/FetchingWrappedInlineEntryCard.js +104 -0
- package/dist/esm/plugins/EmbeddedEntityInline/Util.js +20 -0
- package/dist/esm/plugins/EmbeddedEntityInline/index.js +159 -0
- package/dist/esm/plugins/Heading/__tests__/createHeadingPlugin.test.js +113 -0
- package/dist/esm/plugins/Heading/components/Heading.js +73 -0
- package/dist/esm/plugins/Heading/components/ToolbarHeadingButton.js +119 -0
- package/dist/esm/plugins/Heading/createHeadingPlugin.js +87 -0
- package/dist/esm/plugins/Heading/index.js +2 -0
- package/dist/esm/plugins/Hr/index.js +125 -0
- package/dist/esm/plugins/Hyperlink/HyperlinkModal.js +220 -0
- package/dist/esm/plugins/Hyperlink/__tests__/createHyperlinkPlugin.test.js +21 -0
- package/dist/esm/plugins/Hyperlink/components/EntityHyperlink.js +44 -0
- package/dist/esm/plugins/Hyperlink/components/ToolbarHyperlinkButton.js +29 -0
- package/dist/esm/plugins/Hyperlink/components/UrlHyperlink.js +37 -0
- package/dist/esm/plugins/Hyperlink/components/styles.js +21 -0
- package/dist/esm/plugins/Hyperlink/createHyperlinkPlugin.js +125 -0
- package/dist/esm/plugins/Hyperlink/index.js +2 -0
- package/dist/esm/plugins/Hyperlink/useEntityInfo.js +85 -0
- package/dist/esm/plugins/Hyperlink/utils.js +25 -0
- package/dist/esm/plugins/List/__tests__/createListPlugin.test.js +43 -0
- package/dist/esm/plugins/List/__tests__/insertListBreak.test.js +73 -0
- package/dist/esm/plugins/List/__tests__/insertListFragment.test.js +60 -0
- package/dist/esm/plugins/List/components/List.js +46 -0
- package/dist/esm/plugins/List/components/ListItem.js +19 -0
- package/dist/esm/plugins/List/components/ToolbarListButton.js +37 -0
- package/dist/esm/plugins/List/createListPlugin.js +66 -0
- package/dist/esm/plugins/List/index.js +2 -0
- package/dist/esm/plugins/List/insertListBreak.js +50 -0
- package/dist/esm/plugins/List/insertListFragment.js +88 -0
- package/dist/esm/plugins/List/onKeyDownList.js +31 -0
- package/dist/esm/plugins/List/transforms/insertListItem.js +82 -0
- package/dist/esm/plugins/List/transforms/moveListItemDown.js +37 -0
- package/dist/esm/plugins/List/transforms/moveListItems.js +46 -0
- package/dist/esm/plugins/List/transforms/moveListItems.test.js +68 -0
- package/dist/esm/plugins/List/transforms/toggleList.js +132 -0
- package/dist/esm/plugins/List/transforms/toggleList.spec.js +135 -0
- package/dist/esm/plugins/List/transforms/unwrapList.js +28 -0
- package/dist/esm/plugins/List/utils.js +89 -0
- package/dist/esm/plugins/List/withList.js +22 -0
- package/dist/esm/plugins/Marks/Bold.js +59 -0
- package/dist/esm/plugins/Marks/Code.js +59 -0
- package/dist/esm/plugins/Marks/Italic.js +54 -0
- package/dist/esm/plugins/Marks/Subscript.js +46 -0
- package/dist/esm/plugins/Marks/Superscript.js +44 -0
- package/dist/esm/plugins/Marks/Underline.js +46 -0
- package/dist/esm/plugins/Marks/components/MarkToolbarButton.js +51 -0
- package/dist/esm/plugins/Marks/helpers.js +25 -0
- package/dist/esm/plugins/Marks/index.js +17 -0
- package/dist/esm/plugins/Normalizer/baseRules.js +28 -0
- package/dist/esm/plugins/Normalizer/createNormalizerPlugin.js +5 -0
- package/dist/esm/plugins/Normalizer/createNormalizerPlugin.test.js +113 -0
- package/dist/esm/plugins/Normalizer/index.js +2 -0
- package/dist/esm/plugins/Normalizer/types.js +1 -0
- package/dist/esm/plugins/Normalizer/utils.js +18 -0
- package/dist/esm/plugins/Normalizer/withNormalizer.js +73 -0
- package/dist/esm/plugins/Paragraph/Paragraph.js +16 -0
- package/dist/esm/plugins/Paragraph/__tests__/createParagraphPlugin.test.js +121 -0
- package/dist/esm/plugins/Paragraph/createParagraphPlugin.js +58 -0
- package/dist/esm/plugins/Paragraph/index.js +1 -0
- package/dist/esm/plugins/Paragraph/utils.js +6 -0
- package/dist/esm/plugins/PasteHTML/createPasteHTMLPlugin.js +42 -0
- package/dist/esm/plugins/PasteHTML/index.js +1 -0
- package/dist/esm/plugins/PasteHTML/utils/__tests__/sanitizeHTML.test.js +50 -0
- package/dist/esm/plugins/PasteHTML/utils/sanitizeAnchors.js +33 -0
- package/dist/esm/plugins/PasteHTML/utils/sanitizeHTML.js +40 -0
- package/dist/esm/plugins/PasteHTML/utils/sanitizeSheets.js +34 -0
- package/dist/esm/plugins/Quote/__test__/createQuotePlugin.test.js +74 -0
- package/dist/esm/plugins/Quote/components/Quote.js +15 -0
- package/dist/esm/plugins/Quote/components/ToolbarQuoteButton.js +23 -0
- package/dist/esm/plugins/Quote/createQuotePlugin.js +47 -0
- package/dist/esm/plugins/Quote/index.js +2 -0
- package/dist/esm/plugins/Quote/shouldResetQuote.js +30 -0
- package/dist/esm/plugins/Quote/toggleQuote.js +33 -0
- package/dist/esm/plugins/Quote/withQuote.js +38 -0
- package/dist/esm/plugins/SelectOnBackspace/createSelectOnBackspacePlugin.js +11 -0
- package/dist/esm/plugins/SelectOnBackspace/index.js +1 -0
- package/dist/esm/plugins/Table/__tests__/createTablePlugin.test.js +88 -0
- package/dist/esm/plugins/Table/__tests__/helpers.test.js +14 -0
- package/dist/esm/plugins/Table/actions/addColumn.js +45 -0
- package/dist/esm/plugins/Table/actions/addRow.js +39 -0
- package/dist/esm/plugins/Table/actions/index.js +3 -0
- package/dist/esm/plugins/Table/actions/setHeader.js +24 -0
- package/dist/esm/plugins/Table/components/Cell.js +25 -0
- package/dist/esm/plugins/Table/components/HeaderCell.js +28 -0
- package/dist/esm/plugins/Table/components/Row.js +15 -0
- package/dist/esm/plugins/Table/components/Table.js +22 -0
- package/dist/esm/plugins/Table/components/TableActions.js +118 -0
- package/dist/esm/plugins/Table/components/ToolbarButton.js +24 -0
- package/dist/esm/plugins/Table/createTablePlugin.js +109 -0
- package/dist/esm/plugins/Table/helpers.js +116 -0
- package/dist/esm/plugins/Table/index.js +2 -0
- package/dist/esm/plugins/Table/insertTableFragment.js +40 -0
- package/dist/esm/plugins/Table/onKeyDownTable.js +52 -0
- package/dist/esm/plugins/Table/tableTracking.js +46 -0
- package/dist/esm/plugins/Text/__tests__/createTextPlugin.test.js +75 -0
- package/dist/esm/plugins/Text/createTextPlugin.js +126 -0
- package/dist/esm/plugins/Text/index.js +1 -0
- package/dist/esm/plugins/Tracking/createTrackingPlugin.js +83 -0
- package/dist/esm/plugins/Tracking/index.js +1 -0
- package/dist/esm/plugins/Tracking/utils.js +10 -0
- package/dist/esm/plugins/TrailingParagraph/index.js +10 -0
- package/dist/esm/plugins/Voids/createVoidsPlugin.js +21 -0
- package/dist/esm/plugins/Voids/index.js +1 -0
- package/dist/esm/plugins/Voids/transformVoid.js +19 -0
- package/dist/esm/plugins/index.js +58 -0
- package/dist/esm/plugins/links-tracking.js +14 -0
- package/dist/esm/plugins/shared/FetchingWrappedAssetCard.js +59 -0
- package/dist/esm/plugins/shared/FetchingWrappedEntryCard.js +62 -0
- package/dist/esm/plugins/shared/ToolbarButton.js +39 -0
- package/dist/esm/plugins/shared/__tests__/FetchingWrappedAssetCard.test.js +59 -0
- package/dist/esm/plugins/shared/__tests__/FetchingWrappedEntryCard.test.js +62 -0
- package/dist/esm/prepareDocument.js +57 -0
- package/dist/esm/test-utils/assertOutput.js +21 -0
- package/dist/esm/test-utils/createEditor.js +21 -0
- package/dist/esm/test-utils/hyperscript.d.js +0 -0
- package/dist/esm/test-utils/index.js +4 -0
- package/dist/esm/test-utils/jsx.js +149 -0
- package/dist/esm/test-utils/mockPlugin.js +6 -0
- package/dist/esm/test-utils/randomId.js +3 -0
- package/dist/esm/test-utils/setEmptyDataAttribute.js +11 -0
- package/dist/esm/test-utils/validation.js +112 -0
- package/dist/esm/useOnValueChanged.js +43 -0
- package/dist/{ContentfulEditorProvider.d.ts → types/ContentfulEditorProvider.d.ts} +9 -9
- package/dist/{RichTextEditor.d.ts → types/RichTextEditor.d.ts} +21 -20
- package/dist/{RichTextEditor.styles.d.ts → types/RichTextEditor.styles.d.ts} +7 -7
- package/dist/{SdkProvider.d.ts → types/SdkProvider.d.ts} +7 -7
- package/dist/types/Toolbar/_tests_/toolbar.test.d.ts +1 -0
- package/dist/{Toolbar → types/Toolbar}/components/EmbedEntityWidget.d.ts +6 -5
- package/dist/{Toolbar → types/Toolbar}/components/EmbeddedEntityDropdownButton.d.ts +9 -9
- package/dist/{Toolbar → types/Toolbar}/components/StickyToolbarWrapper.d.ts +7 -7
- package/dist/types/Toolbar/index.d.ts +6 -0
- package/dist/types/__fixtures__/FakeSdk.d.ts +8 -0
- package/dist/types/__fixtures__/asset/index.d.ts +6 -0
- package/dist/types/__fixtures__/content-type/index.d.ts +2 -0
- package/dist/types/__fixtures__/entry/index.d.ts +5 -0
- package/dist/types/__fixtures__/fixtures.d.ts +6 -0
- package/dist/types/__fixtures__/locale/index.d.ts +42 -0
- package/dist/types/__fixtures__/space/index.d.ts +2 -0
- package/dist/{constants → types/constants}/Schema.d.ts +111 -111
- package/dist/{dialogs → types/dialogs}/HypelinkDialog/HyperlinkDialog.d.ts +63 -54
- package/dist/{dialogs → types/dialogs}/openRichTextDialog.d.ts +2 -2
- package/dist/{dialogs → types/dialogs}/renderRichTextDialog.d.ts +3 -2
- package/dist/types/helpers/__tests__/extractNodes.test.d.ts +1 -0
- package/dist/types/helpers/__tests__/removeInternalMarks.test.d.ts +2 -0
- package/dist/types/helpers/__tests__/validations.test.d.ts +1 -0
- package/dist/{helpers → types/helpers}/editor.d.ts +40 -40
- package/dist/{helpers → types/helpers}/environment.d.ts +2 -2
- package/dist/{helpers → types/helpers}/extractNodes.d.ts +5 -5
- package/dist/{helpers → types/helpers}/formatDateAndTime.d.ts +15 -15
- package/dist/{helpers → types/helpers}/getLinkedContentTypeIdsForNodeType.d.ts +26 -26
- package/dist/{helpers → types/helpers}/newEntitySelectorConfigFromRichTextField.d.ts +14 -14
- package/dist/{helpers → types/helpers}/nodeFactory.d.ts +24 -24
- package/dist/{helpers → types/helpers}/removeInternalMarks.d.ts +1 -1
- package/dist/{helpers → types/helpers}/sanitizeIncomingSlateDoc.d.ts +6 -6
- package/dist/{helpers → types/helpers}/sdkNavigatorSlideIn.d.ts +16 -16
- package/dist/types/helpers/sdkNavigatorSlideIn.spec.d.ts +1 -0
- package/dist/{helpers → types/helpers}/transformers.d.ts +7 -7
- package/dist/{helpers → types/helpers}/validations.d.ts +10 -10
- package/dist/{index.d.ts → types/index.d.ts} +4 -4
- package/dist/{internal → types/internal}/constants.d.ts +1 -1
- package/dist/{internal → types/internal}/hooks.d.ts +4 -4
- package/dist/{internal → types/internal}/index.d.ts +4 -4
- package/dist/{internal → types/internal}/misc.d.ts +37 -37
- package/dist/{internal → types/internal}/queries.d.ts +78 -78
- package/dist/{internal → types/internal}/transforms.d.ts +33 -33
- package/dist/types/internal/types/editor.d.ts +51 -0
- package/dist/{internal → types/internal}/types/index.d.ts +2 -2
- package/dist/{internal → types/internal}/types/plugins.d.ts +12 -12
- package/dist/{plugins → types/plugins}/Break/createExitBreakPlugin.d.ts +2 -2
- package/dist/types/plugins/Break/createExitBreakPlugin.test.d.ts +1 -0
- package/dist/{plugins → types/plugins}/Break/createResetNodePlugin.d.ts +2 -2
- package/dist/{plugins → types/plugins}/Break/createSoftBreakPlugin.d.ts +2 -2
- package/dist/types/plugins/Break/createSoftBreakPlugin.test.d.ts +1 -0
- package/dist/{plugins → types/plugins}/Break/index.d.ts +5 -5
- package/dist/{plugins → types/plugins}/CommandPalette/components/CommandList.d.ts +8 -7
- package/dist/{plugins → types/plugins}/CommandPalette/components/CommandList.styles.d.ts +14 -14
- package/dist/{plugins → types/plugins}/CommandPalette/components/CommandPrompt.d.ts +5 -4
- package/dist/{plugins → types/plugins}/CommandPalette/constants.d.ts +1 -1
- package/dist/{plugins → types/plugins}/CommandPalette/createCommandPalettePlugin.d.ts +13 -13
- package/dist/{plugins → types/plugins}/CommandPalette/hooks/useCommandList.d.ts +4 -4
- package/dist/{plugins → types/plugins}/CommandPalette/index.d.ts +1 -1
- package/dist/{plugins → types/plugins}/CommandPalette/onKeyDown.d.ts +2 -2
- package/dist/types/plugins/CommandPalette/onKeyDown.spec.d.ts +1 -0
- package/dist/{plugins → types/plugins}/CommandPalette/useCommands.d.ts +19 -19
- package/dist/{plugins → types/plugins}/CommandPalette/utils/createInlineEntryNode.d.ts +16 -16
- package/dist/{plugins → types/plugins}/CommandPalette/utils/fetchAssets.d.ts +8 -8
- package/dist/{plugins → types/plugins}/CommandPalette/utils/fetchEntries.d.ts +9 -9
- package/dist/{plugins → types/plugins}/CommandPalette/utils/insertBlock.d.ts +1 -1
- package/dist/{plugins → types/plugins}/CommandPalette/utils/trimLeadingSlash.d.ts +7 -7
- package/dist/{plugins → types/plugins}/DragAndDrop/index.d.ts +2 -2
- package/dist/{plugins → types/plugins}/EmbeddedEntityBlock/LinkedEntityBlock.d.ts +20 -19
- package/dist/{plugins → types/plugins}/EmbeddedEntityBlock/ToolbarIcon.d.ts +11 -10
- package/dist/{plugins → types/plugins}/EmbeddedEntityBlock/Util.d.ts +4 -4
- package/dist/{plugins → types/plugins}/EmbeddedEntityBlock/index.d.ts +5 -5
- package/dist/{plugins → types/plugins}/EmbeddedEntityInline/FetchingWrappedInlineEntryCard.d.ts +13 -13
- package/dist/{plugins → types/plugins}/EmbeddedEntityInline/Util.d.ts +16 -16
- package/dist/{plugins → types/plugins}/EmbeddedEntityInline/index.d.ts +10 -9
- package/dist/types/plugins/Heading/__tests__/createHeadingPlugin.test.d.ts +1 -0
- package/dist/{plugins → types/plugins}/Heading/components/Heading.d.ts +10 -10
- package/dist/{plugins → types/plugins}/Heading/components/ToolbarHeadingButton.d.ts +5 -4
- package/dist/{plugins → types/plugins}/Heading/createHeadingPlugin.d.ts +2 -2
- package/dist/{plugins → types/plugins}/Heading/index.d.ts +2 -2
- package/dist/{plugins → types/plugins}/Hr/index.d.ts +11 -11
- package/dist/{plugins → types/plugins}/Hyperlink/HyperlinkModal.d.ts +17 -16
- package/dist/types/plugins/Hyperlink/__tests__/createHyperlinkPlugin.test.d.ts +1 -0
- package/dist/{plugins → types/plugins}/Hyperlink/components/EntityHyperlink.d.ts +21 -20
- package/dist/{plugins → types/plugins}/Hyperlink/components/ToolbarHyperlinkButton.d.ts +6 -5
- package/dist/{plugins → types/plugins}/Hyperlink/components/UrlHyperlink.d.ts +22 -21
- package/dist/{plugins → types/plugins}/Hyperlink/components/styles.d.ts +4 -4
- package/dist/{plugins → types/plugins}/Hyperlink/createHyperlinkPlugin.d.ts +3 -3
- package/dist/{plugins → types/plugins}/Hyperlink/index.d.ts +2 -2
- package/dist/{plugins → types/plugins}/Hyperlink/useEntityInfo.d.ts +16 -16
- package/dist/{plugins → types/plugins}/Hyperlink/utils.d.ts +5 -5
- package/dist/types/plugins/List/__tests__/createListPlugin.test.d.ts +1 -0
- package/dist/types/plugins/List/__tests__/insertListBreak.test.d.ts +1 -0
- package/dist/types/plugins/List/__tests__/insertListFragment.test.d.ts +1 -0
- package/dist/{plugins → types/plugins}/List/components/List.d.ts +4 -3
- package/dist/{plugins → types/plugins}/List/components/ListItem.d.ts +3 -2
- package/dist/{plugins → types/plugins}/List/components/ToolbarListButton.d.ts +5 -4
- package/dist/{plugins → types/plugins}/List/createListPlugin.d.ts +2 -2
- package/dist/{plugins → types/plugins}/List/index.d.ts +2 -2
- package/dist/{plugins → types/plugins}/List/insertListBreak.d.ts +2 -2
- package/dist/{plugins → types/plugins}/List/insertListFragment.d.ts +2 -2
- package/dist/{plugins → types/plugins}/List/onKeyDownList.d.ts +7 -7
- package/dist/{plugins → types/plugins}/List/transforms/insertListItem.d.ts +5 -5
- package/dist/{plugins → types/plugins}/List/transforms/moveListItemDown.d.ts +6 -6
- package/dist/{plugins → types/plugins}/List/transforms/moveListItems.d.ts +6 -6
- package/dist/types/plugins/List/transforms/moveListItems.test.d.ts +1 -0
- package/dist/{plugins → types/plugins}/List/transforms/toggleList.d.ts +4 -4
- package/dist/types/plugins/List/transforms/toggleList.spec.d.ts +1 -0
- package/dist/{plugins → types/plugins}/List/transforms/unwrapList.d.ts +4 -4
- package/dist/{plugins → types/plugins}/List/utils.d.ts +14 -14
- package/dist/{plugins → types/plugins}/List/withList.d.ts +2 -2
- package/dist/{plugins → types/plugins}/Marks/Bold.d.ts +11 -10
- package/dist/{plugins → types/plugins}/Marks/Code.d.ts +17 -16
- package/dist/{plugins → types/plugins}/Marks/Italic.d.ts +11 -10
- package/dist/{plugins → types/plugins}/Marks/Subscript.d.ts +17 -16
- package/dist/{plugins → types/plugins}/Marks/Superscript.d.ts +17 -16
- package/dist/{plugins → types/plugins}/Marks/Underline.d.ts +11 -10
- package/dist/{plugins → types/plugins}/Marks/components/MarkToolbarButton.d.ts +13 -13
- package/dist/{plugins → types/plugins}/Marks/helpers.d.ts +4 -4
- package/dist/{plugins → types/plugins}/Marks/index.d.ts +2 -2
- package/dist/{plugins → types/plugins}/Normalizer/baseRules.d.ts +2 -2
- package/dist/{plugins → types/plugins}/Normalizer/createNormalizerPlugin.d.ts +2 -2
- package/dist/types/plugins/Normalizer/createNormalizerPlugin.test.d.ts +1 -0
- package/dist/{plugins → types/plugins}/Normalizer/index.d.ts +2 -2
- package/dist/{plugins → types/plugins}/Normalizer/types.d.ts +38 -38
- package/dist/{plugins → types/plugins}/Normalizer/utils.d.ts +5 -5
- package/dist/{plugins → types/plugins}/Normalizer/withNormalizer.d.ts +2 -2
- package/dist/types/plugins/Paragraph/Paragraph.d.ts +3 -0
- package/dist/types/plugins/Paragraph/__tests__/createParagraphPlugin.test.d.ts +1 -0
- package/dist/{plugins → types/plugins}/Paragraph/createParagraphPlugin.d.ts +2 -2
- package/dist/{plugins → types/plugins}/Paragraph/index.d.ts +1 -1
- package/dist/{plugins → types/plugins}/Paragraph/utils.d.ts +2 -2
- package/dist/{plugins → types/plugins}/PasteHTML/createPasteHTMLPlugin.d.ts +8 -8
- package/dist/{plugins → types/plugins}/PasteHTML/index.d.ts +1 -1
- package/dist/types/plugins/PasteHTML/utils/__tests__/sanitizeHTML.test.d.ts +1 -0
- package/dist/{plugins → types/plugins}/PasteHTML/utils/sanitizeAnchors.d.ts +19 -19
- package/dist/{plugins → types/plugins}/PasteHTML/utils/sanitizeHTML.d.ts +1 -1
- package/dist/{plugins → types/plugins}/PasteHTML/utils/sanitizeSheets.d.ts +4 -4
- package/dist/types/plugins/Quote/__test__/createQuotePlugin.test.d.ts +1 -0
- package/dist/types/plugins/Quote/components/Quote.d.ts +3 -0
- package/dist/{plugins → types/plugins}/Quote/components/ToolbarQuoteButton.d.ts +5 -4
- package/dist/{plugins → types/plugins}/Quote/createQuotePlugin.d.ts +2 -2
- package/dist/{plugins → types/plugins}/Quote/index.d.ts +2 -2
- package/dist/{plugins → types/plugins}/Quote/shouldResetQuote.d.ts +8 -8
- package/dist/{plugins → types/plugins}/Quote/toggleQuote.d.ts +4 -4
- package/dist/{plugins → types/plugins}/Quote/withQuote.d.ts +2 -2
- package/dist/{plugins → types/plugins}/SelectOnBackspace/createSelectOnBackspacePlugin.d.ts +2 -2
- package/dist/{plugins → types/plugins}/SelectOnBackspace/index.d.ts +1 -1
- package/dist/types/plugins/Table/__tests__/createTablePlugin.test.d.ts +1 -0
- package/dist/types/plugins/Table/__tests__/helpers.test.d.ts +1 -0
- package/dist/{plugins → types/plugins}/Table/actions/addColumn.d.ts +7 -7
- package/dist/{plugins → types/plugins}/Table/actions/addRow.d.ts +3 -3
- package/dist/{plugins → types/plugins}/Table/actions/index.d.ts +3 -3
- package/dist/{plugins → types/plugins}/Table/actions/setHeader.d.ts +2 -2
- package/dist/types/plugins/Table/components/Cell.d.ts +3 -0
- package/dist/{plugins → types/plugins}/Table/components/HeaderCell.d.ts +3 -2
- package/dist/types/plugins/Table/components/Row.d.ts +3 -0
- package/dist/{plugins → types/plugins}/Table/components/Table.d.ts +3 -2
- package/dist/types/plugins/Table/components/TableActions.d.ts +5 -0
- package/dist/{plugins → types/plugins}/Table/components/ToolbarButton.d.ts +5 -4
- package/dist/{plugins → types/plugins}/Table/createTablePlugin.d.ts +2 -2
- package/dist/{plugins → types/plugins}/Table/helpers.d.ts +15 -15
- package/dist/{plugins → types/plugins}/Table/index.d.ts +2 -2
- package/dist/{plugins → types/plugins}/Table/insertTableFragment.d.ts +3 -3
- package/dist/{plugins → types/plugins}/Table/onKeyDownTable.d.ts +2 -2
- package/dist/{plugins → types/plugins}/Table/tableTracking.d.ts +4 -4
- package/dist/types/plugins/Text/__tests__/createTextPlugin.test.d.ts +2 -0
- package/dist/{plugins → types/plugins}/Text/createTextPlugin.d.ts +2 -2
- package/dist/{plugins → types/plugins}/Text/index.d.ts +1 -1
- package/dist/{plugins → types/plugins}/Tracking/createTrackingPlugin.d.ts +12 -12
- package/dist/{plugins → types/plugins}/Tracking/index.d.ts +1 -1
- package/dist/{plugins → types/plugins}/Tracking/utils.d.ts +2 -2
- package/dist/{plugins → types/plugins}/TrailingParagraph/index.d.ts +2 -2
- package/dist/{plugins → types/plugins}/Voids/createVoidsPlugin.d.ts +2 -2
- package/dist/{plugins → types/plugins}/Voids/index.d.ts +1 -1
- package/dist/{plugins → types/plugins}/Voids/transformVoid.d.ts +5 -5
- package/dist/{plugins → types/plugins}/index.d.ts +6 -6
- package/dist/{plugins → types/plugins}/links-tracking.d.ts +3 -3
- package/dist/{plugins → types/plugins}/shared/FetchingWrappedAssetCard.d.ts +14 -13
- package/dist/{plugins → types/plugins}/shared/FetchingWrappedEntryCard.d.ts +14 -13
- package/dist/{plugins → types/plugins}/shared/ToolbarButton.d.ts +12 -11
- package/dist/types/plugins/shared/__tests__/FetchingWrappedAssetCard.test.d.ts +1 -0
- package/dist/types/plugins/shared/__tests__/FetchingWrappedEntryCard.test.d.ts +1 -0
- package/dist/{prepareDocument.d.ts → types/prepareDocument.d.ts} +19 -19
- package/dist/{test-utils → types/test-utils}/assertOutput.d.ts +7 -7
- package/dist/{test-utils → types/test-utils}/createEditor.d.ts +31 -31
- package/dist/{test-utils → types/test-utils}/index.d.ts +4 -4
- package/dist/{test-utils → types/test-utils}/jsx.d.ts +28 -28
- package/dist/{test-utils → types/test-utils}/mockPlugin.d.ts +2 -2
- package/dist/{test-utils → types/test-utils}/randomId.d.ts +4 -4
- package/dist/{test-utils → types/test-utils}/setEmptyDataAttribute.d.ts +6 -6
- package/dist/{test-utils → types/test-utils}/validation.d.ts +1 -1
- package/dist/{useOnValueChanged.d.ts → types/useOnValueChanged.d.ts} +8 -8
- package/package.json +27 -21
- package/dist/Toolbar/index.d.ts +0 -5
- package/dist/field-editor-rich-text.cjs.development.js +0 -7133
- package/dist/field-editor-rich-text.cjs.development.js.map +0 -1
- package/dist/field-editor-rich-text.cjs.production.min.js +0 -163
- package/dist/field-editor-rich-text.cjs.production.min.js.map +0 -1
- package/dist/field-editor-rich-text.esm.js +0 -7123
- package/dist/field-editor-rich-text.esm.js.map +0 -1
- package/dist/index.js +0 -8
- package/dist/internal/types/editor.d.ts +0 -51
- package/dist/plugins/Paragraph/Paragraph.d.ts +0 -2
- package/dist/plugins/Quote/components/Quote.d.ts +0 -2
- package/dist/plugins/Table/components/Cell.d.ts +0 -2
- package/dist/plugins/Table/components/Row.d.ts +0 -2
- package/dist/plugins/Table/components/TableActions.d.ts +0 -4
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),n=e(t),i=require("@contentful/field-editor-reference"),o=require("@contentful/field-editor-shared"),l=require("@contentful/rich-text-types"),r=require("@udecode/plate-core"),a=require("emotion"),s=e(require("fast-deep-equal")),c=e(require("lodash/noop")),d=require("slate-react"),u=require("@udecode/plate-serializer-docx"),m=require("@udecode/plate-break"),p=require("@udecode/plate-reset-node"),E=require("react-popper"),y=require("@contentful/f36-components"),h=require("@contentful/f36-utils"),f=e(require("constate")),S=e(require("is-hotkey")),g=require("slate"),L=e(require("lodash/find")),C=e(require("lodash/flow")),T=e(require("lodash/get")),b=e(require("@contentful/f36-tokens")),I=require("@contentful/f36-icons"),k=require("@udecode/plate-list"),A=e(require("lodash/castArray")),N=require("@udecode/plate-basic-marks"),v=e(require("is-plain-obj")),D=require("@udecode/plate-paragraph"),B=require("@udecode/plate-select"),O=require("@udecode/plate-table"),R=require("@contentful/contentful-slatejs-adapter"),K=require("@contentful/rich-text-plain-text-renderer"),x=require("@udecode/plate-trailing-block"),w=e(require("lodash/debounce")),M=e(require("prop-types"));const _=d.useReadOnly,P=r.usePlateEditorRef,H=r.usePlateEditorState;function z(e){const{entry:t,field:n}=e;return`rich-text-editor-${t.getSys().id}-${n.id}-${n.locale}`}const F=t.createContext(""),q=F.Provider;function U(e){const n=t.useContext(F);if(e)return e;if(!n)throw new Error("could not find editor id. Please ensure the component is wrapped in <ContentfulEditorIdProvider> ");return n}function Y(e){const t=U(e);return H(t)}const G=(e,t)=>r.withoutNormalizing(e,t),$=(e,t)=>{r.focusEditor(e,t)},W=(e,t,n={exactMatch:!1,suppressThrow:!1})=>r.toSlatePoint(e,t,n);function V({sdk:e}){return t.useMemo(()=>e,[])}const[j,X]=f(V),Q=(e,t)=>r.getEditorString(e,t),Z=e=>r.isText(e),J=(e,t)=>r.getStartPoint(e,t),ee=(e,t)=>r.getBlockAbove(e,t),te=(e,t,n)=>r.getNodeEntry(e,t,n),ne=(e,t)=>r.getNodeEntries(e,t),ie=(e,t,n)=>r.getParentNode(e,t,n),oe=(e,t)=>r.someNode(e,t),le=e=>g.Text.isText(e[0])?[]:r.getChildren(e),re=(e,t)=>g.Node.get(e,t),ae=e=>r.isCollapsed(e),se=(e,t,n)=>r.getRange(e,t,n),ce=e=>g.Range.edges(e),de=e=>g.Range.end(e),ue=(e,t)=>r.getAboveNode(e,t),me=(e,t,n)=>r.getCommonNode(e,t,n),pe=(e,t)=>r.findNode(e,t),Ee=(e,t)=>r.isMarkActive(e,t),ye=e=>r.isEditor(e),he=e=>r.isElement(e),fe=(e,t)=>r.findNodePath(e,t),Se=(e,t)=>g.Path.isAncestor(e,t),ge=(e,t)=>r.isAncestorEmpty(e,t),Le=e=>g.Path.parent(e),Ce=e=>g.Path.next(e),Te=e=>g.Path.previous(e),be=e=>r.getLastChildPath(e),Ie=e=>r.isFirstChild(e),ke=(e,t)=>r.isLastChild(e,t),Ae=(e,t,n)=>r.match(e,t,n),Ne=(e,t)=>r.someHtmlElement(e,t),ve=(e,t)=>r.getPluginType(e,t),De=(e,t)=>r.setSelection(e,t),Be=(e,t)=>r.select(e,t),Oe=(e,t)=>r.moveSelection(e,t),Re=(e,t)=>r.collapseSelection(e,t),Ke=(e,t,n)=>{r.setNodes(e,t,n)},xe=(e,t,n)=>r.insertNodes(e,t,n),we=(e,t)=>r.splitNodes(e,t),Me=(e,t)=>r.liftNodes(e,t),_e=(e,t)=>r.unwrapNodes(e,t),Pe=(e,t,n)=>r.wrapNodes(e,t,n),He=(e,t,n)=>{r.removeMark(e,{key:t,at:n})},ze=(e,t,n)=>r.insertText(e,t,n),Fe=(e,t)=>{r.deleteText(e,t)},qe=(e,t)=>{r.removeNodes(e,t)},Ue=(e,t)=>{r.moveNodes(e,t)},Ye="undefined"!=typeof navigator&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),Ge=/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9.]+)(:?\s|$)/.test(navigator.userAgent),$e=[l.INLINES.HYPERLINK,l.INLINES.ENTRY_HYPERLINK,l.INLINES.ASSET_HYPERLINK];function We(e,t){const[n]=Array.from(ne(e,{match:e=>he(e)&&e.type===t}));return!!n}function Ve(e){return 1===e.length}function je(e,t,n){var i;if(!(n=n??(null==(i=e.selection)?void 0:i.focus.path)))return[];const o=Array.isArray(t)?t:[t];for(let t=0;t<n.length;t++){const i=te(e,n.slice(0,t+1));if(o.includes(i[0].type))return i}return[]}function Xe(e,t){if(!e)return!1;const[n]=je(e,t);return!!n}function Qe(e){Oe(e,{distance:1,unit:"offset"})}function Ze(e,t){xe(e,{type:l.BLOCKS.PARAGRAPH,children:[{text:""}],data:{},isVoid:!1},t)}function Je(e){if(!e)return!1;const[t]=Array.from(ne(e,{match:e=>!ye(e)&&he(e)&&$e.includes(e.type)}));return!!t}function et(e){_e(e,{match:e=>!ye(e)&&he(e)&&$e.includes(e.type)})}const tt=Object.values(l.INLINES),nt=e=>Z(e)||he(e)&&tt.includes(e.type),it=e=>{const t=window.scrollX,n=window.scrollY;$(e),Ye&&setTimeout((function(){window.scrollTo(t,n)}),0)};function ot(e,t,n){((e,t,n)=>{r.toggleNodeType(e,t,n)})(e,t,n),Ke(e,{data:{}})}const lt=[l.BLOCKS.DOCUMENT,l.BLOCKS.PARAGRAPH,"text"],rt=(e,t,n)=>{const i=((e,t)=>C(e=>L(e,t),e=>T(e,t))(e.validations))(e,t);return void 0===i||lt.concat(i).includes(n)},at=(e,t)=>rt(e,"enabledNodeTypes",t),st=(e,t)=>rt(e,"enabledMarks",t);async function ct(e,t,n){return(await e.space.getEntries({content_type:t.sys.id,query:n})).items.map(n=>{const i=o.entityHelpers.getEntityDescription({contentType:t,entity:n,localeCode:e.field.locale,defaultLocaleCode:e.locales.default}),l=o.entityHelpers.getEntryTitle({entry:n,contentType:t,localeCode:e.field.locale,defaultLocaleCode:e.locales.default,defaultTitle:"Untitled"});return{contentTypeName:t.name,displayTitle:l,id:n.sys.contentType.sys.id,description:i,entry:n}})}function dt(e,t,n){if(null==e||!e.selection)return;const i=((e,t)=>({type:e,data:{target:{sys:{id:t.sys.id,type:"Link",linkType:t.sys.type}}},children:[{text:""}],isVoid:!0}))(t,n);e.selection&&Q(e,e.selection.focus.path)?xe(e,i):Ke(e,i),it(e)}const ut=e=>{const[,t]=ue(e),n=se(e,t);Be(e,n.focus.path),He(e,"command-prompt",n),Fe(e)},mt=e=>{const[,t]=ue(e),n=se(e,t);n.focus.offset-n.anchor.offset>1&&Fe(e,{at:n.focus,distance:n.focus.offset-1,reverse:!0})};function pt(e){return{inlineAllowed:at(e.field,l.INLINES.EMBEDDED_ENTRY),entriesAllowed:at(e.field,l.BLOCKS.EMBEDDED_ENTRY),assetsAllowed:at(e.field,l.BLOCKS.EMBEDDED_ASSET)}}const Et={container:a.css({position:"absolute",zIndex:b.zIndexNotification,fontWeight:b.fontWeightNormal,fontStyle:"normal",fontFamily:b.fontStackPrimary,"ul, ol, dl":{listStyle:"none",marginLeft:0}}),menuPoper:a.css({zIndex:b.zIndexModal}),menuContent:a.css({width:"400px",maxHeight:"300px"}),menuList:a.css({overflow:"auto",maxHeight:"200px"}),menuItem:a.css({display:"block",width:"100%",background:"none",border:0,margin:0,outline:"none",fontSize:b.fontSizeM,lineHeight:b.lineHeightM,fontWeight:b.fontWeightNormal,position:"relative",textAlign:"left",padding:`${b.spacingXs} ${b.spacingM}`,wordBreak:"break-word",whiteSpace:"break-spaces",cursor:"pointer",hyphens:"auto",minWidth:"150px",textDecoration:"none",color:b.gray800,"&:hover":{backgroundColor:b.gray100},"&:disabled":{opacity:.5,cursor:"auto"}}),menuItemSelected:a.css({boxShadow:"inset "+b.glowPrimary,borderRadius:b.borderRadiusMedium}),menuDivider:a.css({border:"none",width:"100%",height:"1px",background:b.gray300,margin:b.spacingXs+" 0"}),menuHeader:a.css({zIndex:b.zIndexDefault,top:0,backgroundColor:b.gray100,padding:b.spacingM}),menuFooter:a.css({position:"sticky",bottom:0,backgroundColor:b.gray100,padding:b.spacingM}),footerList:a.css({listStyle:"none",color:b.gray600,fontSize:b.fontSizeM}),thumbnail:a.css({width:"30px",height:"30px",objectFit:"cover"})},yt=({commandGroup:e,selectedItem:n})=>t.createElement("section",{key:e.group},t.createElement(y.SectionHeading,{as:"h3",marginBottom:"spacingS",marginTop:"spacingS",marginLeft:"spacingM",marginRight:"spacingM"},e.group),e.commands.map(e=>t.createElement("button",{key:e.id,id:e.id,className:a.cx(Et.menuItem,{[Et.menuItemSelected]:e.id===n}),onClick:e.callback},e.label)),t.createElement("hr",{className:Et.menuDivider,"aria-orientation":"horizontal"})),ht=({command:e,selectedItem:n})=>t.createElement("button",{key:e.id,id:e.id,className:a.cx(Et.menuItem,{[Et.menuItemSelected]:e.id===n}),onClick:e.callback},t.createElement(y.Flex,{alignItems:"center",gap:"spacingS"},e.thumbnail&&t.createElement("img",{width:"30",height:"30",src:e.thumbnail,alt:"",className:Et.thumbnail}),t.createElement("span",null,e.label))),ft=({command:e})=>t.createElement("button",{key:e.id,id:e.id,className:Et.menuItem},e.label),St=({commandItems:e,selectedItem:n})=>t.createElement(t.Fragment,null,e.map(e=>"group"in e?t.createElement(yt,{commandGroup:e,selectedItem:n}):e.callback?t.createElement(ht,{command:e,selectedItem:n}):t.createElement(ft,{command:e}))),gt=({query:e,editor:n,textContainer:i})=>{const r=X(),a=t.useRef(null),s=E.usePopper(i,null==a?void 0:a.current,{placement:"bottom-start"}),c=((e,n,i)=>{const r=e.space.getCachedContentTypes(),{inlineAllowed:a,entriesAllowed:s,assetsAllowed:c}=function(e,t){const n=!Xe(t,l.BLOCKS.TABLE),{inlineAllowed:i,entriesAllowed:o,assetsAllowed:r}=pt(e);return{inlineAllowed:i,entriesAllowed:o&&n,assetsAllowed:r&&n}}(e,i),[d,u]=t.useState(()=>{const t=t=>({id:t.sys.id,label:"Embed "+t.name,callback:()=>{ct(e,t,n).then(e=>{mt(i),u(e.length?e.map(e=>({id:`${e.id}-${e.displayTitle.replace(/\W+/g,"-").toLowerCase()}`,label:e.displayTitle,callback:()=>{if(ut(i),i.selection){const t=i.selection;i.insertSoftBreak(),dt(i,l.BLOCKS.EMBEDDED_ENTRY,e.entry),Be(i,t),i.tracking.onCommandPaletteAction("insert",{nodeType:l.BLOCKS.EMBEDDED_ENTRY})}}})):[{id:"no-results",label:"No results"}])})}}),d=t=>({id:t.sys.id+"-inline",label:`Embed ${t.name} - Inline`,callback:()=>{ct(e,t,n).then(e=>{mt(i),u(e.length?e.map(e=>({id:`${e.id}-${e.displayTitle.replace(/\W+/g,"-").toLowerCase()}`,label:e.displayTitle,callback:()=>{const t={type:l.INLINES.EMBEDDED_ENTRY,children:[{text:""}],data:{target:{sys:{id:e.id,type:"Link",linkType:"Entry"}}}};ut(i),xe(i,t),i.insertText(""),i.tracking.onCommandPaletteAction("insert",{nodeType:l.INLINES.EMBEDDED_ENTRY})}})):[{id:"no-results",label:"No results"}])})}}),m=s||a?r.map(e=>({group:e.name,commands:s&&a?[t(e),d(e)]:s?[t(e)]:[d(e)]})):[];if(c){const t={group:"Assets",commands:[{id:"embed-asset",label:"Embed Asset",callback:()=>{(async function(e,t){return(await e.space.getAssets({query:t})).items.map(t=>({contentTypeName:"Asset",displayTitle:o.entityHelpers.getAssetTitle({asset:t,localeCode:e.field.locale,defaultLocaleCode:e.locales.default,defaultTitle:"Untitled"}),id:t.sys.id,entity:t,thumbnail:t.fields.file&&t.fields.file[e.field.locale]&&t.fields.file[e.field.locale].url+"?h=30"}))})(e,n).then(e=>{mt(i),u(e.length?e.map(e=>({id:`${e.id}-${e.displayTitle.replace(/\W+/g,"-").toLowerCase()}`,label:e.displayTitle,thumbnail:e.thumbnail,callback:()=>{if(ut(i),i.selection){const t=i.selection;i.insertSoftBreak(),dt(i,l.BLOCKS.EMBEDDED_ASSET,e.entity),Be(i,t),i.tracking.onCommandPaletteAction("insert",{nodeType:l.BLOCKS.EMBEDDED_ASSET})}}})):[{id:"no-results",label:"No results"}])})}}]};return[...m,t]}return m});return n?d.reduce((e,t)=>("group"in t?t.commands.filter(e=>e.label.toLowerCase().includes(n.toLowerCase())).length>0&&e.push(t):t.label.toLowerCase().includes(n.toLowerCase())&&e.push(t),e),[]):d})(r,e,n),{selectedItem:d,isOpen:u}=((e,n)=>{const[i,o]=t.useState(()=>e.length?"group"in e[0]?e[0].commands[0].id:e[0].id:""),[l,r]=t.useState(e.length>0);return t.useEffect(()=>{if(!n.current)return;const t=Array.from(n.current.querySelectorAll("button")),l=t.find(e=>e.id===i),r=l?t.indexOf(l):0;function a(e){if(S("up",e)){if(e.preventDefault(),0===r)return;o(t[r-1].id),t[r-1].scrollIntoView({block:"nearest",inline:"start"})}else if(S("down",e)){if(e.preventDefault(),r===t.length-1)return;o(t[r+1].id),t[r+1].scrollIntoView({block:"nearest",inline:"start"})}else S("enter",e)&&(e.preventDefault(),l&&(o(""),l.click()))}return!l&&t.length&&(o(t[0].id),t[0].scrollIntoView({block:"nearest",inline:"start"})),e.length&&window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[e,n,i]),t.useEffect(()=>{const e=e=>{n.current&&!n.current.contains(e.target)&&r(!1)};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[n]),{selectedItem:i,isOpen:l}})(c,a);return c.length?t.createElement("div",{className:Et.container,tabIndex:-1,contentEditable:!1},t.createElement("div",{role:"alert"},t.createElement(y.ScreenReaderOnly,null,"Richtext commands. Currently focused item: ",d,". Press ",t.createElement("kbd",null,"enter")," to select, ",t.createElement("kbd",null,"arrows")," to navigate, ",t.createElement("kbd",null,"escape")," to close.")),t.createElement(h.Portal,null,t.createElement("div",{"aria-hidden":!0,ref:a,className:Et.menuPoper,style:s.styles.popper,...s.attributes.popper},t.createElement(y.Popover,{isOpen:u,usePortal:!1,autoFocus:!1},t.createElement(y.Popover.Trigger,null,t.createElement("span",null)),t.createElement(y.Popover.Content,{className:Et.menuContent,testId:"rich-text-commands"},t.createElement("header",{className:Et.menuHeader},t.createElement(y.SectionHeading,{marginBottom:"none"},"Richtext commands")),t.createElement("div",{className:Et.menuList,"data-test-id":"rich-text-commands-list"},t.createElement(St,{commandItems:c,selectedItem:d})),t.createElement("footer",{className:Et.menuFooter},t.createElement(y.Stack,{as:"ul",margin:"none",padding:"none",spacing:"spacingS",className:Et.footerList},t.createElement("li",null,t.createElement("kbd",null,"↑"),t.createElement("kbd",null,"↓")," to navigate"),t.createElement("li",null,t.createElement("kbd",null,"↵")," to confirm"),t.createElement("li",null,t.createElement("kbd",null,"esc")," to close")))))))):null},Lt=e=>{const n=t.useMemo(()=>{return(t=e.text.text).startsWith("/")?t.slice(1):t;var t},[e.text.text]),i=e.editor,[o,l]=t.useState();return t.createElement("span",{ref:e=>{l(e)},...e.attributes},e.children,t.createElement(gt,{query:n,editor:i,textContainer:o}))};function Ct(){const e=[l.BLOCKS.EMBEDDED_ENTRY,l.BLOCKS.EMBEDDED_ASSET,l.BLOCKS.HR,l.INLINES.EMBEDDED_ENTRY],t={TABLE:[l.INLINES.EMBEDDED_ENTRY]};return{key:"DragAndDropPlugin",handlers:{onDrop:n=>i=>{const[o]=Array.from(ne(n,{match:t=>e.includes(t.type)}));if(!o)return!1;const[l]=o;if(!i.nativeEvent.target)return!1;const r=function(e){const t=[];for(t.push(e);e.parentNode;)t.unshift(e.parentNode),e=e.parentNode;return t}(i.nativeEvent.target).some(e=>{var n;return!(!t[e.nodeName]||null!=(n=t[e.nodeName])&&n.includes(l.type))});return r||n.history.undos.push([]),r}}}}function Tt(e){return function(t){const i=function(e){const t=U(void 0);return P(t)}(),o=n.useCallback(()=>null==i?void 0:i.tracking.onViewportAction("linkRendered"),[i]);return n.createElement(e,{...t,onEntityFetchComplete:o})}}const bt=t.memo(e=>void 0===e.asset?t.createElement(y.AssetCard,{size:"default",isLoading:!0}):"failed"===e.asset?t.createElement(i.MissingEntityCard,{entityType:"Asset",isDisabled:e.isDisabled,onRemove:e.onRemove}):t.createElement(i.WrappedAssetCard,{getEntityScheduledActions:e.loadEntityScheduledActions,size:"small",isSelected:e.isSelected,isDisabled:e.isDisabled,localeCode:e.locale,defaultLocaleCode:e.sdk.locales.default,asset:e.asset,onEdit:e.onEdit,onRemove:e.isDisabled?void 0:e.onRemove,isClickable:!1}),s);function It(e){const{onEntityFetchComplete:n}=e,{data:o,status:l}=i.useEntity("Asset",e.assetId),{getEntityScheduledActions:r}=i.useEntityLoader(),a=t.useCallback(()=>r("Asset",e.assetId),[r,e.assetId]);return t.useEffect(()=>{"success"===l&&(null==n||n())},[n,l]),t.createElement(bt,{asset:o,sdk:e.sdk,isDisabled:e.isDisabled,isSelected:e.isSelected,loadEntityScheduledActions:a,locale:e.locale,onEdit:e.onEdit,onRemove:e.onRemove})}bt.displayName="InternalAssetCard";const kt=t.memo(e=>{const{entry:n,sdk:o,loadEntityScheduledActions:l}=e;if(void 0===n)return t.createElement(y.EntryCard,{isLoading:!0});if("failed"===n)return t.createElement(i.MissingEntityCard,{entityType:"Entry",isDisabled:e.isDisabled,onRemove:e.onRemove});const r=o.space.getCachedContentTypes().find(e=>e.sys.id===n.sys.contentType.sys.id);return t.createElement(i.WrappedEntryCard,{size:"default",getAsset:e.sdk.space.getAsset,getEntityScheduledActions:l,isSelected:e.isSelected,isDisabled:e.isDisabled,localeCode:e.locale,defaultLocaleCode:e.sdk.locales.default,contentType:r,entry:n,onEdit:e.onEdit,onRemove:e.isDisabled?void 0:e.onRemove,isClickable:!1})},s);kt.displayName="ReferenceCard";const At=e=>{const{entryId:n,onEntityFetchComplete:o}=e,{data:l,status:r}=i.useEntity("Entry",n),{getEntityScheduledActions:a}=i.useEntityLoader(),s=t.useCallback(()=>a("Entry",n),[a,n]);return t.useEffect(()=>{"success"===r&&(null==o||o())},[o,r]),t.createElement(kt,{entry:l,sdk:e.sdk,locale:e.locale,isDisabled:e.isDisabled,isSelected:e.isSelected,onEdit:e.onEdit,onRemove:e.onRemove,loadEntityScheduledActions:s})},Nt={root:a.css({marginBottom:"1.25rem !important",display:"block"}),container:a.css({display:"inline-block",verticalAlign:"text-top",width:"100%"})};function vt(e){const{attributes:t,children:i,element:o,onEntityFetchComplete:l}=e,r=d.useSelected(),a=Y(),s=X(),c=d.useReadOnly(),{id:u,linkType:m}=o.data.target.sys,p=n.useCallback(()=>("Asset"===m?s.navigator.openAsset:s.navigator.openEntry)(u,{slideIn:!0}),[s,u,m]),E=n.useCallback(()=>{if(!a)return;const e=fe(a,o);qe(a,{at:e})},[a,o]);return n.createElement("div",{...t,className:Nt.root,"data-entity-type":m,"data-entity-id":u,contentEditable:!!Ge&&void 0,draggable:!!Ge||void 0},n.createElement("div",{contentEditable:!Ge&&void 0,draggable:!!Ge||void 0,className:Nt.container},"Entry"===m&&n.createElement(At,{sdk:s,entryId:u,locale:s.field.locale,isDisabled:c,isSelected:r,onRemove:E,onEdit:p,onEntityFetchComplete:l}),"Asset"===m&&n.createElement(It,{sdk:s,assetId:u,locale:s.field.locale,isDisabled:c,isSelected:r,onRemove:E,onEdit:p,onEntityFetchComplete:l})),i)}function Dt(e,t){return C(e=>L(e,"nodes"),e=>T(e,["nodes",t]),e=>L(e,"linkContentType"),e=>T(e,"linkContentType",[]))(e.validations)}function Bt(e,t){return{entityType:Ot(t),locale:e.locale||null,contentTypes:Dt(e,t)}}function Ot(e){const t=e.split("-");if(-1!==t.indexOf("entry"))return"Entry";if(-1!==t.indexOf("asset"))return"Asset";throw new Error(`RichText node type \`${e}\` has no associated \`entityType\``)}function Rt(e){const t=new Set;let n,i,o=!1;const l=()=>({wasClosed:o,isActive:!o&&i===n}),r=e.onSlideInNavigation(({oldSlideLevel:e,newSlideLevel:a})=>{void 0===n&&(n=e),i=a,a<n&&(o=!0,r(),t.clear()),l().isActive&&a!==e&&t.forEach(e=>e())});return{status:l,onActive:function(e){return o?c:(l().isActive&&e(),t.add(e),()=>t.delete(e))},unwatch:function(){r(),t.clear()}}}async function Kt(e,t,n,i){i("openCreateEmbedDialog",{nodeType:e});const{field:o,dialogs:a}=t,s=Bt(o,e),c="Asset"===s.entityType?a.selectSingleAsset:a.selectSingleEntry,d={...s,withCreate:!0},{selection:u}=n,m=Rt(t.navigator),p=await c(d);p?(Be(n,u),function(e,t,n){if(null==e||!e.selection)return;const i=((e,t)=>({type:e,data:{target:{sys:{id:t.sys.id,type:"Link",linkType:t.sys.type}}},children:[{text:""}],isVoid:!0}))(t,n);e.selection&&Q(e,e.selection.focus.path)?xe(e,i):Ke(e,i)}(n,e,p),function(e){const t=ue(e,{match:{type:[l.BLOCKS.EMBEDDED_ASSET,l.BLOCKS.EMBEDDED_ENTRY]}});if(!t)return;const n=t[1].length-1,i=((e,t)=>r.getLastNodeByLevel(e,t))(e,n),o=l.TEXT_CONTAINERS.includes((null==i?void 0:i[0].type)??"");0===n||o||Ze(e),Qe(e)}(n),i("insert",{nodeType:e})):i("cancelCreateEmbedDialog",{nodeType:e}),m.onActive(()=>{m.unwatch(),it(n)})}const xt=a.css({marginRight:"10px"});function wt({isDisabled:e,nodeType:t,onClose:i}){const o=Y(),l=X(),r=function(e){const t=e.toLowerCase().split("-");if(t.includes("entry"))return"Entry";if(t.includes("asset"))return"Asset";throw new Error(`Node type \`${e}\` has no associated \`entityType\``)}(t);return n.createElement(y.Menu.Item,{disabled:e,className:"rich-text__"+t+"-list-item",onClick:async e=>{e.preventDefault(),o&&(i(),await Kt(t,l,o,o.tracking.onToolbarAction))},testId:"toolbar-toggle-"+t},n.createElement(y.Flex,{alignItems:"center",flexDirection:"row"},n.createElement(y.Icon,{as:"Asset"===r?I.AssetIcon:I.EmbeddedEntryBlockIcon,className:"rich-text__embedded-entry-list-icon "+xt,variant:"secondary"}),n.createElement("span",null,r)))}const Mt={[l.BLOCKS.EMBEDDED_ENTRY]:"Entry",[l.BLOCKS.EMBEDDED_ASSET]:"Asset"};function _t(e,t){return(n,{options:{hotkey:i}})=>o=>{const[,l]=je(n,e);if(l){const e="Backspace"===o.key;("Delete"===o.key||e)&&(o.preventDefault(),qe(n,{at:l}))}else i&&S(i,o)&&Kt(e,t,n,n.tracking.onShortcutAction)}}const Pt=(e,t)=>n=>({key:e,type:e,isElement:!0,isVoid:!0,component:Tt(vt),options:{hotkey:t},handlers:{onKeyDown:_t(e,n)},deserializeHtml:{rules:[{validAttribute:{"data-entity-type":Mt[e]}}],withoutChildren:!0,getNode:t=>({type:e,children:[{text:""}],isVoid:!0,data:{target:{sys:{id:t.getAttribute("data-entity-id"),linkType:t.getAttribute("data-entity-type"),type:"Link"}}}})}}),Ht=Pt(l.BLOCKS.EMBEDDED_ENTRY,"mod+shift+e"),zt=Pt(l.BLOCKS.EMBEDDED_ASSET,"mod+shift+a"),{getEntryTitle:Ft,getEntryStatus:qt}=o.entityHelpers,Ut={scheduledIcon:a.css({verticalAlign:"text-bottom",marginRight:b.spacing2Xs})};function Yt(e){const{data:t,status:o}=i.useEntity("Entry",e.entryId),{getEntityScheduledActions:r}=i.useEntityLoader(),a=e.sdk.space.getCachedContentTypes(),{onEntityFetchComplete:s}=e,c=n.useMemo(()=>{if(t&&a)return a.find(e=>e.sys.id===t.sys.contentType.sys.id)},[a,t]);n.useEffect(()=>{"success"===o&&(null==s||s())},[o,s]);const d=c?c.name:"",u=n.useMemo(()=>Ft({entry:t,contentType:c,localeCode:e.sdk.field.locale,defaultLocaleCode:e.sdk.locales.default,defaultTitle:"Untitled"}),[t,c,e.sdk.field.locale,e.sdk.locales.default]);if("error"===o)return n.createElement(y.InlineEntryCard,{title:"Entry missing or inaccessible",testId:l.INLINES.EMBEDDED_ENTRY,isSelected:e.isSelected});if("loading"===o)return n.createElement(y.InlineEntryCard,{isLoading:!0});const m=qt(t.sys);return"deleted"===m?n.createElement(y.InlineEntryCard,{title:"Entry missing or inaccessible",testId:l.INLINES.EMBEDDED_ENTRY,isSelected:e.isSelected,actions:[n.createElement(y.MenuItem,{key:"remove",onClick:e.onRemove,testId:"delete"},"Remove")]}):n.createElement(y.InlineEntryCard,{testId:l.INLINES.EMBEDDED_ENTRY,isSelected:e.isSelected,title:`${d}: ${u}`,status:m,actions:[n.createElement(y.MenuItem,{key:"edit",onClick:e.onEdit},"Edit"),n.createElement(y.MenuItem,{key:"remove",onClick:e.onRemove,disabled:e.isDisabled,testId:"delete"},"Remove")]},n.createElement(i.ScheduledIconWithTooltip,{getEntityScheduledActions:()=>r("Entry",e.entryId),entityType:"Entry",entityId:t.sys.id},n.createElement(I.ClockIcon,{className:Ut.scheduledIcon,variant:"muted",testId:"scheduled-icon"})),n.createElement(y.Text,null,u))}function Gt(e){return{type:l.INLINES.EMBEDDED_ENTRY,children:[{text:""}],data:{target:{sys:{id:e,type:"Link",linkType:"Entry"}}}}}const $t={icon:a.css({marginRight:"10px"}),root:a.css({display:"inline-block",margin:"0 "+b.spacing2Xs,fontSize:"inherit",span:{userSelect:"none"}})};function Wt(e){const n=Y(),i=X(),o=d.useSelected(),{id:l}=e.element.data.target.sys,r=d.useReadOnly();return t.createElement("span",{...e.attributes,className:$t.root,"data-embedded-entity-inline-id":l,contentEditable:!!Ge&&void 0,draggable:!!Ge||void 0},t.createElement("span",{contentEditable:!Ge&&void 0,draggable:!!Ge||void 0},t.createElement(Yt,{sdk:i,entryId:l,isSelected:o,isDisabled:r,onRemove:function(){if(!n)return;const t=fe(n,e.element);qe(n,{at:t})},onEdit:function(){return i.navigator.openEntry(l,{slideIn:{waitForClose:!0}}).then(()=>{n&&it(n)})},onEntityFetchComplete:e.onEntityFetchComplete})),e.children)}async function Vt(e,t,n){n("openCreateEmbedDialog",{nodeType:l.INLINES.EMBEDDED_ENTRY});const i={...Bt(t.field,l.INLINES.EMBEDDED_ENTRY),withCreate:!0},{selection:o}=e,r=Rt(t.navigator),a=await t.dialogs.selectSingleEntry(i);a?(Be(e,o),xe(e,Gt(a.sys.id)),n("insert",{nodeType:l.INLINES.EMBEDDED_ENTRY})):n("cancelCreateEmbedDialog",{nodeType:l.INLINES.EMBEDDED_ENTRY}),r.onActive(()=>{r.unwatch(),it(e)})}function jt(e){const n=Y(),i=X();return t.createElement(y.Menu.Item,{disabled:e.isDisabled,className:"rich-text__entry-link-block-button",testId:"toolbar-toggle-"+l.INLINES.EMBEDDED_ENTRY,onClick:async function(t){t.preventDefault(),n&&(e.onClose(),await Vt(n,i,n.tracking.onToolbarAction),Qe(n))}},t.createElement(y.Flex,{alignItems:"center",flexDirection:"row"},t.createElement(I.EmbeddedEntryInlineIcon,{variant:"secondary",className:"rich-text__embedded-entry-list-icon "+$t.icon}),t.createElement("span",null,"Inline entry")))}function Xt(e){return{key:l.INLINES.EMBEDDED_ENTRY,type:l.INLINES.EMBEDDED_ENTRY,isElement:!0,isInline:!0,isVoid:!0,component:Tt(Wt),options:{hotkey:"mod+shift+2"},handlers:{onKeyDown:Qt(e)},deserializeHtml:{rules:[{validAttribute:"data-embedded-entity-inline-id"}],withoutChildren:!0,getNode:e=>Gt(e.getAttribute("data-embedded-entity-inline-id"))}}}function Qt(e){return function(t,{options:{hotkey:n}}){return function(i){t&&n&&S(n,i)&&Vt(t,e,t.tracking.onShortcutAction)}}}const Zt={dropdown:{root:a.css`
|
|
2
|
-
font-weight: ${b.fontWeightDemiBold};
|
|
3
|
-
`,[l.BLOCKS.PARAGRAPH]:a.css`
|
|
4
|
-
font-size: ${b.fontSizeL};
|
|
5
|
-
`,[l.BLOCKS.HEADING_1]:a.css`
|
|
6
|
-
font-size: 1.625rem;
|
|
7
|
-
`,[l.BLOCKS.HEADING_2]:a.css`
|
|
8
|
-
font-size: 1.4375rem;
|
|
9
|
-
`,[l.BLOCKS.HEADING_3]:a.css`
|
|
10
|
-
font-size: 1.25rem;
|
|
11
|
-
`,[l.BLOCKS.HEADING_4]:a.css`
|
|
12
|
-
font-size: 1.125rem;
|
|
13
|
-
`,[l.BLOCKS.HEADING_5]:a.css`
|
|
14
|
-
font-size: 1rem;
|
|
15
|
-
`,[l.BLOCKS.HEADING_6]:a.css`
|
|
16
|
-
font-size: 0.875rem;
|
|
17
|
-
`}},Jt={[l.BLOCKS.PARAGRAPH]:"Normal text",[l.BLOCKS.HEADING_1]:"Heading 1",[l.BLOCKS.HEADING_2]:"Heading 2",[l.BLOCKS.HEADING_3]:"Heading 3",[l.BLOCKS.HEADING_4]:"Heading 4",[l.BLOCKS.HEADING_5]:"Heading 5",[l.BLOCKS.HEADING_6]:"Heading 6"};function en(e){const n=X(),i=Y(),[o,r]=t.useState(!1),[s,c]=t.useState(l.BLOCKS.PARAGRAPH);t.useEffect(()=>{if(null==i||!i.selection)return;const[e]=function(e){return e.selection?Array.from(ne(e,{at:e.selection,match:e=>he(e)})).flat():[]}(i),t=e.type;c(Jt[t]?t:l.BLOCKS.PARAGRAPH)},[null==i?void 0:i.operations,null==i?void 0:i.selection]);const[d,u]=t.useMemo(()=>{const e=Object.fromEntries(Object.keys(Jt).map(e=>[e,at(n.field,e)]));return[e,Object.values(e).filter(Boolean).length>0]},[n.field]);return i?t.createElement(y.Menu,{isOpen:o,onClose:()=>r(!1)},t.createElement(y.Menu.Trigger,null,t.createElement(y.Button,{size:"small",testId:"toolbar-heading-toggle",variant:"transparent",endIcon:t.createElement(I.ChevronDownIcon,null),isDisabled:e.isDisabled,onClick:()=>u&&r(!o)},Jt[s])),t.createElement(y.Menu.List,{testId:"dropdown-heading-list"}," ",Object.keys(Jt).map(n=>{return d[n]&&t.createElement(y.Menu.Item,{key:n,isInitiallyFocused:s===n,onClick:(o=n,e=>{if(e.preventDefault(),null==i||!i.selection)return;c(o),r(!1);const t=i.onChange;i.onChange=(...e)=>{it(i),i.onChange=t,t(...e)};const n=We(i,o);i.tracking.onToolbarAction(n?"remove":"insert",{nodeType:o}),ot(i,{activeType:o,inactiveType:o})}),testId:"dropdown-option-"+n,disabled:e.isDisabled},t.createElement("span",{className:a.cx(Zt.dropdown.root,Zt.dropdown[n])},Jt[n]));var o}).filter(Boolean))):null}const tn=(e,[,t])=>{qe(e,{at:t})},nn=(e,t)=>{const n=t[1],i=function(e,t){return function(e,t,n){return Array.from(ne(e,{match:{type:l.TEXT_CONTAINERS},at:t,mode:"lowest"})).map(([e])=>e)}(e,t).map(e=>({...e,type:l.BLOCKS.PARAGRAPH}))}(e,n);tn(e,t),xe(e,i,{at:n})},on=(e,[,t])=>{_e(e,{at:t})},ln=e=>(t,[,n])=>{Pe(t,{type:e,data:{},children:[]},{at:n})},rn=(e,[,t])=>{Me(e,{at:t})},an={dropdown:{root:a.css`
|
|
18
|
-
font-weight: ${b.fontWeightDemiBold};
|
|
19
|
-
`,[l.BLOCKS.PARAGRAPH]:a.css`
|
|
20
|
-
font-size: ${b.fontSizeL};
|
|
21
|
-
`,[l.BLOCKS.HEADING_1]:a.css`
|
|
22
|
-
font-size: 1.625rem;
|
|
23
|
-
`,[l.BLOCKS.HEADING_2]:a.css`
|
|
24
|
-
font-size: 1.4375rem;
|
|
25
|
-
`,[l.BLOCKS.HEADING_3]:a.css`
|
|
26
|
-
font-size: 1.25rem;
|
|
27
|
-
`,[l.BLOCKS.HEADING_4]:a.css`
|
|
28
|
-
font-size: 1.125rem;
|
|
29
|
-
`,[l.BLOCKS.HEADING_5]:a.css`
|
|
30
|
-
font-size: 1rem;
|
|
31
|
-
`,[l.BLOCKS.HEADING_6]:a.css`
|
|
32
|
-
font-size: 0.875rem;
|
|
33
|
-
`},headings:{root:a.css`
|
|
34
|
-
font-weight: ${b.fontWeightMedium};
|
|
35
|
-
line-height: 1.3;
|
|
36
|
-
margin: 0 0 ${b.spacingS};
|
|
37
|
-
`,[l.BLOCKS.HEADING_1]:a.css`
|
|
38
|
-
font-size: 1.875rem;
|
|
39
|
-
`,[l.BLOCKS.HEADING_2]:a.css`
|
|
40
|
-
font-size: 1.5625rem;
|
|
41
|
-
`,[l.BLOCKS.HEADING_3]:a.css`
|
|
42
|
-
font-size: 1.375rem;
|
|
43
|
-
`,[l.BLOCKS.HEADING_4]:a.css`
|
|
44
|
-
font-size: 1.25rem;
|
|
45
|
-
`,[l.BLOCKS.HEADING_5]:a.css`
|
|
46
|
-
font-size: 1.125rem;
|
|
47
|
-
`,[l.BLOCKS.HEADING_6]:a.css`
|
|
48
|
-
font-size: 1rem;
|
|
49
|
-
`}};function sn(e,n){return function(i){return t.createElement(e,{...i.attributes,className:a.cx(an.headings.root,an.headings[n])},i.children)}}const cn={[l.BLOCKS.HEADING_1]:t.memo(sn("h1",l.BLOCKS.HEADING_1)),[l.BLOCKS.HEADING_2]:t.memo(sn("h2",l.BLOCKS.HEADING_2)),[l.BLOCKS.HEADING_3]:t.memo(sn("h3",l.BLOCKS.HEADING_3)),[l.BLOCKS.HEADING_4]:t.memo(sn("h4",l.BLOCKS.HEADING_4)),[l.BLOCKS.HEADING_5]:t.memo(sn("h5",l.BLOCKS.HEADING_5)),[l.BLOCKS.HEADING_6]:t.memo(sn("h6",l.BLOCKS.HEADING_6))},dn={button:a.css({height:"30px",width:"30px",marginLeft:b.spacing2Xs,marginRight:b.spacing2Xs}),tooltip:a.css({zIndex:Number(b.zIndexTooltip)})};function un(e){const{title:t,testId:i,isActive:o,children:l,className:r,isDisabled:s=!1}=e,c=n.createElement(y.Button,{className:a.cx(dn.button,r),isDisabled:s,startIcon:l,onClick:t=>{t.preventDefault(),e.onClick()},testId:i,variant:o?"secondary":"transparent",size:"small"});return t?n.createElement(y.Tooltip,{className:dn.tooltip,placement:"bottom",content:t},c):c}const mn={container:a.css`
|
|
50
|
-
margin: 0 0 ${b.spacingL};
|
|
51
|
-
`,hr:a.css`
|
|
52
|
-
margin: 0;
|
|
53
|
-
height: ${b.spacingM};
|
|
54
|
-
background: transparent;
|
|
55
|
-
position: relative;
|
|
56
|
-
border: 0;
|
|
57
|
-
user-select: none;
|
|
58
|
-
&:hover {
|
|
59
|
-
cursor: pointer;
|
|
60
|
-
}
|
|
61
|
-
&::after {
|
|
62
|
-
content: '';
|
|
63
|
-
position: absolute;
|
|
64
|
-
width: 100%;
|
|
65
|
-
height: 1px;
|
|
66
|
-
background: ${b.gray300};
|
|
67
|
-
top: 50%;
|
|
68
|
-
}
|
|
69
|
-
`,hrSelected:a.css`
|
|
70
|
-
&::after {
|
|
71
|
-
background: ${b.colorPrimary};
|
|
72
|
-
-webkit-box-shadow: 0px 0px 5px ${b.colorPrimary};
|
|
73
|
-
box-shadow: 0px 0px 5px ${b.colorPrimary};
|
|
74
|
-
}
|
|
75
|
-
`};function pn(e){return t=>{if(!e)return;const[,n]=je(e,l.BLOCKS.HR);if(n){const i="Delete"===t.key;("Backspace"===t.key||i)&&(t.preventDefault(),qe(e,{at:n}))}}}function En(e){const n=Y();return n?t.createElement(un,{title:"HR",isDisabled:e.isDisabled,onClick:function(){if(null==n||!n.selection)return;const e={type:l.BLOCKS.HR,data:{},children:[{text:""}],isVoid:!0};Q(n,n.selection.focus.path)?xe(n,e):Ke(n,e),function(e){Oe(e,{distance:1,unit:"line"})}(n),it(n)},testId:"hr-toolbar-button",isActive:We(n,l.BLOCKS.HR)},t.createElement(I.HorizontalRuleIcon,null)):null}function yn(e){const n=d.useSelected(),i=d.useFocused();return t.createElement("div",{...e.attributes,className:mn.container,"data-void-element":l.BLOCKS.HR},t.createElement("div",{draggable:!0,contentEditable:!1},t.createElement("hr",{className:a.cx(mn.hr,n&&i?mn.hrSelected:void 0)})),e.children)}const hn={removeSelectionLabel:a.css`
|
|
76
|
-
margin-left: ${b.spacingS};
|
|
77
|
-
`},fn={[l.INLINES.ENTRY_HYPERLINK]:"Entry",[l.INLINES.ASSET_HYPERLINK]:"Asset"},Sn={[l.INLINES.HYPERLINK]:"URL",[l.INLINES.ENTRY_HYPERLINK]:"Entry",[l.INLINES.ASSET_HYPERLINK]:"Asset"};function gn(e){const n=$e.filter(t=>at(e.sdk.field,t)),[o]=n,[r,a]=t.useState(e.linkText??""),[s,c]=t.useState(e.linkType??o),[d,u]=t.useState(e.linkTarget??""),[m,p]=t.useState(e.linkEntity??null);function E(e){const{id:t,type:n}=e.sys;return{sys:{id:t,type:"Link",linkType:n}}}return t.createElement(i.EntityProvider,{sdk:e.sdk},t.createElement(t.Fragment,null,t.createElement(y.ModalContent,null,t.createElement(y.Form,null,!e.linkType&&t.createElement(y.FormControl,{id:"link-text",isRequired:!0},t.createElement(y.FormControl.Label,null,"Link text"),t.createElement(y.TextInput,{testId:"link-text-input",name:"link-text",value:r,onChange:e=>a(e.target.value)})),n.length>1&&t.createElement(y.FormControl,{id:"link-type"},t.createElement(y.FormControl.Label,null,"Link type"),t.createElement(y.Select,{value:s,onChange:e=>c(e.target.value),testId:"link-type-input",isDisabled:e.readonly},n.map(e=>t.createElement(y.Select.Option,{key:e,value:e},Sn[e])))),s===l.INLINES.HYPERLINK&&t.createElement(y.FormControl,{id:"linkTarget",isRequired:!0},t.createElement(y.FormControl.Label,null,"Link target"),t.createElement(y.TextInput,{name:"linkTarget",value:d,onChange:e=>{p(null),u(e.target.value)},testId:"link-target-input",isDisabled:e.readonly}),t.createElement(y.FormControl.HelpText,null,"A protocol may be required, e.g. https://")),s!==l.INLINES.HYPERLINK&&t.createElement("div",null,t.createElement(y.FormLabel,{isRequired:!0,htmlFor:""},"Link target"," "),m&&m.sys.linkType===fn[s]?t.createElement(t.Fragment,null,!e.readonly&&t.createElement(y.TextLink,{testId:"entity-selection-link",onClick:function(e){e.preventDefault(),p(null)},className:hn.removeSelectionLabel},"Remove selection"),t.createElement("div",null,s===l.INLINES.ENTRY_HYPERLINK&&t.createElement(At,{sdk:e.sdk,locale:e.sdk.field.locale,entryId:m.sys.id,isDisabled:!0,isSelected:!1}),s===l.INLINES.ASSET_HYPERLINK&&t.createElement(It,{sdk:e.sdk,locale:e.sdk.field.locale,assetId:m.sys.id,isDisabled:!0,isSelected:!1}))):t.createElement("div",null,s===l.INLINES.ENTRY_HYPERLINK&&t.createElement(y.TextLink,{testId:"entity-selection-link",onClick:async function(){const t={locale:e.sdk.field.locale,contentTypes:Dt(e.sdk.field,l.INLINES.ENTRY_HYPERLINK)},n=await e.sdk.dialogs.selectSingleEntry(t);u(""),p(E(n))}},"Select entry"),s===l.INLINES.ASSET_HYPERLINK&&t.createElement(y.TextLink,{testId:"entity-selection-link",onClick:async function(){const t={locale:e.sdk.field.locale},n=await e.sdk.dialogs.selectSingleAsset(t);u(""),p(E(n))}},"Select asset"))))),t.createElement(y.ModalControls,null,t.createElement(y.Button,{type:"button",onClick:()=>e.onClose(null),variant:"secondary",testId:"cancel-cta",size:"small"},"Cancel"),t.createElement(y.Button,{type:"submit",variant:"positive",size:"small",isDisabled:e.readonly||!(s===l.INLINES.HYPERLINK?r&&d:Object.keys(fn).includes(s)&&r&&m),onClick:function(t){t.preventDefault(),e.onClose({linkText:r,linkType:s,linkTarget:d,linkEntity:m})},testId:"confirm-cta"},e.linkType?"Update":"Insert"))))}async function Ln(e,n,i,l){const a=(e=>r.isEditorReadOnly(e))(e),s=e.selection?{...e.selection}:void 0;if(!l&&!s)return;let c,d,u,m;const[p,E]=je(e,$e,l);p&&E&&(c=p.type,d=Q(e,E),u=p.data.uri||"",m=p.data.target);const y=l??s,h=d||(e.selection?Q(e,e.selection):""),f=Boolean(p&&E);i(f?"openEditHyperlinkDialog":"openCreateHyperlinkDialog");const S=await o.ModalDialogLauncher.openDialog({title:f?"Edit hyperlink":"Insert hyperlink",width:"large",shouldCloseOnEscapePress:!0,shouldCloseOnOverlayClick:!0,allowHeightOverflow:!0},({onClose:e})=>t.createElement(gn,{linkTarget:u,linkText:h,linkType:c,linkEntity:m,onClose:e,sdk:n,readonly:a}));if(Be(e,y),!S)return it(e),void i(f?"cancelEditHyperlinkDialog":"cancelCreateHyperlinkDialog");const{linkText:g,linkTarget:L,linkType:C,linkEntity:T}=S;G(e,()=>{!function(e,t){e.selection&&function(e,{text:t,url:n,target:i,type:o,path:l}){Je(e)&&!l&&et(e);const{selection:r}=e,a=r&&ae(r),s={type:o,data:{},children:a?[{text:t}]:[]};n&&(s.data={uri:n}),i&&(s.data={target:i}),l?(Ke(e,s,{at:l}),ze(e,t,{at:l}),Be(e,l)):a?xe(e,s):(Pe(e,s,{split:!0}),Fe(e),ze(e,t),Re(e,{edge:"end"}))}(e,t)}(e,{text:g,url:L,type:C,target:T,path:E})}),i(f?"edit":"insert",{nodeType:C,linkType:(null==T?void 0:T.sys.linkType)??"uri"}),it(e)}function Cn(e){const n=Y(),i=!(!n||!Je(n)),o=X();return n?t.createElement(un,{title:"Hyperlink",testId:"hyperlink-toolbar-button",onClick:async function(){n&&(i?(et(n),n.tracking.onToolbarAction("unlinkHyperlinks")):Ln(n,o,n.tracking.onToolbarAction))},isActive:i,isDisabled:e.isDisabled},t.createElement(I.LinkIcon,null)):null}const Tn=(e,t)=>{const[n,i]=t;return!r.isAncestorEmpty(e,n)&&""!==Q(e,i).trim()},bn={hyperlinkWrapper:a.css({display:"inline",position:"static",a:{fontSize:"inherit !important"}}),hyperlink:a.css({fontSize:"inherit !important",display:"inline !important","&:hover":{fill:b.gray900},"&:focus":{fill:b.gray900}})};function In(e){const n=Y(),l=X(),{target:r}=e.element.data,{onEntityFetchComplete:a}=e,s=function(e){const n=function({sdk:e,target:n,onEntityFetchComplete:i}){const[l,r]=t.useState({type:"loading"});return t.useEffect(()=>{var t,l;n&&async function({sdk:e,entityId:t,entityType:n,localeCode:i,defaultLocaleCode:l}){let r;const a="Entry"===n?e.space.getEntry:e.space.getAsset,s=await a(t);if(s.sys.contentType){const t=s.sys.contentType.sys.id;r=e.space.getCachedContentTypes().find(e=>e.sys.id===t)}const c="Entry"===n?o.entityHelpers.getEntryTitle({entry:s,contentType:r,localeCode:i,defaultLocaleCode:l,defaultTitle:"Untitled"}):o.entityHelpers.getAssetTitle({asset:s,localeCode:i,defaultLocaleCode:l,defaultTitle:"Untitled"}),d=o.entityHelpers.getEntityDescription({entity:s,contentType:r,localeCode:i,defaultLocaleCode:l});return{jobs:await e.space.getEntityScheduledActions(n,t),entity:s,entityTitle:c,entityDescription:d,entityStatus:o.entityHelpers.getEntryStatus(s.sys),contentTypeName:r?r.name:""}}({sdk:e,entityId:null==n||null==(t=n.sys)?void 0:t.id,entityType:null==n||null==(l=n.sys)?void 0:l.linkType,localeCode:e.field.locale,defaultLocaleCode:e.locales.default}).then(e=>{r({type:"success",data:e})}).catch(e=>{console.log(e),r({type:"error",error:e})}).finally(()=>{null==i||i()})},[e,n,i]),l}(e),{linkType:l}=e.target.sys;return"loading"===n.type?`Loading ${l.toLowerCase()}...`:"error"===n.type?l+" missing or inaccessible":function(e){if(!e)return"";const{entityTitle:t,contentTypeName:n,entityStatus:o,jobs:l}=e;var r;return`${n||"Asset"} "${("string"==typeof(r=t)&&r.length>60?r&&r.substr(0,61).replace(/(\s+\S(?=\S)|\s*)\.?.$/,"…"):r)||"Untitled"}", ${o} ${l.length>0?i.getScheduleTooltipContent({job:l[0],jobsCount:l.length}):""}`}(n.data)}({target:r,sdk:l,onEntityFetchComplete:a});return r?t.createElement(y.Tooltip,{content:s,targetWrapperClassName:bn.hyperlinkWrapper,placement:"bottom",maxWidth:"auto"},t.createElement(y.TextLink,{as:"a",onClick:function(e){if(e.preventDefault(),e.stopPropagation(),!n)return;const t=W(n,[e.target,0]);t&&Ln(n,l,n.tracking.onViewportAction,t.path)},className:bn.hyperlink,"data-link-type":r.sys.linkType,"data-link-id":r.sys.id},e.children)):null}function kn(e){const n=Y(),i=X(),{uri:o}=e.element.data;return t.createElement(y.Tooltip,{content:o,targetWrapperClassName:bn.hyperlinkWrapper,placement:"bottom",maxWidth:"auto"},t.createElement(y.TextLink,{as:"a",href:o,rel:"noopener noreferrer",onClick:function(e){if(e.preventDefault(),e.stopPropagation(),!n)return;const t=W(n,[e.target,0],{exactMatch:!1,suppressThrow:!1});Ln(n,i,n.tracking.onViewportAction,null==t?void 0:t.path)},className:bn.hyperlink},e.children))}const An=e=>"A"===e.nodeName&&"Entry"===e.getAttribute("data-link-type"),Nn=e=>"A"===e.nodeName&&"Asset"===e.getAttribute("data-link-type"),vn=e=>(t,{options:{hotkey:n}})=>i=>{t.selection&&(n&&!S(n,i)||(Je(t)?(et(t),t.tracking.onShortcutAction("unlinkHyperlinks")):Ln(t,e,t.tracking.onShortcutAction)))},Dn=e=>(t,n)=>({type:e,children:n.children,data:e===l.INLINES.HYPERLINK?{uri:t.getAttribute("href")}:{target:{sys:{id:t.getAttribute("data-link-id"),linkType:t.getAttribute("data-link-type"),type:"Link"}}}}),Bn=e=>{const t={isElement:!0,isInline:!0};return{key:"HyperlinkPlugin",options:{hotkey:"mod+k"},handlers:{onKeyDown:vn(e)},plugins:[{...t,key:l.INLINES.HYPERLINK,type:l.INLINES.HYPERLINK,component:kn,deserializeHtml:{rules:[{validNodeName:["A"]}],query:e=>{return!("A"!==(t=e).nodeName||!t.getAttribute("href")||"#"===t.getAttribute("href")||An(e)||Nn(e));var t},getNode:Dn(l.INLINES.HYPERLINK)}},{...t,key:l.INLINES.ENTRY_HYPERLINK,type:l.INLINES.ENTRY_HYPERLINK,component:Tt(In),deserializeHtml:{rules:[{validNodeName:["A"]}],query:e=>An(e),getNode:Dn(l.INLINES.ENTRY_HYPERLINK)}},{...t,key:l.INLINES.ASSET_HYPERLINK,type:l.INLINES.ASSET_HYPERLINK,component:Tt(In),deserializeHtml:{rules:[{validNodeName:["A"]}],query:e=>Nn(e),getNode:Dn(l.INLINES.ASSET_HYPERLINK)}}],normalizer:[{match:{type:[l.INLINES.HYPERLINK,l.INLINES.ASSET_HYPERLINK,l.INLINES.ENTRY_HYPERLINK]},validNode:Tn,transform:tn}]}},On=a.css`
|
|
78
|
-
padding: 0;
|
|
79
|
-
margin: 0 0 1.25rem 1.25rem;
|
|
80
|
-
|
|
81
|
-
div:first-child {
|
|
82
|
-
margin: 0;
|
|
83
|
-
line-height: ${b.lineHeightDefault};
|
|
84
|
-
}
|
|
85
|
-
`,Rn={[l.BLOCKS.UL_LIST]:a.css`
|
|
86
|
-
list-style-type: disc;
|
|
87
|
-
ul {
|
|
88
|
-
list-style-type: circle;
|
|
89
|
-
ul {
|
|
90
|
-
list-style-type: square;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
`,[l.BLOCKS.OL_LIST]:a.css`
|
|
94
|
-
list-style-type: decimal;
|
|
95
|
-
ol {
|
|
96
|
-
list-style-type: upper-alpha;
|
|
97
|
-
ol {
|
|
98
|
-
list-style-type: lower-roman;
|
|
99
|
-
ol {
|
|
100
|
-
list-style-type: lower-alpha;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
`};function Kn(e,n){return function(i){return t.createElement(e,{...i.attributes,className:a.cx(On,Rn[n])},i.children)}}const xn=Kn("ul",l.BLOCKS.UL_LIST),wn=Kn("ol",l.BLOCKS.OL_LIST),Mn=a.css`
|
|
105
|
-
margin: 0;
|
|
106
|
-
list-style: inherit;
|
|
107
|
-
margin-top: ${b.spacingXs};
|
|
108
|
-
|
|
109
|
-
ol,
|
|
110
|
-
ul {
|
|
111
|
-
margin: 0 0 0 ${b.spacingL};
|
|
112
|
-
}
|
|
113
|
-
`;function _n(e){return t.createElement("li",{...e.attributes,className:Mn},e.children)}const Pn=r.ELEMENT_DEFAULT;function Hn(e,t){return ne(e,{at:t,match:(e,t)=>he(e)&&e.type===l.BLOCKS.LIST_ITEM&&t.length>=2}).next().done}const zn=(e,{at:t}={})=>{G(e,()=>{do{Me(e,{at:t,match:e=>he(e)&&e.type===l.BLOCKS.LIST_ITEM,mode:"lowest"})}while(!Hn(e,t));_e(e,{at:t,match:{type:l.BLOCKS.LIST_ITEM},split:!1})})},Fn=[l.BLOCKS.UL_LIST,l.BLOCKS.OL_LIST],qn=(e,{type:t})=>G(e,()=>{var n;if(e.selection)if(ae(e.selection)||!((e,t)=>r.isRangeAcrossBlocks(e,void 0))(e)){const n=k.getListItemEntry(e);if(n){const{list:i}=n;i[0].type!==t?Ke(e,{type:t},{at:e.selection,match:e=>Fn.includes(e.type),mode:"lowest"}):zn(e)}else{Pe(e,{type:t,children:[],data:{}});const n=[...ne(e,{match:{type:ve(e,Pn)}})],i={type:l.BLOCKS.LIST_ITEM,children:[],data:{}};for(const[,t]of n)Pe(e,i,{at:t})}}else{const[r,a]=ce(e.selection),s=me(e,r.path,a.path);if(Fn.includes(s[0].type)||s[0].type===l.BLOCKS.LIST_ITEM){let r=s[0].type;var i,o;if(s[0].type===l.BLOCKS.LIST_ITEM&&(r=null==(i=ie(e,s[1]))||null==(o=i[0])?void 0:o.type),r!==t){const i=pe(e,{at:(n=e.selection,g.Range.start(n)),match:{type:Fn},mode:"lowest"}),o=pe(e,{at:de(e.selection),match:{type:Fn},mode:"lowest"});if(!i||!o)return;const l=Math.min(i[1].length,o[1].length);Ke(e,{type:t},{at:e.selection,match:(e,t)=>Fn.includes(e.type)&&t.length>=l,mode:"all"})}else zn(e)}else{const n=s[1].length;Array.from(ne(e,{mode:"all"})).filter(([,e])=>e.length===n+1).reverse().forEach(n=>{Fn.includes(n[0].type)?Ke(e,{type:t},{at:n[1]}):(Ke(e,{type:ve(e,k.ELEMENT_LIC)},{at:n[1]}),Pe(e,{type:l.BLOCKS.LIST_ITEM,children:[],data:{}},{at:n[1]}),Pe(e,{type:t,children:[],data:{}},{at:n[1]}))})}}}),Un=(e,{type:t,options:{hotkey:n}})=>i=>{if("Tab"===i.key&&e.selection&&ue(e,{at:e.selection,match:{type:t}}))return i.preventDefault(),void((e,{increase:t=!0,at:n=e.selection??void 0}={})=>{const i=ne(e,{at:n,match:{type:ve(e,k.ELEMENT_LIC)}}),o=Array.from(i);if(!o.length)return;const l=[],a=[];o.forEach(t=>{const n=t[1],i=Le(n);l.some(e=>{const t=Le(e);return Se(t,i)})||(l.push(n),a.push(((e,t)=>r.createPathRef(e,t))(e,n)))});const s=t?a:a.reverse();G(e,()=>{s.forEach(n=>{const i=n.unref();if(!i)return;const o=k.getListItemEntry(e,{at:i});o&&(t?((e,{list:t,listItem:n})=>{const[i]=t,[,o]=n;let l;try{l=Te(o)}catch(e){return}const a=te(e,l);if(a){const[,t]=a,n=Array.from((s=e,c=t,r.getNodeChildren(s,c,void 0))).find(([t,n])=>((e,t,n)=>r.match(e,t,n))(t,n,{type:k.getListTypes(e)})),l=Ce(be(n??a));G(e,()=>{n||Pe(e,{type:i.type,children:[],data:{}},{at:o}),Ue(e,{at:o,to:l})})}var s,c})(e,o):k.isListNested(e,o.list[1])&&k.moveListItemUp(e,o))})})})(e,{increase:!i.shiftKey});if(!n)return;const o=A(n);for(const n of o)S(n)(i)&&qn(e,{type:t})},Yn=e=>[l.BLOCKS.OL_LIST,l.BLOCKS.UL_LIST].includes(e.type),Gn=(e,[,t])=>{const[n]=ie(e,t)||[];return Yn(n)},$n=(e,[,t])=>{const[n]=((e,t)=>ue(e,{at:t,mode:"lowest",match:Yn})||[])(e,t);Pe(e,{type:(null==n?void 0:n.type)||l.BLOCKS.UL_LIST,children:[],data:{}},{at:t})},Wn=(e,t)=>0!==le(t).length,Vn=(e,[t])=>{if(1===t.children.length){const e=t.children[0];return!Z(e)&&!Yn(e)}return!0},jn=(e,[,t])=>{xe(e,[{type:l.BLOCKS.PARAGRAPH,data:{},children:[{text:""}]}],{at:t.concat([0])})},Xn=(e,t)=>{const[n,i]=t;qe(e,{at:i}),xe(e,n.children[0].children,{at:i})},Qn=(e,t)=>{const{selection:n}=e;if(!n)return!1;if(r.isExpanded(n)){const[i,o]=ce(n);if(me(e,i.path,o.path)[0].type===t)return!0}const i=ee(e,{match:{type:[l.BLOCKS.OL_LIST,l.BLOCKS.UL_LIST]},mode:"lowest"});return(null==i?void 0:i[0].type)===t},Zn=e=>[l.BLOCKS.UL_LIST,l.BLOCKS.OL_LIST].includes(e.type),Jn=l.LIST_ITEM_BLOCKS,ei=e=>{const{deleteForward:t,deleteFragment:n}=e;return e.deleteForward=n=>{k.deleteForwardList(e)||t(n)},e.deleteFragment=()=>{k.deleteFragmentList(e)||n()},e.insertBreak=(e=>{const{insertBreak:t}=e;return()=>{(e=>{if(!e.selection)return!1;const t=k.getListItemEntry(e,{});let n;if(t){const{list:i,listItem:o}=t,a=o[0].children[0];if(r.isBlockAboveEmpty(e)&&1===o[0].children.length&&l.TEXT_CONTAINERS.includes(a.type)&&(n=k.moveListItemUp(e,{list:i,listItem:o}),n))return!0}return!!p.onKeyDownResetNode(e,r.mockPlugin({options:{rules:[{types:[r.getPluginType(e,k.ELEMENT_LI)],defaultType:r.getPluginType(e,r.ELEMENT_DEFAULT),predicate:()=>!n&&r.isBlockAboveEmpty(e),onReset:e=>k.unwrapList(e)}]}}))(p.SIMULATE_BACKSPACE)||!(n||!(e=>{if(!e.selection)return!1;const t=ue(e,{match:{type:l.TEXT_CONTAINERS}});if(!t)return!1;const[,n]=t,i=ie(e,n);if(!i)return!1;const[o,a]=i;return o.type===l.BLOCKS.LIST_ITEM&&(G(e,()=>{if(!e.selection)return;const t=((e,t)=>r.isSelectionAtBlockStart(e,void 0))(e),i=((e,t)=>r.isSelectionAtBlockEnd(e,void 0))(e),o=t&&Ie(n),s=!t&&!i;s&&we(e);const c=o?a:Ce(a);xe(e,((e,t=!1)=>{let n=[];if(t){const t=(e=>r.getMarks(e))(e)||{};n=[{type:l.BLOCKS.PARAGRAPH,data:{},children:[{text:"",...t}]}]}return{type:l.BLOCKS.LIST_ITEM,data:{},children:n}})(e,!s),{at:c});const d=t?n:Ce(n),u=d[d.length-1]||0,m=c.concat([s?0:1]);o||((e,t)=>{r.moveChildren(e,t)})(e,{at:a,to:m,fromStartIndex:u}),Be(e,c),Re(e,{edge:"start"})}),!0)})(e))})(e)||t()}})(e),e.insertFragment=(e=>{const{insertFragment:t}=e;return n=>{if(!e.selection)return;if(r.findNode(e,{match:{type:l.BLOCKS.LIST_ITEM},mode:"lowest"})){const t=(e=>{const t=e[0];return l.TEXT_CONTAINERS.includes(t.type)?[...t.children,...e.slice(1)]:e})((e=>{if(1!==e.length)return e;const t=e[0];return t.type!==l.BLOCKS.LIST_ITEM||1!==t.children.length?e:t.children})(n.flatMap(e=>(e=>{if(!Zn(e))return[e];const t=Array.from(r.getNodeTexts(e,void 0)),n=t.reduce((t,n)=>Se(t[1],n[1])?t:me(e,n[1],t[1]),((e,t)=>{let n=Le(t[1]);for(;re(e,n).type!==l.BLOCKS.LIST_ITEM;)n=Le(n);return[re(e,n),n]})(e,t[0]));return Zn(n[0])?n[0].children:[n[0]]})(e))));let i=t.findIndex(t=>((e,t)=>r.isBlock(e,t))(e,t));i<0&&(i=t.length);const o=t.slice(0,i),a=t.slice(i);return xe(e,o,{at:e.selection,select:!0}),xe(e,a,{at:e.selection,select:!0})}const i=Zn(n[0])?[{text:""},...n]:n;return t(i)}})(e),e.normalizeNode=k.normalizeList(e,{validLiChildrenTypes:Jn}),e};function ti(e){const n=X(),i=Y();function o(e){return()=>{null!=i&&i.selection&&(qn(i,{type:e}),it(i))}}return i?t.createElement(t.Fragment,null,at(n.field,l.BLOCKS.UL_LIST)&&t.createElement(un,{title:"UL",testId:"ul-toolbar-button",onClick:o(l.BLOCKS.UL_LIST),isActive:Qn(i,l.BLOCKS.UL_LIST),isDisabled:e.isDisabled},t.createElement(I.ListBulletedIcon,null)),at(n.field,l.BLOCKS.OL_LIST)&&t.createElement(un,{title:"OL",testId:"ol-toolbar-button",onClick:o(l.BLOCKS.OL_LIST),isActive:Qn(i,l.BLOCKS.OL_LIST),isDisabled:e.isDisabled},t.createElement(I.ListNumberedIcon,null))):null}const ni=(e,t)=>{const n=[l.MARKS.SUPERSCRIPT,l.MARKS.SUBSCRIPT];((e,t)=>{r.toggleMark(e,t)})(e,{key:t,clear:n.includes(t)?n:[]})},ii=e=>(t,{options:{hotkey:n}})=>i=>{if(t.selection&&n&&S(n,i)){i.preventDefault();const n=Ee(t,e);t.tracking.onShortcutAction(n?"unmark":"mark",{markType:e}),ni(t,e)}},oi=a.css({backgroundColor:b.blue100,color:b.blue600}),li=({mark:e,title:n,icon:i})=>{const o=({isDisabled:o})=>{const l=Y(),r=t.useCallback(()=>{if(null==l||!l.selection)return;const t=Ee(l,e);l.tracking.onToolbarAction(t?"unmark":"mark",{markType:e}),ni(l,e),it(l)},[l]);return l?i?t.createElement(un,{title:n,testId:e+"-toolbar-button",onClick:r,isActive:Ee(l,e),isDisabled:o},i):t.createElement(y.Menu.Item,{onClick:r,disabled:o,className:a.cx({[oi]:Ee(l,e)}),testId:e+"-toolbar-button"},n):null};return o.displayName=e,o},ri=li({title:"Bold",mark:l.MARKS.BOLD,icon:t.createElement(I.FormatBoldIcon,null)}),ai={bold:a.css({fontWeight:600})};function si(e){return t.createElement("strong",{...e.attributes,className:ai.bold},e.children)}const ci=li({title:"Code",mark:l.MARKS.CODE,icon:t.createElement(I.CodeIcon,null)}),di=li({title:"Code",mark:l.MARKS.CODE}),ui={code:a.css({fontFamily:"monospace",fontSize:".9em"})};function mi(e){return t.createElement("code",{...e.attributes,className:ui.code},e.children)}const pi=li({title:"Italic",mark:l.MARKS.ITALIC,icon:t.createElement(I.FormatItalicIcon,null)}),Ei={italic:a.css({fontStyle:"italic"})};function yi(e){return t.createElement("em",{...e.attributes,className:Ei.italic},e.children)}const hi={subscript:a.css({verticalAlign:"sub",fontSize:"smaller"})},fi=li({title:"Subscript",mark:l.MARKS.SUBSCRIPT,icon:t.createElement(I.SubscriptIcon,{viewBox:"0 0 23 18"})}),Si=li({title:"Subscript",mark:l.MARKS.SUBSCRIPT});function gi(e){return t.createElement("sub",{...e.attributes,className:hi.subscript},e.children)}const Li={superscript:a.css({verticalAlign:"super",fontSize:"smaller"})},Ci=li({title:"Superscript",mark:l.MARKS.SUPERSCRIPT,icon:t.createElement(I.SuperscriptIcon,null)}),Ti=li({title:"Superscript",mark:l.MARKS.SUPERSCRIPT});function bi(e){return t.createElement("sup",{...e.attributes,className:Li.superscript},e.children)}const Ii=li({title:"Underline",mark:l.MARKS.UNDERLINE,icon:t.createElement(I.FormatUnderlinedIcon,null)});function ki(e){return t.createElement("u",{...e.attributes},e.children)}const Ai=e=>l.TEXT_CONTAINERS.includes(e.type),Ni=[{match:Z,validNode:(e,[,t])=>{var n;const i=null==(n=ie(e,t))?void 0:n[0];return!!i&&(Ai(i)||tt.includes(i.type)||e.isVoid(i))},transform:(e,t)=>ln(l.BLOCKS.PARAGRAPH)(e,t)},{match:{type:tt},validNode:(e,[,t])=>{var n;const i=null==(n=ie(e,t))?void 0:n[0];return!!i&&Ai(i)},transform:ln(l.BLOCKS.PARAGRAPH)}];class vi extends Error{}const Di=e=>(t,[n])=>he(n)&&e.includes(n.type),Bi=e=>{const t=e.default;if(!t)throw new vi("A default transformer MUST be provided");return(n,i)=>{const[o]=i,l=he(o)?o.type:"default";return(e[l]||t)(n,i)}},Oi=e=>{const t=Ni;for(const n of e.plugins){const{normalizer:i}=n;if(i)for(const o of i){const i={...o};if(!i.match&&!n.isElement)throw new vi("rule.match MUST be defined in a non-element plugin");if(i.match||(i.match={type:ve(e,n.key)}),v(i.transform)){if("validNode"in i)throw new vi("conditional transformations are not supported in validNode rules");i.transform=Bi({default:tn,...i.transform})}i.transform||(i.transform=tn),"validChildren"in i&&Array.isArray(i.validChildren)&&(i.validChildren=Di(i.validChildren)),t.push(i)}}const n=(t,n)=>{G(e,()=>{t(e,n)})},{normalizeNode:i}=e;return e.normalizeNode=o=>{const[l,r]=o,a=le(o);for(const i of t)if(Ae(l,r,i.match)){if("validNode"in i&&!i.validNode(e,o))return void n(i.transform,o);if("validChildren"in i){const t=i.validChildren,o=a.find(n=>!t(e,n));if(o)return void n(i.transform,o)}}return i(o)},e},Ri={[l.BLOCKS.PARAGRAPH]:a.css`
|
|
114
|
-
line-height: ${b.lineHeightDefault};
|
|
115
|
-
margin-bottom: 1.5em;
|
|
116
|
-
`};function Ki(e){return t.createElement("div",{...e.attributes,className:Ri[l.BLOCKS.PARAGRAPH]},e.children)}const xi=(e,{options:{hotkey:t}})=>n=>{e.selection&&t&&S(t,n)&&ot(e,{activeType:l.BLOCKS.PARAGRAPH,inactiveType:l.BLOCKS.PARAGRAPH})},wi=e=>{(e=>{const t=new Text(" "),n=e.parentNode;n&&(e.previousSibling&&n.insertBefore(t,e),e.nextSibling&&n.insertBefore(t,e.nextSibling))})(e),e.replaceWith(...Array.from(e.childNodes))},Mi=[e=>(e.querySelectorAll("style").forEach(e=>{e.remove()}),e),e=>{if(!["google-sheets-html-origin",'meta[content="Excel.Sheet"]','meta[content*="Microsoft Excel"]'].some(t=>!!e.querySelector(t)))return e;const t=e=>""===(e.textContent??"").trim(),n=Array.from(e.querySelectorAll("table"));for(const e of n){e.querySelectorAll("tr").forEach(e=>{t(e)&&e.remove()});const n=Array.from(e.querySelectorAll("tr"));let i=1;for(;;){const e=n.map(e=>e.querySelector(`th:nth-of-type(${i}), td:nth-of-type(${i})`)).filter(e=>!!e);if(0===e.length)break;e.every(e=>t(e))?e.forEach(e=>e.remove()):i+=1}}return e},e=>(e.querySelectorAll("meta").forEach(e=>e.remove()),e),e=>{const t=`a :not(${["b","strong","code","pre","em","i","sub","sup","u","span"].join(",")})`;return e.querySelectorAll(t).forEach(wi),e}];function _i(e){const t=e.parentElement;t&&"DIV"===t.tagName&&1===t.children.length&&(t.replaceWith(e),_i(e))}const Pi=e=>{const t=Mi.reduce((e,t)=>t(e),(new DOMParser).parseFromString(e,"text/html")),n=[e=>e.replace(/<(\/)?(table|thead|tbody|tr|td|th|caption|col|colgroup|ol|ul|li)(.*)>\s+<(\/)?(table|thead|tbody|tr|td|th|caption|col|colgroup|ol|ul|li)/g,"<$1$2$3><$4$5"),e=>e.replace(/(?:<[^>^/]*>)\s*(?:<\/[^>]*>)<\/(div|p|table|thead|tbody|tr|td|th|caption|col|colgroup|ol|ul|li)/g,"</$1"),e=>e.replace(/\s*<\/(div|p|table|thead|tbody|tr|td|th|caption|col|colgroup|ol|ul|li)/g,"</$1")];let i;do{i=t.body.innerHTML,t.body.innerHTML=n.reduce((e,t)=>t(e),t.body.innerHTML)}while(t.body.innerHTML!==i);return t.querySelectorAll("table").forEach(_i),t.body.innerHTML},Hi=/data-slate-fragment="(.+?)"/m,zi=a.css({margin:"0 0 1.3125rem",borderLeft:"6px solid "+b.gray200,paddingLeft:"0.875rem",fontStyle:"normal"});function Fi(e){return t.createElement("blockquote",{...e.attributes,className:zi},e.children)}const qi=e=>{const t=ue(e,{match:{type:l.TEXT_CONTAINERS},mode:"lowest"});if(!t)return!1;if(!ge(e,t[0]))return!1;const n=ee(e,{match:{type:l.BLOCKS.QUOTE},mode:"lowest"});return!!n&&!(!r.hasSingleChild(n[0])||!r.isLastChild(n,t[1]))};function Ui(e,t){if(!e.selection)return;const n=We(e,l.BLOCKS.QUOTE);null==t||t(n?"remove":"insert",{nodeType:l.BLOCKS.QUOTE}),G(e,()=>{e.selection&&(_e(e,{match:e=>he(e)&&e.type===l.BLOCKS.QUOTE,split:!0}),!n)&&Pe(e,{type:l.BLOCKS.QUOTE,data:{},children:[]})})}const Yi=(e,t)=>n=>{const{hotkey:i}=t.options;i&&S(i,n)&&(n.preventDefault(),Ui(e,e.tracking.onShortcutAction))},Gi=e=>{const{insertFragment:t}=e;return e.insertFragment=n=>{const i=n.length&&n[0],o=g.Element.isElement(i)&&i.type===l.BLOCKS.QUOTE,r=ue(e,{match:{type:l.TEXT_CONTAINERS}}),a=r&&""!==Q(e,r[1]);if(o&&a){const{selection:t}=e;(e=>!!e&&0!==g.Point.compare(e.anchor,e.focus))(t)&&Fe(e,{at:t});const i=ue(e,{match:{type:l.TEXT_CONTAINERS}});if(i&&""!==Q(e,i[1]))return void xe(e,n)}t(n)},e};function $i(e){const n=Y();return n?t.createElement(un,{title:"Blockquote",onClick:function(){n&&(Ui(n,n.tracking.onToolbarAction),it(n))},testId:"quote-toolbar-button",isDisabled:e.isDisabled,isActive:We(n,l.BLOCKS.QUOTE)},t.createElement(I.QuoteIcon,null)):null}const Wi=(e,t)=>{if(oe(e,{match:{type:l.BLOCKS.TABLE}})){const n=ue(e,{match:{type:l.BLOCKS.TABLE_ROW}});if(n){const[i,o]=n,l=t(o);xe(e,O.getEmptyRowNode(e,{header:!1,colCount:i.children.length}),{at:l,select:!0}),Be(e,J(e,l))}}},Vi=e=>{Wi(e,e=>Ce(e))},ji=e=>{Wi(e,e=>e)},Xi=(e,{header:t},n)=>{if(oe(e,{match:{type:l.BLOCKS.TABLE}})){const i=ue(e,{match:{type:[l.BLOCKS.TABLE_HEADER_CELL,l.BLOCKS.TABLE_CELL]}}),o=ue(e,{match:{type:l.BLOCKS.TABLE}});if(i&&o){const l=n(i[1]).slice(),r=l.length-2;o[0].children.forEach((n,i)=>{l[r]=i,xe(e,O.getEmptyCellNode(e,{header:t&&0===i}),{at:l,select:0===i})})}}},Qi=(e,t)=>{Xi(e,t,e=>Ce(e))},Zi=(e,t)=>{Xi(e,t,e=>e)},Ji=(e,t)=>{const[,n]=t,i=ie(e,n);if(!i)throw new Error("table rows must be wrapped in a table node");return Math.max(...le(i).map(e=>le(e).length))-le(t).length},eo=(e,t)=>0!==le(t).length,to=e=>he(e)&&e.type===l.BLOCKS.TABLE,no={topRight:a.css({position:"absolute",top:"6px",right:"5px"})},io=()=>{const e=Y(),t=_(),[i,o]=n.useState(!1),[r,a]=n.useState(!1),s=n.useCallback(()=>{o(!1)},[]);n.useEffect(()=>{a(Boolean(e&&function(e){const t=ue(e,{match:{type:l.BLOCKS.TABLE}});if(!t)return!1;const n=le(t)[0];return!!n&&le(n).every(([e])=>e.type===l.BLOCKS.TABLE_HEADER_CELL)}(e)))},[e]);const c=n.useMemo(()=>!!e&&!ue(e,{match:{type:l.BLOCKS.TABLE_HEADER_CELL}}),[e]),d=n.useCallback(()=>{if(s(),!e)return;const t=!r;a(t),((e,t)=>{const n=ue(e,{match:{type:l.BLOCKS.TABLE}});if(!n)return;const i=le(n)[0];i&&le(i).forEach(([,n])=>{Ke(e,{type:t?l.BLOCKS.TABLE_HEADER_CELL:l.BLOCKS.TABLE_CELL},{at:n})})})(e,t)},[e,s,r]),u=n.useCallback((t,n,i)=>()=>{if(null==e||!e.selection)return;s();const o=(e=>{const[t]=je(e,l.BLOCKS.TABLE);return t?function(e){var t;const n=e.children.length;if(!n)return null;const[i]=e.children;return{numRows:n,numColumns:null==(t=i.children)?void 0:t.length}}(t):null})(e);G(e,()=>{t(e,{header:r})}),e.tracking.onViewportAction(`${n}Table${"Table"===i?"":i}`,{tableSize:o})},[e,r,s]);return t?null:n.createElement(y.Menu,{placement:"left",isOpen:i,onOpen:()=>{o(!0)},onClose:s},n.createElement(y.Menu.Trigger,null,n.createElement(y.IconButton,{size:"small",variant:"transparent",tabIndex:-1,className:no.topRight,icon:n.createElement(I.ChevronDownIcon,null),"aria-label":"Open table menu",testId:"cf-table-actions-button"})),n.createElement(y.Menu.List,null,n.createElement(y.Menu.Item,{onClick:u(ji,"insert","Row"),disabled:!c},"Add row above"),n.createElement(y.Menu.Item,{onClick:u(Vi,"insert","Row")},"Add row below"),n.createElement(y.Menu.Item,{onClick:u(Zi,"insert","Column")},"Add column left"),n.createElement(y.Menu.Item,{onClick:u(Qi,"insert","Column")},"Add column right"),n.createElement(y.Menu.Divider,null),n.createElement(y.Menu.Item,{onClick:d},r?"Disable table header":"Enable table header"),n.createElement(y.Menu.Divider,null),n.createElement(y.Menu.Item,{onClick:u(O.deleteRow,"remove","Row")},"Delete row"),n.createElement(y.Menu.Item,{onClick:u(O.deleteColumn,"remove","Column")},"Delete column"),n.createElement(y.Menu.Item,{onClick:u(O.deleteTable,"remove","Table")},"Delete table")))},oo=a.css`
|
|
117
|
-
border: 1px solid ${b.gray400};
|
|
118
|
-
border-collapse: collapse;
|
|
119
|
-
padding: 10px 12px;
|
|
120
|
-
min-width: 48px;
|
|
121
|
-
position: relative;
|
|
122
|
-
vertical-align: top;
|
|
123
|
-
|
|
124
|
-
div:last-child {
|
|
125
|
-
margin-bottom: 0;
|
|
126
|
-
}
|
|
127
|
-
`,lo=e=>{const n=d.useSelected();return t.createElement("td",{...e.attributes,...e.element.data,className:oo},n&&t.createElement(io,null),e.children)},ro=a.css`
|
|
128
|
-
background-clip: padding-box;
|
|
129
|
-
background-color: ${b.gray200};
|
|
130
|
-
border: 1px solid ${b.gray400};
|
|
131
|
-
border-collapse: collapse;
|
|
132
|
-
padding: 10px 12px;
|
|
133
|
-
font-weight: ${b.fontWeightNormal};
|
|
134
|
-
text-align: left;
|
|
135
|
-
min-width: 48px;
|
|
136
|
-
position: relative;
|
|
137
|
-
|
|
138
|
-
div:last-child {
|
|
139
|
-
margin-bottom: 0;
|
|
140
|
-
}
|
|
141
|
-
`,ao=e=>{const n=d.useSelected();return t.createElement("th",{...e.attributes,...e.element.data,className:ro},n&&t.createElement(io,null),e.children)},so=a.css`
|
|
142
|
-
border: 1px solid ${b.gray400};
|
|
143
|
-
border-collapse: collapse;
|
|
144
|
-
|
|
145
|
-
&:hover td {
|
|
146
|
-
background-color: transparent !important;
|
|
147
|
-
}
|
|
148
|
-
`,co=e=>t.createElement("tr",{...e.attributes,className:so},e.children),uo=a.css`
|
|
149
|
-
margin-bottom: 1.5em;
|
|
150
|
-
border-collapse: collapse;
|
|
151
|
-
border-radius: 5px;
|
|
152
|
-
border-style: hidden;
|
|
153
|
-
box-shadow: 0 0 0 1px ${b.gray400};
|
|
154
|
-
width: 100%;
|
|
155
|
-
table-layout: fixed;
|
|
156
|
-
overflow: hidden;
|
|
157
|
-
`,mo=e=>t.createElement("div",{"data-block-type":l.BLOCKS.TABLE},t.createElement("table",{className:uo,...e.attributes},t.createElement("tbody",null,e.children))),po=e=>{var t,n;if(!he(e))return[e];if(e.type!==l.BLOCKS.TABLE||1!==(null==(t=e.children)?void 0:t.length))return[e];const i=e.children[0];return 1!==(null==i||null==(n=i.children)?void 0:n.length)?[e]:i.children[0].children},Eo=(e,t)=>{const n=O.onKeyDownTable(e,t);return t=>{const i=window.getSelection();var o,a;if(i&&(null==(o=i.anchorNode.attributes)||null==(a=o["data-block-type"])?void 0:a.value)===l.BLOCKS.TABLE){if("Enter"===t.key){const t=ue(e,{match:{type:l.BLOCKS.TABLE}});if(!t)return;const[,n]=t;Ze(e,{at:n,select:!0})}return t.preventDefault(),void t.stopPropagation()}if("Tab"===t.key&&!t.shiftKey){t.preventDefault();const i=O.getTableEntries(e,{});if(i){const{table:o,row:l,cell:r}=i,a=ke(l,r[1]);if(ke(o,l[1])&&a)return void Vi(e);n(t)}}"Escape"===t.key&&(e=>{r.blurEditor(e)})(e)}},yo=Object.values(l.INLINES).map(e=>({type:e}));var ho={document:{nodes:[{types:l.TOP_LEVEL_BLOCKS.map(e=>({type:e}))}]},blocks:{[l.BLOCKS.PARAGRAPH]:{nodes:[{match:[...yo,{object:"text"}]}]},[l.BLOCKS.HEADING_1]:{nodes:[{match:[...yo,{object:"text"}]}]},[l.BLOCKS.HEADING_2]:{nodes:[{match:[...yo,{object:"text"}]}]},[l.BLOCKS.HEADING_3]:{nodes:[{match:[...yo,{object:"text"}]}]},[l.BLOCKS.HEADING_4]:{nodes:[{match:[...yo,{object:"text"}]}]},[l.BLOCKS.HEADING_5]:{nodes:[{match:[...yo,{object:"text"}]}]},[l.BLOCKS.HEADING_6]:{nodes:[{match:[...yo,{object:"text"}]}]},...l.VOID_BLOCKS.reduce((e,t)=>({...e,[t]:{isVoid:!0}}),{}),[l.BLOCKS.QUOTE]:{nodes:[{match:[l.CONTAINERS[l.BLOCKS.QUOTE].map(e=>({type:e}))],min:1}],normalize:(e,t)=>{if("child_type_invalid"===t.code)return e.unwrapBlockByKey(t.node.key,l.BLOCKS.QUOTE)}}},inlines:{[l.INLINES.HYPERLINK]:{nodes:[{match:[{object:"text"}]}]},[l.INLINES.ENTRY_HYPERLINK]:{nodes:[{match:[{object:"text"}]}]},[l.INLINES.ASSET_HYPERLINK]:{nodes:[{match:[{object:"text"}]}]},[l.INLINES.EMBEDDED_ENTRY]:{isVoid:!0}}};function fo(e){const t=R.toContentfulDocument({document:e.children,schema:ho});return K.documentToPlainTextString(t).length}function So(e){const t=e.getData("text/html"),n=(new DOMParser).parseFromString(t,"text/html");return n.querySelector('[id*="docs-internal-guid"]')?"Google Docs":n.querySelector("google-sheets-html-origin")||n.querySelector("[data-sheets-value]")?"Google Spreadsheets":n.querySelector('meta[content*="Microsoft Excel"]')?"Microsoft Excel":n.querySelector('meta[content*="Microsoft Word"]')?"Microsoft Word":n.querySelector('[style*="Arial_MSFontService"]')&&(n.querySelector(".TextRun")||n.querySelector(".OutlineElement"))?"Microsoft Word Online":n.querySelector('meta[content="Cocoa HTML Writer"]')?"Apple Notes":n.querySelector('[style*="Slack-Lato, Slack-Fractions"]')?"Slack":"Unknown"}const go=e=>{const t={onViewportAction:(t,n={})=>e(t,{origin:"viewport-interaction",...n}),onShortcutAction:(t,n={})=>e(t,{origin:"shortcut",...n}),onShortcutOrViewportAction:(t,n={})=>e(t,{origin:"shortcut-or-viewport",...n}),onToolbarAction:(t,n={})=>e(t,{origin:"toolbar-icon",...n}),onCommandPaletteAction:(t,n={})=>e(t,{origin:"command-palette",...n})};return{key:"TrackingPlugin",withOverrides:e=>{const{insertData:n}=e;return e.tracking=t,e.insertData=i=>{if(0!==i.types.length){var o;const n=null==(o=window.getSelection())?void 0:o.toString().length,l=fo(e);setTimeout(()=>{const o=fo(e);t.onShortcutOrViewportAction("paste",{characterCountAfter:o,characterCountBefore:l,characterCountSelection:n,source:So(i)})})}n(i)},e}}};function Lo(e){return e.some(({type:e})=>e===l.BLOCKS.TABLE)}const Co=({type:e})=>e===l.BLOCKS.TABLE_HEADER_CELL,To=e=>(t,n)=>{const[i]=n;var o;return he(i)&&(null==(o=t.tracking)||o.onViewportAction("invalidTablePaste",{nodeType:i.type})),e(t,n)};function bo(e){const n=Y(),i=n&&function(e){return[O.ELEMENT_TABLE,O.ELEMENT_TH,O.ELEMENT_TR,O.ELEMENT_TD].some(t=>We(e,t))}(n);return n?t.createElement(un,{title:"Table",testId:"table-toolbar-button",onClick:async function(){n&&(n.tracking.onToolbarAction("insertTable"),function(e){const t={type:l.BLOCKS.TABLE,data:{},children:[O.getEmptyRowNode(e,{colCount:2,header:!0}),O.getEmptyRowNode(e,{colCount:2})]};if(xe(e,t),e.selection){const t=ee(e,{match:{type:l.BLOCKS.TABLE}});if(!t)return;((e,t)=>{r.selectEditor(e,t)})(e,{at:J(e,t[1])})}!function(e){const t=function(e){var t;if(e.selection)return(t=e.selection.focus.path,g.Path.levels(t,void 0)).find(e=>1===e.length)}(e);if(!t||Ie(t))return;const n=Te(t);if(!n)return;const[i]=ne(e,{at:n,match:e=>e.type===l.BLOCKS.PARAGRAPH});if(!i)return;const[o]=i;ge(e,o)&&(Ue(e,{at:t,to:n}),qe(e,{at:t}))}(e)}(n),it(n))},isActive:!!i,isDisabled:e.isDisabled},t.createElement(I.TableIcon,null)):null}function Io(e=[]){return{key:"TextPlugin",handlers:{onMouseUp:e=>()=>{e.selection&&De(e,((e,t,n)=>r.unhangRange(e,t,void 0))(e,e.selection))}},withOverrides:e=>{const{insertText:t}=e;e.insertText=n=>{const{selection:i}=e;if(i&&ae(i)){var o;const t=null==(o=ue(e,{match:t=>((e,t)=>r.isInline(e,t))(e,t),mode:"highest"}))?void 0:o[1];if(t&&((e,t,n)=>r.isEndPoint(e,t,n))(e,i.anchor,t)){const n=((e,t,n)=>r.getPointAfter(e,t,void 0))(e,t);De(e,{anchor:n,focus:n})}}return t(n)};const{deleteForward:n,deleteBackward:i}=e;return e.deleteBackward=t=>{ko(t,e,i)},e.deleteForward=t=>{ko(t,e,n)},function(e){e.insertTextData=t=>{const n=t.getData("text/plain");if(!n)return!1;const i=n.split(/\n{2}/);let o=!1;for(const t of i)/^(\r\n?|\n)$/.test(t)||(o&&we(e,{always:!0}),e.insertText(t),o=!0);return!0}}(e),e},normalizer:[{match:Z,transform:(t,[,n])=>{((e,t,n)=>{r.unsetNodes(e,t,n)})(t,e,{at:n})},validNode:(t,[n])=>!e.some(e=>e in n)}]}}function ko(e,t,n){const i=ue(t,{match:{type:l.TEXT_CONTAINERS}});if(i){const[o,a]=i,s=ge(t,o),c=1===a.length,d=t.children.length>1;if(s&&c&&d){qe(t,{at:a});const n=((e,t,n)=>r.getPointBefore(e,t,n))(t,t.selection,{unit:e});if(n){const[e]=ne(t,{match:e=>((e,t)=>r.queryNode(e,{allow:[l.BLOCKS.EMBEDDED_ASSET,l.BLOCKS.EMBEDDED_ENTRY,l.BLOCKS.HR]}))([e,n.path]),at:n});e&&Be(t,n)}}else n(e)}else n(e)}const Ao={deserializeAst:!0,deserializeHtml:!0,eventEditor:!0},No=e=>((null==e?void 0:e.content)||[]).length>0,vo=e=>function e(t=[]){return t.map(t=>{var n;return(e=>"text"in e)(t)?t:0===(null==(n=t.children)?void 0:n.length)?{...t,children:[{text:"",data:{}}]}:{...t,children:e(null==t?void 0:t.children)}})}(R.toSlatejsDocument({document:No(e)?e:l.EMPTY_DOCUMENT,schema:ho})),Do="1px solid "+b.gray400,Bo={root:a.css({position:"relative"}),editor:a.css({borderRadius:`0 0 ${b.borderRadiusMedium} ${b.borderRadiusMedium}`,border:Do,borderTop:0,padding:"20px",fontSize:b.spacingM,fontFamily:b.fontStackPrimary,minHeight:"400px",background:b.colorWhite,outline:"none",whiteSpace:"pre-wrap",overflowWrap:"break-word",webkitUserModify:"read-write-plaintext-only",a:{span:{cursor:"not-allowed","&:hover":{cursor:"not-allowed"}}},"ul > li > div":{margin:0}}),hiddenToolbar:a.css({borderTop:Do}),enabled:a.css({background:b.colorWhite,a:{span:{cursor:"pointer","&:hover":{cursor:"pointer"}}}}),disabled:a.css({background:b.gray100,cursor:"not-allowed"})};function Oo({children:e,isDisabled:n,isOpen:i,onClose:o,onToggle:l}){return t.createElement(y.Menu,{placement:"bottom-end",isOpen:i,onClose:o,onOpen:l},t.createElement(y.Menu.Trigger,null,t.createElement(y.Button,{endIcon:t.createElement(I.ChevronDownIcon,null),testId:"toolbar-entity-dropdown-toggle",variant:"secondary",size:"small",startIcon:t.createElement(I.PlusIcon,null),isDisabled:n},"Embed")),t.createElement(y.Menu.List,{className:"toolbar-entity-dropdown-list"},e))}const Ro=({isDisabled:e,canInsertBlocks:i})=>{const o=X(),r=Y(),[a,s]=t.useState(!1),c=()=>s(!1),d=at(o.field,l.INLINES.EMBEDDED_ENTRY),u=at(o.field,l.BLOCKS.EMBEDDED_ENTRY)&&i,m=at(o.field,l.BLOCKS.EMBEDDED_ASSET)&&i,p=n.createElement(n.Fragment,null,u&&n.createElement(wt,{isDisabled:!!e,nodeType:l.BLOCKS.EMBEDDED_ENTRY,onClose:c}),d&&n.createElement(jt,{isDisabled:!!e||Je(r),onClose:c}),m&&n.createElement(wt,{isDisabled:!!e,nodeType:l.BLOCKS.EMBEDDED_ASSET,onClose:c}));return u||d||m?n.createElement(Oo,{isDisabled:e,onClose:c,onToggle:()=>s(!a),isOpen:a},p):null},Ko={toolbar:a.css({border:"1px solid "+b.gray400,backgroundColor:b.gray100,padding:b.spacingXs,borderRadius:`${b.borderRadiusMedium} ${b.borderRadiusMedium} 0 0`}),toolbarBtn:a.css({height:"30px",width:"30px",marginLeft:b.spacing2Xs,marginRight:b.spacing2Xs}),divider:a.css({display:"inline-block",height:"21px",width:"1px",background:b.gray300,margin:"0 "+b.spacing2Xs}),embedActionsWrapper:a.css({display:["-webkit-box","-ms-flexbox","flex"],webkitAlignSelf:"flex-start",alignSelf:"flex-start",msFlexItemAlign:"start",marginLeft:"auto"}),formattingOptionsWrapper:a.css({display:["-webkit-box","-ms-flexbox","flex"],msFlexAlign:"center",webkitBoxAlign:"center",alignItems:"center",msFlexWrap:"wrap",flexWrap:"wrap",marginRight:"20px"})},xo=({sdk:e,isDisabled:t})=>{const i=Y(),o=i&&(Ee(i,l.MARKS.SUPERSCRIPT)||Ee(i,l.MARKS.SUBSCRIPT)||Ee(i,l.MARKS.CODE));return n.createElement(y.Menu,null,n.createElement(y.Menu.Trigger,null,n.createElement("span",null,n.createElement(y.IconButton,{size:"small",className:Ko.toolbarBtn,variant:o?"secondary":"transparent",icon:n.createElement(I.MoreHorizontalIcon,null),"aria-label":"toggle menu",isDisabled:t,testId:"dropdown-toolbar-button"}))),n.createElement(y.Menu.List,null,st(e.field,l.MARKS.SUPERSCRIPT)&&n.createElement(Ti,{isDisabled:t}),st(e.field,l.MARKS.SUBSCRIPT)&&n.createElement(Si,{isDisabled:t}),st(e.field,l.MARKS.CODE)&&n.createElement(di,{isDisabled:t})))},wo=({isDisabled:e})=>{const t=X(),i=Y(),o=!Xe(i,l.BLOCKS.TABLE),r=n.useMemo(()=>function(e){const t=(t,n)=>t.some(t=>n(e,t));return{isAnyMarkEnabled:t(Object.values(l.MARKS),st),isAnyHyperlinkEnabled:t([l.INLINES.HYPERLINK,l.INLINES.ASSET_HYPERLINK,l.INLINES.ENTRY_HYPERLINK],at),isAnyBlockFormattingEnabled:t([l.BLOCKS.UL_LIST,l.BLOCKS.OL_LIST,l.BLOCKS.QUOTE,l.BLOCKS.HR],at)}}(t.field),[t.field]),a=Xe(i,l.BLOCKS.UL_LIST)||Xe(i,l.BLOCKS.OL_LIST),s=Xe(i,l.BLOCKS.QUOTE),c=e||!o||a||s,d=st(t.field,l.MARKS.BOLD)||st(t.field,l.MARKS.ITALIC)||st(t.field,l.MARKS.UNDERLINE),u=st(t.field,l.MARKS.SUPERSCRIPT)||st(t.field,l.MARKS.SUBSCRIPT)||st(t.field,l.MARKS.CODE),m=d&&u;return n.createElement(y.Flex,{testId:"toolbar",className:Ko.toolbar,alignItems:"center"},n.createElement("div",{className:Ko.formattingOptionsWrapper},n.createElement(en,{isDisabled:e||!o}),r.isAnyMarkEnabled&&n.createElement("span",{className:Ko.divider}),st(t.field,l.MARKS.BOLD)&&n.createElement(ri,{isDisabled:e}),st(t.field,l.MARKS.ITALIC)&&n.createElement(pi,{isDisabled:e}),st(t.field,l.MARKS.UNDERLINE)&&n.createElement(Ii,{isDisabled:e}),!d&&st(t.field,l.MARKS.SUPERSCRIPT)&&n.createElement(Ci,{isDisabled:e}),!d&&st(t.field,l.MARKS.SUBSCRIPT)&&n.createElement(fi,{isDisabled:e}),!d&&st(t.field,l.MARKS.CODE)&&n.createElement(ci,{isDisabled:e}),m&&n.createElement(xo,{sdk:t,isDisabled:e}),r.isAnyHyperlinkEnabled&&n.createElement(n.Fragment,null,n.createElement("span",{className:Ko.divider}),n.createElement(Cn,{isDisabled:e})),r.isAnyBlockFormattingEnabled&&n.createElement("span",{className:Ko.divider}),n.createElement(ti,{isDisabled:e||!o}),at(t.field,l.BLOCKS.QUOTE)&&n.createElement($i,{isDisabled:e||!o}),at(t.field,l.BLOCKS.HR)&&n.createElement(En,{isDisabled:e||!o}),at(t.field,l.BLOCKS.TABLE)&&n.createElement(bo,{isDisabled:c})),n.createElement("div",{className:Ko.embedActionsWrapper},n.createElement(Ro,{isDisabled:e,canInsertBlocks:o})))},Mo={nativeSticky:a.css`
|
|
158
|
-
position: -webkit-sticky;
|
|
159
|
-
position: sticky;
|
|
160
|
-
top: -1px;
|
|
161
|
-
z-index: 2;
|
|
162
|
-
`},_o=({isDisabled:e,children:t})=>n.createElement("div",{className:e?"":Mo.nativeSticky},t),Po=["command-prompt"],Ho=e=>({...e,content:e.content.map(e=>"text"===e.nodeType?(e.marks=e.marks.filter(e=>!Po.includes(e.type)),e):Ho(e))}),zo=e=>"set_selection"!==e.type,Fo=e=>{const i=z(e.sdk),o=n.useMemo(()=>{return t=e.sdk,n=e.onAction??c,i=e.restrictedMarks,[r.createDeserializeHtmlPlugin(),r.createDeserializeAstPlugin(),u.createDeserializeDocxPlugin(),go(n),Ct(),...Object.values(pt(t)).some(Boolean)?[{key:"command-prompt",type:"command-prompt",isLeaf:!0,component:Lt,handlers:{onKeyDown:e=>t=>{if(S("shift?+/",{byKey:!0},t)&&(((e,t,n=!0)=>{r.addMark(e,"command-prompt",n)})(e),e.tracking.onCommandPaletteAction("openRichTextCommandPalette")),!Ee(e,"command-prompt"))return;if(S("enter",t))return t.preventDefault();const[,n]=ue(e),i=se(e,n);S("backspace",t)&&i.focus.offset-i.anchor.offset==1&&He(e,"command-prompt",i),S("escape",t)&&(t.stopPropagation(),He(e,"command-prompt",i),e.tracking.onCommandPaletteAction("cancelRichTextCommandPalette"),$(e))}}}]:[],D.createParagraphPlugin({type:l.BLOCKS.PARAGRAPH,component:Ki,options:{hotkey:["mod+opt+0"]},handlers:{onKeyDown:xi},softBreak:[{hotkey:"shift+enter",query:{allow:l.BLOCKS.PARAGRAPH}}],deserializeHtml:{rules:[{validNodeName:["P","DIV"]}],query:e=>{return!(""===e.textContent||(t=e,t.hasAttribute("data-embedded-entity-inline-id")||t.hasAttribute("data-entity-type")));var t}},normalizer:[{validChildren:(e,[t])=>nt(t),transform:{[l.BLOCKS.PARAGRAPH]:on,default:rn}}]}),k.createListPlugin({normalizer:[{match:{type:[l.BLOCKS.UL_LIST,l.BLOCKS.OL_LIST]},validChildren:[l.BLOCKS.LIST_ITEM],transform:ln(l.BLOCKS.LIST_ITEM)}],overrideByKey:{[k.ELEMENT_UL]:{type:l.BLOCKS.UL_LIST,component:xn,handlers:{onKeyDown:Un},withOverrides:ei},[k.ELEMENT_OL]:{type:l.BLOCKS.OL_LIST,component:wn,handlers:{onKeyDown:Un}},[k.ELEMENT_LIC]:{type:l.BLOCKS.PARAGRAPH},[k.ELEMENT_LI]:{type:l.BLOCKS.LIST_ITEM,component:_n,normalizer:[{validNode:Gn,transform:$n},{validNode:Wn,transform:jn},{validChildren:l.LIST_ITEM_BLOCKS,transform:nn},{validNode:Vn,transform:Xn}]}}}),{key:l.BLOCKS.HR,type:l.BLOCKS.HR,isVoid:!0,isElement:!0,component:yn,handlers:{onKeyDown:pn},deserializeHtml:{rules:[{validNodeName:["HR"]},{validAttribute:{"data-void-element":l.BLOCKS.HR}}],withoutChildren:!0}},{key:"HeadingPlugin",softBreak:[{hotkey:"shift+enter",query:{allow:l.HEADINGS}}],normalizer:[{match:{type:l.HEADINGS},validChildren:(e,[t])=>nt(t),transform:{[l.BLOCKS.PARAGRAPH]:on,default:rn}}],then:e=>({exitBreak:[{hotkey:"enter",query:{allow:l.HEADINGS,end:!0,start:!0,filter:([,t])=>!ue(e,{at:t,match:{type:l.BLOCKS.LIST_ITEM}})&&!Ee(e,"command-prompt")}}]}),plugins:l.HEADINGS.map((e,t)=>{const n=t+1;return{key:e,type:e,isElement:!0,component:cn[e],options:{hotkey:["mod+alt+"+n]},handlers:{onKeyDown:(i=e,(e,{options:{hotkey:t}})=>n=>{if(e.selection&&t&&S(t,n)){const t=We(e,i);e.tracking.onShortcutAction(t?"remove":"insert",{nodeType:i}),ot(e,{activeType:i,inactiveType:l.BLOCKS.PARAGRAPH})}})},deserializeHtml:{rules:[{validNodeName:("h"+n).toUpperCase()}]}};var i})},{key:l.BLOCKS.QUOTE,type:l.BLOCKS.QUOTE,isElement:!0,component:Fi,options:{hotkey:"mod+shift+1"},handlers:{onKeyDown:Yi},deserializeHtml:{rules:[{validNodeName:"BLOCKQUOTE"}]},resetNode:[{hotkey:"backspace",types:[l.BLOCKS.QUOTE],predicate:qi,onReset:Ui}],normalizer:[{validChildren:l.CONTAINERS[l.BLOCKS.QUOTE],transform:{[l.BLOCKS.QUOTE]:on,default:rn}}],withOverrides:Gi},O.createTablePlugin({type:l.BLOCKS.TABLE,handlers:{onKeyDown:Eo},withOverrides:(e,t)=>{const{normalizeNode:n}=e;return O.withTable(e,t),e.normalizeNode=n,function(e){const{insertData:t}=e;e.insertData=n=>{if(n.getData("text/html")){const{children:i}=e;t(n);const{children:o}=e;setTimeout(()=>{var t;Lo(i)||Lo(o)&&e.tracking.onViewportAction("paste",{tablePasted:!0,source:So(n),hasHeadersOutsideFirstRow:(t=o,t.filter(({type:e})=>e===l.BLOCKS.TABLE).flatMap(({children:e})=>e.slice(1)).some(({children:e})=>e.some(Co)))})},1)}else t(n)}}(e),e.insertFragment=(e=>{const{insertFragment:t}=e;return n=>{var i;if(!e.selection)return;const o=(n=n.flatMap(po)).some(e=>to(e)),l=0===n.findIndex(e=>to(e)),r=""!==Q(e,null==(i=e.selection)?void 0:i.focus.path);return o&&l&&r&&Ze(e),t(n)}})(e),e},overrideByKey:{[O.ELEMENT_TABLE]:{type:l.BLOCKS.TABLE,component:mo,normalizer:[{validNode:eo},{validNode:(e,[,t])=>{const n=!!ee(e,{at:t,match:{type:[l.BLOCKS.TABLE_CELL,l.BLOCKS.TABLE_HEADER_CELL]}});return Ve(t)||n},transform:rn},{validChildren:l.CONTAINERS[l.BLOCKS.TABLE]}]},[O.ELEMENT_TR]:{type:l.BLOCKS.TABLE_ROW,component:co,normalizer:[{validChildren:l.CONTAINERS[l.BLOCKS.TABLE_ROW],transform:ln(l.BLOCKS.TABLE_CELL)},{validNode:eo},{validNode:(e,[,t])=>{var n;const i=null==(n=ie(e,t))?void 0:n[0];return i&&i.type===l.BLOCKS.TABLE},transform:ln(l.BLOCKS.TABLE)},{validNode:(e,t)=>0===Ji(e,t),transform:(e,t)=>{const n=Ji(e,t),i=Ce(be(t));xe(e,(e=>{const t={type:l.BLOCKS.TABLE_CELL,data:{},children:[{type:l.BLOCKS.PARAGRAPH,data:{},children:[{text:""}]}]};return new Array(e).fill(t)})(n),{at:i})}}]},[O.ELEMENT_TH]:{type:l.BLOCKS.TABLE_HEADER_CELL,component:ao,normalizer:[{validChildren:l.CONTAINERS[l.BLOCKS.TABLE_HEADER_CELL],transform:To(nn)}]},[O.ELEMENT_TD]:{type:l.BLOCKS.TABLE_CELL,component:lo,normalizer:[{validChildren:l.CONTAINERS[l.BLOCKS.TABLE_CELL],transform:To(nn)}]}}}),Ht(t),zt(t),Bn(t),Xt(t),{key:"Marks",plugins:[N.createBoldPlugin({type:l.MARKS.BOLD,component:si,options:{hotkey:["mod+b"]},handlers:{onKeyDown:ii(l.MARKS.BOLD)},deserializeHtml:{rules:[{validNodeName:["STRONG","B"]},{validStyle:{fontWeight:["600","700","bold"]}}],query:e=>!(e=>e.id.startsWith("docs-internal-guid")&&"B"===e.nodeName)(e)&&!Ne(e,e=>"normal"===e.style.fontWeight)}}),N.createCodePlugin({type:l.MARKS.CODE,component:mi,options:{hotkey:["mod+/","mod+shift+7"]},handlers:{onKeyDown:ii(l.MARKS.CODE)},deserializeHtml:{rules:[{validNodeName:["CODE","PRE"]},{validStyle:{fontFamily:["Consolas","monospace"]}}]}}),N.createItalicPlugin({type:l.MARKS.ITALIC,component:yi,options:{hotkey:["mod+i"]},handlers:{onKeyDown:ii(l.MARKS.ITALIC)},deserializeHtml:{rules:[{validNodeName:["I","EM"]},{validStyle:{fontStyle:"italic"}}],query:e=>!Ne(e,e=>"normal"===e.style.fontStyle)}}),N.createUnderlinePlugin({type:l.MARKS.UNDERLINE,component:ki,options:{hotkey:["mod+u"]},handlers:{onKeyDown:ii(l.MARKS.UNDERLINE)},deserializeHtml:{rules:[{validNodeName:["U"]},{validStyle:{textDecoration:["underline"]}}],query:e=>!Ne(e,e=>"none"===e.style.textDecoration)}}),N.createSuperscriptPlugin({type:l.MARKS.SUPERSCRIPT,component:bi,handlers:{onKeyDown:ii(l.MARKS.SUPERSCRIPT)},deserializeHtml:{rules:[{validNodeName:["SUP"]}]}}),N.createSubscriptPlugin({type:l.MARKS.SUBSCRIPT,component:gi,handlers:{onKeyDown:ii(l.MARKS.SUBSCRIPT)},deserializeHtml:{rules:[{validNodeName:["SUB"]}]}})]},x.createTrailingBlockPlugin({options:{type:l.BLOCKS.PARAGRAPH,level:0}}),Io(i),{key:"VoidsPlugin",exitBreak:[{hotkey:"enter",before:!0,query:{filter:([e,t])=>Ve(t)&&Ie(t)&&!!e.isVoid}},{hotkey:"enter",level:-2,query:{filter:([e,t])=>!(Ve(t)&&Ie(t)||!e.isVoid)}}]},B.createSelectOnBackspacePlugin({options:{query:{allow:[l.INLINES.EMBEDDED_ENTRY]}}}),{key:"PasteHTMLPlugin",withOverrides:e=>{const{insertData:t}=e;return e.insertData=e=>t((e=>{if(!e.getData("application/x-slate-fragment")){const t=(e=>{const t=e.getData("text/html"),[,n]=t.match(Hi)||[];return n})(e);if(t){const n=new DataTransfer;return e.types.forEach(t=>{n.setData(t,e.getData(t))}),n.setData("application/x-slate-fragment",t),n}}return e})(e)),e},inject:{pluginsByKey:{[r.KEY_DESERIALIZE_HTML]:{editor:{insertData:{format:"text/html",transformData:Pi}}}}}},m.createSoftBreakPlugin({then:e=>({options:{rules:e.plugins.flatMap(e=>e.softBreak||[])}})}),m.createExitBreakPlugin({options:{rules:[]},then:e=>({options:{rules:e.plugins.flatMap(e=>e.exitBreak||[])}})}),p.createResetNodePlugin({options:{rules:[]},then:e=>{const t=e.plugins.flatMap(e=>e.resetNode||[]);for(const e of t)e.defaultType||(e.defaultType=l.BLOCKS.PARAGRAPH);return{options:{rules:t}}}}),{key:"NormalizerPlugin",withOverrides:Oi}];var t,n,i},[e.sdk,e.onAction,e.restrictedMarks]),[s,d]=t.useState(!0),[E,y]=t.useState(!1),h=(({editorId:e,handler:n,skip:i,onSkip:o})=>{const l=t.useMemo(()=>w(e=>{const t=R.toContentfulDocument({document:e,schema:ho}),i=Ho(t);null==n||n(i)},500),[n]);return t.useCallback(t=>{const n=r.getPlateSelectors(e).editor();if(!n)throw new Error("Editor change callback called but editor not defined. Editor id: "+e);if((null==n?void 0:n.operations.filter(zo)).length>0){if(i)return void(null==o||o());l(t)}},[e,l,i,o])})({editorId:i,handler:e.onChange,skip:E||s,onSkip:()=>y(!1)});t.useEffect(()=>{d(!1);const t=(e=>r.getPlateSelectors(e))(i).editor();t&&(y(!0),((e,t)=>{G(e,()=>{[...e.children].forEach(t=>e.apply({type:"remove_node",path:[0],node:t})),t&&(r.isNode(t)?[t]:t).forEach((t,n)=>{e.apply({type:"insert_node",path:[n],node:t})});const n=((e,t)=>r.getEndPoint(e,[]))(e);n&&Be(e,n)})})(t,vo(e.value)))},[e.value,i]);const f=a.cx(Bo.editor,void 0!==e.minHeight?a.css({minHeight:e.minHeight}):void 0,e.isDisabled?Bo.disabled:Bo.enabled,e.isToolbarHidden&&Bo.hiddenToolbar);return t.useEffect(()=>{s&&r.getPlateActions(i).value(((e,t)=>{const n=((e={})=>r.createPlateEditor(e))(t);return n.children=e,((e,t={force:!0})=>{r.normalizeEditor(e,t)})(n,{force:!0}),n.children})(vo(e.value),{plugins:o,disableCorePlugins:Ao}))},[s,o,i,e.value]),n.createElement(j,{sdk:e.sdk},n.createElement(q,{value:i},n.createElement("div",{className:Bo.root,"data-test-id":"rich-text-editor"},n.createElement(r.Plate,{id:i,plugins:o,disableCorePlugins:Ao,editableProps:{className:f,readOnly:e.isDisabled},onChange:h,firstChildren:!e.isToolbarHidden&&n.createElement(_o,{isDisabled:e.isDisabled},n.createElement(wo,{isDisabled:e.isDisabled}))}))))};function qo(e){const{id:t,type:n}=e.sys;return{sys:{id:t,type:"Link",linkType:n}}}class Uo extends n.Component{constructor(e){super(e),this.handleSubmit=e=>{e.preventDefault(),this.props.onClose(this.getValue())},this.selectEntry=async()=>{const{locale:e,contentTypes:t}=this.props.entitySelectorConfigs.Entry,n=await this.props.sdk.dialogs.selectSingleEntry({locale:e,contentTypes:t});this.setTargetEntity("Entry",n)},this.selectAsset=async()=>{const{locale:e}=this.props.entitySelectorConfigs.Asset,t=await this.props.sdk.dialogs.selectSingleAsset({locale:e});this.setTargetEntity("Asset",t)};const{text:t,type:n,uri:i,target:o}=e.value,l={Entry:null,Asset:null};let r=n;Boolean(o)?(r=o.sys.linkType,l[r]=o):r=e.allowedHyperlinkTypes.includes("uri")?"uri":e.allowedHyperlinkTypes[0],this.state={text:t,uri:i,entityLinks:l,type:r}}setTargetEntity(e,t){this.setState(n=>({entityLinks:{...n.entityLinks,[e]:t?qo(t):void 0}}))}getValue(){const{text:e,type:t,uri:n}=this.state,i={type:t};return e&&(i.text=e),"uri"===t?i.uri=n:i.target=this.state.entityLinks[t],i}isLinkComplete(){const{text:e,type:t,uri:n,target:i}=this.getValue();return!(!this.props.hideText&&!e)&&("uri"===t&&n||i)}render(){const{labels:e}=this.props;return n.createElement(i.EntityProvider,{sdk:this.props.sdk},n.createElement(n.Fragment,null,n.createElement(y.ModalContent,null,this.renderFields()),n.createElement(y.ModalControls,null,n.createElement(y.Button,{type:"button",onClick:()=>this.props.onClose(null),variant:"secondary",testId:"cancel-cta",size:"small"},"Cancel"),n.createElement(y.Button,{type:"submit",variant:"positive",onClick:this.handleSubmit,isDisabled:!this.isLinkComplete(),testId:"confirm-cta",size:"small"},e.confirm))))}renderFields(){const{hideText:e,allowedHyperlinkTypes:t,entitySelectorConfigs:i}=this.props,{uri:o,text:l,type:r}=this.state,a="uri"===r&&(e||!!l);return n.createElement(y.Form,null,e?null:n.createElement(y.FormControl,{id:"link-text",isRequired:!0},n.createElement(y.FormControl.Label,null,"Link text"),n.createElement(y.TextInput,{testId:"link-text-input",name:"link-text",value:l||"",onChange:e=>this.setState({text:e.target.value}),autoFocus:!a})),function(e={}){return!!e.Entry||!!e.Asset}(i)&&n.createElement(y.FormControl,{id:"link-type",name:"link-type"},n.createElement(y.FormControl.Label,null,"Link type"),n.createElement(y.Select,{value:r,onChange:e=>this.setState({type:e.target.value}),testId:"link-type-select"},t.includes("uri")||"uri"===r?n.createElement(y.Select.Option,{value:"uri"},"URL"):null,t.includes("Entry")||"Entry"===r?n.createElement(y.Select.Option,{value:"Entry"},"Entry"):null,t.includes("Asset")||"Asset"===r?n.createElement(y.Select.Option,{value:"Asset"},"Asset"):null)),"uri"===r?n.createElement(y.FormControl,{id:"link-uri",isRequired:!0},n.createElement(y.FormControl.Label,null,"Link target"),n.createElement(y.TextInput,{testId:"link-target-input",name:"link-uri",value:o||"",placeholder:"https://",onChange:e=>this.setState({uri:e.target.value}),autoFocus:a}),n.createElement(y.FormControl.HelpText,null,"A protocol may be required, e.g. https://")):this.renderEntityField())}renderEntityField(){const{type:e,entityLinks:t}=this.state,i=t[e],o=!i;return n.createElement("div",null,n.createElement(y.FormLabel,{required:!0,htmlFor:""},"Link target"),!o&&n.createElement(y.TextLink,{as:"button",className:a.css({marginLeft:b.spacingS}),onClick:()=>this.setTargetEntity(e,null)},"Remove selection"),i&&n.createElement("div",null,"Entry"===e&&n.createElement(At,{sdk:this.props.sdk,locale:this.props.entitySelectorConfigs.Entry.locale,entryId:i.sys.id,isDisabled:!0,isSelected:!1}),"Asset"==e&&n.createElement(It,{sdk:this.props.sdk,locale:this.props.entitySelectorConfigs.Asset.locale,assetId:i.sys.id,isDisabled:!0,isSelected:!1})),o&&this.renderEntitySelector(e,o))}renderEntitySelector(e){return n.createElement("div",{className:a.css({marginTop:b.spacingS})},"Entry"===e&&n.createElement(y.TextLink,{as:"button",onClick:this.selectEntry},"Select entry"),"Asset"===e&&n.createElement(y.TextLink,{as:"button",onClick:this.selectAsset},"Select asset"))}}Uo.propTypes={sdk:M.object.isRequired,labels:M.shape({title:M.string,confirm:M.string}),value:M.shape({text:M.string,uri:M.string,target:M.object,type:M.oneOf(["uri","Entry","Asset"])}),entitySelectorConfigs:M.object,allowedHyperlinkTypes:M.arrayOf(M.oneOf(["Entry","Asset","uri"])),hideText:M.bool,onClose:M.func.isRequired},Uo.defaultProps={labels:{title:"Insert link",confirm:"Insert link"},value:{},hideText:!1,entitySelectorConfigs:{},allowedHyperlinkTypes:["Entry","Asset","uri"]},exports.ConnectedRichTextEditor=Fo,exports.RichTextEditor=e=>{const{sdk:r,isInitiallyDisabled:a,onAction:c,restrictedMarks:d,...u}=e,m=t.useCallback(e=>!e||s(e,l.EMPTY_DOCUMENT),[]),p=z(e.sdk);return n.createElement(i.EntityProvider,{sdk:r},n.createElement(o.FieldConnector,{throttle:0,field:r.field,isInitiallyDisabled:a,isEmptyValue:m,isEqualValues:s},({lastRemoteValue:e,disabled:t,setValue:i})=>n.createElement(Fo,{...u,key:"rich-text-editor-"+p,value:e,sdk:r,onAction:c,isDisabled:t,onChange:i,restrictedMarks:d})))},exports.openRichTextDialog=e=>t=>{var i;return"rich-text-hyperlink-dialog"===(null==(i=t.parameters)?void 0:i.type)?o.ModalDialogLauncher.openDialog(t,({onClose:i})=>n.createElement(Uo,{...t.parameters,onClose:i,sdk:e})):Promise.reject()},exports.renderRichTextDialog=e=>{const t=e.parameters.invocation;return"rich-text-hyperlink-dialog"===(null==t?void 0:t.type)?(e.window.startAutoResizer(),n.createElement(Uo,{...e.parameters.invocation,onClose:e.close,sdk:e})):n.createElement("div",null)};
|
|
163
|
-
//# sourceMappingURL=field-editor-rich-text.cjs.production.min.js.map
|