@contember/react-slate-editor-base 2.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/components/RichTextEditor.cjs +93 -0
- package/dist/development/components/RichTextEditor.cjs.map +1 -0
- package/dist/development/components/RichTextEditor.js +93 -0
- package/dist/development/components/RichTextEditor.js.map +1 -0
- package/dist/development/components/triggers/EditorElementTrigger.cjs +16 -0
- package/dist/development/components/triggers/EditorElementTrigger.cjs.map +1 -0
- package/dist/development/components/triggers/EditorElementTrigger.js +16 -0
- package/dist/development/components/triggers/EditorElementTrigger.js.map +1 -0
- package/dist/development/components/triggers/EditorGenericTrigger.cjs +20 -0
- package/dist/development/components/triggers/EditorGenericTrigger.cjs.map +1 -0
- package/dist/development/components/triggers/EditorGenericTrigger.js +20 -0
- package/dist/development/components/triggers/EditorGenericTrigger.js.map +1 -0
- package/dist/development/components/triggers/EditorMarkTrigger.cjs +16 -0
- package/dist/development/components/triggers/EditorMarkTrigger.cjs.map +1 -0
- package/dist/development/components/triggers/EditorMarkTrigger.js +16 -0
- package/dist/development/components/triggers/EditorMarkTrigger.js.map +1 -0
- package/dist/development/components/triggers/EditorWrapNodeTrigger.cjs +28 -0
- package/dist/development/components/triggers/EditorWrapNodeTrigger.cjs.map +1 -0
- package/dist/development/components/triggers/EditorWrapNodeTrigger.js +28 -0
- package/dist/development/components/triggers/EditorWrapNodeTrigger.js.map +1 -0
- package/dist/development/editor/createEditor.cjs +35 -0
- package/dist/development/editor/createEditor.cjs.map +1 -0
- package/dist/development/editor/createEditor.js +35 -0
- package/dist/development/editor/createEditor.js.map +1 -0
- package/dist/development/editor/createEditorWithEssentials.cjs +227 -0
- package/dist/development/editor/createEditorWithEssentials.cjs.map +1 -0
- package/dist/development/editor/createEditorWithEssentials.js +211 -0
- package/dist/development/editor/createEditorWithEssentials.js.map +1 -0
- package/dist/development/editor/index.cjs +44 -0
- package/dist/development/editor/index.cjs.map +1 -0
- package/dist/development/editor/index.js +44 -0
- package/dist/development/editor/index.js.map +1 -0
- package/dist/development/editor/methods/addMarks.cjs +12 -0
- package/dist/development/editor/methods/addMarks.cjs.map +1 -0
- package/dist/development/editor/methods/addMarks.js +12 -0
- package/dist/development/editor/methods/addMarks.js.map +1 -0
- package/dist/development/editor/methods/canToggleMark.cjs +7 -0
- package/dist/development/editor/methods/canToggleMark.cjs.map +1 -0
- package/dist/development/editor/methods/canToggleMark.js +7 -0
- package/dist/development/editor/methods/canToggleMark.js.map +1 -0
- package/dist/development/editor/methods/closest.cjs +18 -0
- package/dist/development/editor/methods/closest.cjs.map +1 -0
- package/dist/development/editor/methods/closest.js +18 -0
- package/dist/development/editor/methods/closest.js.map +1 -0
- package/dist/development/editor/methods/closestBlockEntry.cjs +10 -0
- package/dist/development/editor/methods/closestBlockEntry.cjs.map +1 -0
- package/dist/development/editor/methods/closestBlockEntry.js +10 -0
- package/dist/development/editor/methods/closestBlockEntry.js.map +1 -0
- package/dist/development/editor/methods/closestViableBlockContainerEntry.cjs +9 -0
- package/dist/development/editor/methods/closestViableBlockContainerEntry.cjs.map +1 -0
- package/dist/development/editor/methods/closestViableBlockContainerEntry.js +9 -0
- package/dist/development/editor/methods/closestViableBlockContainerEntry.js.map +1 -0
- package/dist/development/editor/methods/ejectElement.cjs +15 -0
- package/dist/development/editor/methods/ejectElement.cjs.map +1 -0
- package/dist/development/editor/methods/ejectElement.js +15 -0
- package/dist/development/editor/methods/ejectElement.js.map +1 -0
- package/dist/development/editor/methods/elementToSpecifics.cjs +8 -0
- package/dist/development/editor/methods/elementToSpecifics.cjs.map +1 -0
- package/dist/development/editor/methods/elementToSpecifics.js +8 -0
- package/dist/development/editor/methods/elementToSpecifics.js.map +1 -0
- package/dist/development/editor/methods/getElementDataAttributes.cjs +13 -0
- package/dist/development/editor/methods/getElementDataAttributes.cjs.map +1 -0
- package/dist/development/editor/methods/getElementDataAttributes.js +13 -0
- package/dist/development/editor/methods/getElementDataAttributes.js.map +1 -0
- package/dist/development/editor/methods/getPreviousSibling.cjs +13 -0
- package/dist/development/editor/methods/getPreviousSibling.cjs.map +1 -0
- package/dist/development/editor/methods/getPreviousSibling.js +13 -0
- package/dist/development/editor/methods/getPreviousSibling.js.map +1 -0
- package/dist/development/editor/methods/hasMarks.cjs +23 -0
- package/dist/development/editor/methods/hasMarks.cjs.map +1 -0
- package/dist/development/editor/methods/hasMarks.js +23 -0
- package/dist/development/editor/methods/hasMarks.js.map +1 -0
- package/dist/development/editor/methods/hasParentOfType.cjs +15 -0
- package/dist/development/editor/methods/hasParentOfType.cjs.map +1 -0
- package/dist/development/editor/methods/hasParentOfType.js +15 -0
- package/dist/development/editor/methods/hasParentOfType.js.map +1 -0
- package/dist/development/editor/methods/isElementType.cjs +24 -0
- package/dist/development/editor/methods/isElementType.cjs.map +1 -0
- package/dist/development/editor/methods/isElementType.js +24 -0
- package/dist/development/editor/methods/isElementType.js.map +1 -0
- package/dist/development/editor/methods/permissivelyDeserializeNodes.cjs +22 -0
- package/dist/development/editor/methods/permissivelyDeserializeNodes.cjs.map +1 -0
- package/dist/development/editor/methods/permissivelyDeserializeNodes.js +22 -0
- package/dist/development/editor/methods/permissivelyDeserializeNodes.js.map +1 -0
- package/dist/development/editor/methods/removeMarks.cjs +12 -0
- package/dist/development/editor/methods/removeMarks.cjs.map +1 -0
- package/dist/development/editor/methods/removeMarks.js +12 -0
- package/dist/development/editor/methods/removeMarks.js.map +1 -0
- package/dist/development/editor/methods/serializeNodes.cjs +15 -0
- package/dist/development/editor/methods/serializeNodes.cjs.map +1 -0
- package/dist/development/editor/methods/serializeNodes.js +15 -0
- package/dist/development/editor/methods/serializeNodes.js.map +1 -0
- package/dist/development/editor/methods/strictlyDeserializeNodes.cjs +14 -0
- package/dist/development/editor/methods/strictlyDeserializeNodes.cjs.map +1 -0
- package/dist/development/editor/methods/strictlyDeserializeNodes.js +14 -0
- package/dist/development/editor/methods/strictlyDeserializeNodes.js.map +1 -0
- package/dist/development/editor/methods/textToSpecifics.cjs +8 -0
- package/dist/development/editor/methods/textToSpecifics.cjs.map +1 -0
- package/dist/development/editor/methods/textToSpecifics.js +8 -0
- package/dist/development/editor/methods/textToSpecifics.js.map +1 -0
- package/dist/development/editor/methods/toLatestFormat.cjs +34 -0
- package/dist/development/editor/methods/toLatestFormat.cjs.map +1 -0
- package/dist/development/editor/methods/toLatestFormat.js +34 -0
- package/dist/development/editor/methods/toLatestFormat.js.map +1 -0
- package/dist/development/editor/methods/topLevelNodes.cjs +12 -0
- package/dist/development/editor/methods/topLevelNodes.cjs.map +1 -0
- package/dist/development/editor/methods/topLevelNodes.js +12 -0
- package/dist/development/editor/methods/topLevelNodes.js.map +1 -0
- package/dist/development/index.cjs +139 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/index.js +136 -0
- package/dist/development/index.js.map +1 -0
- package/dist/development/internal/components/DefaultElement.cjs +11 -0
- package/dist/development/internal/components/DefaultElement.cjs.map +1 -0
- package/dist/development/internal/components/DefaultElement.js +11 -0
- package/dist/development/internal/components/DefaultElement.js.map +1 -0
- package/dist/development/internal/hooks/useRichTextFieldNodes.cjs +28 -0
- package/dist/development/internal/hooks/useRichTextFieldNodes.cjs.map +1 -0
- package/dist/development/internal/hooks/useRichTextFieldNodes.js +28 -0
- package/dist/development/internal/hooks/useRichTextFieldNodes.js.map +1 -0
- package/dist/development/internal/utils/EditorPasteUtils.cjs +47 -0
- package/dist/development/internal/utils/EditorPasteUtils.cjs.map +1 -0
- package/dist/development/internal/utils/EditorPasteUtils.js +47 -0
- package/dist/development/internal/utils/EditorPasteUtils.js.map +1 -0
- package/dist/development/internal/utils/parseUrl.cjs +14 -0
- package/dist/development/internal/utils/parseUrl.cjs.map +1 -0
- package/dist/development/internal/utils/parseUrl.js +14 -0
- package/dist/development/internal/utils/parseUrl.js.map +1 -0
- package/dist/development/plugins/attributes/alignment/alignButton.cjs +21 -0
- package/dist/development/plugins/attributes/alignment/alignButton.cjs.map +1 -0
- package/dist/development/plugins/attributes/alignment/alignButton.js +21 -0
- package/dist/development/plugins/attributes/alignment/alignButton.js.map +1 -0
- package/dist/development/plugins/behaviour/paste/HtmlDeserializer.cjs +138 -0
- package/dist/development/plugins/behaviour/paste/HtmlDeserializer.cjs.map +1 -0
- package/dist/development/plugins/behaviour/paste/HtmlDeserializer.js +138 -0
- package/dist/development/plugins/behaviour/paste/HtmlDeserializer.js.map +1 -0
- package/dist/development/plugins/behaviour/paste/createMarkHtmlDeserializer.cjs +15 -0
- package/dist/development/plugins/behaviour/paste/createMarkHtmlDeserializer.cjs.map +1 -0
- package/dist/development/plugins/behaviour/paste/createMarkHtmlDeserializer.js +15 -0
- package/dist/development/plugins/behaviour/paste/createMarkHtmlDeserializer.js.map +1 -0
- package/dist/development/plugins/behaviour/paste/withPaste.cjs +24 -0
- package/dist/development/plugins/behaviour/paste/withPaste.cjs.map +1 -0
- package/dist/development/plugins/behaviour/paste/withPaste.js +24 -0
- package/dist/development/plugins/behaviour/paste/withPaste.js.map +1 -0
- package/dist/development/plugins/element/anchors/AnchorElement.cjs +44 -0
- package/dist/development/plugins/element/anchors/AnchorElement.cjs.map +1 -0
- package/dist/development/plugins/element/anchors/AnchorElement.js +44 -0
- package/dist/development/plugins/element/anchors/AnchorElement.js.map +1 -0
- package/dist/development/plugins/element/anchors/AnchorHtmlDeserializer.cjs +19 -0
- package/dist/development/plugins/element/anchors/AnchorHtmlDeserializer.cjs.map +1 -0
- package/dist/development/plugins/element/anchors/AnchorHtmlDeserializer.js +19 -0
- package/dist/development/plugins/element/anchors/AnchorHtmlDeserializer.js.map +1 -0
- package/dist/development/plugins/element/anchors/AnchorModifications.cjs +29 -0
- package/dist/development/plugins/element/anchors/AnchorModifications.cjs.map +1 -0
- package/dist/development/plugins/element/anchors/AnchorModifications.js +29 -0
- package/dist/development/plugins/element/anchors/AnchorModifications.js.map +1 -0
- package/dist/development/plugins/element/anchors/withAnchors.cjs +21 -0
- package/dist/development/plugins/element/anchors/withAnchors.cjs.map +1 -0
- package/dist/development/plugins/element/anchors/withAnchors.js +21 -0
- package/dist/development/plugins/element/anchors/withAnchors.js.map +1 -0
- package/dist/development/plugins/element/headings/HeadingElement.cjs +41 -0
- package/dist/development/plugins/element/headings/HeadingElement.cjs.map +1 -0
- package/dist/development/plugins/element/headings/HeadingElement.js +41 -0
- package/dist/development/plugins/element/headings/HeadingElement.js.map +1 -0
- package/dist/development/plugins/element/headings/HeadingHtmlDeserializer.cjs +22 -0
- package/dist/development/plugins/element/headings/HeadingHtmlDeserializer.cjs.map +1 -0
- package/dist/development/plugins/element/headings/HeadingHtmlDeserializer.js +22 -0
- package/dist/development/plugins/element/headings/HeadingHtmlDeserializer.js.map +1 -0
- package/dist/development/plugins/element/headings/withHeadings.cjs +70 -0
- package/dist/development/plugins/element/headings/withHeadings.cjs.map +1 -0
- package/dist/development/plugins/element/headings/withHeadings.js +70 -0
- package/dist/development/plugins/element/headings/withHeadings.js.map +1 -0
- package/dist/development/plugins/element/horizonalRules/HorizontalRuleElement.cjs +41 -0
- package/dist/development/plugins/element/horizonalRules/HorizontalRuleElement.cjs.map +1 -0
- package/dist/development/plugins/element/horizonalRules/HorizontalRuleElement.js +41 -0
- package/dist/development/plugins/element/horizonalRules/HorizontalRuleElement.js.map +1 -0
- package/dist/development/plugins/element/horizonalRules/withHorizontalRules.cjs +75 -0
- package/dist/development/plugins/element/horizonalRules/withHorizontalRules.cjs.map +1 -0
- package/dist/development/plugins/element/horizonalRules/withHorizontalRules.js +75 -0
- package/dist/development/plugins/element/horizonalRules/withHorizontalRules.js.map +1 -0
- package/dist/development/plugins/element/lists/ListElement.cjs +26 -0
- package/dist/development/plugins/element/lists/ListElement.cjs.map +1 -0
- package/dist/development/plugins/element/lists/ListElement.js +26 -0
- package/dist/development/plugins/element/lists/ListElement.js.map +1 -0
- package/dist/development/plugins/element/lists/ListHtmlDeserializer.cjs +98 -0
- package/dist/development/plugins/element/lists/ListHtmlDeserializer.cjs.map +1 -0
- package/dist/development/plugins/element/lists/ListHtmlDeserializer.js +98 -0
- package/dist/development/plugins/element/lists/ListHtmlDeserializer.js.map +1 -0
- package/dist/development/plugins/element/lists/ListItemElement.cjs +53 -0
- package/dist/development/plugins/element/lists/ListItemElement.cjs.map +1 -0
- package/dist/development/plugins/element/lists/ListItemElement.js +53 -0
- package/dist/development/plugins/element/lists/ListItemElement.js.map +1 -0
- package/dist/development/plugins/element/lists/OrderedListElement.cjs +25 -0
- package/dist/development/plugins/element/lists/OrderedListElement.cjs.map +1 -0
- package/dist/development/plugins/element/lists/OrderedListElement.js +25 -0
- package/dist/development/plugins/element/lists/OrderedListElement.js.map +1 -0
- package/dist/development/plugins/element/lists/UnorderedListElement.cjs +25 -0
- package/dist/development/plugins/element/lists/UnorderedListElement.cjs.map +1 -0
- package/dist/development/plugins/element/lists/UnorderedListElement.js +25 -0
- package/dist/development/plugins/element/lists/UnorderedListElement.js.map +1 -0
- package/dist/development/plugins/element/lists/transforms/dedentListItem.cjs +57 -0
- package/dist/development/plugins/element/lists/transforms/dedentListItem.cjs.map +1 -0
- package/dist/development/plugins/element/lists/transforms/dedentListItem.js +57 -0
- package/dist/development/plugins/element/lists/transforms/dedentListItem.js.map +1 -0
- package/dist/development/plugins/element/lists/transforms/indentListItem.cjs +57 -0
- package/dist/development/plugins/element/lists/transforms/indentListItem.cjs.map +1 -0
- package/dist/development/plugins/element/lists/transforms/indentListItem.js +57 -0
- package/dist/development/plugins/element/lists/transforms/indentListItem.js.map +1 -0
- package/dist/development/plugins/element/lists/transforms/normalizeListElement.cjs +22 -0
- package/dist/development/plugins/element/lists/transforms/normalizeListElement.cjs.map +1 -0
- package/dist/development/plugins/element/lists/transforms/normalizeListElement.js +22 -0
- package/dist/development/plugins/element/lists/transforms/normalizeListElement.js.map +1 -0
- package/dist/development/plugins/element/lists/transforms/toggleListElement.cjs +93 -0
- package/dist/development/plugins/element/lists/transforms/toggleListElement.cjs.map +1 -0
- package/dist/development/plugins/element/lists/transforms/toggleListElement.js +93 -0
- package/dist/development/plugins/element/lists/transforms/toggleListElement.js.map +1 -0
- package/dist/development/plugins/element/lists/withLists.cjs +153 -0
- package/dist/development/plugins/element/lists/withLists.cjs.map +1 -0
- package/dist/development/plugins/element/lists/withLists.js +153 -0
- package/dist/development/plugins/element/lists/withLists.js.map +1 -0
- package/dist/development/plugins/element/paragraphs/ParagraphElement.cjs +49 -0
- package/dist/development/plugins/element/paragraphs/ParagraphElement.cjs.map +1 -0
- package/dist/development/plugins/element/paragraphs/ParagraphElement.js +49 -0
- package/dist/development/plugins/element/paragraphs/ParagraphElement.js.map +1 -0
- package/dist/development/plugins/element/paragraphs/ParagraphHtmlDeserializer.cjs +11 -0
- package/dist/development/plugins/element/paragraphs/ParagraphHtmlDeserializer.cjs.map +1 -0
- package/dist/development/plugins/element/paragraphs/ParagraphHtmlDeserializer.js +11 -0
- package/dist/development/plugins/element/paragraphs/ParagraphHtmlDeserializer.js.map +1 -0
- package/dist/development/plugins/element/paragraphs/withParagraphs.cjs +58 -0
- package/dist/development/plugins/element/paragraphs/withParagraphs.cjs.map +1 -0
- package/dist/development/plugins/element/paragraphs/withParagraphs.js +58 -0
- package/dist/development/plugins/element/paragraphs/withParagraphs.js.map +1 -0
- package/dist/development/plugins/element/scrollTargets/ScrollTargetElement.cjs +51 -0
- package/dist/development/plugins/element/scrollTargets/ScrollTargetElement.cjs.map +1 -0
- package/dist/development/plugins/element/scrollTargets/ScrollTargetElement.js +51 -0
- package/dist/development/plugins/element/scrollTargets/ScrollTargetElement.js.map +1 -0
- package/dist/development/plugins/element/scrollTargets/withScrollTargets.cjs +9 -0
- package/dist/development/plugins/element/scrollTargets/withScrollTargets.cjs.map +1 -0
- package/dist/development/plugins/element/scrollTargets/withScrollTargets.js +9 -0
- package/dist/development/plugins/element/scrollTargets/withScrollTargets.js.map +1 -0
- package/dist/development/plugins/element/tables/TableCellElement.cjs +39 -0
- package/dist/development/plugins/element/tables/TableCellElement.cjs.map +1 -0
- package/dist/development/plugins/element/tables/TableCellElement.js +39 -0
- package/dist/development/plugins/element/tables/TableCellElement.js.map +1 -0
- package/dist/development/plugins/element/tables/TableElement.cjs +114 -0
- package/dist/development/plugins/element/tables/TableElement.cjs.map +1 -0
- package/dist/development/plugins/element/tables/TableElement.js +114 -0
- package/dist/development/plugins/element/tables/TableElement.js.map +1 -0
- package/dist/development/plugins/element/tables/TableElementSelection.cjs +20 -0
- package/dist/development/plugins/element/tables/TableElementSelection.cjs.map +1 -0
- package/dist/development/plugins/element/tables/TableElementSelection.js +20 -0
- package/dist/development/plugins/element/tables/TableElementSelection.js.map +1 -0
- package/dist/development/plugins/element/tables/TableModifications.cjs +134 -0
- package/dist/development/plugins/element/tables/TableModifications.cjs.map +1 -0
- package/dist/development/plugins/element/tables/TableModifications.js +134 -0
- package/dist/development/plugins/element/tables/TableModifications.js.map +1 -0
- package/dist/development/plugins/element/tables/TableRowElement.cjs +43 -0
- package/dist/development/plugins/element/tables/TableRowElement.cjs.map +1 -0
- package/dist/development/plugins/element/tables/TableRowElement.js +43 -0
- package/dist/development/plugins/element/tables/TableRowElement.js.map +1 -0
- package/dist/development/plugins/element/tables/gaugeTableColumnCount.cjs +25 -0
- package/dist/development/plugins/element/tables/gaugeTableColumnCount.cjs.map +1 -0
- package/dist/development/plugins/element/tables/gaugeTableColumnCount.js +25 -0
- package/dist/development/plugins/element/tables/gaugeTableColumnCount.js.map +1 -0
- package/dist/development/plugins/element/tables/withTables.cjs +281 -0
- package/dist/development/plugins/element/tables/withTables.cjs.map +1 -0
- package/dist/development/plugins/element/tables/withTables.js +281 -0
- package/dist/development/plugins/element/tables/withTables.js.map +1 -0
- package/dist/development/plugins/text/bold/boldMark.cjs +13 -0
- package/dist/development/plugins/text/bold/boldMark.cjs.map +1 -0
- package/dist/development/plugins/text/bold/boldMark.js +13 -0
- package/dist/development/plugins/text/bold/boldMark.js.map +1 -0
- package/dist/development/plugins/text/bold/withBold.cjs +16 -0
- package/dist/development/plugins/text/bold/withBold.cjs.map +1 -0
- package/dist/development/plugins/text/bold/withBold.js +16 -0
- package/dist/development/plugins/text/bold/withBold.js.map +1 -0
- package/dist/development/plugins/text/code/codeMark.cjs +13 -0
- package/dist/development/plugins/text/code/codeMark.cjs.map +1 -0
- package/dist/development/plugins/text/code/codeMark.js +13 -0
- package/dist/development/plugins/text/code/codeMark.js.map +1 -0
- package/dist/development/plugins/text/code/withCode.cjs +9 -0
- package/dist/development/plugins/text/code/withCode.cjs.map +1 -0
- package/dist/development/plugins/text/code/withCode.js +9 -0
- package/dist/development/plugins/text/code/withCode.js.map +1 -0
- package/dist/development/plugins/text/highlight/highlightMark.cjs +13 -0
- package/dist/development/plugins/text/highlight/highlightMark.cjs.map +1 -0
- package/dist/development/plugins/text/highlight/highlightMark.js +13 -0
- package/dist/development/plugins/text/highlight/highlightMark.js.map +1 -0
- package/dist/development/plugins/text/highlight/withHighlight.cjs +9 -0
- package/dist/development/plugins/text/highlight/withHighlight.cjs.map +1 -0
- package/dist/development/plugins/text/highlight/withHighlight.js +9 -0
- package/dist/development/plugins/text/highlight/withHighlight.js.map +1 -0
- package/dist/development/plugins/text/italic/italicMark.cjs +13 -0
- package/dist/development/plugins/text/italic/italicMark.cjs.map +1 -0
- package/dist/development/plugins/text/italic/italicMark.js +13 -0
- package/dist/development/plugins/text/italic/italicMark.js.map +1 -0
- package/dist/development/plugins/text/italic/withItalic.cjs +16 -0
- package/dist/development/plugins/text/italic/withItalic.cjs.map +1 -0
- package/dist/development/plugins/text/italic/withItalic.js +16 -0
- package/dist/development/plugins/text/italic/withItalic.js.map +1 -0
- package/dist/development/plugins/text/newline/withNewline.cjs +15 -0
- package/dist/development/plugins/text/newline/withNewline.cjs.map +1 -0
- package/dist/development/plugins/text/newline/withNewline.js +15 -0
- package/dist/development/plugins/text/newline/withNewline.js.map +1 -0
- package/dist/development/plugins/text/strikeThrough/strikeThroughMark.cjs +13 -0
- package/dist/development/plugins/text/strikeThrough/strikeThroughMark.cjs.map +1 -0
- package/dist/development/plugins/text/strikeThrough/strikeThroughMark.js +13 -0
- package/dist/development/plugins/text/strikeThrough/strikeThroughMark.js.map +1 -0
- package/dist/development/plugins/text/strikeThrough/withStrikeThrough.cjs +17 -0
- package/dist/development/plugins/text/strikeThrough/withStrikeThrough.cjs.map +1 -0
- package/dist/development/plugins/text/strikeThrough/withStrikeThrough.js +17 -0
- package/dist/development/plugins/text/strikeThrough/withStrikeThrough.js.map +1 -0
- package/dist/development/plugins/text/underline/underlineMark.cjs +13 -0
- package/dist/development/plugins/text/underline/underlineMark.cjs.map +1 -0
- package/dist/development/plugins/text/underline/underlineMark.js +13 -0
- package/dist/development/plugins/text/underline/underlineMark.js.map +1 -0
- package/dist/development/plugins/text/underline/withUnderline.cjs +17 -0
- package/dist/development/plugins/text/underline/withUnderline.cjs.map +1 -0
- package/dist/development/plugins/text/underline/withUnderline.js +17 -0
- package/dist/development/plugins/text/underline/withUnderline.js.map +1 -0
- package/dist/development/slate-reexport.cjs +10 -0
- package/dist/development/slate-reexport.cjs.map +1 -0
- package/dist/development/slate-reexport.js +8 -0
- package/dist/development/slate-reexport.js.map +1 -0
- package/dist/production/components/RichTextEditor.cjs +93 -0
- package/dist/production/components/RichTextEditor.cjs.map +1 -0
- package/dist/production/components/RichTextEditor.js +93 -0
- package/dist/production/components/RichTextEditor.js.map +1 -0
- package/dist/production/components/triggers/EditorElementTrigger.cjs +16 -0
- package/dist/production/components/triggers/EditorElementTrigger.cjs.map +1 -0
- package/dist/production/components/triggers/EditorElementTrigger.js +16 -0
- package/dist/production/components/triggers/EditorElementTrigger.js.map +1 -0
- package/dist/production/components/triggers/EditorGenericTrigger.cjs +20 -0
- package/dist/production/components/triggers/EditorGenericTrigger.cjs.map +1 -0
- package/dist/production/components/triggers/EditorGenericTrigger.js +20 -0
- package/dist/production/components/triggers/EditorGenericTrigger.js.map +1 -0
- package/dist/production/components/triggers/EditorMarkTrigger.cjs +16 -0
- package/dist/production/components/triggers/EditorMarkTrigger.cjs.map +1 -0
- package/dist/production/components/triggers/EditorMarkTrigger.js +16 -0
- package/dist/production/components/triggers/EditorMarkTrigger.js.map +1 -0
- package/dist/production/components/triggers/EditorWrapNodeTrigger.cjs +28 -0
- package/dist/production/components/triggers/EditorWrapNodeTrigger.cjs.map +1 -0
- package/dist/production/components/triggers/EditorWrapNodeTrigger.js +28 -0
- package/dist/production/components/triggers/EditorWrapNodeTrigger.js.map +1 -0
- package/dist/production/editor/createEditor.cjs +35 -0
- package/dist/production/editor/createEditor.cjs.map +1 -0
- package/dist/production/editor/createEditor.js +35 -0
- package/dist/production/editor/createEditor.js.map +1 -0
- package/dist/production/editor/createEditorWithEssentials.cjs +227 -0
- package/dist/production/editor/createEditorWithEssentials.cjs.map +1 -0
- package/dist/production/editor/createEditorWithEssentials.js +211 -0
- package/dist/production/editor/createEditorWithEssentials.js.map +1 -0
- package/dist/production/editor/index.cjs +44 -0
- package/dist/production/editor/index.cjs.map +1 -0
- package/dist/production/editor/index.js +44 -0
- package/dist/production/editor/index.js.map +1 -0
- package/dist/production/editor/methods/addMarks.cjs +12 -0
- package/dist/production/editor/methods/addMarks.cjs.map +1 -0
- package/dist/production/editor/methods/addMarks.js +12 -0
- package/dist/production/editor/methods/addMarks.js.map +1 -0
- package/dist/production/editor/methods/canToggleMark.cjs +7 -0
- package/dist/production/editor/methods/canToggleMark.cjs.map +1 -0
- package/dist/production/editor/methods/canToggleMark.js +7 -0
- package/dist/production/editor/methods/canToggleMark.js.map +1 -0
- package/dist/production/editor/methods/closest.cjs +18 -0
- package/dist/production/editor/methods/closest.cjs.map +1 -0
- package/dist/production/editor/methods/closest.js +18 -0
- package/dist/production/editor/methods/closest.js.map +1 -0
- package/dist/production/editor/methods/closestBlockEntry.cjs +10 -0
- package/dist/production/editor/methods/closestBlockEntry.cjs.map +1 -0
- package/dist/production/editor/methods/closestBlockEntry.js +10 -0
- package/dist/production/editor/methods/closestBlockEntry.js.map +1 -0
- package/dist/production/editor/methods/closestViableBlockContainerEntry.cjs +9 -0
- package/dist/production/editor/methods/closestViableBlockContainerEntry.cjs.map +1 -0
- package/dist/production/editor/methods/closestViableBlockContainerEntry.js +9 -0
- package/dist/production/editor/methods/closestViableBlockContainerEntry.js.map +1 -0
- package/dist/production/editor/methods/ejectElement.cjs +15 -0
- package/dist/production/editor/methods/ejectElement.cjs.map +1 -0
- package/dist/production/editor/methods/ejectElement.js +15 -0
- package/dist/production/editor/methods/ejectElement.js.map +1 -0
- package/dist/production/editor/methods/elementToSpecifics.cjs +8 -0
- package/dist/production/editor/methods/elementToSpecifics.cjs.map +1 -0
- package/dist/production/editor/methods/elementToSpecifics.js +8 -0
- package/dist/production/editor/methods/elementToSpecifics.js.map +1 -0
- package/dist/production/editor/methods/getElementDataAttributes.cjs +13 -0
- package/dist/production/editor/methods/getElementDataAttributes.cjs.map +1 -0
- package/dist/production/editor/methods/getElementDataAttributes.js +13 -0
- package/dist/production/editor/methods/getElementDataAttributes.js.map +1 -0
- package/dist/production/editor/methods/getPreviousSibling.cjs +13 -0
- package/dist/production/editor/methods/getPreviousSibling.cjs.map +1 -0
- package/dist/production/editor/methods/getPreviousSibling.js +13 -0
- package/dist/production/editor/methods/getPreviousSibling.js.map +1 -0
- package/dist/production/editor/methods/hasMarks.cjs +23 -0
- package/dist/production/editor/methods/hasMarks.cjs.map +1 -0
- package/dist/production/editor/methods/hasMarks.js +23 -0
- package/dist/production/editor/methods/hasMarks.js.map +1 -0
- package/dist/production/editor/methods/hasParentOfType.cjs +15 -0
- package/dist/production/editor/methods/hasParentOfType.cjs.map +1 -0
- package/dist/production/editor/methods/hasParentOfType.js +15 -0
- package/dist/production/editor/methods/hasParentOfType.js.map +1 -0
- package/dist/production/editor/methods/isElementType.cjs +24 -0
- package/dist/production/editor/methods/isElementType.cjs.map +1 -0
- package/dist/production/editor/methods/isElementType.js +24 -0
- package/dist/production/editor/methods/isElementType.js.map +1 -0
- package/dist/production/editor/methods/permissivelyDeserializeNodes.cjs +22 -0
- package/dist/production/editor/methods/permissivelyDeserializeNodes.cjs.map +1 -0
- package/dist/production/editor/methods/permissivelyDeserializeNodes.js +22 -0
- package/dist/production/editor/methods/permissivelyDeserializeNodes.js.map +1 -0
- package/dist/production/editor/methods/removeMarks.cjs +12 -0
- package/dist/production/editor/methods/removeMarks.cjs.map +1 -0
- package/dist/production/editor/methods/removeMarks.js +12 -0
- package/dist/production/editor/methods/removeMarks.js.map +1 -0
- package/dist/production/editor/methods/serializeNodes.cjs +15 -0
- package/dist/production/editor/methods/serializeNodes.cjs.map +1 -0
- package/dist/production/editor/methods/serializeNodes.js +15 -0
- package/dist/production/editor/methods/serializeNodes.js.map +1 -0
- package/dist/production/editor/methods/strictlyDeserializeNodes.cjs +14 -0
- package/dist/production/editor/methods/strictlyDeserializeNodes.cjs.map +1 -0
- package/dist/production/editor/methods/strictlyDeserializeNodes.js +14 -0
- package/dist/production/editor/methods/strictlyDeserializeNodes.js.map +1 -0
- package/dist/production/editor/methods/textToSpecifics.cjs +8 -0
- package/dist/production/editor/methods/textToSpecifics.cjs.map +1 -0
- package/dist/production/editor/methods/textToSpecifics.js +8 -0
- package/dist/production/editor/methods/textToSpecifics.js.map +1 -0
- package/dist/production/editor/methods/toLatestFormat.cjs +34 -0
- package/dist/production/editor/methods/toLatestFormat.cjs.map +1 -0
- package/dist/production/editor/methods/toLatestFormat.js +34 -0
- package/dist/production/editor/methods/toLatestFormat.js.map +1 -0
- package/dist/production/editor/methods/topLevelNodes.cjs +12 -0
- package/dist/production/editor/methods/topLevelNodes.cjs.map +1 -0
- package/dist/production/editor/methods/topLevelNodes.js +12 -0
- package/dist/production/editor/methods/topLevelNodes.js.map +1 -0
- package/dist/production/index.cjs +139 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/index.js +136 -0
- package/dist/production/index.js.map +1 -0
- package/dist/production/internal/components/DefaultElement.cjs +11 -0
- package/dist/production/internal/components/DefaultElement.cjs.map +1 -0
- package/dist/production/internal/components/DefaultElement.js +11 -0
- package/dist/production/internal/components/DefaultElement.js.map +1 -0
- package/dist/production/internal/hooks/useRichTextFieldNodes.cjs +28 -0
- package/dist/production/internal/hooks/useRichTextFieldNodes.cjs.map +1 -0
- package/dist/production/internal/hooks/useRichTextFieldNodes.js +28 -0
- package/dist/production/internal/hooks/useRichTextFieldNodes.js.map +1 -0
- package/dist/production/internal/utils/EditorPasteUtils.cjs +47 -0
- package/dist/production/internal/utils/EditorPasteUtils.cjs.map +1 -0
- package/dist/production/internal/utils/EditorPasteUtils.js +47 -0
- package/dist/production/internal/utils/EditorPasteUtils.js.map +1 -0
- package/dist/production/internal/utils/parseUrl.cjs +14 -0
- package/dist/production/internal/utils/parseUrl.cjs.map +1 -0
- package/dist/production/internal/utils/parseUrl.js +14 -0
- package/dist/production/internal/utils/parseUrl.js.map +1 -0
- package/dist/production/plugins/attributes/alignment/alignButton.cjs +21 -0
- package/dist/production/plugins/attributes/alignment/alignButton.cjs.map +1 -0
- package/dist/production/plugins/attributes/alignment/alignButton.js +21 -0
- package/dist/production/plugins/attributes/alignment/alignButton.js.map +1 -0
- package/dist/production/plugins/behaviour/paste/HtmlDeserializer.cjs +138 -0
- package/dist/production/plugins/behaviour/paste/HtmlDeserializer.cjs.map +1 -0
- package/dist/production/plugins/behaviour/paste/HtmlDeserializer.js +138 -0
- package/dist/production/plugins/behaviour/paste/HtmlDeserializer.js.map +1 -0
- package/dist/production/plugins/behaviour/paste/createMarkHtmlDeserializer.cjs +15 -0
- package/dist/production/plugins/behaviour/paste/createMarkHtmlDeserializer.cjs.map +1 -0
- package/dist/production/plugins/behaviour/paste/createMarkHtmlDeserializer.js +15 -0
- package/dist/production/plugins/behaviour/paste/createMarkHtmlDeserializer.js.map +1 -0
- package/dist/production/plugins/behaviour/paste/withPaste.cjs +24 -0
- package/dist/production/plugins/behaviour/paste/withPaste.cjs.map +1 -0
- package/dist/production/plugins/behaviour/paste/withPaste.js +24 -0
- package/dist/production/plugins/behaviour/paste/withPaste.js.map +1 -0
- package/dist/production/plugins/element/anchors/AnchorElement.cjs +44 -0
- package/dist/production/plugins/element/anchors/AnchorElement.cjs.map +1 -0
- package/dist/production/plugins/element/anchors/AnchorElement.js +44 -0
- package/dist/production/plugins/element/anchors/AnchorElement.js.map +1 -0
- package/dist/production/plugins/element/anchors/AnchorHtmlDeserializer.cjs +19 -0
- package/dist/production/plugins/element/anchors/AnchorHtmlDeserializer.cjs.map +1 -0
- package/dist/production/plugins/element/anchors/AnchorHtmlDeserializer.js +19 -0
- package/dist/production/plugins/element/anchors/AnchorHtmlDeserializer.js.map +1 -0
- package/dist/production/plugins/element/anchors/AnchorModifications.cjs +29 -0
- package/dist/production/plugins/element/anchors/AnchorModifications.cjs.map +1 -0
- package/dist/production/plugins/element/anchors/AnchorModifications.js +29 -0
- package/dist/production/plugins/element/anchors/AnchorModifications.js.map +1 -0
- package/dist/production/plugins/element/anchors/withAnchors.cjs +21 -0
- package/dist/production/plugins/element/anchors/withAnchors.cjs.map +1 -0
- package/dist/production/plugins/element/anchors/withAnchors.js +21 -0
- package/dist/production/plugins/element/anchors/withAnchors.js.map +1 -0
- package/dist/production/plugins/element/headings/HeadingElement.cjs +41 -0
- package/dist/production/plugins/element/headings/HeadingElement.cjs.map +1 -0
- package/dist/production/plugins/element/headings/HeadingElement.js +41 -0
- package/dist/production/plugins/element/headings/HeadingElement.js.map +1 -0
- package/dist/production/plugins/element/headings/HeadingHtmlDeserializer.cjs +22 -0
- package/dist/production/plugins/element/headings/HeadingHtmlDeserializer.cjs.map +1 -0
- package/dist/production/plugins/element/headings/HeadingHtmlDeserializer.js +22 -0
- package/dist/production/plugins/element/headings/HeadingHtmlDeserializer.js.map +1 -0
- package/dist/production/plugins/element/headings/withHeadings.cjs +70 -0
- package/dist/production/plugins/element/headings/withHeadings.cjs.map +1 -0
- package/dist/production/plugins/element/headings/withHeadings.js +70 -0
- package/dist/production/plugins/element/headings/withHeadings.js.map +1 -0
- package/dist/production/plugins/element/horizonalRules/HorizontalRuleElement.cjs +41 -0
- package/dist/production/plugins/element/horizonalRules/HorizontalRuleElement.cjs.map +1 -0
- package/dist/production/plugins/element/horizonalRules/HorizontalRuleElement.js +41 -0
- package/dist/production/plugins/element/horizonalRules/HorizontalRuleElement.js.map +1 -0
- package/dist/production/plugins/element/horizonalRules/withHorizontalRules.cjs +75 -0
- package/dist/production/plugins/element/horizonalRules/withHorizontalRules.cjs.map +1 -0
- package/dist/production/plugins/element/horizonalRules/withHorizontalRules.js +75 -0
- package/dist/production/plugins/element/horizonalRules/withHorizontalRules.js.map +1 -0
- package/dist/production/plugins/element/lists/ListElement.cjs +26 -0
- package/dist/production/plugins/element/lists/ListElement.cjs.map +1 -0
- package/dist/production/plugins/element/lists/ListElement.js +26 -0
- package/dist/production/plugins/element/lists/ListElement.js.map +1 -0
- package/dist/production/plugins/element/lists/ListHtmlDeserializer.cjs +98 -0
- package/dist/production/plugins/element/lists/ListHtmlDeserializer.cjs.map +1 -0
- package/dist/production/plugins/element/lists/ListHtmlDeserializer.js +98 -0
- package/dist/production/plugins/element/lists/ListHtmlDeserializer.js.map +1 -0
- package/dist/production/plugins/element/lists/ListItemElement.cjs +53 -0
- package/dist/production/plugins/element/lists/ListItemElement.cjs.map +1 -0
- package/dist/production/plugins/element/lists/ListItemElement.js +53 -0
- package/dist/production/plugins/element/lists/ListItemElement.js.map +1 -0
- package/dist/production/plugins/element/lists/OrderedListElement.cjs +25 -0
- package/dist/production/plugins/element/lists/OrderedListElement.cjs.map +1 -0
- package/dist/production/plugins/element/lists/OrderedListElement.js +25 -0
- package/dist/production/plugins/element/lists/OrderedListElement.js.map +1 -0
- package/dist/production/plugins/element/lists/UnorderedListElement.cjs +25 -0
- package/dist/production/plugins/element/lists/UnorderedListElement.cjs.map +1 -0
- package/dist/production/plugins/element/lists/UnorderedListElement.js +25 -0
- package/dist/production/plugins/element/lists/UnorderedListElement.js.map +1 -0
- package/dist/production/plugins/element/lists/transforms/dedentListItem.cjs +57 -0
- package/dist/production/plugins/element/lists/transforms/dedentListItem.cjs.map +1 -0
- package/dist/production/plugins/element/lists/transforms/dedentListItem.js +57 -0
- package/dist/production/plugins/element/lists/transforms/dedentListItem.js.map +1 -0
- package/dist/production/plugins/element/lists/transforms/indentListItem.cjs +57 -0
- package/dist/production/plugins/element/lists/transforms/indentListItem.cjs.map +1 -0
- package/dist/production/plugins/element/lists/transforms/indentListItem.js +57 -0
- package/dist/production/plugins/element/lists/transforms/indentListItem.js.map +1 -0
- package/dist/production/plugins/element/lists/transforms/normalizeListElement.cjs +22 -0
- package/dist/production/plugins/element/lists/transforms/normalizeListElement.cjs.map +1 -0
- package/dist/production/plugins/element/lists/transforms/normalizeListElement.js +22 -0
- package/dist/production/plugins/element/lists/transforms/normalizeListElement.js.map +1 -0
- package/dist/production/plugins/element/lists/transforms/toggleListElement.cjs +93 -0
- package/dist/production/plugins/element/lists/transforms/toggleListElement.cjs.map +1 -0
- package/dist/production/plugins/element/lists/transforms/toggleListElement.js +93 -0
- package/dist/production/plugins/element/lists/transforms/toggleListElement.js.map +1 -0
- package/dist/production/plugins/element/lists/withLists.cjs +153 -0
- package/dist/production/plugins/element/lists/withLists.cjs.map +1 -0
- package/dist/production/plugins/element/lists/withLists.js +153 -0
- package/dist/production/plugins/element/lists/withLists.js.map +1 -0
- package/dist/production/plugins/element/paragraphs/ParagraphElement.cjs +49 -0
- package/dist/production/plugins/element/paragraphs/ParagraphElement.cjs.map +1 -0
- package/dist/production/plugins/element/paragraphs/ParagraphElement.js +49 -0
- package/dist/production/plugins/element/paragraphs/ParagraphElement.js.map +1 -0
- package/dist/production/plugins/element/paragraphs/ParagraphHtmlDeserializer.cjs +11 -0
- package/dist/production/plugins/element/paragraphs/ParagraphHtmlDeserializer.cjs.map +1 -0
- package/dist/production/plugins/element/paragraphs/ParagraphHtmlDeserializer.js +11 -0
- package/dist/production/plugins/element/paragraphs/ParagraphHtmlDeserializer.js.map +1 -0
- package/dist/production/plugins/element/paragraphs/withParagraphs.cjs +58 -0
- package/dist/production/plugins/element/paragraphs/withParagraphs.cjs.map +1 -0
- package/dist/production/plugins/element/paragraphs/withParagraphs.js +58 -0
- package/dist/production/plugins/element/paragraphs/withParagraphs.js.map +1 -0
- package/dist/production/plugins/element/scrollTargets/ScrollTargetElement.cjs +51 -0
- package/dist/production/plugins/element/scrollTargets/ScrollTargetElement.cjs.map +1 -0
- package/dist/production/plugins/element/scrollTargets/ScrollTargetElement.js +51 -0
- package/dist/production/plugins/element/scrollTargets/ScrollTargetElement.js.map +1 -0
- package/dist/production/plugins/element/scrollTargets/withScrollTargets.cjs +9 -0
- package/dist/production/plugins/element/scrollTargets/withScrollTargets.cjs.map +1 -0
- package/dist/production/plugins/element/scrollTargets/withScrollTargets.js +9 -0
- package/dist/production/plugins/element/scrollTargets/withScrollTargets.js.map +1 -0
- package/dist/production/plugins/element/tables/TableCellElement.cjs +39 -0
- package/dist/production/plugins/element/tables/TableCellElement.cjs.map +1 -0
- package/dist/production/plugins/element/tables/TableCellElement.js +39 -0
- package/dist/production/plugins/element/tables/TableCellElement.js.map +1 -0
- package/dist/production/plugins/element/tables/TableElement.cjs +114 -0
- package/dist/production/plugins/element/tables/TableElement.cjs.map +1 -0
- package/dist/production/plugins/element/tables/TableElement.js +114 -0
- package/dist/production/plugins/element/tables/TableElement.js.map +1 -0
- package/dist/production/plugins/element/tables/TableElementSelection.cjs +20 -0
- package/dist/production/plugins/element/tables/TableElementSelection.cjs.map +1 -0
- package/dist/production/plugins/element/tables/TableElementSelection.js +20 -0
- package/dist/production/plugins/element/tables/TableElementSelection.js.map +1 -0
- package/dist/production/plugins/element/tables/TableModifications.cjs +134 -0
- package/dist/production/plugins/element/tables/TableModifications.cjs.map +1 -0
- package/dist/production/plugins/element/tables/TableModifications.js +134 -0
- package/dist/production/plugins/element/tables/TableModifications.js.map +1 -0
- package/dist/production/plugins/element/tables/TableRowElement.cjs +43 -0
- package/dist/production/plugins/element/tables/TableRowElement.cjs.map +1 -0
- package/dist/production/plugins/element/tables/TableRowElement.js +43 -0
- package/dist/production/plugins/element/tables/TableRowElement.js.map +1 -0
- package/dist/production/plugins/element/tables/gaugeTableColumnCount.cjs +25 -0
- package/dist/production/plugins/element/tables/gaugeTableColumnCount.cjs.map +1 -0
- package/dist/production/plugins/element/tables/gaugeTableColumnCount.js +25 -0
- package/dist/production/plugins/element/tables/gaugeTableColumnCount.js.map +1 -0
- package/dist/production/plugins/element/tables/withTables.cjs +281 -0
- package/dist/production/plugins/element/tables/withTables.cjs.map +1 -0
- package/dist/production/plugins/element/tables/withTables.js +281 -0
- package/dist/production/plugins/element/tables/withTables.js.map +1 -0
- package/dist/production/plugins/text/bold/boldMark.cjs +13 -0
- package/dist/production/plugins/text/bold/boldMark.cjs.map +1 -0
- package/dist/production/plugins/text/bold/boldMark.js +13 -0
- package/dist/production/plugins/text/bold/boldMark.js.map +1 -0
- package/dist/production/plugins/text/bold/withBold.cjs +16 -0
- package/dist/production/plugins/text/bold/withBold.cjs.map +1 -0
- package/dist/production/plugins/text/bold/withBold.js +16 -0
- package/dist/production/plugins/text/bold/withBold.js.map +1 -0
- package/dist/production/plugins/text/code/codeMark.cjs +13 -0
- package/dist/production/plugins/text/code/codeMark.cjs.map +1 -0
- package/dist/production/plugins/text/code/codeMark.js +13 -0
- package/dist/production/plugins/text/code/codeMark.js.map +1 -0
- package/dist/production/plugins/text/code/withCode.cjs +9 -0
- package/dist/production/plugins/text/code/withCode.cjs.map +1 -0
- package/dist/production/plugins/text/code/withCode.js +9 -0
- package/dist/production/plugins/text/code/withCode.js.map +1 -0
- package/dist/production/plugins/text/highlight/highlightMark.cjs +13 -0
- package/dist/production/plugins/text/highlight/highlightMark.cjs.map +1 -0
- package/dist/production/plugins/text/highlight/highlightMark.js +13 -0
- package/dist/production/plugins/text/highlight/highlightMark.js.map +1 -0
- package/dist/production/plugins/text/highlight/withHighlight.cjs +9 -0
- package/dist/production/plugins/text/highlight/withHighlight.cjs.map +1 -0
- package/dist/production/plugins/text/highlight/withHighlight.js +9 -0
- package/dist/production/plugins/text/highlight/withHighlight.js.map +1 -0
- package/dist/production/plugins/text/italic/italicMark.cjs +13 -0
- package/dist/production/plugins/text/italic/italicMark.cjs.map +1 -0
- package/dist/production/plugins/text/italic/italicMark.js +13 -0
- package/dist/production/plugins/text/italic/italicMark.js.map +1 -0
- package/dist/production/plugins/text/italic/withItalic.cjs +16 -0
- package/dist/production/plugins/text/italic/withItalic.cjs.map +1 -0
- package/dist/production/plugins/text/italic/withItalic.js +16 -0
- package/dist/production/plugins/text/italic/withItalic.js.map +1 -0
- package/dist/production/plugins/text/newline/withNewline.cjs +15 -0
- package/dist/production/plugins/text/newline/withNewline.cjs.map +1 -0
- package/dist/production/plugins/text/newline/withNewline.js +15 -0
- package/dist/production/plugins/text/newline/withNewline.js.map +1 -0
- package/dist/production/plugins/text/strikeThrough/strikeThroughMark.cjs +13 -0
- package/dist/production/plugins/text/strikeThrough/strikeThroughMark.cjs.map +1 -0
- package/dist/production/plugins/text/strikeThrough/strikeThroughMark.js +13 -0
- package/dist/production/plugins/text/strikeThrough/strikeThroughMark.js.map +1 -0
- package/dist/production/plugins/text/strikeThrough/withStrikeThrough.cjs +17 -0
- package/dist/production/plugins/text/strikeThrough/withStrikeThrough.cjs.map +1 -0
- package/dist/production/plugins/text/strikeThrough/withStrikeThrough.js +17 -0
- package/dist/production/plugins/text/strikeThrough/withStrikeThrough.js.map +1 -0
- package/dist/production/plugins/text/underline/underlineMark.cjs +13 -0
- package/dist/production/plugins/text/underline/underlineMark.cjs.map +1 -0
- package/dist/production/plugins/text/underline/underlineMark.js +13 -0
- package/dist/production/plugins/text/underline/underlineMark.js.map +1 -0
- package/dist/production/plugins/text/underline/withUnderline.cjs +17 -0
- package/dist/production/plugins/text/underline/withUnderline.cjs.map +1 -0
- package/dist/production/plugins/text/underline/withUnderline.js +17 -0
- package/dist/production/plugins/text/underline/withUnderline.js.map +1 -0
- package/dist/production/slate-reexport.cjs +10 -0
- package/dist/production/slate-reexport.cjs.map +1 -0
- package/dist/production/slate-reexport.js +8 -0
- package/dist/production/slate-reexport.js.map +1 -0
- package/dist/types/components/RichTextEditor.d.ts +13 -0
- package/dist/types/components/RichTextEditor.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +3 -0
- package/dist/types/components/index.d.ts.map +1 -0
- package/dist/types/components/triggers/EditorElementTrigger.d.ts +8 -0
- package/dist/types/components/triggers/EditorElementTrigger.d.ts.map +1 -0
- package/dist/types/components/triggers/EditorGenericTrigger.d.ts +16 -0
- package/dist/types/components/triggers/EditorGenericTrigger.d.ts.map +1 -0
- package/dist/types/components/triggers/EditorMarkTrigger.d.ts +7 -0
- package/dist/types/components/triggers/EditorMarkTrigger.d.ts.map +1 -0
- package/dist/types/components/triggers/EditorWrapNodeTrigger.d.ts +11 -0
- package/dist/types/components/triggers/EditorWrapNodeTrigger.d.ts.map +1 -0
- package/dist/types/components/triggers/index.d.ts +5 -0
- package/dist/types/components/triggers/index.d.ts.map +1 -0
- package/dist/types/editor/createEditor.d.ts +24 -0
- package/dist/types/editor/createEditor.d.ts.map +1 -0
- package/dist/types/editor/createEditorWithEssentials.d.ts +5 -0
- package/dist/types/editor/createEditorWithEssentials.d.ts.map +1 -0
- package/dist/types/editor/index.d.ts +35 -0
- package/dist/types/editor/index.d.ts.map +1 -0
- package/dist/types/editor/methods/addMarks.d.ts +3 -0
- package/dist/types/editor/methods/addMarks.d.ts.map +1 -0
- package/dist/types/editor/methods/canToggleMark.d.ts +2 -0
- package/dist/types/editor/methods/canToggleMark.d.ts.map +1 -0
- package/dist/types/editor/methods/closest.d.ts +6 -0
- package/dist/types/editor/methods/closest.d.ts.map +1 -0
- package/dist/types/editor/methods/closestBlockEntry.d.ts +6 -0
- package/dist/types/editor/methods/closestBlockEntry.d.ts.map +1 -0
- package/dist/types/editor/methods/closestViableBlockContainerEntry.d.ts +6 -0
- package/dist/types/editor/methods/closestViableBlockContainerEntry.d.ts.map +1 -0
- package/dist/types/editor/methods/ejectElement.d.ts +3 -0
- package/dist/types/editor/methods/ejectElement.d.ts.map +1 -0
- package/dist/types/editor/methods/elementToSpecifics.d.ts +2 -0
- package/dist/types/editor/methods/elementToSpecifics.d.ts.map +1 -0
- package/dist/types/editor/methods/getElementDataAttributes.d.ts +6 -0
- package/dist/types/editor/methods/getElementDataAttributes.d.ts.map +1 -0
- package/dist/types/editor/methods/getPreviousSibling.d.ts +3 -0
- package/dist/types/editor/methods/getPreviousSibling.d.ts.map +1 -0
- package/dist/types/editor/methods/hasMarks.d.ts +7 -0
- package/dist/types/editor/methods/hasMarks.d.ts.map +1 -0
- package/dist/types/editor/methods/hasParentOfType.d.ts +3 -0
- package/dist/types/editor/methods/hasParentOfType.d.ts.map +1 -0
- package/dist/types/editor/methods/index.d.ts +20 -0
- package/dist/types/editor/methods/index.d.ts.map +1 -0
- package/dist/types/editor/methods/isElementType.d.ts +3 -0
- package/dist/types/editor/methods/isElementType.d.ts.map +1 -0
- package/dist/types/editor/methods/permissivelyDeserializeNodes.d.ts +3 -0
- package/dist/types/editor/methods/permissivelyDeserializeNodes.d.ts.map +1 -0
- package/dist/types/editor/methods/removeMarks.d.ts +3 -0
- package/dist/types/editor/methods/removeMarks.d.ts.map +1 -0
- package/dist/types/editor/methods/serializeNodes.d.ts +3 -0
- package/dist/types/editor/methods/serializeNodes.d.ts.map +1 -0
- package/dist/types/editor/methods/strictlyDeserializeNodes.d.ts +3 -0
- package/dist/types/editor/methods/strictlyDeserializeNodes.d.ts.map +1 -0
- package/dist/types/editor/methods/textToSpecifics.d.ts +3 -0
- package/dist/types/editor/methods/textToSpecifics.d.ts.map +1 -0
- package/dist/types/editor/methods/toLatestFormat.d.ts +3 -0
- package/dist/types/editor/methods/toLatestFormat.d.ts.map +1 -0
- package/dist/types/editor/methods/topLevelNodes.d.ts +2 -0
- package/dist/types/editor/methods/topLevelNodes.d.ts.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/internal/components/DefaultElement.d.ts +6 -0
- package/dist/types/internal/components/DefaultElement.d.ts.map +1 -0
- package/dist/types/internal/hooks/useRichTextFieldNodes.d.ts +9 -0
- package/dist/types/internal/hooks/useRichTextFieldNodes.d.ts.map +1 -0
- package/dist/types/internal/utils/EditorPasteUtils.d.ts +7 -0
- package/dist/types/internal/utils/EditorPasteUtils.d.ts.map +1 -0
- package/dist/types/internal/utils/index.d.ts +3 -0
- package/dist/types/internal/utils/index.d.ts.map +1 -0
- package/dist/types/internal/utils/parseIframeSrc.d.ts +2 -0
- package/dist/types/internal/utils/parseIframeSrc.d.ts.map +1 -0
- package/dist/types/internal/utils/parseUrl.d.ts +2 -0
- package/dist/types/internal/utils/parseUrl.d.ts.map +1 -0
- package/dist/types/plugins/attributes/alignment/alignButton.d.ts +14 -0
- package/dist/types/plugins/attributes/alignment/alignButton.d.ts.map +1 -0
- package/dist/types/plugins/attributes/alignment/index.d.ts +2 -0
- package/dist/types/plugins/attributes/alignment/index.d.ts.map +1 -0
- package/dist/types/plugins/attributes/index.d.ts +2 -0
- package/dist/types/plugins/attributes/index.d.ts.map +1 -0
- package/dist/types/plugins/behaviour/index.d.ts +2 -0
- package/dist/types/plugins/behaviour/index.d.ts.map +1 -0
- package/dist/types/plugins/behaviour/paste/HtmlDeserializer.d.ts +34 -0
- package/dist/types/plugins/behaviour/paste/HtmlDeserializer.d.ts.map +1 -0
- package/dist/types/plugins/behaviour/paste/createMarkHtmlDeserializer.d.ts +3 -0
- package/dist/types/plugins/behaviour/paste/createMarkHtmlDeserializer.d.ts.map +1 -0
- package/dist/types/plugins/behaviour/paste/index.d.ts +3 -0
- package/dist/types/plugins/behaviour/paste/index.d.ts.map +1 -0
- package/dist/types/plugins/behaviour/paste/withPaste.d.ts +3 -0
- package/dist/types/plugins/behaviour/paste/withPaste.d.ts.map +1 -0
- package/dist/types/plugins/element/anchors/AnchorElement.d.ts +14 -0
- package/dist/types/plugins/element/anchors/AnchorElement.d.ts.map +1 -0
- package/dist/types/plugins/element/anchors/AnchorHtmlDeserializer.d.ts +3 -0
- package/dist/types/plugins/element/anchors/AnchorHtmlDeserializer.d.ts.map +1 -0
- package/dist/types/plugins/element/anchors/AnchorModifications.d.ts +6 -0
- package/dist/types/plugins/element/anchors/AnchorModifications.d.ts.map +1 -0
- package/dist/types/plugins/element/anchors/index.d.ts +4 -0
- package/dist/types/plugins/element/anchors/index.d.ts.map +1 -0
- package/dist/types/plugins/element/anchors/withAnchors.d.ts +6 -0
- package/dist/types/plugins/element/anchors/withAnchors.d.ts.map +1 -0
- package/dist/types/plugins/element/headings/HeadingElement.d.ts +17 -0
- package/dist/types/plugins/element/headings/HeadingElement.d.ts.map +1 -0
- package/dist/types/plugins/element/headings/HeadingHtmlDeserializer.d.ts +3 -0
- package/dist/types/plugins/element/headings/HeadingHtmlDeserializer.d.ts.map +1 -0
- package/dist/types/plugins/element/headings/index.d.ts +4 -0
- package/dist/types/plugins/element/headings/index.d.ts.map +1 -0
- package/dist/types/plugins/element/headings/withHeadings.d.ts +6 -0
- package/dist/types/plugins/element/headings/withHeadings.d.ts.map +1 -0
- package/dist/types/plugins/element/horizonalRules/HorizontalRuleElement.d.ts +13 -0
- package/dist/types/plugins/element/horizonalRules/HorizontalRuleElement.d.ts.map +1 -0
- package/dist/types/plugins/element/horizonalRules/index.d.ts +3 -0
- package/dist/types/plugins/element/horizonalRules/index.d.ts.map +1 -0
- package/dist/types/plugins/element/horizonalRules/withHorizontalRules.d.ts +6 -0
- package/dist/types/plugins/element/horizonalRules/withHorizontalRules.d.ts.map +1 -0
- package/dist/types/plugins/element/index.d.ts +8 -0
- package/dist/types/plugins/element/index.d.ts.map +1 -0
- package/dist/types/plugins/element/lists/ListElement.d.ts +6 -0
- package/dist/types/plugins/element/lists/ListElement.d.ts.map +1 -0
- package/dist/types/plugins/element/lists/ListHtmlDeserializer.d.ts +10 -0
- package/dist/types/plugins/element/lists/ListHtmlDeserializer.d.ts.map +1 -0
- package/dist/types/plugins/element/lists/ListItemElement.d.ts +12 -0
- package/dist/types/plugins/element/lists/ListItemElement.d.ts.map +1 -0
- package/dist/types/plugins/element/lists/OrderedListElement.d.ts +12 -0
- package/dist/types/plugins/element/lists/OrderedListElement.d.ts.map +1 -0
- package/dist/types/plugins/element/lists/UnorderedListElement.d.ts +12 -0
- package/dist/types/plugins/element/lists/UnorderedListElement.d.ts.map +1 -0
- package/dist/types/plugins/element/lists/index.d.ts +6 -0
- package/dist/types/plugins/element/lists/index.d.ts.map +1 -0
- package/dist/types/plugins/element/lists/transforms/dedentListItem.d.ts +4 -0
- package/dist/types/plugins/element/lists/transforms/dedentListItem.d.ts.map +1 -0
- package/dist/types/plugins/element/lists/transforms/indentListItem.d.ts +4 -0
- package/dist/types/plugins/element/lists/transforms/indentListItem.d.ts.map +1 -0
- package/dist/types/plugins/element/lists/transforms/index.d.ts +5 -0
- package/dist/types/plugins/element/lists/transforms/index.d.ts.map +1 -0
- package/dist/types/plugins/element/lists/transforms/normalizeListElement.d.ts +7 -0
- package/dist/types/plugins/element/lists/transforms/normalizeListElement.d.ts.map +1 -0
- package/dist/types/plugins/element/lists/transforms/toggleListElement.d.ts +5 -0
- package/dist/types/plugins/element/lists/transforms/toggleListElement.d.ts.map +1 -0
- package/dist/types/plugins/element/lists/withLists.d.ts +10 -0
- package/dist/types/plugins/element/lists/withLists.d.ts.map +1 -0
- package/dist/types/plugins/element/paragraphs/ParagraphElement.d.ts +15 -0
- package/dist/types/plugins/element/paragraphs/ParagraphElement.d.ts.map +1 -0
- package/dist/types/plugins/element/paragraphs/ParagraphHtmlDeserializer.d.ts +3 -0
- package/dist/types/plugins/element/paragraphs/ParagraphHtmlDeserializer.d.ts.map +1 -0
- package/dist/types/plugins/element/paragraphs/index.d.ts +4 -0
- package/dist/types/plugins/element/paragraphs/index.d.ts.map +1 -0
- package/dist/types/plugins/element/paragraphs/withParagraphs.d.ts +6 -0
- package/dist/types/plugins/element/paragraphs/withParagraphs.d.ts.map +1 -0
- package/dist/types/plugins/element/scrollTargets/ScrollTargetElement.d.ts +14 -0
- package/dist/types/plugins/element/scrollTargets/ScrollTargetElement.d.ts.map +1 -0
- package/dist/types/plugins/element/scrollTargets/index.d.ts +3 -0
- package/dist/types/plugins/element/scrollTargets/index.d.ts.map +1 -0
- package/dist/types/plugins/element/scrollTargets/withScrollTargets.d.ts +6 -0
- package/dist/types/plugins/element/scrollTargets/withScrollTargets.d.ts.map +1 -0
- package/dist/types/plugins/element/tables/TableCellElement.d.ts +20 -0
- package/dist/types/plugins/element/tables/TableCellElement.d.ts.map +1 -0
- package/dist/types/plugins/element/tables/TableElement.d.ts +26 -0
- package/dist/types/plugins/element/tables/TableElement.d.ts.map +1 -0
- package/dist/types/plugins/element/tables/TableElementSelection.d.ts +6 -0
- package/dist/types/plugins/element/tables/TableElementSelection.d.ts.map +1 -0
- package/dist/types/plugins/element/tables/TableModifications.d.ts +14 -0
- package/dist/types/plugins/element/tables/TableModifications.d.ts.map +1 -0
- package/dist/types/plugins/element/tables/TableRowElement.d.ts +22 -0
- package/dist/types/plugins/element/tables/TableRowElement.d.ts.map +1 -0
- package/dist/types/plugins/element/tables/gaugeTableColumnCount.d.ts +3 -0
- package/dist/types/plugins/element/tables/gaugeTableColumnCount.d.ts.map +1 -0
- package/dist/types/plugins/element/tables/index.d.ts +6 -0
- package/dist/types/plugins/element/tables/index.d.ts.map +1 -0
- package/dist/types/plugins/element/tables/withTables.d.ts +10 -0
- package/dist/types/plugins/element/tables/withTables.d.ts.map +1 -0
- package/dist/types/plugins/index.d.ts +5 -0
- package/dist/types/plugins/index.d.ts.map +1 -0
- package/dist/types/plugins/text/bold/boldMark.d.ts +4 -0
- package/dist/types/plugins/text/bold/boldMark.d.ts.map +1 -0
- package/dist/types/plugins/text/bold/index.d.ts +3 -0
- package/dist/types/plugins/text/bold/index.d.ts.map +1 -0
- package/dist/types/plugins/text/bold/withBold.d.ts +3 -0
- package/dist/types/plugins/text/bold/withBold.d.ts.map +1 -0
- package/dist/types/plugins/text/code/codeMark.d.ts +4 -0
- package/dist/types/plugins/text/code/codeMark.d.ts.map +1 -0
- package/dist/types/plugins/text/code/index.d.ts +3 -0
- package/dist/types/plugins/text/code/index.d.ts.map +1 -0
- package/dist/types/plugins/text/code/withCode.d.ts +3 -0
- package/dist/types/plugins/text/code/withCode.d.ts.map +1 -0
- package/dist/types/plugins/text/highlight/highlightMark.d.ts +4 -0
- package/dist/types/plugins/text/highlight/highlightMark.d.ts.map +1 -0
- package/dist/types/plugins/text/highlight/index.d.ts +3 -0
- package/dist/types/plugins/text/highlight/index.d.ts.map +1 -0
- package/dist/types/plugins/text/highlight/withHighlight.d.ts +3 -0
- package/dist/types/plugins/text/highlight/withHighlight.d.ts.map +1 -0
- package/dist/types/plugins/text/index.d.ts +8 -0
- package/dist/types/plugins/text/index.d.ts.map +1 -0
- package/dist/types/plugins/text/italic/index.d.ts +3 -0
- package/dist/types/plugins/text/italic/index.d.ts.map +1 -0
- package/dist/types/plugins/text/italic/italicMark.d.ts +4 -0
- package/dist/types/plugins/text/italic/italicMark.d.ts.map +1 -0
- package/dist/types/plugins/text/italic/withItalic.d.ts +3 -0
- package/dist/types/plugins/text/italic/withItalic.d.ts.map +1 -0
- package/dist/types/plugins/text/newline/index.d.ts +2 -0
- package/dist/types/plugins/text/newline/index.d.ts.map +1 -0
- package/dist/types/plugins/text/newline/withNewline.d.ts +3 -0
- package/dist/types/plugins/text/newline/withNewline.d.ts.map +1 -0
- package/dist/types/plugins/text/strikeThrough/index.d.ts +3 -0
- package/dist/types/plugins/text/strikeThrough/index.d.ts.map +1 -0
- package/dist/types/plugins/text/strikeThrough/strikeThroughMark.d.ts +4 -0
- package/dist/types/plugins/text/strikeThrough/strikeThroughMark.d.ts.map +1 -0
- package/dist/types/plugins/text/strikeThrough/withStrikeThrough.d.ts +3 -0
- package/dist/types/plugins/text/strikeThrough/withStrikeThrough.d.ts.map +1 -0
- package/dist/types/plugins/text/underline/index.d.ts +3 -0
- package/dist/types/plugins/text/underline/index.d.ts.map +1 -0
- package/dist/types/plugins/text/underline/underlineMark.d.ts +4 -0
- package/dist/types/plugins/text/underline/underlineMark.d.ts.map +1 -0
- package/dist/types/plugins/text/underline/withUnderline.d.ts +3 -0
- package/dist/types/plugins/text/underline/withUnderline.d.ts.map +1 -0
- package/dist/types/slate-reexport.d.ts +3 -0
- package/dist/types/slate-reexport.d.ts.map +1 -0
- package/dist/types/slate-types.d.ts +31 -0
- package/dist/types/slate-types.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/dist/types/types/editor.d.ts +43 -0
- package/dist/types/types/editor.d.ts.map +1 -0
- package/dist/types/types/htmlDeserializer.d.ts +38 -0
- package/dist/types/types/htmlDeserializer.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +4 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/plugins.d.ts +59 -0
- package/dist/types/types/plugins.d.ts.map +1 -0
- package/package.json +62 -0
- package/src/components/RichTextEditor.tsx +123 -0
- package/src/components/index.ts +3 -0
- package/src/components/triggers/EditorElementTrigger.tsx +22 -0
- package/src/components/triggers/EditorGenericTrigger.tsx +27 -0
- package/src/components/triggers/EditorMarkTrigger.tsx +21 -0
- package/src/components/triggers/EditorWrapNodeTrigger.tsx +36 -0
- package/src/components/triggers/index.ts +4 -0
- package/src/editor/createEditor.ts +52 -0
- package/src/editor/createEditorWithEssentials.tsx +248 -0
- package/src/editor/index.ts +48 -0
- package/src/editor/methods/addMarks.ts +10 -0
- package/src/editor/methods/canToggleMark.ts +9 -0
- package/src/editor/methods/closest.ts +21 -0
- package/src/editor/methods/closestBlockEntry.ts +14 -0
- package/src/editor/methods/closestViableBlockContainerEntry.ts +14 -0
- package/src/editor/methods/ejectElement.ts +14 -0
- package/src/editor/methods/elementToSpecifics.ts +8 -0
- package/src/editor/methods/getElementDataAttributes.ts +22 -0
- package/src/editor/methods/getPreviousSibling.ts +18 -0
- package/src/editor/methods/hasMarks.ts +30 -0
- package/src/editor/methods/hasParentOfType.ts +18 -0
- package/src/editor/methods/index.ts +19 -0
- package/src/editor/methods/isElementType.ts +29 -0
- package/src/editor/methods/permissivelyDeserializeNodes.ts +30 -0
- package/src/editor/methods/removeMarks.ts +10 -0
- package/src/editor/methods/serializeNodes.ts +18 -0
- package/src/editor/methods/strictlyDeserializeNodes.ts +19 -0
- package/src/editor/methods/textToSpecifics.ts +7 -0
- package/src/editor/methods/toLatestFormat.ts +37 -0
- package/src/editor/methods/topLevelNodes.ts +11 -0
- package/src/index.ts +6 -0
- package/src/internal/components/DefaultElement.tsx +11 -0
- package/src/internal/hooks/useRichTextFieldNodes.ts +38 -0
- package/src/internal/utils/EditorPasteUtils.ts +53 -0
- package/src/internal/utils/index.ts +2 -0
- package/src/internal/utils/parseIframeSrc.ts +13 -0
- package/src/internal/utils/parseUrl.ts +13 -0
- package/src/plugins/attributes/alignment/alignButton.ts +30 -0
- package/src/plugins/attributes/alignment/index.ts +1 -0
- package/src/plugins/attributes/index.ts +1 -0
- package/src/plugins/behaviour/index.ts +1 -0
- package/src/plugins/behaviour/paste/HtmlDeserializer.ts +180 -0
- package/src/plugins/behaviour/paste/createMarkHtmlDeserializer.ts +13 -0
- package/src/plugins/behaviour/paste/index.ts +2 -0
- package/src/plugins/behaviour/paste/withPaste.ts +24 -0
- package/src/plugins/element/anchors/AnchorElement.ts +49 -0
- package/src/plugins/element/anchors/AnchorHtmlDeserializer.ts +18 -0
- package/src/plugins/element/anchors/AnchorModifications.ts +29 -0
- package/src/plugins/element/anchors/index.ts +3 -0
- package/src/plugins/element/anchors/withAnchors.ts +23 -0
- package/src/plugins/element/headings/HeadingElement.ts +52 -0
- package/src/plugins/element/headings/HeadingHtmlDeserializer.ts +20 -0
- package/src/plugins/element/headings/index.ts +3 -0
- package/src/plugins/element/headings/withHeadings.ts +120 -0
- package/src/plugins/element/horizonalRules/HorizontalRuleElement.ts +48 -0
- package/src/plugins/element/horizonalRules/index.ts +2 -0
- package/src/plugins/element/horizonalRules/withHorizontalRules.ts +87 -0
- package/src/plugins/element/index.ts +7 -0
- package/src/plugins/element/lists/ListElement.ts +26 -0
- package/src/plugins/element/lists/ListHtmlDeserializer.ts +113 -0
- package/src/plugins/element/lists/ListItemElement.ts +60 -0
- package/src/plugins/element/lists/OrderedListElement.ts +31 -0
- package/src/plugins/element/lists/UnorderedListElement.ts +31 -0
- package/src/plugins/element/lists/index.ts +5 -0
- package/src/plugins/element/lists/transforms/dedentListItem.ts +70 -0
- package/src/plugins/element/lists/transforms/indentListItem.ts +81 -0
- package/src/plugins/element/lists/transforms/index.ts +4 -0
- package/src/plugins/element/lists/transforms/normalizeListElement.ts +20 -0
- package/src/plugins/element/lists/transforms/toggleListElement.ts +113 -0
- package/src/plugins/element/lists/withLists.ts +202 -0
- package/src/plugins/element/paragraphs/ParagraphElement.ts +59 -0
- package/src/plugins/element/paragraphs/ParagraphHtmlDeserializer.ts +9 -0
- package/src/plugins/element/paragraphs/index.ts +3 -0
- package/src/plugins/element/paragraphs/withParagraphs.ts +70 -0
- package/src/plugins/element/scrollTargets/ScrollTargetElement.ts +61 -0
- package/src/plugins/element/scrollTargets/index.ts +2 -0
- package/src/plugins/element/scrollTargets/withScrollTargets.ts +8 -0
- package/src/plugins/element/tables/TableCellElement.ts +45 -0
- package/src/plugins/element/tables/TableElement.ts +125 -0
- package/src/plugins/element/tables/TableElementSelection.ts +19 -0
- package/src/plugins/element/tables/TableModifications.ts +165 -0
- package/src/plugins/element/tables/TableRowElement.ts +47 -0
- package/src/plugins/element/tables/gaugeTableColumnCount.ts +35 -0
- package/src/plugins/element/tables/index.ts +5 -0
- package/src/plugins/element/tables/withTables.ts +335 -0
- package/src/plugins/index.ts +4 -0
- package/src/plugins/text/bold/boldMark.ts +11 -0
- package/src/plugins/text/bold/index.ts +2 -0
- package/src/plugins/text/bold/withBold.ts +15 -0
- package/src/plugins/text/code/codeMark.ts +11 -0
- package/src/plugins/text/code/index.ts +2 -0
- package/src/plugins/text/code/withCode.ts +10 -0
- package/src/plugins/text/highlight/highlightMark.ts +11 -0
- package/src/plugins/text/highlight/index.ts +2 -0
- package/src/plugins/text/highlight/withHighlight.ts +10 -0
- package/src/plugins/text/index.ts +7 -0
- package/src/plugins/text/italic/index.ts +2 -0
- package/src/plugins/text/italic/italicMark.ts +11 -0
- package/src/plugins/text/italic/withItalic.ts +15 -0
- package/src/plugins/text/newline/index.ts +1 -0
- package/src/plugins/text/newline/withNewline.ts +13 -0
- package/src/plugins/text/strikeThrough/index.ts +2 -0
- package/src/plugins/text/strikeThrough/strikeThroughMark.ts +10 -0
- package/src/plugins/text/strikeThrough/withStrikeThrough.ts +18 -0
- package/src/plugins/text/underline/index.ts +2 -0
- package/src/plugins/text/underline/underlineMark.ts +11 -0
- package/src/plugins/text/underline/withUnderline.ts +17 -0
- package/src/slate-reexport.ts +4 -0
- package/src/slate-types.ts +33 -0
- package/src/tsconfig.json +11 -0
- package/src/types/editor.ts +55 -0
- package/src/types/htmlDeserializer.ts +42 -0
- package/src/types/index.ts +3 -0
- package/src/types/plugins.ts +35 -0
package/package.json
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@contember/react-slate-editor-base",
|
|
3
|
+
"license": "Apache-2.0",
|
|
4
|
+
"version": "2.0.0-alpha.1",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"main": "./dist/production/index.js",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": {
|
|
11
|
+
"types": "./dist/types/index.d.ts",
|
|
12
|
+
"development": "./dist/development/index.js",
|
|
13
|
+
"production": "./dist/production/index.js",
|
|
14
|
+
"default": "./dist/production/index.js"
|
|
15
|
+
},
|
|
16
|
+
"require": {
|
|
17
|
+
"types": "./dist/types/index.d.ts",
|
|
18
|
+
"development": "./dist/development/index.cjs",
|
|
19
|
+
"production": "./dist/production/index.cjs",
|
|
20
|
+
"default": "./dist/production/index.cjs"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"dist/",
|
|
26
|
+
"src/"
|
|
27
|
+
],
|
|
28
|
+
"typings": "./dist/types/index.d.ts",
|
|
29
|
+
"scripts": {
|
|
30
|
+
"build": "yarn build:js:dev && yarn build:js:prod",
|
|
31
|
+
"build:js:dev": "vite build --mode development",
|
|
32
|
+
"build:js:prod": "vite build --mode production",
|
|
33
|
+
"ae:build": "api-extractor run --local",
|
|
34
|
+
"ae:test": "api-extractor run",
|
|
35
|
+
"test": "vitest"
|
|
36
|
+
},
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "https://github.com/contember/interface.git",
|
|
40
|
+
"directory": "packages/react-slate-editor-base"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"@contember/binding": "2.0.0-alpha.1",
|
|
44
|
+
"@contember/react-binding": "2.0.0-alpha.1",
|
|
45
|
+
"@contember/utilities": "2.0.0-alpha.1",
|
|
46
|
+
"@radix-ui/primitive": "^1.0.1",
|
|
47
|
+
"@radix-ui/react-slot": "^1.0.2",
|
|
48
|
+
"is-hotkey": "^0.2.0",
|
|
49
|
+
"slate": "^0.103.0",
|
|
50
|
+
"slate-history": "^0.100.0",
|
|
51
|
+
"slate-react": "^0.102.0"
|
|
52
|
+
},
|
|
53
|
+
"peerDependencies": {
|
|
54
|
+
"react": "^18 || ^19",
|
|
55
|
+
"react-dom": "^18 || ^19"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"react": "^18.3.1",
|
|
59
|
+
"react-dom": "^18.3.1"
|
|
60
|
+
},
|
|
61
|
+
"stableVersion": "0.0.0"
|
|
62
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Component, Field, FieldAccessor, FieldBasicProps, QueryLanguage, useEntity } from '@contember/react-binding'
|
|
2
|
+
import { FunctionComponent, useCallback, useMemo, useState } from 'react'
|
|
3
|
+
import { Descendant, Editor, Element as SlateElement, Node as SlateNode, NodeEntry, Transforms } from 'slate'
|
|
4
|
+
import { Slate } from 'slate-react'
|
|
5
|
+
import { createEditor, CreateEditorPublicOptions } from '../editor'
|
|
6
|
+
import { paragraphElementType } from '../plugins'
|
|
7
|
+
import { useRichTextFieldNodes } from '../internal/hooks/useRichTextFieldNodes'
|
|
8
|
+
|
|
9
|
+
export type RichTextEditorProps =
|
|
10
|
+
& FieldBasicProps
|
|
11
|
+
& CreateEditorPublicOptions
|
|
12
|
+
& {
|
|
13
|
+
children: React.ReactNode
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Rich text field supports more advanced formatting capabilities. Output of this field is a JSON.
|
|
18
|
+
*
|
|
19
|
+
* @group Form Fields
|
|
20
|
+
*/
|
|
21
|
+
export const RichTextEditor: FunctionComponent<RichTextEditorProps> = Component(
|
|
22
|
+
props => {
|
|
23
|
+
const entity = useEntity()
|
|
24
|
+
const environment = entity.environment
|
|
25
|
+
const getParent = entity.getAccessor
|
|
26
|
+
|
|
27
|
+
const desugaredField = useMemo(
|
|
28
|
+
() => QueryLanguage.desugarRelativeSingleField(props, environment),
|
|
29
|
+
[environment, props],
|
|
30
|
+
)
|
|
31
|
+
const fieldAccessor = useMemo(() => entity.getRelativeSingleField<string>(desugaredField), [entity, desugaredField])
|
|
32
|
+
|
|
33
|
+
// The cache is questionable, really.
|
|
34
|
+
const [contemberFieldElementCache] = useState(() => new WeakMap<FieldAccessor<string>, SlateElement[]>())
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
const [editor] = useState(() => {
|
|
38
|
+
const { editor } = createEditor({
|
|
39
|
+
plugins: props.plugins,
|
|
40
|
+
defaultElementType: paragraphElementType,
|
|
41
|
+
entity,
|
|
42
|
+
environment,
|
|
43
|
+
children: props.children,
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
const { normalizeNode } = editor
|
|
47
|
+
Object.assign(editor, {
|
|
48
|
+
insertBreak: () => {
|
|
49
|
+
Transforms.insertText(editor, '\n')
|
|
50
|
+
},
|
|
51
|
+
normalizeNode: (nodeEntry: NodeEntry) => {
|
|
52
|
+
const [node, path] = nodeEntry
|
|
53
|
+
if (path.length === 0 && SlateElement.isAncestor(node)) {
|
|
54
|
+
// Enforce that there's exactly one child and that it's
|
|
55
|
+
if (node.children.length > 1) {
|
|
56
|
+
return Editor.withoutNormalizing(editor, () => {
|
|
57
|
+
const targetPath = [0, (editor.children[0] as SlateElement).children.length]
|
|
58
|
+
Transforms.moveNodes(editor, {
|
|
59
|
+
at: [1],
|
|
60
|
+
to: targetPath,
|
|
61
|
+
})
|
|
62
|
+
Transforms.unwrapNodes(editor, { at: targetPath })
|
|
63
|
+
})
|
|
64
|
+
}
|
|
65
|
+
if (SlateElement.isElement(node.children[0]) && !editor.isDefaultElement(node.children[0])) {
|
|
66
|
+
return Editor.withoutNormalizing(editor, () => {
|
|
67
|
+
Transforms.wrapNodes(editor, editor.createDefaultElement([{ text: '' }]), {
|
|
68
|
+
at: path,
|
|
69
|
+
})
|
|
70
|
+
Transforms.unwrapNodes(editor, { at: [0, 0] })
|
|
71
|
+
})
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (SlateElement.isElement(node) && Editor.isBlock(editor, node) && path.length > 1) {
|
|
75
|
+
return Transforms.unwrapNodes(editor, { at: path })
|
|
76
|
+
}
|
|
77
|
+
normalizeNode(nodeEntry)
|
|
78
|
+
},
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
return editor
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
const valueNodes = useRichTextFieldNodes({
|
|
85
|
+
editor,
|
|
86
|
+
fieldAccessor,
|
|
87
|
+
contemberFieldElementCache,
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
const serialize = editor.serializeNodes
|
|
91
|
+
const onChange = useCallback(
|
|
92
|
+
(value: Descendant[]) => {
|
|
93
|
+
getParent().batchUpdates(getAccessor => {
|
|
94
|
+
const fieldAccessor = getAccessor().getRelativeSingleField(desugaredField)
|
|
95
|
+
|
|
96
|
+
if (SlateNode.string({ type: 'dummy', children: value }) === '' && fieldAccessor.valueOnServer === null) {
|
|
97
|
+
fieldAccessor.updateValue(null)
|
|
98
|
+
return
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if (SlateElement.isElement(value[0])) {
|
|
102
|
+
fieldAccessor.updateValue(serialize(value[0].children))
|
|
103
|
+
contemberFieldElementCache.set(getAccessor().getRelativeSingleField(desugaredField), value as SlateElement[])
|
|
104
|
+
}
|
|
105
|
+
})
|
|
106
|
+
},
|
|
107
|
+
[getParent, contemberFieldElementCache, desugaredField, serialize],
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
return (
|
|
111
|
+
<Slate editor={editor} initialValue={valueNodes} onChange={onChange}>
|
|
112
|
+
{props.children}
|
|
113
|
+
</Slate>
|
|
114
|
+
)
|
|
115
|
+
},
|
|
116
|
+
props => (
|
|
117
|
+
<>
|
|
118
|
+
<Field defaultValue={props.defaultValue} field={props.field} isNonbearing={props.isNonbearing} />
|
|
119
|
+
</>
|
|
120
|
+
),
|
|
121
|
+
'RichTextEditor',
|
|
122
|
+
)
|
|
123
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as React from 'react'
|
|
2
|
+
import { ReactElement } from 'react'
|
|
3
|
+
import { useSlate } from 'slate-react'
|
|
4
|
+
import { Slot } from '@radix-ui/react-slot'
|
|
5
|
+
import { dataAttribute } from '@contember/utilities'
|
|
6
|
+
|
|
7
|
+
export interface EditorElementTriggerProps {
|
|
8
|
+
elementType: string
|
|
9
|
+
suchThat?: Record<string, unknown>
|
|
10
|
+
children: ReactElement
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const EditorElementTrigger = ({ elementType, suchThat, ...props }: EditorElementTriggerProps) => {
|
|
14
|
+
const editor = useSlate()
|
|
15
|
+
|
|
16
|
+
const isActive = editor.isElementActive(elementType, suchThat)
|
|
17
|
+
const onClick = () => {
|
|
18
|
+
editor.toggleElement(elementType, suchThat)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return <Slot onClick={onClick} data-active={dataAttribute(isActive)} {...props} />
|
|
22
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as React from 'react'
|
|
2
|
+
import { ReactElement } from 'react'
|
|
3
|
+
import { Slot } from '@radix-ui/react-slot'
|
|
4
|
+
import { Editor } from 'slate'
|
|
5
|
+
import { dataAttribute } from '@contember/utilities'
|
|
6
|
+
import { useSlate } from 'slate-react'
|
|
7
|
+
|
|
8
|
+
export interface EditorGenericTriggerProps {
|
|
9
|
+
isActive?: (args: { editor: Editor }) => boolean
|
|
10
|
+
shouldDisplay?: (args: { editor: Editor }) => boolean
|
|
11
|
+
toggle: (args: { editor: Editor }) => void
|
|
12
|
+
children: ReactElement
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const EditorGenericTrigger = ({ toggle, isActive, shouldDisplay, ...props }: EditorGenericTriggerProps) => {
|
|
16
|
+
|
|
17
|
+
const editor = useSlate()
|
|
18
|
+
const onClick = () => {
|
|
19
|
+
toggle({ editor })
|
|
20
|
+
}
|
|
21
|
+
const active = isActive?.({ editor }) ?? false
|
|
22
|
+
const display = shouldDisplay?.({ editor }) ?? true
|
|
23
|
+
if (!display) {
|
|
24
|
+
return null
|
|
25
|
+
}
|
|
26
|
+
return <Slot onClick={onClick} data-active={dataAttribute(active)} {...props} />
|
|
27
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as React from 'react'
|
|
2
|
+
import { ReactElement } from 'react'
|
|
3
|
+
import { useSlate } from 'slate-react'
|
|
4
|
+
import { Slot } from '@radix-ui/react-slot'
|
|
5
|
+
import { dataAttribute } from '@contember/utilities'
|
|
6
|
+
|
|
7
|
+
export interface EditorMarkTriggerProps {
|
|
8
|
+
mark: string
|
|
9
|
+
children: ReactElement
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const EditorMarkTrigger = ({ mark, ...props }: EditorMarkTriggerProps) => {
|
|
13
|
+
const editor = useSlate()
|
|
14
|
+
|
|
15
|
+
const isActive = editor.hasMarks({ [mark]: true })
|
|
16
|
+
const onClick = () => {
|
|
17
|
+
editor.toggleMarks({ [mark]: true })
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return <Slot onClick={onClick} data-active={dataAttribute(isActive)} {...props} />
|
|
21
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Selection } from 'slate'
|
|
2
|
+
import { MouseEventHandler, ReactElement } from 'react'
|
|
3
|
+
import { useSlate } from 'slate-react'
|
|
4
|
+
import { Slot } from '@radix-ui/react-slot'
|
|
5
|
+
import * as React from 'react'
|
|
6
|
+
import { composeEventHandlers } from '@radix-ui/primitive'
|
|
7
|
+
import { EditorTransforms } from '../../slate-reexport'
|
|
8
|
+
|
|
9
|
+
export interface EditorWrapNodeTriggerProps {
|
|
10
|
+
elementType: string
|
|
11
|
+
selection?: Selection
|
|
12
|
+
suchThat?: Record<string, unknown>
|
|
13
|
+
children: ReactElement
|
|
14
|
+
onClick?: MouseEventHandler<HTMLElement>
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const EditorWrapNodeTrigger = ({ elementType, suchThat, selection, ...props }: EditorWrapNodeTriggerProps) => {
|
|
18
|
+
const editor = useSlate()
|
|
19
|
+
const onClick = () => {
|
|
20
|
+
if (selection) {
|
|
21
|
+
EditorTransforms.select(editor, selection)
|
|
22
|
+
}
|
|
23
|
+
EditorTransforms.wrapNodes(
|
|
24
|
+
editor,
|
|
25
|
+
{
|
|
26
|
+
type: elementType,
|
|
27
|
+
children: [{ text: '' }],
|
|
28
|
+
...suchThat,
|
|
29
|
+
},
|
|
30
|
+
{ split: true },
|
|
31
|
+
)
|
|
32
|
+
EditorTransforms.collapse(editor, { edge: 'end' })
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return <Slot {...props} onClick={composeEventHandlers(props.onClick, onClick)} />
|
|
36
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { createEditorWithEssentials } from './createEditorWithEssentials'
|
|
2
|
+
import { Editor } from 'slate'
|
|
3
|
+
import { EditorPlugin, EditorPluginWrapperProps } from '../types'
|
|
4
|
+
import { createElement, FunctionComponent, ReactNode } from 'react'
|
|
5
|
+
import { EntityAccessor } from '@contember/binding'
|
|
6
|
+
import { Environment } from '@contember/react-binding'
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
export interface CreateEditorPublicOptions {
|
|
10
|
+
plugins?: EditorPlugin[]
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface CreateEditorOptions extends CreateEditorPublicOptions {
|
|
14
|
+
defaultElementType: string
|
|
15
|
+
entity: EntityAccessor
|
|
16
|
+
environment: Environment
|
|
17
|
+
children: ReactNode
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const createEditor = ({
|
|
21
|
+
plugins = [],
|
|
22
|
+
defaultElementType,
|
|
23
|
+
entity,
|
|
24
|
+
environment,
|
|
25
|
+
children,
|
|
26
|
+
}: CreateEditorOptions): {
|
|
27
|
+
editor: Editor,
|
|
28
|
+
OuterWrapper: FunctionComponent<{ children: ReactNode }>
|
|
29
|
+
InnerWrapper: FunctionComponent<{ children: ReactNode }>
|
|
30
|
+
} => {
|
|
31
|
+
const editor = createEditorWithEssentials({ defaultElementType })
|
|
32
|
+
const outerWrappers: FunctionComponent<EditorPluginWrapperProps>[] = []
|
|
33
|
+
const innerWrappers: FunctionComponent<EditorPluginWrapperProps>[] = []
|
|
34
|
+
plugins?.forEach(plugin => {
|
|
35
|
+
if (typeof plugin === 'function') {
|
|
36
|
+
plugin(editor)
|
|
37
|
+
return
|
|
38
|
+
}
|
|
39
|
+
plugin.extendEditor?.({ editor, children, environment, entity })
|
|
40
|
+
if (plugin?.OuterWrapper) {
|
|
41
|
+
outerWrappers.push(plugin.OuterWrapper)
|
|
42
|
+
}
|
|
43
|
+
if (plugin?.InnerWrapper) {
|
|
44
|
+
innerWrappers.push(plugin.InnerWrapper)
|
|
45
|
+
}
|
|
46
|
+
})
|
|
47
|
+
return {
|
|
48
|
+
editor,
|
|
49
|
+
OuterWrapper: ({ children }) => outerWrappers.reduceRight((acc, Wrapper) => createElement(Wrapper, { editor }, acc), children),
|
|
50
|
+
InnerWrapper: ({ children }) => innerWrappers.reduceRight((acc, Wrapper) => createElement(Wrapper, { editor }, acc), children),
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { createElement, isValidElement, ReactElement } from 'react'
|
|
2
|
+
import { createEditor, Descendant, Editor, Element as SlateElement, Node as SlateNode, Path, Range as SlateRange, Text as SlateText, Transforms } from 'slate'
|
|
3
|
+
import * as Slate from 'slate'
|
|
4
|
+
import { withHistory } from 'slate-history'
|
|
5
|
+
import { ReactEditor, withReact } from 'slate-react'
|
|
6
|
+
import { EditorElementPlugin, EditorMarkPlugin } from '../types/plugins'
|
|
7
|
+
import { TextSpecifics } from '../types/editor'
|
|
8
|
+
import { DefaultElement } from '../internal/components/DefaultElement'
|
|
9
|
+
import { withPaste } from '../plugins/behaviour'
|
|
10
|
+
import { ContemberEditor } from './index'
|
|
11
|
+
|
|
12
|
+
export const createEditorWithEssentials = ({ defaultElementType }: { defaultElementType: string }): Editor => {
|
|
13
|
+
const underlyingEditor = withHistory(withReact(createEditor() as ReactEditor))
|
|
14
|
+
|
|
15
|
+
const editor = underlyingEditor as unknown as Editor
|
|
16
|
+
const { normalizeNode, isInline, isVoid, deleteBackward } = editor
|
|
17
|
+
|
|
18
|
+
const elements = new Map<string, EditorElementPlugin<any>>()
|
|
19
|
+
const marks = new Map<string, EditorMarkPlugin>()
|
|
20
|
+
|
|
21
|
+
Object.assign<Editor, Partial<Editor>>(editor, {
|
|
22
|
+
slate: Slate,
|
|
23
|
+
formatVersion: 1,
|
|
24
|
+
defaultElementType,
|
|
25
|
+
isDefaultElement: element => 'type' in element && (element as any).type === defaultElementType,
|
|
26
|
+
createDefaultElement: children => ({
|
|
27
|
+
type: defaultElementType,
|
|
28
|
+
children,
|
|
29
|
+
}),
|
|
30
|
+
insertBetweenBlocks: ([element, path], edge) => {
|
|
31
|
+
const edgeOffset = edge === 'before' ? 0 : 1
|
|
32
|
+
const targetPath = path.slice(0, -1).concat(path[path.length - 1] + edgeOffset)
|
|
33
|
+
Transforms.insertNodes(editor, editor.createDefaultElement([{ text: '' }]), {
|
|
34
|
+
at: targetPath,
|
|
35
|
+
select: true,
|
|
36
|
+
})
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
canToggleMarks: () => true,
|
|
40
|
+
canToggleElement: <E extends SlateElement>() => true,
|
|
41
|
+
|
|
42
|
+
hasMarks: <T extends SlateText>(marks: TextSpecifics<T>) => ContemberEditor.hasMarks(editor, marks),
|
|
43
|
+
|
|
44
|
+
// TODO in the following function, we need to conditionally trim the selection so that it doesn't potentially
|
|
45
|
+
// include empty strings at the edges of top-level elements.
|
|
46
|
+
isElementActive: <E extends SlateElement>(elementType: E['type'], suchThat?: Partial<E>) => {
|
|
47
|
+
return (
|
|
48
|
+
elements.get(elementType)?.isActive?.({ editor, suchThat })
|
|
49
|
+
?? Array.from(Editor.nodes(editor, {
|
|
50
|
+
match: node => SlateElement.isElement(node) && ContemberEditor.isElementType(node, elementType, suchThat),
|
|
51
|
+
voids: false,
|
|
52
|
+
})).length > 0
|
|
53
|
+
)
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
acceptsAttributes: <E extends SlateElement>(elementType: E['type'], suchThat: Partial<E>) => {
|
|
57
|
+
return elements.get(elementType)?.acceptsAttributes?.({ editor, suchThat }) ?? false
|
|
58
|
+
},
|
|
59
|
+
|
|
60
|
+
toggleMarks: <T extends SlateText>(marks: TextSpecifics<T>) => {
|
|
61
|
+
if (!editor.canToggleMarks(marks)) {
|
|
62
|
+
return
|
|
63
|
+
}
|
|
64
|
+
const isActive = editor.hasMarks(marks)
|
|
65
|
+
if (isActive) {
|
|
66
|
+
ContemberEditor.removeMarks(editor, marks)
|
|
67
|
+
return false
|
|
68
|
+
}
|
|
69
|
+
ContemberEditor.addMarks(editor, marks)
|
|
70
|
+
return true
|
|
71
|
+
},
|
|
72
|
+
toggleElement: <E extends SlateElement>(elementType: E['type'], suchThat?: Partial<E>) => {
|
|
73
|
+
elements.get(elementType)?.toggleElement?.({
|
|
74
|
+
editor,
|
|
75
|
+
suchThat,
|
|
76
|
+
})
|
|
77
|
+
},
|
|
78
|
+
|
|
79
|
+
isInline: element => {
|
|
80
|
+
return elements.get(element.type)?.isInline ?? isInline(element)
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
isVoid: element => {
|
|
84
|
+
const elIsVoid = elements.get(element.type)?.isVoid
|
|
85
|
+
if (elIsVoid === undefined) {
|
|
86
|
+
return isVoid(element)
|
|
87
|
+
}
|
|
88
|
+
if (typeof elIsVoid === 'boolean') {
|
|
89
|
+
return elIsVoid
|
|
90
|
+
}
|
|
91
|
+
return elIsVoid({ editor, element })
|
|
92
|
+
},
|
|
93
|
+
|
|
94
|
+
canContainAnyBlocks: element => {
|
|
95
|
+
if (Editor.isEditor(element)) {
|
|
96
|
+
return true
|
|
97
|
+
}
|
|
98
|
+
return !editor.isInline(element)
|
|
99
|
+
&& !editor.isVoid(element)
|
|
100
|
+
&& (elements.has(element.type) ? elements.get(element.type)!.canContainAnyBlocks ?? false : true)
|
|
101
|
+
},
|
|
102
|
+
|
|
103
|
+
serializeNodes: (nodes, errorMessage) => ContemberEditor.serializeNodes(editor, nodes, errorMessage),
|
|
104
|
+
deserializeNodes: (serializedNodes, errorMessage) =>
|
|
105
|
+
ContemberEditor.permissivelyDeserializeNodes(editor, serializedNodes, errorMessage),
|
|
106
|
+
|
|
107
|
+
upgradeFormatBySingleVersion: (node, oldVersion) => {
|
|
108
|
+
if (SlateElement.isElement(node)) {
|
|
109
|
+
return {
|
|
110
|
+
...node,
|
|
111
|
+
children: node.children.map(child => editor.upgradeFormatBySingleVersion(child, oldVersion) as Descendant),
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return node
|
|
115
|
+
},
|
|
116
|
+
|
|
117
|
+
renderElement: props => {
|
|
118
|
+
const component = elements.get(props.element.type)?.render ?? DefaultElement
|
|
119
|
+
return createElement(component, props)
|
|
120
|
+
},
|
|
121
|
+
|
|
122
|
+
renderLeafChildren: props => props.children,
|
|
123
|
+
|
|
124
|
+
renderLeaf: props => {
|
|
125
|
+
let el: ReactElement = createElement('span', props.attributes, editor.renderLeafChildren(props))
|
|
126
|
+
for (const [, mark] of marks) {
|
|
127
|
+
if (props.leaf[mark.type] === true) {
|
|
128
|
+
const markerEl = mark.render({ ...props, children: el })
|
|
129
|
+
if (markerEl !== null) {
|
|
130
|
+
if (!isValidElement(markerEl)) {
|
|
131
|
+
throw new Error(`Mark plugin ${mark.type} returned a non-React element`)
|
|
132
|
+
}
|
|
133
|
+
el = markerEl
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return el
|
|
138
|
+
},
|
|
139
|
+
|
|
140
|
+
// Just noop functions so that other plugins can safely bubble-call
|
|
141
|
+
onDOMBeforeInput: () => {},
|
|
142
|
+
onKeyDown: e => {
|
|
143
|
+
for (const [, mark] of marks) {
|
|
144
|
+
if (mark.isHotKey(e.nativeEvent)) {
|
|
145
|
+
editor.toggleMarks({ [mark.type]: true })
|
|
146
|
+
e.preventDefault()
|
|
147
|
+
return
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
// Inline void nodes cannot be deleted by default: https://github.com/ianstormtaylor/slate/issues/3456
|
|
153
|
+
// This is a hack to get around this issue. The problem is that when an inline void node is selected, Slate's
|
|
154
|
+
// beforeInput handler doesn't get triggered. However, when we put the caret right after the inline void
|
|
155
|
+
// and press Backspace (or the other way around with Delete), it works just fine. Furthermore, if we deleted the
|
|
156
|
+
// node directly, either we'd lose the selection state or Slate, not knowing about us deleting, would still
|
|
157
|
+
// try to delete things on its own so as to respond to the user interaction. So we take advantage of this and
|
|
158
|
+
// instead of deleting the void node, we just carefully move the selection and have Slate do the deleting.
|
|
159
|
+
if (e.key !== 'Delete' && e.key !== 'Backspace') {
|
|
160
|
+
return
|
|
161
|
+
}
|
|
162
|
+
const selection = editor.selection
|
|
163
|
+
|
|
164
|
+
if (selection && SlateRange.isCollapsed(selection)) {
|
|
165
|
+
const voidEntry = Editor.void(editor, {
|
|
166
|
+
at: selection,
|
|
167
|
+
mode: 'lowest',
|
|
168
|
+
voids: true,
|
|
169
|
+
})
|
|
170
|
+
if (!voidEntry) {
|
|
171
|
+
return
|
|
172
|
+
}
|
|
173
|
+
const [node, nodePath] = voidEntry
|
|
174
|
+
if (editor.isInline(node)) {
|
|
175
|
+
const adjacentPoint =
|
|
176
|
+
e.key === 'Backspace'
|
|
177
|
+
? Editor.point(editor, Path.next(nodePath), {
|
|
178
|
+
edge: 'start',
|
|
179
|
+
})
|
|
180
|
+
: Editor.point(editor, Path.previous(nodePath), {
|
|
181
|
+
edge: 'end',
|
|
182
|
+
})
|
|
183
|
+
Transforms.select(editor, adjacentPoint)
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
onFocus: () => {},
|
|
188
|
+
onBlur: () => {},
|
|
189
|
+
normalizeNode: ([node, path]) => {
|
|
190
|
+
if (Editor.isEditor(node) && node.children.length === 0) {
|
|
191
|
+
Transforms.insertNodes(editor, editor.createDefaultElement([{ text: '' }]))
|
|
192
|
+
}
|
|
193
|
+
if (!SlateElement.isElement(node)) {
|
|
194
|
+
normalizeNode([node, path])
|
|
195
|
+
return
|
|
196
|
+
}
|
|
197
|
+
let defaultPrevented = false
|
|
198
|
+
elements.get(node.type)?.normalizeNode?.({
|
|
199
|
+
element: node,
|
|
200
|
+
path,
|
|
201
|
+
editor,
|
|
202
|
+
preventDefault: () => {
|
|
203
|
+
defaultPrevented = true
|
|
204
|
+
},
|
|
205
|
+
})
|
|
206
|
+
if (!defaultPrevented) {
|
|
207
|
+
normalizeNode([node, path])
|
|
208
|
+
}
|
|
209
|
+
},
|
|
210
|
+
registerElement: plugin => {
|
|
211
|
+
elements.set(plugin.type, plugin)
|
|
212
|
+
},
|
|
213
|
+
registerMark: plugin => {
|
|
214
|
+
marks.set(plugin.type, plugin)
|
|
215
|
+
},
|
|
216
|
+
|
|
217
|
+
deleteBackward: unit => {
|
|
218
|
+
const selection = editor.selection
|
|
219
|
+
|
|
220
|
+
if (selection && SlateRange.isCollapsed(selection)) {
|
|
221
|
+
const [node, nodePath] = Editor.node(editor, [selection.focus.path[0]])
|
|
222
|
+
if (SlateElement.isElement(node) && SlateNode.string(node) === '') {
|
|
223
|
+
const previous = Editor.previous(editor, {
|
|
224
|
+
at: nodePath,
|
|
225
|
+
voids: true,
|
|
226
|
+
})
|
|
227
|
+
|
|
228
|
+
if (previous) {
|
|
229
|
+
const [previousNode] = previous
|
|
230
|
+
if (SlateElement.isElement(previousNode) && editor.isVoid(previousNode)) {
|
|
231
|
+
editor.apply({
|
|
232
|
+
type: 'remove_node',
|
|
233
|
+
path: nodePath,
|
|
234
|
+
node,
|
|
235
|
+
})
|
|
236
|
+
return
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
deleteBackward(unit)
|
|
242
|
+
},
|
|
243
|
+
})
|
|
244
|
+
|
|
245
|
+
withPaste(editor)
|
|
246
|
+
|
|
247
|
+
return editor
|
|
248
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import {
|
|
2
|
+
addMarks,
|
|
3
|
+
canToggleMark,
|
|
4
|
+
closest,
|
|
5
|
+
closestBlockEntry,
|
|
6
|
+
closestViableBlockContainerEntry,
|
|
7
|
+
ejectElement,
|
|
8
|
+
elementToSpecifics,
|
|
9
|
+
getElementDataAttributes,
|
|
10
|
+
getPreviousSibling,
|
|
11
|
+
hasMarks,
|
|
12
|
+
hasParentOfType,
|
|
13
|
+
isElementType,
|
|
14
|
+
permissivelyDeserializeNodes,
|
|
15
|
+
removeMarks,
|
|
16
|
+
serializeNodes,
|
|
17
|
+
strictlyDeserializeNodes,
|
|
18
|
+
textToSpecifics,
|
|
19
|
+
toLatestFormat,
|
|
20
|
+
topLevelNodes,
|
|
21
|
+
} from './methods'
|
|
22
|
+
|
|
23
|
+
export type { ElementDataAttributes } from './methods'
|
|
24
|
+
|
|
25
|
+
// TODO use export * as ContemberEditor from './methods' once the tooling is ready.
|
|
26
|
+
export const ContemberEditor = {
|
|
27
|
+
addMarks,
|
|
28
|
+
canToggleMark,
|
|
29
|
+
closest,
|
|
30
|
+
closestBlockEntry,
|
|
31
|
+
closestViableBlockContainerEntry,
|
|
32
|
+
ejectElement,
|
|
33
|
+
elementToSpecifics,
|
|
34
|
+
getElementDataAttributes,
|
|
35
|
+
getPreviousSibling,
|
|
36
|
+
hasMarks,
|
|
37
|
+
hasParentOfType,
|
|
38
|
+
isElementType,
|
|
39
|
+
permissivelyDeserializeNodes,
|
|
40
|
+
removeMarks,
|
|
41
|
+
serializeNodes,
|
|
42
|
+
strictlyDeserializeNodes,
|
|
43
|
+
textToSpecifics,
|
|
44
|
+
toLatestFormat,
|
|
45
|
+
topLevelNodes,
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export * from './createEditor'
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Editor as SlateEditor, Editor, Text as SlateText } from 'slate'
|
|
2
|
+
import { TextSpecifics } from '../../types/editor'
|
|
3
|
+
|
|
4
|
+
export const addMarks = <T extends SlateText, E extends SlateEditor>(editor: E, marks: TextSpecifics<T>) => {
|
|
5
|
+
Editor.withoutNormalizing(editor, () => {
|
|
6
|
+
for (const mark in marks) {
|
|
7
|
+
Editor.addMark(editor, mark, (marks as any)[mark])
|
|
8
|
+
}
|
|
9
|
+
})
|
|
10
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Editor as SlateEditor, Text as SlateText } from 'slate'
|
|
2
|
+
|
|
3
|
+
export const canToggleMark = <T extends SlateText, E extends SlateEditor>(
|
|
4
|
+
editor: E,
|
|
5
|
+
markName: string,
|
|
6
|
+
markValue: unknown = true,
|
|
7
|
+
) => {
|
|
8
|
+
return editor.canToggleMarks({ [markName]: markValue })
|
|
9
|
+
}
|