@contentful/field-editor-rich-text 2.0.0-next.2 → 2.0.0-next.22
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/README.md +4 -0
- package/dist/ContentfulEditorProvider.d.ts +6 -5
- package/dist/RichTextEditor.d.ts +2 -3
- package/dist/Toolbar/{EmbedEntityWidget.d.ts → components/EmbedEntityWidget.d.ts} +0 -1
- package/dist/{plugins/EmbeddedEntity/index.d.ts → Toolbar/components/EmbeddedEntityDropdownButton.d.ts} +1 -2
- package/dist/Toolbar/{StickyToolbarWrapper.d.ts → components/StickyToolbarWrapper.d.ts} +0 -0
- package/dist/Toolbar/index.d.ts +0 -1
- package/dist/dialogs/renderRichTextDialog.d.ts +0 -1
- package/dist/field-editor-rich-text.cjs.development.js +5720 -4525
- package/dist/field-editor-rich-text.cjs.development.js.map +1 -1
- package/dist/field-editor-rich-text.cjs.production.min.js +1 -1
- package/dist/field-editor-rich-text.cjs.production.min.js.map +1 -1
- package/dist/field-editor-rich-text.esm.js +5592 -4397
- package/dist/field-editor-rich-text.esm.js.map +1 -1
- package/dist/helpers/editor.d.ts +22 -27
- package/dist/helpers/environment.d.ts +1 -0
- package/dist/helpers/extractNodes.d.ts +6 -0
- package/dist/helpers/transformers.d.ts +8 -0
- package/dist/helpers/validations.d.ts +1 -1
- package/dist/plugins/Break/createExitBreakPlugin.d.ts +2 -0
- package/dist/plugins/Break/createResetNodePlugin.d.ts +2 -0
- package/dist/plugins/Break/createSoftBreakPlugin.d.ts +2 -0
- package/dist/plugins/Break/index.d.ts +5 -0
- package/dist/plugins/DragAndDrop/index.d.ts +2 -2
- package/dist/plugins/EmbeddedEntityBlock/LinkedEntityBlock.d.ts +3 -2
- package/dist/plugins/EmbeddedEntityBlock/ToolbarIcon.d.ts +1 -3
- package/dist/plugins/EmbeddedEntityBlock/Util.d.ts +2 -1
- package/dist/plugins/EmbeddedEntityBlock/index.d.ts +3 -9
- package/dist/plugins/EmbeddedEntityInline/FetchingWrappedInlineEntryCard.d.ts +1 -0
- package/dist/plugins/EmbeddedEntityInline/index.d.ts +3 -5
- package/dist/plugins/Heading/components/Heading.d.ts +11 -0
- package/dist/plugins/Heading/components/ToolbarHeadingButton.d.ts +4 -0
- package/dist/plugins/Heading/createHeadingPlugin.d.ts +2 -0
- package/dist/plugins/Heading/index.d.ts +2 -20
- package/dist/plugins/Hr/index.d.ts +3 -5
- package/dist/plugins/Hyperlink/HyperlinkModal.d.ts +4 -6
- package/dist/plugins/Hyperlink/components/EntityHyperlink.d.ts +9 -0
- package/dist/plugins/Hyperlink/components/ToolbarHyperlinkButton.d.ts +5 -0
- package/dist/plugins/Hyperlink/components/UrlHyperlink.d.ts +9 -0
- package/dist/plugins/Hyperlink/components/styles.d.ts +4 -0
- package/dist/plugins/Hyperlink/createHyperlinkPlugin.d.ts +3 -0
- package/dist/plugins/Hyperlink/index.d.ts +2 -12
- package/dist/plugins/Hyperlink/useEntityInfo.d.ts +16 -0
- package/dist/plugins/Hyperlink/utils.d.ts +5 -0
- package/dist/plugins/List/components/List.d.ts +3 -0
- package/dist/plugins/List/components/ListItem.d.ts +2 -0
- package/dist/plugins/List/components/ToolbarListButton.d.ts +4 -0
- package/dist/plugins/List/createListPlugin.d.ts +2 -0
- package/dist/plugins/List/index.d.ts +2 -15
- package/dist/plugins/List/insertListBreak.d.ts +2 -0
- package/dist/plugins/List/insertListFragment.d.ts +3 -0
- package/dist/plugins/List/onKeyDownList.d.ts +7 -0
- package/dist/plugins/List/transforms/deleteBackwardList.d.ts +2 -0
- package/dist/plugins/List/transforms/insertListItem.d.ts +5 -0
- package/dist/plugins/List/transforms/moveListItemDown.d.ts +11 -0
- package/dist/plugins/List/transforms/moveListItems.d.ts +10 -0
- package/dist/plugins/List/transforms/toggleList.d.ts +4 -0
- package/dist/plugins/List/transforms/unwrapList.d.ts +5 -0
- package/dist/plugins/List/utils.d.ts +15 -0
- package/dist/plugins/List/withList.d.ts +4 -0
- package/dist/plugins/Marks/Bold.d.ts +11 -0
- package/dist/plugins/Marks/Code.d.ts +11 -0
- package/dist/plugins/Marks/Italic.d.ts +11 -0
- package/dist/plugins/Marks/Underline.d.ts +11 -0
- package/dist/plugins/Marks/components/MarkToolbarButton.d.ts +13 -0
- package/dist/plugins/Marks/helpers.d.ts +4 -0
- package/dist/plugins/Marks/index.d.ts +2 -0
- package/dist/plugins/Normalizer/baseRules.d.ts +2 -0
- package/dist/plugins/Normalizer/createNormalizerPlugin.d.ts +2 -0
- package/dist/plugins/Normalizer/index.d.ts +2 -0
- package/dist/plugins/Normalizer/types.d.ts +40 -0
- package/dist/plugins/Normalizer/utils.d.ts +8 -0
- package/dist/plugins/Normalizer/withNormalizer.d.ts +2 -0
- package/dist/plugins/Paragraph/Paragraph.d.ts +2 -0
- package/dist/plugins/Paragraph/createParagraphPlugin.d.ts +2 -0
- package/dist/plugins/Paragraph/index.d.ts +1 -7
- package/dist/plugins/Paragraph/utils.d.ts +2 -0
- package/dist/plugins/PasteHTML/createPasteHTMLPlugin.d.ts +8 -0
- package/dist/plugins/PasteHTML/index.d.ts +1 -0
- package/dist/plugins/PasteHTML/utils/sanitizeHTML.d.ts +1 -0
- package/dist/plugins/PasteHTML/utils/sanitizeSheets.d.ts +4 -0
- package/dist/plugins/Quote/components/Quote.d.ts +2 -0
- package/dist/plugins/Quote/components/ToolbarQuoteButton.d.ts +4 -0
- package/dist/plugins/Quote/createQuotePlugin.d.ts +2 -0
- package/dist/plugins/Quote/index.d.ts +2 -13
- package/dist/plugins/Quote/shouldResetQuote.d.ts +8 -0
- package/dist/plugins/Quote/toggleQuote.d.ts +5 -0
- package/dist/plugins/Quote/withQuote.d.ts +3 -0
- package/dist/plugins/SelectOnBackspace/createSelectOnBackspacePlugin.d.ts +2 -0
- package/dist/plugins/SelectOnBackspace/index.d.ts +1 -0
- package/dist/plugins/Table/actions/addColumn.d.ts +4 -3
- package/dist/plugins/Table/actions/addRow.d.ts +3 -3
- package/dist/plugins/Table/actions/setHeader.d.ts +2 -2
- package/dist/plugins/Table/addTableTrackingEvents.d.ts +2 -0
- package/dist/plugins/Table/components/Cell.d.ts +2 -0
- package/dist/plugins/Table/components/HeaderCell.d.ts +2 -0
- package/dist/plugins/Table/components/Row.d.ts +2 -0
- package/dist/plugins/Table/components/Table.d.ts +2 -0
- package/dist/plugins/Table/components/TableActions.d.ts +4 -0
- package/dist/plugins/Table/components/ToolbarButton.d.ts +4 -0
- package/dist/plugins/Table/createTablePlugin.d.ts +2 -0
- package/dist/plugins/Table/helpers.d.ts +15 -5
- package/dist/plugins/Table/index.d.ts +2 -189
- package/dist/plugins/Text/createTextPlugin.d.ts +2 -0
- package/dist/plugins/Text/index.d.ts +1 -2
- package/dist/plugins/Tracking/createTrackingPlugin.d.ts +10 -0
- package/dist/plugins/Tracking/index.d.ts +1 -0
- package/dist/plugins/Tracking/utils.d.ts +2 -0
- package/dist/plugins/TrailingParagraph/index.d.ts +2 -1
- package/dist/plugins/Voids/createVoidsPlugin.d.ts +2 -0
- package/dist/plugins/Voids/index.d.ts +1 -0
- package/dist/plugins/Voids/transformVoid.d.ts +6 -0
- package/dist/plugins/index.d.ts +5 -179
- package/dist/plugins/links-tracking.d.ts +6 -0
- package/dist/plugins/shared/EntityStatusIcon.d.ts +0 -1
- package/dist/plugins/shared/FetchingWrappedAssetCard.d.ts +1 -1
- package/dist/plugins/shared/FetchingWrappedEntryCard.d.ts +3 -3
- package/dist/plugins/shared/ToolbarButton.d.ts +0 -1
- package/dist/prepareDocument.d.ts +20 -0
- package/dist/test-utils/assertOutput.d.ts +7 -0
- package/dist/test-utils/createEditor.d.ts +10 -4
- package/dist/test-utils/index.d.ts +2 -0
- package/dist/test-utils/jsx.d.ts +2 -2
- package/dist/test-utils/mockPlugin.d.ts +2 -0
- package/dist/test-utils/randomId.d.ts +4 -0
- package/dist/test-utils/setEmptyDataAttribute.d.ts +6 -0
- package/dist/test-utils/validation.d.ts +1 -0
- package/dist/types.d.ts +34 -9
- package/dist/useOnValueChanged.d.ts +8 -0
- package/package.json +28 -17
- package/dist/TrackingProvider.d.ts +0 -11
- package/dist/helpers/deserializer.d.ts +0 -3
- package/dist/helpers/normalizers.d.ts +0 -15
- package/dist/helpers/sanitizeSlateDoc.d.ts +0 -18
- package/dist/helpers/truncate.d.ts +0 -1
- package/dist/plugins/Bold/index.d.ts +0 -12
- package/dist/plugins/Code/index.d.ts +0 -12
- package/dist/plugins/CommandPalette/CommandPanel/InViewport/InViewport.d.ts +0 -37
- package/dist/plugins/Hyperlink/EntryAssetTooltip.d.ts +0 -10
- package/dist/plugins/InsertBeforeFirstVoidBlock/index.d.ts +0 -2
- package/dist/plugins/Italic/index.d.ts +0 -12
- package/dist/plugins/List/getListInsertFragment.d.ts +0 -6
- package/dist/plugins/NewLine/index.d.ts +0 -2
- package/dist/plugins/Paste/index.d.ts +0 -2
- package/dist/plugins/Paste/sanitizers/helpers.d.ts +0 -7
- package/dist/plugins/Paste/sanitizers/index.d.ts +0 -3
- package/dist/plugins/Paste/sanitizers/removeComments.d.ts +0 -2
- package/dist/plugins/Paste/sanitizers/sanitizeEntityBlocks.d.ts +0 -6
- package/dist/plugins/Paste/sanitizers/sanitizeTables.d.ts +0 -2
- package/dist/plugins/Table/TableActions.d.ts +0 -5
- package/dist/plugins/Table/normalizers.d.ts +0 -2
- package/dist/plugins/Underline/index.d.ts +0 -12
package/dist/helpers/editor.d.ts
CHANGED
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
import { PlateEditor } from '@udecode/plate';
|
|
2
1
|
import { Link } from '@contentful/field-editor-reference/dist/types';
|
|
3
|
-
import { Editor, Path, Node, Location } from 'slate';
|
|
4
2
|
import { BLOCKS, INLINES } from '@contentful/rich-text-types';
|
|
5
|
-
import {
|
|
3
|
+
import { EditorNodesOptions, PlateEditor, ToggleNodeTypeOptions } from '@udecode/plate-core';
|
|
4
|
+
import { Path, Node } from 'slate';
|
|
5
|
+
import { CustomElement, RichTextEditor } from '../types';
|
|
6
6
|
export declare const LINK_TYPES: INLINES[];
|
|
7
|
-
export declare function isBlockSelected(editor:
|
|
8
|
-
export declare function
|
|
9
|
-
export declare function hasSelectionText(editor: any): boolean;
|
|
7
|
+
export declare function isBlockSelected(editor: PlateEditor, type: string): boolean;
|
|
8
|
+
export declare function isRootLevel(path: Path): boolean;
|
|
10
9
|
declare type NodeEntry = [CustomElement, Path];
|
|
11
10
|
declare type NodeType = BLOCKS | INLINES;
|
|
12
|
-
export declare function getNodeEntryFromSelection(editor:
|
|
13
|
-
export declare function isNodeTypeSelected(editor:
|
|
14
|
-
export declare function moveToTheNextLine(editor:
|
|
15
|
-
export declare function
|
|
16
|
-
export declare function
|
|
17
|
-
export declare function getElementFromCurrentSelection(editor:
|
|
18
|
-
export declare function isList(editor
|
|
11
|
+
export declare function getNodeEntryFromSelection(editor: RichTextEditor, nodeTypeOrTypes: NodeType | NodeType[]): NodeEntry | [];
|
|
12
|
+
export declare function isNodeTypeSelected(editor: RichTextEditor, nodeType: BLOCKS | INLINES): boolean;
|
|
13
|
+
export declare function moveToTheNextLine(editor: RichTextEditor): void;
|
|
14
|
+
export declare function moveToTheNextChar(editor: RichTextEditor): void;
|
|
15
|
+
export declare function insertEmptyParagraph(editor: RichTextEditor): void;
|
|
16
|
+
export declare function getElementFromCurrentSelection(editor: RichTextEditor): (import("slate").BaseEditor | CustomElement<unknown> | import("../types").CustomText | Path)[];
|
|
17
|
+
export declare function isList(editor?: RichTextEditor): boolean;
|
|
19
18
|
export declare function getTableSize(table: CustomElement): Record<'numRows' | 'numColumns', number> | null;
|
|
20
|
-
export declare function isFirstChild(path: Path): boolean;
|
|
21
19
|
interface InsertLinkOptions {
|
|
22
20
|
text: string;
|
|
23
21
|
type: INLINES.HYPERLINK | INLINES.ENTRY_HYPERLINK | INLINES.ASSET_HYPERLINK;
|
|
@@ -26,23 +24,20 @@ interface InsertLinkOptions {
|
|
|
26
24
|
path?: Path;
|
|
27
25
|
}
|
|
28
26
|
export declare function insertLink(editor: any, options: InsertLinkOptions): void;
|
|
29
|
-
export declare function isLinkActive(editor
|
|
27
|
+
export declare function isLinkActive(editor?: RichTextEditor): boolean;
|
|
30
28
|
export declare function unwrapLink(editor: any): void;
|
|
31
29
|
export declare function wrapLink(editor: any, { text, url, target, type, path }: InsertLinkOptions): void;
|
|
32
|
-
export declare function getAncestorPathFromSelection(editor:
|
|
33
|
-
export declare
|
|
34
|
-
export declare function
|
|
35
|
-
export declare const isAtEndOfTextSelection: (editor: PlateEditor) => boolean;
|
|
36
|
-
export declare function currentSelectionStartsTableCell(editor: PlateEditor): boolean;
|
|
30
|
+
export declare function getAncestorPathFromSelection(editor: RichTextEditor): Path | undefined;
|
|
31
|
+
export declare const isAtEndOfTextSelection: (editor: RichTextEditor) => boolean;
|
|
32
|
+
export declare function currentSelectionStartsTableCell(editor: RichTextEditor): boolean;
|
|
37
33
|
/**
|
|
38
34
|
* This traversal strategy is unfortunately necessary because Slate doesn't
|
|
39
35
|
* expose something like Node.next(editor).
|
|
40
36
|
*/
|
|
41
|
-
export declare function getNextNode(editor:
|
|
42
|
-
export declare function currentSelectionPrecedesTableCell(editor:
|
|
43
|
-
export declare const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
export declare function extractParagraphsAt(editor: PlateEditor, path: Path): CustomElement[];
|
|
37
|
+
export declare function getNextNode(editor: RichTextEditor): CustomElement | null;
|
|
38
|
+
export declare function currentSelectionPrecedesTableCell(editor: RichTextEditor): boolean;
|
|
39
|
+
export declare const INLINE_TYPES: string[];
|
|
40
|
+
export declare const isInlineOrText: (node: Node) => boolean;
|
|
41
|
+
export declare const focus: (editor: RichTextEditor) => void;
|
|
42
|
+
export declare function toggleElement(editor: RichTextEditor, options: ToggleNodeTypeOptions, editorOptions?: Omit<EditorNodesOptions, 'match'>): void;
|
|
48
43
|
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Path } from 'slate';
|
|
2
|
+
import { CustomElement, RichTextEditor } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* It filters out all paragraphs and headings from a path and convert them into paragraphs.
|
|
5
|
+
*/
|
|
6
|
+
export declare function extractParagraphs(editor: RichTextEditor, path: Path): CustomElement[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BLOCKS, INLINES } from '@contentful/rich-text-types';
|
|
2
|
+
import { NodeEntry } from 'slate';
|
|
3
|
+
import { RichTextEditor } from '../types';
|
|
4
|
+
export declare const transformRemove: (editor: RichTextEditor, [, path]: NodeEntry<import("slate").Node>) => void;
|
|
5
|
+
export declare const transformParagraphs: (editor: RichTextEditor, entry: NodeEntry<import("slate").Node>) => void;
|
|
6
|
+
export declare const transformUnwrap: (editor: RichTextEditor, [, path]: NodeEntry<import("slate").Node>) => void;
|
|
7
|
+
export declare const transformWrapIn: (type: BLOCKS | INLINES) => (editor: RichTextEditor, [, path]: NodeEntry<import("slate").Node>) => void;
|
|
8
|
+
export declare const transformLift: (editor: RichTextEditor, [, path]: NodeEntry<import("slate").Node>) => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BLOCKS, INLINES } from '@contentful/rich-text-types';
|
|
2
1
|
import { FieldExtensionSDK } from '@contentful/app-sdk';
|
|
2
|
+
import { BLOCKS, INLINES } from '@contentful/rich-text-types';
|
|
3
3
|
export declare const VALIDATIONS: {
|
|
4
4
|
ENABLED_MARKS: string;
|
|
5
5
|
ENABLED_NODE_TYPES: string;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type { SoftBreakRule, ExitBreakRule } from '@udecode/plate-break';
|
|
2
|
+
export type { ResetNodePluginRule } from '@udecode/plate-reset-node';
|
|
3
|
+
export * from './createSoftBreakPlugin';
|
|
4
|
+
export * from './createExitBreakPlugin';
|
|
5
|
+
export * from './createResetNodePlugin';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function createDragAndDropPlugin():
|
|
1
|
+
import { RichTextPlugin } from '../../types';
|
|
2
|
+
export declare function createDragAndDropPlugin(): RichTextPlugin;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { CustomRenderElementProps } from '../../types';
|
|
3
2
|
declare type LinkedEntityBlockProps = CustomRenderElementProps<{
|
|
4
3
|
target: {
|
|
@@ -8,6 +7,8 @@ declare type LinkedEntityBlockProps = CustomRenderElementProps<{
|
|
|
8
7
|
type: 'Link';
|
|
9
8
|
};
|
|
10
9
|
};
|
|
11
|
-
}
|
|
10
|
+
}> & {
|
|
11
|
+
onEntityFetchComplete: VoidFunction;
|
|
12
|
+
};
|
|
12
13
|
export declare function LinkedEntityBlock(props: LinkedEntityBlockProps): JSX.Element;
|
|
13
14
|
export {};
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
export declare const styles: {
|
|
3
2
|
icon: string;
|
|
4
3
|
};
|
|
5
4
|
interface EmbeddedEntityBlockToolbarIconProps {
|
|
6
5
|
isButton?: boolean;
|
|
7
6
|
isDisabled: boolean;
|
|
8
|
-
logAction?: () => void;
|
|
9
7
|
nodeType: string;
|
|
10
8
|
onClose: () => void;
|
|
11
9
|
}
|
|
12
|
-
export declare function EmbeddedEntityBlockToolbarIcon({ isButton, isDisabled,
|
|
10
|
+
export declare function EmbeddedEntityBlockToolbarIcon({ isButton, isDisabled, nodeType, onClose, }: EmbeddedEntityBlockToolbarIconProps): JSX.Element;
|
|
13
11
|
export {};
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import { TrackingPluginActions } from '../../plugins/Tracking';
|
|
2
|
+
export declare function selectEntityAndInsert(nodeType: any, sdk: any, editor: any, logAction: TrackingPluginActions['onToolbarAction'] | TrackingPluginActions['onShortcutAction']): Promise<void>;
|
|
2
3
|
export declare function insertBlock(editor: any, nodeType: any, entity: any): void;
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
import { KeyboardEvent } from 'react';
|
|
2
|
-
import { BLOCKS } from '@contentful/rich-text-types';
|
|
3
|
-
import { PlatePlugin, PlateEditor } from '@udecode/plate';
|
|
4
|
-
import { CustomSlatePluginOptions } from 'types';
|
|
5
1
|
import { FieldExtensionSDK } from '@contentful/app-sdk';
|
|
2
|
+
import { RichTextPlugin } from '../../types';
|
|
6
3
|
export { EmbeddedEntityBlockToolbarIcon as ToolbarIcon } from './ToolbarIcon';
|
|
7
|
-
export declare const createEmbeddedEntryBlockPlugin: (sdk: FieldExtensionSDK) =>
|
|
8
|
-
export declare const createEmbeddedAssetBlockPlugin: (sdk: FieldExtensionSDK) =>
|
|
9
|
-
export declare const withEmbeddedEntryBlockOptions: CustomSlatePluginOptions;
|
|
10
|
-
export declare const withEmbeddedAssetBlockOptions: CustomSlatePluginOptions;
|
|
11
|
-
export declare function getWithEmbeddedEntityEvents(nodeType: BLOCKS.EMBEDDED_ENTRY | BLOCKS.EMBEDDED_ASSET, sdk: FieldExtensionSDK): (editor: PlateEditor) => (event: KeyboardEvent) => void;
|
|
4
|
+
export declare const createEmbeddedEntryBlockPlugin: (sdk: FieldExtensionSDK) => RichTextPlugin;
|
|
5
|
+
export declare const createEmbeddedAssetBlockPlugin: (sdk: FieldExtensionSDK) => RichTextPlugin;
|
|
@@ -7,6 +7,7 @@ interface FetchingWrappedInlineEntryCardProps {
|
|
|
7
7
|
isDisabled: boolean;
|
|
8
8
|
onEdit: (event: React.MouseEvent<Element, MouseEvent>) => void;
|
|
9
9
|
onRemove: (event: React.MouseEvent<Element, MouseEvent>) => void;
|
|
10
|
+
onEntityFetchComplete?: VoidFunction;
|
|
10
11
|
}
|
|
11
12
|
export declare function FetchingWrappedInlineEntryCard(props: FetchingWrappedInlineEntryCardProps): JSX.Element;
|
|
12
13
|
export {};
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import { CustomSlatePluginOptions } from '../../types';
|
|
1
|
+
import { FieldExtensionSDK } from '@contentful/app-sdk';
|
|
2
|
+
import { RichTextPlugin } from '../../types';
|
|
4
3
|
interface ToolbarEmbeddedEntityInlineButtonProps {
|
|
5
4
|
onClose: () => void;
|
|
6
5
|
isDisabled: boolean;
|
|
7
6
|
isButton?: boolean;
|
|
8
7
|
}
|
|
9
8
|
export declare function ToolbarEmbeddedEntityInlineButton(props: ToolbarEmbeddedEntityInlineButtonProps): JSX.Element;
|
|
10
|
-
export declare function createEmbeddedEntityInlinePlugin(sdk:
|
|
11
|
-
export declare const withEmbeddedEntityInlineOptions: CustomSlatePluginOptions;
|
|
9
|
+
export declare function createEmbeddedEntityInlinePlugin(sdk: FieldExtensionSDK): RichTextPlugin;
|
|
12
10
|
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { BLOCKS } from '@contentful/rich-text-types';
|
|
3
|
+
import * as Slate from 'slate-react';
|
|
4
|
+
export declare const HeadingComponents: {
|
|
5
|
+
"heading-1": React.MemoExoticComponent<(props: Slate.RenderElementProps) => JSX.Element>;
|
|
6
|
+
"heading-2": React.MemoExoticComponent<(props: Slate.RenderElementProps) => JSX.Element>;
|
|
7
|
+
"heading-3": React.MemoExoticComponent<(props: Slate.RenderElementProps) => JSX.Element>;
|
|
8
|
+
"heading-4": React.MemoExoticComponent<(props: Slate.RenderElementProps) => JSX.Element>;
|
|
9
|
+
"heading-5": React.MemoExoticComponent<(props: Slate.RenderElementProps) => JSX.Element>;
|
|
10
|
+
"heading-6": React.MemoExoticComponent<(props: Slate.RenderElementProps) => JSX.Element>;
|
|
11
|
+
};
|
|
@@ -1,20 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { BLOCKS } from '@contentful/rich-text-types';
|
|
4
|
-
import { PlatePlugin, PlateEditor } from '@udecode/plate';
|
|
5
|
-
import { CustomSlatePluginOptions } from '../../types';
|
|
6
|
-
export declare function withHeadingEvents(editor: PlateEditor): (event: React.KeyboardEvent) => void;
|
|
7
|
-
interface ToolbarHeadingButtonProps {
|
|
8
|
-
isDisabled?: boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare function ToolbarHeadingButton(props: ToolbarHeadingButtonProps): JSX.Element | null;
|
|
11
|
-
export declare function createHeading(Tag: any, block: BLOCKS): (props: Slate.RenderElementProps) => JSX.Element;
|
|
12
|
-
export declare const H1: (props: Slate.RenderElementProps) => JSX.Element;
|
|
13
|
-
export declare const H2: (props: Slate.RenderElementProps) => JSX.Element;
|
|
14
|
-
export declare const H3: (props: Slate.RenderElementProps) => JSX.Element;
|
|
15
|
-
export declare const H4: (props: Slate.RenderElementProps) => JSX.Element;
|
|
16
|
-
export declare const H5: (props: Slate.RenderElementProps) => JSX.Element;
|
|
17
|
-
export declare const H6: (props: Slate.RenderElementProps) => JSX.Element;
|
|
18
|
-
export declare function createHeadingPlugin(): PlatePlugin;
|
|
19
|
-
export declare const withHeadingOptions: CustomSlatePluginOptions;
|
|
20
|
-
export {};
|
|
1
|
+
export * from './components/ToolbarHeadingButton';
|
|
2
|
+
export * from './createHeadingPlugin';
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import * as Slate from 'slate-react';
|
|
3
|
-
import {
|
|
4
|
-
import { CustomSlatePluginOptions } from '../../types';
|
|
3
|
+
import { RichTextEditor, RichTextPlugin } from '../../types';
|
|
5
4
|
interface ToolbarHrButtonProps {
|
|
6
5
|
isDisabled?: boolean;
|
|
7
6
|
}
|
|
8
|
-
export declare function withHrEvents(editor:
|
|
7
|
+
export declare function withHrEvents(editor: RichTextEditor): (event: React.KeyboardEvent) => void;
|
|
9
8
|
export declare function ToolbarHrButton(props: ToolbarHrButtonProps): JSX.Element | null;
|
|
10
9
|
export declare function Hr(props: Slate.RenderLeafProps): JSX.Element;
|
|
11
|
-
export declare
|
|
12
|
-
export declare const withHrOptions: CustomSlatePluginOptions;
|
|
10
|
+
export declare const createHrPlugin: () => RichTextPlugin;
|
|
13
11
|
export {};
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { FieldExtensionSDK } from '@contentful/field-editor-shared';
|
|
3
|
-
import { PlateEditor } from '@udecode/plate';
|
|
4
|
-
import { ReactEditor } from 'slate-react';
|
|
5
|
-
import { HistoryEditor } from 'slate-history';
|
|
6
1
|
import { Link } from '@contentful/field-editor-reference/dist/types';
|
|
2
|
+
import { FieldExtensionSDK } from '@contentful/field-editor-shared';
|
|
3
|
+
import { TrackingPluginActions } from '../../plugins/Tracking';
|
|
4
|
+
import { RichTextEditor } from '../../types';
|
|
7
5
|
interface HyperlinkModalProps {
|
|
8
6
|
linkText?: string;
|
|
9
7
|
linkType?: string;
|
|
@@ -13,5 +11,5 @@ interface HyperlinkModalProps {
|
|
|
13
11
|
sdk: FieldExtensionSDK;
|
|
14
12
|
}
|
|
15
13
|
export declare function HyperlinkModal(props: HyperlinkModalProps): JSX.Element;
|
|
16
|
-
export declare function addOrEditLink(editor:
|
|
14
|
+
export declare function addOrEditLink(editor: RichTextEditor, sdk: FieldExtensionSDK, logAction: TrackingPluginActions['onToolbarAction'] | TrackingPluginActions['onShortcutAction'] | TrackingPluginActions['onViewportAction']): Promise<void>;
|
|
17
15
|
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Link } from '@contentful/app-sdk';
|
|
2
|
+
import { CustomRenderElementProps } from '../../../types';
|
|
3
|
+
declare type HyperlinkElementProps = CustomRenderElementProps<{
|
|
4
|
+
uri?: string;
|
|
5
|
+
target?: Link;
|
|
6
|
+
onEntityFetchComplete?: VoidFunction;
|
|
7
|
+
}>;
|
|
8
|
+
export declare function EntityHyperlink(props: HyperlinkElementProps): JSX.Element | null;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Link } from '@contentful/app-sdk';
|
|
2
|
+
import { CustomRenderElementProps } from '../../../types';
|
|
3
|
+
declare type HyperlinkElementProps = CustomRenderElementProps<{
|
|
4
|
+
uri?: string;
|
|
5
|
+
target?: Link;
|
|
6
|
+
onEntityFetchComplete?: VoidFunction;
|
|
7
|
+
}>;
|
|
8
|
+
export declare function UrlHyperlink(props: HyperlinkElementProps): JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -1,12 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { FieldExtensionSDK } from '@contentful/app-sdk';
|
|
4
|
-
import { CustomSlatePluginOptions } from '../../types';
|
|
5
|
-
export declare function createHyperlinkPlugin(sdk: FieldExtensionSDK): PlatePlugin;
|
|
6
|
-
export declare function buildHyperlinkEventHandler(sdk: any): (editor: any) => (event: React.KeyboardEvent) => void;
|
|
7
|
-
interface ToolbarHyperlinkButtonProps {
|
|
8
|
-
isDisabled: boolean | undefined;
|
|
9
|
-
}
|
|
10
|
-
export declare function ToolbarHyperlinkButton(props: ToolbarHyperlinkButtonProps): JSX.Element | null;
|
|
11
|
-
export declare const withHyperlinkOptions: CustomSlatePluginOptions;
|
|
12
|
-
export {};
|
|
1
|
+
export { ToolbarHyperlinkButton } from './components/ToolbarHyperlinkButton';
|
|
2
|
+
export { createHyperlinkPlugin } from './createHyperlinkPlugin';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FieldExtensionSDK, Link, Entry, Asset, ScheduledAction } from '@contentful/app-sdk';
|
|
2
|
+
import { entityHelpers } from '@contentful/field-editor-shared';
|
|
3
|
+
export declare type FetchedEntityData = {
|
|
4
|
+
jobs: ScheduledAction[];
|
|
5
|
+
entity: Entry | Asset;
|
|
6
|
+
entityTitle: string;
|
|
7
|
+
entityDescription: string;
|
|
8
|
+
entityStatus: ReturnType<typeof entityHelpers.getEntryStatus>;
|
|
9
|
+
contentTypeName: string;
|
|
10
|
+
};
|
|
11
|
+
export declare type EntityInfoProps = {
|
|
12
|
+
target: Link;
|
|
13
|
+
sdk: FieldExtensionSDK;
|
|
14
|
+
onEntityFetchComplete?: VoidFunction;
|
|
15
|
+
};
|
|
16
|
+
export declare function useEntityInfo(props: EntityInfoProps): string;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { NodeEntry, Node } from 'slate';
|
|
2
|
+
import { RichTextEditor } from '../../types';
|
|
3
|
+
import { FetchedEntityData } from './useEntityInfo';
|
|
4
|
+
export declare const hasText: (editor: RichTextEditor, entry: NodeEntry<Node>) => boolean;
|
|
5
|
+
export declare function getEntityInfo(data?: FetchedEntityData): string;
|
|
@@ -1,15 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { BLOCKS } from '@contentful/rich-text-types';
|
|
4
|
-
import { CustomSlatePluginOptions } from '../../types';
|
|
5
|
-
interface ToolbarListButtonProps {
|
|
6
|
-
isDisabled?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare function ToolbarListButton(props: ToolbarListButtonProps): JSX.Element | null;
|
|
9
|
-
export declare function createList(Tag: any, block: BLOCKS): (props: Slate.RenderElementProps) => JSX.Element;
|
|
10
|
-
export declare const UL: (props: Slate.RenderElementProps) => JSX.Element;
|
|
11
|
-
export declare const OL: (props: Slate.RenderElementProps) => JSX.Element;
|
|
12
|
-
export declare const LI: (props: Slate.RenderElementProps) => JSX.Element;
|
|
13
|
-
export declare const withListOptions: CustomSlatePluginOptions;
|
|
14
|
-
export declare const createListPlugin: () => import("@udecode/plate").PlatePlugin<{}>;
|
|
15
|
-
export {};
|
|
1
|
+
export * from './createListPlugin';
|
|
2
|
+
export * from './components/ToolbarListButton';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Credit: Modified version of Plate's list plugin
|
|
3
|
+
* See: https://github.com/udecode/plate/blob/main/packages/nodes/list
|
|
4
|
+
*/
|
|
5
|
+
import { HotkeyPlugin, KeyboardHandler } from '@udecode/plate-core';
|
|
6
|
+
import { RichTextEditor } from '../../types';
|
|
7
|
+
export declare const onKeyDownList: KeyboardHandler<RichTextEditor, HotkeyPlugin>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Credit: Modified version of Plate's list plugin
|
|
3
|
+
* See: https://github.com/udecode/plate/blob/main/packages/nodes/list
|
|
4
|
+
*/
|
|
5
|
+
import { PlateEditor, TElement } from '@udecode/plate-core';
|
|
6
|
+
import { NodeEntry } from 'slate';
|
|
7
|
+
export interface MoveListItemDownOptions {
|
|
8
|
+
list: NodeEntry<TElement>;
|
|
9
|
+
listItem: NodeEntry<TElement>;
|
|
10
|
+
}
|
|
11
|
+
export declare const moveListItemDown: (editor: PlateEditor, { list, listItem }: MoveListItemDownOptions) => void;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Credit: Modified version of Plate's list plugin
|
|
3
|
+
* See: https://github.com/udecode/plate/blob/main/packages/nodes/list
|
|
4
|
+
*/
|
|
5
|
+
import { EditorNodesOptions, PlateEditor } from '@udecode/plate-core';
|
|
6
|
+
export declare type MoveListItemsOptions = {
|
|
7
|
+
increase?: boolean;
|
|
8
|
+
at?: EditorNodesOptions['at'];
|
|
9
|
+
};
|
|
10
|
+
export declare const moveListItems: (editor: PlateEditor, { increase, at }?: MoveListItemsOptions) => void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BLOCKS } from '@contentful/rich-text-types';
|
|
2
|
+
import { NodeEntry, Node } from 'slate';
|
|
3
|
+
import { CustomElement, RichTextEditor } from '../../types';
|
|
4
|
+
export declare const hasListAsDirectParent: (editor: RichTextEditor, [, path]: NodeEntry<Node>) => boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Places orphaned list items in a list. If there's a list somewhere
|
|
7
|
+
* in the node's ancestors, defaults to that list type, else places
|
|
8
|
+
* the list item in an unordered list.
|
|
9
|
+
*/
|
|
10
|
+
export declare const normalizeOrphanedListItem: (editor: RichTextEditor, [, path]: NodeEntry<Node>) => void;
|
|
11
|
+
export declare const isNonEmptyListItem: (editor: RichTextEditor, [, path]: NodeEntry<Node>) => boolean;
|
|
12
|
+
export declare const firstNodeIsNotList: (_editor: RichTextEditor, [node]: NodeEntry<CustomElement<unknown>>) => boolean;
|
|
13
|
+
export declare const insertParagraphAsChild: (editor: RichTextEditor, [, path]: NodeEntry<Node>) => void;
|
|
14
|
+
export declare const replaceNodeWithListItems: (editor: any, entry: any) => void;
|
|
15
|
+
export declare const isListTypeActive: (editor: RichTextEditor, type: BLOCKS) => boolean;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MARKS } from '@contentful/rich-text-types';
|
|
2
|
+
import * as Slate from 'slate-react';
|
|
3
|
+
import { RichTextPlugin } from '../../types';
|
|
4
|
+
export declare const ToolbarBoldButton: {
|
|
5
|
+
({ isDisabled }: {
|
|
6
|
+
isDisabled?: boolean | undefined;
|
|
7
|
+
}): JSX.Element | null;
|
|
8
|
+
displayName: MARKS;
|
|
9
|
+
};
|
|
10
|
+
export declare function Bold(props: Slate.RenderLeafProps): JSX.Element;
|
|
11
|
+
export declare const createBoldPlugin: () => RichTextPlugin;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MARKS } from '@contentful/rich-text-types';
|
|
2
|
+
import * as Slate from 'slate-react';
|
|
3
|
+
import { RichTextPlugin } from '../../types';
|
|
4
|
+
export declare const ToolbarCodeButton: {
|
|
5
|
+
({ isDisabled }: {
|
|
6
|
+
isDisabled?: boolean | undefined;
|
|
7
|
+
}): JSX.Element | null;
|
|
8
|
+
displayName: MARKS;
|
|
9
|
+
};
|
|
10
|
+
export declare function Code(props: Slate.RenderLeafProps): JSX.Element;
|
|
11
|
+
export declare const createCodePlugin: () => RichTextPlugin;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MARKS } from '@contentful/rich-text-types';
|
|
2
|
+
import * as Slate from 'slate-react';
|
|
3
|
+
import { RichTextPlugin } from '../../types';
|
|
4
|
+
export declare const ToolbarItalicButton: {
|
|
5
|
+
({ isDisabled }: {
|
|
6
|
+
isDisabled?: boolean | undefined;
|
|
7
|
+
}): JSX.Element | null;
|
|
8
|
+
displayName: MARKS;
|
|
9
|
+
};
|
|
10
|
+
export declare function Italic(props: Slate.RenderLeafProps): JSX.Element;
|
|
11
|
+
export declare const createItalicPlugin: () => RichTextPlugin;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MARKS } from '@contentful/rich-text-types';
|
|
2
|
+
import * as Slate from 'slate-react';
|
|
3
|
+
import { RichTextPlugin } from '../../types';
|
|
4
|
+
export declare const ToolbarUnderlineButton: {
|
|
5
|
+
({ isDisabled }: {
|
|
6
|
+
isDisabled?: boolean | undefined;
|
|
7
|
+
}): JSX.Element | null;
|
|
8
|
+
displayName: MARKS;
|
|
9
|
+
};
|
|
10
|
+
export declare function Underline(props: Slate.RenderLeafProps): JSX.Element;
|
|
11
|
+
export declare const createUnderlinePlugin: () => RichTextPlugin;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { MARKS } from '@contentful/rich-text-types';
|
|
3
|
+
export interface MarkOptions {
|
|
4
|
+
mark: MARKS;
|
|
5
|
+
title: string;
|
|
6
|
+
icon: React.ReactElement;
|
|
7
|
+
}
|
|
8
|
+
export declare const createMarkToolbarButton: ({ mark, title, icon }: MarkOptions) => {
|
|
9
|
+
({ isDisabled }: {
|
|
10
|
+
isDisabled?: boolean | undefined;
|
|
11
|
+
}): JSX.Element | null;
|
|
12
|
+
displayName: MARKS;
|
|
13
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { MARKS } from '@contentful/rich-text-types';
|
|
2
|
+
import { HotkeyPlugin, KeyboardHandler } from '@udecode/plate-core';
|
|
3
|
+
import { RichTextEditor } from '../../types';
|
|
4
|
+
export declare const buildMarkEventHandler: (type: MARKS) => KeyboardHandler<RichTextEditor, HotkeyPlugin>;
|