@contember/react-slate-editor-base 2.1.0-alpha.9 → 2.1.0-beta.2
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/index.cjs +70 -70
- package/dist/development/index.js +25 -25
- package/dist/development/src/components/RichTextEditor.cjs +1 -0
- package/dist/development/src/components/RichTextEditor.cjs.map +1 -1
- package/dist/development/src/components/RichTextEditor.js +2 -1
- package/dist/development/src/components/RichTextEditor.js.map +1 -1
- package/dist/development/src/components/triggers/EditorElementTrigger.cjs.map +1 -1
- package/dist/development/src/components/triggers/EditorElementTrigger.js.map +1 -1
- package/dist/development/src/components/triggers/EditorGenericTrigger.cjs +1 -1
- package/dist/development/src/components/triggers/EditorGenericTrigger.cjs.map +1 -1
- package/dist/development/src/components/triggers/EditorGenericTrigger.js +1 -1
- package/dist/development/src/components/triggers/EditorGenericTrigger.js.map +1 -1
- package/dist/development/src/components/triggers/EditorMarkTrigger.cjs.map +1 -1
- package/dist/development/src/components/triggers/EditorMarkTrigger.js.map +1 -1
- package/dist/development/src/components/triggers/EditorWrapNodeTrigger.cjs.map +1 -1
- package/dist/development/src/components/triggers/EditorWrapNodeTrigger.js.map +1 -1
- package/dist/development/src/editor/createEditor.cjs.map +1 -1
- package/dist/development/src/editor/createEditor.js.map +1 -1
- package/dist/development/src/editor/createEditorWithEssentials.cjs.map +1 -1
- package/dist/development/src/editor/createEditorWithEssentials.js +1 -1
- package/dist/development/src/editor/createEditorWithEssentials.js.map +1 -1
- package/dist/development/src/editor/index.cjs +18 -18
- package/dist/development/src/editor/index.cjs.map +1 -1
- package/dist/development/src/editor/index.js +18 -18
- package/dist/development/src/editor/methods/addMarks.cjs.map +1 -1
- package/dist/development/src/editor/methods/addMarks.js.map +1 -1
- package/dist/development/src/editor/methods/closest.cjs.map +1 -1
- package/dist/development/src/editor/methods/closest.js.map +1 -1
- package/dist/development/src/editor/methods/closestBlockEntry.cjs.map +1 -1
- package/dist/development/src/editor/methods/closestBlockEntry.js.map +1 -1
- package/dist/development/src/editor/methods/ejectElement.cjs.map +1 -1
- package/dist/development/src/editor/methods/ejectElement.js.map +1 -1
- package/dist/development/src/editor/methods/elementToSpecifics.cjs.map +1 -1
- package/dist/development/src/editor/methods/elementToSpecifics.js.map +1 -1
- package/dist/development/src/editor/methods/getElementDataAttributes.cjs.map +1 -1
- package/dist/development/src/editor/methods/getElementDataAttributes.js.map +1 -1
- package/dist/development/src/editor/methods/getPreviousSibling.cjs.map +1 -1
- package/dist/development/src/editor/methods/getPreviousSibling.js.map +1 -1
- package/dist/development/src/editor/methods/hasMarks.cjs.map +1 -1
- package/dist/development/src/editor/methods/hasMarks.js.map +1 -1
- package/dist/development/src/editor/methods/hasParentOfType.cjs.map +1 -1
- package/dist/development/src/editor/methods/hasParentOfType.js.map +1 -1
- package/dist/development/src/editor/methods/isElementType.cjs.map +1 -1
- package/dist/development/src/editor/methods/isElementType.js.map +1 -1
- package/dist/development/src/editor/methods/permissivelyDeserializeNodes.cjs.map +1 -1
- package/dist/development/src/editor/methods/permissivelyDeserializeNodes.js.map +1 -1
- package/dist/development/src/editor/methods/removeMarks.cjs.map +1 -1
- package/dist/development/src/editor/methods/removeMarks.js.map +1 -1
- package/dist/development/src/editor/methods/serializeNodes.cjs.map +1 -1
- package/dist/development/src/editor/methods/serializeNodes.js.map +1 -1
- package/dist/development/src/editor/methods/strictlyDeserializeNodes.cjs.map +1 -1
- package/dist/development/src/editor/methods/strictlyDeserializeNodes.js.map +1 -1
- package/dist/development/src/editor/methods/textToSpecifics.cjs.map +1 -1
- package/dist/development/src/editor/methods/textToSpecifics.js.map +1 -1
- package/dist/development/src/editor/methods/toLatestFormat.cjs +1 -3
- package/dist/development/src/editor/methods/toLatestFormat.cjs.map +1 -1
- package/dist/development/src/editor/methods/toLatestFormat.js +1 -3
- package/dist/development/src/editor/methods/toLatestFormat.js.map +1 -1
- package/dist/development/src/editor/methods/topLevelNodes.cjs.map +1 -1
- package/dist/development/src/editor/methods/topLevelNodes.js.map +1 -1
- package/dist/development/src/internal/components/DefaultElement.cjs.map +1 -1
- package/dist/development/src/internal/components/DefaultElement.js.map +1 -1
- package/dist/development/src/internal/hooks/useRichTextFieldNodes.cjs.map +1 -1
- package/dist/development/src/internal/hooks/useRichTextFieldNodes.js.map +1 -1
- package/dist/development/src/internal/utils/EditorPasteUtils.cjs.map +1 -1
- package/dist/development/src/internal/utils/EditorPasteUtils.js.map +1 -1
- package/dist/development/src/internal/utils/parseUrl.cjs.map +1 -1
- package/dist/development/src/internal/utils/parseUrl.js.map +1 -1
- package/dist/development/src/plugins/attributes/alignment/alignButton.cjs.map +1 -1
- package/dist/development/src/plugins/attributes/alignment/alignButton.js +1 -1
- package/dist/development/src/plugins/attributes/alignment/alignButton.js.map +1 -1
- package/dist/development/src/plugins/behaviour/paste/HtmlDeserializer.cjs +1 -3
- package/dist/development/src/plugins/behaviour/paste/HtmlDeserializer.cjs.map +1 -1
- package/dist/development/src/plugins/behaviour/paste/HtmlDeserializer.js +1 -3
- package/dist/development/src/plugins/behaviour/paste/HtmlDeserializer.js.map +1 -1
- package/dist/development/src/plugins/behaviour/paste/createMarkHtmlDeserializer.cjs.map +1 -1
- package/dist/development/src/plugins/behaviour/paste/createMarkHtmlDeserializer.js.map +1 -1
- package/dist/development/src/plugins/behaviour/paste/withPaste.cjs.map +1 -1
- package/dist/development/src/plugins/behaviour/paste/withPaste.js.map +1 -1
- package/dist/development/src/plugins/element/anchors/AnchorElement.cjs.map +1 -1
- package/dist/development/src/plugins/element/anchors/AnchorElement.js +1 -1
- package/dist/development/src/plugins/element/anchors/AnchorElement.js.map +1 -1
- package/dist/development/src/plugins/element/anchors/AnchorHtmlDeserializer.cjs.map +1 -1
- package/dist/development/src/plugins/element/anchors/AnchorHtmlDeserializer.js.map +1 -1
- package/dist/development/src/plugins/element/anchors/AnchorModifications.cjs.map +1 -1
- package/dist/development/src/plugins/element/anchors/AnchorModifications.js.map +1 -1
- package/dist/development/src/plugins/element/anchors/withAnchors.cjs.map +1 -1
- package/dist/development/src/plugins/element/anchors/withAnchors.js.map +1 -1
- package/dist/development/src/plugins/element/headings/HeadingElement.cjs.map +1 -1
- package/dist/development/src/plugins/element/headings/HeadingElement.js.map +1 -1
- package/dist/development/src/plugins/element/headings/HeadingHtmlDeserializer.cjs.map +1 -1
- package/dist/development/src/plugins/element/headings/HeadingHtmlDeserializer.js.map +1 -1
- package/dist/development/src/plugins/element/headings/withHeadings.cjs.map +1 -1
- package/dist/development/src/plugins/element/headings/withHeadings.js.map +1 -1
- package/dist/development/src/plugins/element/horizonalRules/HorizontalRuleElement.cjs.map +1 -1
- package/dist/development/src/plugins/element/horizonalRules/HorizontalRuleElement.js.map +1 -1
- package/dist/development/src/plugins/element/horizonalRules/withHorizontalRules.cjs.map +1 -1
- package/dist/development/src/plugins/element/horizonalRules/withHorizontalRules.js.map +1 -1
- package/dist/development/src/plugins/element/lists/ListElement.cjs.map +1 -1
- package/dist/development/src/plugins/element/lists/ListElement.js.map +1 -1
- package/dist/development/src/plugins/element/lists/ListHtmlDeserializer.cjs.map +1 -1
- package/dist/development/src/plugins/element/lists/ListHtmlDeserializer.js.map +1 -1
- package/dist/development/src/plugins/element/lists/ListItemElement.cjs.map +1 -1
- package/dist/development/src/plugins/element/lists/ListItemElement.js.map +1 -1
- package/dist/development/src/plugins/element/lists/OrderedListElement.cjs +1 -1
- package/dist/development/src/plugins/element/lists/OrderedListElement.cjs.map +1 -1
- package/dist/development/src/plugins/element/lists/OrderedListElement.js +1 -1
- package/dist/development/src/plugins/element/lists/OrderedListElement.js.map +1 -1
- package/dist/development/src/plugins/element/lists/UnorderedListElement.cjs +1 -1
- package/dist/development/src/plugins/element/lists/UnorderedListElement.cjs.map +1 -1
- package/dist/development/src/plugins/element/lists/UnorderedListElement.js +1 -1
- package/dist/development/src/plugins/element/lists/UnorderedListElement.js.map +1 -1
- package/dist/development/src/plugins/element/lists/transforms/dedentListItem.cjs.map +1 -1
- package/dist/development/src/plugins/element/lists/transforms/dedentListItem.js.map +1 -1
- package/dist/development/src/plugins/element/lists/transforms/indentListItem.cjs.map +1 -1
- package/dist/development/src/plugins/element/lists/transforms/indentListItem.js.map +1 -1
- package/dist/development/src/plugins/element/lists/transforms/normalizeListElement.cjs.map +1 -1
- package/dist/development/src/plugins/element/lists/transforms/normalizeListElement.js.map +1 -1
- package/dist/development/src/plugins/element/lists/transforms/toggleListElement.cjs.map +1 -1
- package/dist/development/src/plugins/element/lists/transforms/toggleListElement.js.map +1 -1
- package/dist/development/src/plugins/element/lists/withLists.cjs.map +1 -1
- package/dist/development/src/plugins/element/lists/withLists.js +1 -1
- package/dist/development/src/plugins/element/lists/withLists.js.map +1 -1
- package/dist/development/src/plugins/element/paragraphs/ParagraphElement.cjs.map +1 -1
- package/dist/development/src/plugins/element/paragraphs/ParagraphElement.js +1 -1
- package/dist/development/src/plugins/element/paragraphs/ParagraphElement.js.map +1 -1
- package/dist/development/src/plugins/element/paragraphs/ParagraphHtmlDeserializer.cjs.map +1 -1
- package/dist/development/src/plugins/element/paragraphs/ParagraphHtmlDeserializer.js.map +1 -1
- package/dist/development/src/plugins/element/paragraphs/withParagraphs.cjs.map +1 -1
- package/dist/development/src/plugins/element/paragraphs/withParagraphs.js.map +1 -1
- package/dist/development/src/plugins/element/scrollTargets/ScrollTargetElement.cjs.map +1 -1
- package/dist/development/src/plugins/element/scrollTargets/ScrollTargetElement.js.map +1 -1
- package/dist/development/src/plugins/element/scrollTargets/withScrollTargets.cjs.map +1 -1
- package/dist/development/src/plugins/element/scrollTargets/withScrollTargets.js.map +1 -1
- package/dist/development/src/plugins/element/tables/TableCellElement.cjs.map +1 -1
- package/dist/development/src/plugins/element/tables/TableCellElement.js.map +1 -1
- package/dist/development/src/plugins/element/tables/TableElement.cjs.map +1 -1
- package/dist/development/src/plugins/element/tables/TableElement.js +1 -1
- package/dist/development/src/plugins/element/tables/TableElement.js.map +1 -1
- package/dist/development/src/plugins/element/tables/TableElementSelection.cjs.map +1 -1
- package/dist/development/src/plugins/element/tables/TableElementSelection.js.map +1 -1
- package/dist/development/src/plugins/element/tables/TableHtmlDeserializer.cjs.map +1 -1
- package/dist/development/src/plugins/element/tables/TableHtmlDeserializer.js.map +1 -1
- package/dist/development/src/plugins/element/tables/TableModifications.cjs.map +1 -1
- package/dist/development/src/plugins/element/tables/TableModifications.js +1 -1
- package/dist/development/src/plugins/element/tables/TableModifications.js.map +1 -1
- package/dist/development/src/plugins/element/tables/TableRowElement.cjs.map +1 -1
- package/dist/development/src/plugins/element/tables/TableRowElement.js.map +1 -1
- package/dist/development/src/plugins/element/tables/gaugeTableColumnCount.cjs.map +1 -1
- package/dist/development/src/plugins/element/tables/gaugeTableColumnCount.js.map +1 -1
- package/dist/development/src/plugins/element/tables/withTables.cjs.map +1 -1
- package/dist/development/src/plugins/element/tables/withTables.js +2 -2
- package/dist/development/src/plugins/element/tables/withTables.js.map +1 -1
- package/dist/development/src/plugins/text/bold/boldMark.cjs.map +1 -1
- package/dist/development/src/plugins/text/bold/boldMark.js.map +1 -1
- package/dist/development/src/plugins/text/bold/withBold.cjs.map +1 -1
- package/dist/development/src/plugins/text/bold/withBold.js.map +1 -1
- package/dist/development/src/plugins/text/code/codeMark.cjs.map +1 -1
- package/dist/development/src/plugins/text/code/codeMark.js.map +1 -1
- package/dist/development/src/plugins/text/code/withCode.cjs.map +1 -1
- package/dist/development/src/plugins/text/code/withCode.js.map +1 -1
- package/dist/development/src/plugins/text/highlight/highlightMark.cjs.map +1 -1
- package/dist/development/src/plugins/text/highlight/highlightMark.js.map +1 -1
- package/dist/development/src/plugins/text/highlight/withHighlight.cjs.map +1 -1
- package/dist/development/src/plugins/text/highlight/withHighlight.js.map +1 -1
- package/dist/development/src/plugins/text/italic/italicMark.cjs.map +1 -1
- package/dist/development/src/plugins/text/italic/italicMark.js.map +1 -1
- package/dist/development/src/plugins/text/italic/withItalic.cjs.map +1 -1
- package/dist/development/src/plugins/text/italic/withItalic.js.map +1 -1
- package/dist/development/src/plugins/text/newline/withNewline.cjs.map +1 -1
- package/dist/development/src/plugins/text/newline/withNewline.js.map +1 -1
- package/dist/development/src/plugins/text/strikeThrough/strikeThroughMark.cjs.map +1 -1
- package/dist/development/src/plugins/text/strikeThrough/strikeThroughMark.js.map +1 -1
- package/dist/development/src/plugins/text/strikeThrough/withStrikeThrough.cjs.map +1 -1
- package/dist/development/src/plugins/text/strikeThrough/withStrikeThrough.js.map +1 -1
- package/dist/development/src/plugins/text/underline/underlineMark.cjs.map +1 -1
- package/dist/development/src/plugins/text/underline/underlineMark.js.map +1 -1
- package/dist/development/src/plugins/text/underline/withUnderline.cjs.map +1 -1
- package/dist/development/src/plugins/text/underline/withUnderline.js.map +1 -1
- package/dist/production/index.cjs +70 -70
- package/dist/production/index.js +25 -25
- package/dist/production/src/components/RichTextEditor.cjs +1 -0
- package/dist/production/src/components/RichTextEditor.cjs.map +1 -1
- package/dist/production/src/components/RichTextEditor.js +2 -1
- package/dist/production/src/components/RichTextEditor.js.map +1 -1
- package/dist/production/src/components/triggers/EditorElementTrigger.cjs.map +1 -1
- package/dist/production/src/components/triggers/EditorElementTrigger.js.map +1 -1
- package/dist/production/src/components/triggers/EditorGenericTrigger.cjs.map +1 -1
- package/dist/production/src/components/triggers/EditorGenericTrigger.js.map +1 -1
- package/dist/production/src/components/triggers/EditorMarkTrigger.cjs.map +1 -1
- package/dist/production/src/components/triggers/EditorMarkTrigger.js.map +1 -1
- package/dist/production/src/components/triggers/EditorWrapNodeTrigger.cjs.map +1 -1
- package/dist/production/src/components/triggers/EditorWrapNodeTrigger.js.map +1 -1
- package/dist/production/src/editor/createEditor.cjs.map +1 -1
- package/dist/production/src/editor/createEditor.js.map +1 -1
- package/dist/production/src/editor/createEditorWithEssentials.cjs.map +1 -1
- package/dist/production/src/editor/createEditorWithEssentials.js +1 -1
- package/dist/production/src/editor/createEditorWithEssentials.js.map +1 -1
- package/dist/production/src/editor/index.cjs +18 -18
- package/dist/production/src/editor/index.cjs.map +1 -1
- package/dist/production/src/editor/index.js +18 -18
- package/dist/production/src/editor/methods/addMarks.cjs.map +1 -1
- package/dist/production/src/editor/methods/addMarks.js.map +1 -1
- package/dist/production/src/editor/methods/closest.cjs.map +1 -1
- package/dist/production/src/editor/methods/closest.js.map +1 -1
- package/dist/production/src/editor/methods/closestBlockEntry.cjs.map +1 -1
- package/dist/production/src/editor/methods/closestBlockEntry.js.map +1 -1
- package/dist/production/src/editor/methods/ejectElement.cjs.map +1 -1
- package/dist/production/src/editor/methods/ejectElement.js.map +1 -1
- package/dist/production/src/editor/methods/elementToSpecifics.cjs.map +1 -1
- package/dist/production/src/editor/methods/elementToSpecifics.js.map +1 -1
- package/dist/production/src/editor/methods/getElementDataAttributes.cjs.map +1 -1
- package/dist/production/src/editor/methods/getElementDataAttributes.js.map +1 -1
- package/dist/production/src/editor/methods/getPreviousSibling.cjs.map +1 -1
- package/dist/production/src/editor/methods/getPreviousSibling.js.map +1 -1
- package/dist/production/src/editor/methods/hasMarks.cjs.map +1 -1
- package/dist/production/src/editor/methods/hasMarks.js.map +1 -1
- package/dist/production/src/editor/methods/hasParentOfType.cjs.map +1 -1
- package/dist/production/src/editor/methods/hasParentOfType.js.map +1 -1
- package/dist/production/src/editor/methods/isElementType.cjs.map +1 -1
- package/dist/production/src/editor/methods/isElementType.js.map +1 -1
- package/dist/production/src/editor/methods/permissivelyDeserializeNodes.cjs.map +1 -1
- package/dist/production/src/editor/methods/permissivelyDeserializeNodes.js.map +1 -1
- package/dist/production/src/editor/methods/removeMarks.cjs.map +1 -1
- package/dist/production/src/editor/methods/removeMarks.js.map +1 -1
- package/dist/production/src/editor/methods/serializeNodes.cjs.map +1 -1
- package/dist/production/src/editor/methods/serializeNodes.js.map +1 -1
- package/dist/production/src/editor/methods/strictlyDeserializeNodes.cjs.map +1 -1
- package/dist/production/src/editor/methods/strictlyDeserializeNodes.js.map +1 -1
- package/dist/production/src/editor/methods/textToSpecifics.cjs.map +1 -1
- package/dist/production/src/editor/methods/textToSpecifics.js.map +1 -1
- package/dist/production/src/editor/methods/toLatestFormat.cjs +1 -3
- package/dist/production/src/editor/methods/toLatestFormat.cjs.map +1 -1
- package/dist/production/src/editor/methods/toLatestFormat.js +1 -3
- package/dist/production/src/editor/methods/toLatestFormat.js.map +1 -1
- package/dist/production/src/editor/methods/topLevelNodes.cjs.map +1 -1
- package/dist/production/src/editor/methods/topLevelNodes.js.map +1 -1
- package/dist/production/src/internal/components/DefaultElement.cjs.map +1 -1
- package/dist/production/src/internal/components/DefaultElement.js.map +1 -1
- package/dist/production/src/internal/hooks/useRichTextFieldNodes.cjs.map +1 -1
- package/dist/production/src/internal/hooks/useRichTextFieldNodes.js.map +1 -1
- package/dist/production/src/internal/utils/EditorPasteUtils.cjs.map +1 -1
- package/dist/production/src/internal/utils/EditorPasteUtils.js.map +1 -1
- package/dist/production/src/internal/utils/parseUrl.cjs.map +1 -1
- package/dist/production/src/internal/utils/parseUrl.js.map +1 -1
- package/dist/production/src/plugins/attributes/alignment/alignButton.cjs.map +1 -1
- package/dist/production/src/plugins/attributes/alignment/alignButton.js +1 -1
- package/dist/production/src/plugins/attributes/alignment/alignButton.js.map +1 -1
- package/dist/production/src/plugins/behaviour/paste/HtmlDeserializer.cjs +1 -3
- package/dist/production/src/plugins/behaviour/paste/HtmlDeserializer.cjs.map +1 -1
- package/dist/production/src/plugins/behaviour/paste/HtmlDeserializer.js +1 -3
- package/dist/production/src/plugins/behaviour/paste/HtmlDeserializer.js.map +1 -1
- package/dist/production/src/plugins/behaviour/paste/createMarkHtmlDeserializer.cjs.map +1 -1
- package/dist/production/src/plugins/behaviour/paste/createMarkHtmlDeserializer.js.map +1 -1
- package/dist/production/src/plugins/behaviour/paste/withPaste.cjs.map +1 -1
- package/dist/production/src/plugins/behaviour/paste/withPaste.js.map +1 -1
- package/dist/production/src/plugins/element/anchors/AnchorElement.cjs.map +1 -1
- package/dist/production/src/plugins/element/anchors/AnchorElement.js +1 -1
- package/dist/production/src/plugins/element/anchors/AnchorElement.js.map +1 -1
- package/dist/production/src/plugins/element/anchors/AnchorHtmlDeserializer.cjs.map +1 -1
- package/dist/production/src/plugins/element/anchors/AnchorHtmlDeserializer.js.map +1 -1
- package/dist/production/src/plugins/element/anchors/AnchorModifications.cjs.map +1 -1
- package/dist/production/src/plugins/element/anchors/AnchorModifications.js.map +1 -1
- package/dist/production/src/plugins/element/anchors/withAnchors.cjs.map +1 -1
- package/dist/production/src/plugins/element/anchors/withAnchors.js.map +1 -1
- package/dist/production/src/plugins/element/headings/HeadingElement.cjs.map +1 -1
- package/dist/production/src/plugins/element/headings/HeadingElement.js.map +1 -1
- package/dist/production/src/plugins/element/headings/HeadingHtmlDeserializer.cjs.map +1 -1
- package/dist/production/src/plugins/element/headings/HeadingHtmlDeserializer.js.map +1 -1
- package/dist/production/src/plugins/element/headings/withHeadings.cjs.map +1 -1
- package/dist/production/src/plugins/element/headings/withHeadings.js.map +1 -1
- package/dist/production/src/plugins/element/horizonalRules/HorizontalRuleElement.cjs.map +1 -1
- package/dist/production/src/plugins/element/horizonalRules/HorizontalRuleElement.js.map +1 -1
- package/dist/production/src/plugins/element/horizonalRules/withHorizontalRules.cjs.map +1 -1
- package/dist/production/src/plugins/element/horizonalRules/withHorizontalRules.js.map +1 -1
- package/dist/production/src/plugins/element/lists/ListElement.cjs.map +1 -1
- package/dist/production/src/plugins/element/lists/ListElement.js.map +1 -1
- package/dist/production/src/plugins/element/lists/ListHtmlDeserializer.cjs.map +1 -1
- package/dist/production/src/plugins/element/lists/ListHtmlDeserializer.js.map +1 -1
- package/dist/production/src/plugins/element/lists/ListItemElement.cjs.map +1 -1
- package/dist/production/src/plugins/element/lists/ListItemElement.js.map +1 -1
- package/dist/production/src/plugins/element/lists/OrderedListElement.cjs +1 -1
- package/dist/production/src/plugins/element/lists/OrderedListElement.cjs.map +1 -1
- package/dist/production/src/plugins/element/lists/OrderedListElement.js +1 -1
- package/dist/production/src/plugins/element/lists/OrderedListElement.js.map +1 -1
- package/dist/production/src/plugins/element/lists/UnorderedListElement.cjs +1 -1
- package/dist/production/src/plugins/element/lists/UnorderedListElement.cjs.map +1 -1
- package/dist/production/src/plugins/element/lists/UnorderedListElement.js +1 -1
- package/dist/production/src/plugins/element/lists/UnorderedListElement.js.map +1 -1
- package/dist/production/src/plugins/element/lists/transforms/dedentListItem.cjs.map +1 -1
- package/dist/production/src/plugins/element/lists/transforms/dedentListItem.js.map +1 -1
- package/dist/production/src/plugins/element/lists/transforms/indentListItem.cjs.map +1 -1
- package/dist/production/src/plugins/element/lists/transforms/indentListItem.js.map +1 -1
- package/dist/production/src/plugins/element/lists/transforms/normalizeListElement.cjs.map +1 -1
- package/dist/production/src/plugins/element/lists/transforms/normalizeListElement.js.map +1 -1
- package/dist/production/src/plugins/element/lists/transforms/toggleListElement.cjs.map +1 -1
- package/dist/production/src/plugins/element/lists/transforms/toggleListElement.js.map +1 -1
- package/dist/production/src/plugins/element/lists/withLists.cjs.map +1 -1
- package/dist/production/src/plugins/element/lists/withLists.js +1 -1
- package/dist/production/src/plugins/element/lists/withLists.js.map +1 -1
- package/dist/production/src/plugins/element/paragraphs/ParagraphElement.cjs.map +1 -1
- package/dist/production/src/plugins/element/paragraphs/ParagraphElement.js +1 -1
- package/dist/production/src/plugins/element/paragraphs/ParagraphElement.js.map +1 -1
- package/dist/production/src/plugins/element/paragraphs/ParagraphHtmlDeserializer.cjs.map +1 -1
- package/dist/production/src/plugins/element/paragraphs/ParagraphHtmlDeserializer.js.map +1 -1
- package/dist/production/src/plugins/element/paragraphs/withParagraphs.cjs.map +1 -1
- package/dist/production/src/plugins/element/paragraphs/withParagraphs.js.map +1 -1
- package/dist/production/src/plugins/element/scrollTargets/ScrollTargetElement.cjs.map +1 -1
- package/dist/production/src/plugins/element/scrollTargets/ScrollTargetElement.js.map +1 -1
- package/dist/production/src/plugins/element/scrollTargets/withScrollTargets.cjs.map +1 -1
- package/dist/production/src/plugins/element/scrollTargets/withScrollTargets.js.map +1 -1
- package/dist/production/src/plugins/element/tables/TableCellElement.cjs.map +1 -1
- package/dist/production/src/plugins/element/tables/TableCellElement.js.map +1 -1
- package/dist/production/src/plugins/element/tables/TableElement.cjs.map +1 -1
- package/dist/production/src/plugins/element/tables/TableElement.js +1 -1
- package/dist/production/src/plugins/element/tables/TableElement.js.map +1 -1
- package/dist/production/src/plugins/element/tables/TableElementSelection.cjs.map +1 -1
- package/dist/production/src/plugins/element/tables/TableElementSelection.js.map +1 -1
- package/dist/production/src/plugins/element/tables/TableHtmlDeserializer.cjs.map +1 -1
- package/dist/production/src/plugins/element/tables/TableHtmlDeserializer.js.map +1 -1
- package/dist/production/src/plugins/element/tables/TableModifications.cjs.map +1 -1
- package/dist/production/src/plugins/element/tables/TableModifications.js +1 -1
- package/dist/production/src/plugins/element/tables/TableModifications.js.map +1 -1
- package/dist/production/src/plugins/element/tables/TableRowElement.cjs.map +1 -1
- package/dist/production/src/plugins/element/tables/TableRowElement.js.map +1 -1
- package/dist/production/src/plugins/element/tables/gaugeTableColumnCount.cjs.map +1 -1
- package/dist/production/src/plugins/element/tables/gaugeTableColumnCount.js.map +1 -1
- package/dist/production/src/plugins/element/tables/withTables.cjs.map +1 -1
- package/dist/production/src/plugins/element/tables/withTables.js +2 -2
- package/dist/production/src/plugins/element/tables/withTables.js.map +1 -1
- package/dist/production/src/plugins/text/bold/boldMark.cjs.map +1 -1
- package/dist/production/src/plugins/text/bold/boldMark.js.map +1 -1
- package/dist/production/src/plugins/text/bold/withBold.cjs.map +1 -1
- package/dist/production/src/plugins/text/bold/withBold.js.map +1 -1
- package/dist/production/src/plugins/text/code/codeMark.cjs.map +1 -1
- package/dist/production/src/plugins/text/code/codeMark.js.map +1 -1
- package/dist/production/src/plugins/text/code/withCode.cjs.map +1 -1
- package/dist/production/src/plugins/text/code/withCode.js.map +1 -1
- package/dist/production/src/plugins/text/highlight/highlightMark.cjs.map +1 -1
- package/dist/production/src/plugins/text/highlight/highlightMark.js.map +1 -1
- package/dist/production/src/plugins/text/highlight/withHighlight.cjs.map +1 -1
- package/dist/production/src/plugins/text/highlight/withHighlight.js.map +1 -1
- package/dist/production/src/plugins/text/italic/italicMark.cjs.map +1 -1
- package/dist/production/src/plugins/text/italic/italicMark.js.map +1 -1
- package/dist/production/src/plugins/text/italic/withItalic.cjs.map +1 -1
- package/dist/production/src/plugins/text/italic/withItalic.js.map +1 -1
- package/dist/production/src/plugins/text/newline/withNewline.cjs.map +1 -1
- package/dist/production/src/plugins/text/newline/withNewline.js.map +1 -1
- package/dist/production/src/plugins/text/strikeThrough/strikeThroughMark.cjs.map +1 -1
- package/dist/production/src/plugins/text/strikeThrough/strikeThroughMark.js.map +1 -1
- package/dist/production/src/plugins/text/strikeThrough/withStrikeThrough.cjs.map +1 -1
- package/dist/production/src/plugins/text/strikeThrough/withStrikeThrough.js.map +1 -1
- package/dist/production/src/plugins/text/underline/underlineMark.cjs.map +1 -1
- package/dist/production/src/plugins/text/underline/underlineMark.js.map +1 -1
- package/dist/production/src/plugins/text/underline/withUnderline.cjs.map +1 -1
- package/dist/production/src/plugins/text/underline/withUnderline.js.map +1 -1
- package/dist/types/components/triggers/EditorGenericTrigger.d.ts.map +1 -1
- package/dist/types/editor/createEditor.d.ts.map +1 -1
- package/dist/types/editor/createEditorWithEssentials.d.ts.map +1 -1
- package/dist/types/editor/methods/addMarks.d.ts.map +1 -1
- package/dist/types/editor/methods/closest.d.ts +1 -1
- package/dist/types/editor/methods/closest.d.ts.map +1 -1
- package/dist/types/editor/methods/closestBlockEntry.d.ts +1 -1
- package/dist/types/editor/methods/closestBlockEntry.d.ts.map +1 -1
- package/dist/types/editor/methods/hasMarks.d.ts.map +1 -1
- package/dist/types/editor/methods/removeMarks.d.ts.map +1 -1
- package/dist/types/editor/methods/toLatestFormat.d.ts.map +1 -1
- package/dist/types/internal/hooks/useRichTextFieldNodes.d.ts.map +1 -1
- package/dist/types/plugins/behaviour/paste/HtmlDeserializer.d.ts.map +1 -1
- package/dist/types/plugins/behaviour/paste/createMarkHtmlDeserializer.d.ts.map +1 -1
- package/dist/types/plugins/behaviour/paste/withPaste.d.ts.map +1 -1
- package/dist/types/plugins/element/anchors/AnchorElement.d.ts +1 -1
- package/dist/types/plugins/element/anchors/AnchorElement.d.ts.map +1 -1
- package/dist/types/plugins/element/headings/HeadingElement.d.ts.map +1 -1
- package/dist/types/plugins/element/headings/withHeadings.d.ts.map +1 -1
- package/dist/types/plugins/element/horizonalRules/HorizontalRuleElement.d.ts +1 -1
- package/dist/types/plugins/element/horizonalRules/HorizontalRuleElement.d.ts.map +1 -1
- package/dist/types/plugins/element/horizonalRules/withHorizontalRules.d.ts.map +1 -1
- package/dist/types/plugins/element/lists/ListElement.d.ts.map +1 -1
- package/dist/types/plugins/element/lists/ListHtmlDeserializer.d.ts.map +1 -1
- package/dist/types/plugins/element/lists/ListItemElement.d.ts.map +1 -1
- package/dist/types/plugins/element/lists/UnorderedListElement.d.ts.map +1 -1
- package/dist/types/plugins/element/lists/transforms/indentListItem.d.ts.map +1 -1
- package/dist/types/plugins/element/lists/withLists.d.ts.map +1 -1
- package/dist/types/plugins/element/paragraphs/ParagraphElement.d.ts.map +1 -1
- package/dist/types/plugins/element/paragraphs/ParagraphHtmlDeserializer.d.ts.map +1 -1
- package/dist/types/plugins/element/paragraphs/withParagraphs.d.ts.map +1 -1
- package/dist/types/plugins/element/scrollTargets/ScrollTargetElement.d.ts +1 -1
- package/dist/types/plugins/element/scrollTargets/ScrollTargetElement.d.ts.map +1 -1
- package/dist/types/plugins/element/tables/TableCellElement.d.ts.map +1 -1
- package/dist/types/plugins/element/tables/TableElement.d.ts.map +1 -1
- package/dist/types/plugins/element/tables/TableModifications.d.ts.map +1 -1
- package/dist/types/plugins/element/tables/TableRowElement.d.ts.map +1 -1
- package/dist/types/plugins/element/tables/withTables.d.ts.map +1 -1
- package/dist/types/plugins/text/bold/withBold.d.ts.map +1 -1
- package/dist/types/plugins/text/code/withCode.d.ts.map +1 -1
- package/dist/types/plugins/text/highlight/withHighlight.d.ts.map +1 -1
- package/dist/types/plugins/text/italic/withItalic.d.ts.map +1 -1
- package/dist/types/plugins/text/strikeThrough/withStrikeThrough.d.ts.map +1 -1
- package/dist/types/plugins/text/underline/withUnderline.d.ts.map +1 -1
- package/dist/types/slate-types.d.ts +1 -1
- package/dist/types/slate-types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/types/plugins.d.ts.map +1 -1
- package/package.json +13 -13
- package/src/components/RichTextEditor.tsx +1 -2
- package/src/components/triggers/EditorGenericTrigger.tsx +0 -1
- package/src/editor/createEditor.ts +0 -1
- package/src/editor/createEditorWithEssentials.tsx +23 -16
- package/src/editor/methods/addMarks.ts +1 -1
- package/src/editor/methods/closest.ts +1 -1
- package/src/editor/methods/closestBlockEntry.ts +1 -1
- package/src/editor/methods/hasMarks.ts +6 -4
- package/src/editor/methods/removeMarks.ts +1 -1
- package/src/editor/methods/toLatestFormat.ts +3 -5
- package/src/internal/hooks/useRichTextFieldNodes.ts +10 -11
- package/src/internal/utils/EditorPasteUtils.ts +3 -3
- package/src/plugins/attributes/alignment/alignButton.ts +1 -4
- package/src/plugins/behaviour/paste/HtmlDeserializer.ts +11 -16
- package/src/plugins/behaviour/paste/createMarkHtmlDeserializer.ts +5 -1
- package/src/plugins/behaviour/paste/withPaste.ts +0 -1
- package/src/plugins/element/anchors/AnchorElement.ts +1 -2
- package/src/plugins/element/anchors/AnchorHtmlDeserializer.ts +1 -1
- package/src/plugins/element/headings/HeadingElement.ts +0 -1
- package/src/plugins/element/headings/withHeadings.ts +1 -10
- package/src/plugins/element/horizonalRules/HorizontalRuleElement.ts +4 -2
- package/src/plugins/element/horizonalRules/withHorizontalRules.ts +1 -2
- package/src/plugins/element/lists/ListElement.ts +2 -1
- package/src/plugins/element/lists/ListHtmlDeserializer.ts +3 -1
- package/src/plugins/element/lists/ListItemElement.ts +1 -2
- package/src/plugins/element/lists/UnorderedListElement.ts +3 -1
- package/src/plugins/element/lists/transforms/indentListItem.ts +3 -12
- package/src/plugins/element/lists/withLists.ts +7 -16
- package/src/plugins/element/paragraphs/ParagraphElement.ts +2 -2
- package/src/plugins/element/paragraphs/ParagraphHtmlDeserializer.ts +7 -4
- package/src/plugins/element/paragraphs/withParagraphs.ts +1 -2
- package/src/plugins/element/scrollTargets/ScrollTargetElement.ts +6 -5
- package/src/plugins/element/tables/TableCellElement.ts +1 -2
- package/src/plugins/element/tables/TableElement.ts +13 -2
- package/src/plugins/element/tables/TableModifications.ts +2 -9
- package/src/plugins/element/tables/TableRowElement.ts +2 -2
- package/src/plugins/element/tables/withTables.ts +20 -20
- package/src/plugins/text/bold/withBold.ts +0 -1
- package/src/plugins/text/code/withCode.ts +0 -1
- package/src/plugins/text/highlight/withHighlight.ts +0 -1
- package/src/plugins/text/italic/withItalic.ts +0 -1
- package/src/plugins/text/strikeThrough/withStrikeThrough.ts +0 -1
- package/src/plugins/text/underline/withUnderline.ts +0 -1
- package/src/slate-types.ts +16 -12
- package/src/types/htmlDeserializer.ts +2 -2
- package/src/types/plugins.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableElementSelection.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/TableElementSelection.ts"],"sourcesContent":["import { ReactEditor } from 'slate-react'\nimport { Editor, Path as SlatePath, Transforms } from 'slate'\nimport { TableCellElement } from './TableCellElement'\nimport { TableElement } from './TableElement'\n\nexport const selectTableCellContents = (editor: Editor, table: TableElement | SlatePath, rowIndex: number, columnIndex: number) => {\n\tif (!Array.isArray(table)) {\n\t\ttable = ReactEditor.findPath(editor, table)\n\t}\n\tTransforms.select(editor, {\n\t\tanchor: Editor.start(editor, [...table, rowIndex, columnIndex]),\n\t\tfocus: Editor.end(editor, [...table, rowIndex, columnIndex]),\n\t})\n}\n\nexport const getTableCellCoordinates = (editor: Editor, element: TableCellElement) => {\n\tconst cellPath = ReactEditor.findPath(editor, element)\n\treturn cellPath.slice(-2) as [number, number]\n}\n"],"names":[],"mappings":";;AAKO,MAAM,0BAA0B,CAAC,QAAgB,OAAiC,UAAkB,gBAAwB;AAClI,MAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;
|
|
1
|
+
{"version":3,"file":"TableElementSelection.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/TableElementSelection.ts"],"sourcesContent":["import { ReactEditor } from 'slate-react'\nimport { Editor, Path as SlatePath, Transforms } from 'slate'\nimport { TableCellElement } from './TableCellElement'\nimport { TableElement } from './TableElement'\n\nexport const selectTableCellContents = (editor: Editor, table: TableElement | SlatePath, rowIndex: number, columnIndex: number) => {\n\tif (!Array.isArray(table)) {\n\t\ttable = ReactEditor.findPath(editor, table)\n\t}\n\tTransforms.select(editor, {\n\t\tanchor: Editor.start(editor, [...table, rowIndex, columnIndex]),\n\t\tfocus: Editor.end(editor, [...table, rowIndex, columnIndex]),\n\t})\n}\n\nexport const getTableCellCoordinates = (editor: Editor, element: TableCellElement) => {\n\tconst cellPath = ReactEditor.findPath(editor, element)\n\treturn cellPath.slice(-2) as [number, number]\n}\n"],"names":[],"mappings":";;AAKO,MAAM,0BAA0B,CAAC,QAAgB,OAAiC,UAAkB,gBAAwB;AAClI,MAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AAC1B,YAAQ,YAAY,SAAS,QAAQ,KAAK;AAAA,EAC3C;AACA,aAAW,OAAO,QAAQ;AAAA,IACzB,QAAQ,OAAO,MAAM,QAAQ,CAAC,GAAG,OAAO,UAAU,WAAW,CAAC;AAAA,IAC9D,OAAO,OAAO,IAAI,QAAQ,CAAC,GAAG,OAAO,UAAU,WAAW,CAAC;AAAA,EAAA,CAC3D;AACF;AAEO,MAAM,0BAA0B,CAAC,QAAgB,YAA8B;AACrF,QAAM,WAAW,YAAY,SAAS,QAAQ,OAAO;AACrD,SAAO,SAAS,MAAM,EAAE;AACzB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHtmlDeserializer.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/TableHtmlDeserializer.ts"],"sourcesContent":["import { HtmlDeserializerPlugin } from '../../../types'\nimport { tableCellElementType } from './TableCellElement'\nimport { tableElementType } from './TableElement'\nimport { tableRowElementType } from './TableRowElement'\n\nexport const tableHTMLDeserializer: HtmlDeserializerPlugin = {\n\tprocessBlockPaste: ({ element, next, cumulativeTextAttrs }) => {\n\t\tif (element.tagName === 'TABLE') {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: tableElementType,\n\t\t\t\t\tchildren: next(element.childNodes, cumulativeTextAttrs),\n\t\t\t\t},\n\t\t\t]\n\t\t}\n\n\t\tif (element.tagName === 'TR') {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: tableRowElementType,\n\t\t\t\t\tchildren: next(element.childNodes, cumulativeTextAttrs),\n\t\t\t\t},\n\t\t\t]\n\t\t}\n\n\t\tif (element.tagName === 'TD' || element.tagName === 'TH') {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: tableCellElementType,\n\t\t\t\t\tchildren: next(element.childNodes, cumulativeTextAttrs),\n\t\t\t\t},\n\t\t\t]\n\t\t}\n\n\t\treturn null\n\t},\n}\n"],"names":["tableElementType","tableRowElementType","tableCellElementType"],"mappings":";;;;;AAKO,MAAM,wBAAgD;AAAA,EAC5D,mBAAmB,CAAC,EAAE,SAAS,MAAM,0BAA0B;
|
|
1
|
+
{"version":3,"file":"TableHtmlDeserializer.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/TableHtmlDeserializer.ts"],"sourcesContent":["import { HtmlDeserializerPlugin } from '../../../types'\nimport { tableCellElementType } from './TableCellElement'\nimport { tableElementType } from './TableElement'\nimport { tableRowElementType } from './TableRowElement'\n\nexport const tableHTMLDeserializer: HtmlDeserializerPlugin = {\n\tprocessBlockPaste: ({ element, next, cumulativeTextAttrs }) => {\n\t\tif (element.tagName === 'TABLE') {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: tableElementType,\n\t\t\t\t\tchildren: next(element.childNodes, cumulativeTextAttrs),\n\t\t\t\t},\n\t\t\t]\n\t\t}\n\n\t\tif (element.tagName === 'TR') {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: tableRowElementType,\n\t\t\t\t\tchildren: next(element.childNodes, cumulativeTextAttrs),\n\t\t\t\t},\n\t\t\t]\n\t\t}\n\n\t\tif (element.tagName === 'TD' || element.tagName === 'TH') {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: tableCellElementType,\n\t\t\t\t\tchildren: next(element.childNodes, cumulativeTextAttrs),\n\t\t\t\t},\n\t\t\t]\n\t\t}\n\n\t\treturn null\n\t},\n}\n"],"names":["tableElementType","tableRowElementType","tableCellElementType"],"mappings":";;;;;AAKO,MAAM,wBAAgD;AAAA,EAC5D,mBAAmB,CAAC,EAAE,SAAS,MAAM,0BAA0B;AAC9D,QAAI,QAAQ,YAAY,SAAS;AAChC,aAAO;AAAA,QACN;AAAA,UACC,MAAMA,aAAAA;AAAAA,UACN,UAAU,KAAK,QAAQ,YAAY,mBAAmB;AAAA,QAAA;AAAA,MACvD;AAAA,IAEF;AAEA,QAAI,QAAQ,YAAY,MAAM;AAC7B,aAAO;AAAA,QACN;AAAA,UACC,MAAMC,gBAAAA;AAAAA,UACN,UAAU,KAAK,QAAQ,YAAY,mBAAmB;AAAA,QAAA;AAAA,MACvD;AAAA,IAEF;AAEA,QAAI,QAAQ,YAAY,QAAQ,QAAQ,YAAY,MAAM;AACzD,aAAO;AAAA,QACN;AAAA,UACC,MAAMC,iBAAAA;AAAAA,UACN,UAAU,KAAK,QAAQ,YAAY,mBAAmB;AAAA,QAAA;AAAA,MACvD;AAAA,IAEF;AAEA,WAAO;AAAA,EACR;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHtmlDeserializer.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/TableHtmlDeserializer.ts"],"sourcesContent":["import { HtmlDeserializerPlugin } from '../../../types'\nimport { tableCellElementType } from './TableCellElement'\nimport { tableElementType } from './TableElement'\nimport { tableRowElementType } from './TableRowElement'\n\nexport const tableHTMLDeserializer: HtmlDeserializerPlugin = {\n\tprocessBlockPaste: ({ element, next, cumulativeTextAttrs }) => {\n\t\tif (element.tagName === 'TABLE') {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: tableElementType,\n\t\t\t\t\tchildren: next(element.childNodes, cumulativeTextAttrs),\n\t\t\t\t},\n\t\t\t]\n\t\t}\n\n\t\tif (element.tagName === 'TR') {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: tableRowElementType,\n\t\t\t\t\tchildren: next(element.childNodes, cumulativeTextAttrs),\n\t\t\t\t},\n\t\t\t]\n\t\t}\n\n\t\tif (element.tagName === 'TD' || element.tagName === 'TH') {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: tableCellElementType,\n\t\t\t\t\tchildren: next(element.childNodes, cumulativeTextAttrs),\n\t\t\t\t},\n\t\t\t]\n\t\t}\n\n\t\treturn null\n\t},\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,wBAAgD;AAAA,EAC5D,mBAAmB,CAAC,EAAE,SAAS,MAAM,0BAA0B;
|
|
1
|
+
{"version":3,"file":"TableHtmlDeserializer.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/TableHtmlDeserializer.ts"],"sourcesContent":["import { HtmlDeserializerPlugin } from '../../../types'\nimport { tableCellElementType } from './TableCellElement'\nimport { tableElementType } from './TableElement'\nimport { tableRowElementType } from './TableRowElement'\n\nexport const tableHTMLDeserializer: HtmlDeserializerPlugin = {\n\tprocessBlockPaste: ({ element, next, cumulativeTextAttrs }) => {\n\t\tif (element.tagName === 'TABLE') {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: tableElementType,\n\t\t\t\t\tchildren: next(element.childNodes, cumulativeTextAttrs),\n\t\t\t\t},\n\t\t\t]\n\t\t}\n\n\t\tif (element.tagName === 'TR') {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: tableRowElementType,\n\t\t\t\t\tchildren: next(element.childNodes, cumulativeTextAttrs),\n\t\t\t\t},\n\t\t\t]\n\t\t}\n\n\t\tif (element.tagName === 'TD' || element.tagName === 'TH') {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: tableCellElementType,\n\t\t\t\t\tchildren: next(element.childNodes, cumulativeTextAttrs),\n\t\t\t\t},\n\t\t\t]\n\t\t}\n\n\t\treturn null\n\t},\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,wBAAgD;AAAA,EAC5D,mBAAmB,CAAC,EAAE,SAAS,MAAM,0BAA0B;AAC9D,QAAI,QAAQ,YAAY,SAAS;AAChC,aAAO;AAAA,QACN;AAAA,UACC,MAAM;AAAA,UACN,UAAU,KAAK,QAAQ,YAAY,mBAAmB;AAAA,QAAA;AAAA,MACvD;AAAA,IAEF;AAEA,QAAI,QAAQ,YAAY,MAAM;AAC7B,aAAO;AAAA,QACN;AAAA,UACC,MAAM;AAAA,UACN,UAAU,KAAK,QAAQ,YAAY,mBAAmB;AAAA,QAAA;AAAA,MACvD;AAAA,IAEF;AAEA,QAAI,QAAQ,YAAY,QAAQ,QAAQ,YAAY,MAAM;AACzD,aAAO;AAAA,QACN;AAAA,UACC,MAAM;AAAA,UACN,UAAU,KAAK,QAAQ,YAAY,mBAAmB;AAAA,QAAA;AAAA,MACvD;AAAA,IAEF;AAEA,WAAO;AAAA,EACR;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableModifications.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/TableModifications.ts"],"sourcesContent":["import { Editor, NodeEntry, Transforms } from 'slate'\nimport { ReactEditor } from 'slate-react'\nimport { getTableElementColumnCount, getTableElementRowCount, TableElement } from './TableElement'\nimport { createEmptyTableRowElement, isTableRowElement, TableRowElement, tableRowElementType } from './TableRowElement'\nimport { ContemberEditor } from '../../../editor'\nimport {\n\tcreateEmptyTableCellElement,\n\tisTableCellElement,\n\tTableCellElement,\n\ttableCellElementType,\n} from './TableCellElement'\n\nexport class TableModifications {\n\tpublic static deleteTableColumn(editor: Editor, element: TableElement, index: number) {\n\t\tconst tablePath = ReactEditor.findPath(editor, element)\n\t\tconst rowCount = element.children.length\n\n\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\tfor (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {\n\t\t\t\tTransforms.removeNodes(editor, {\n\t\t\t\t\tat: [...tablePath, rowIndex, index],\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic static addTableRow(editor: Editor, element: TableElement, index?: number) {\n\t\tconst tablePath = ReactEditor.findPath(editor, element)\n\t\tconst columnCount = getTableElementColumnCount(element)\n\t\tconst rowIndex = index ?? element.children.length\n\n\t\tlet tableRow: TableRowElement\n\t\tif (element.children.length === 0) {\n\t\t\ttableRow = createEmptyTableRowElement(columnCount)\n\t\t} else {\n\t\t\tconst blueprintRow = element.children[rowIndex === 0 ? 0 : rowIndex - 1] as TableRowElement\n\n\t\t\ttableRow = {\n\t\t\t\t...ContemberEditor.elementToSpecifics(blueprintRow),\n\t\t\t\ttype: tableRowElementType,\n\t\t\t\tchildren: Array.from(\n\t\t\t\t\t{ length: columnCount },\n\t\t\t\t\t(_, columnIndex): TableCellElement => copyTableCell(blueprintRow.children[columnIndex] as TableCellElement),\n\t\t\t\t),\n\t\t\t}\n\n\t\t\tif (rowIndex === 0) {\n\t\t\t\tconst firstRow = element.children[0] as TableRowElement\n\t\t\t\tif (firstRow.headerScope) {\n\t\t\t\t\tTransforms.setNodes(editor, { headerScope: null }, { at: [...tablePath, 0] })\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tTransforms.insertNodes(editor, tableRow, {\n\t\t\tat: [...tablePath, rowIndex],\n\t\t})\n\t}\n\n\tpublic static addTableColumn(editor: Editor, element: TableElement, index?: number) {\n\t\tconst tablePath = ReactEditor.findPath(editor, element)\n\t\tconst columnCount = getTableElementColumnCount(element)\n\t\tconst rowCount = getTableElementRowCount(element)\n\t\tconst columnIndex = index ?? columnCount ?? 0\n\n\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\tfor (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {\n\t\t\t\tconst tableRow = element.children[rowIndex] as TableRowElement\n\n\t\t\t\tlet tableCell: TableCellElement\n\t\t\t\tif (tableRow.children.length === 0) {\n\t\t\t\t\ttableCell = createEmptyTableCellElement()\n\t\t\t\t} else {\n\t\t\t\t\ttableCell = copyTableCell(tableRow.children[columnIndex === 0 ? 0 : columnIndex - 1] as TableCellElement)\n\n\t\t\t\t\tif (columnIndex === 0) {\n\t\t\t\t\t\tconst firstCell = tableRow.children[0] as TableCellElement\n\t\t\t\t\t\tif (firstCell.headerScope) {\n\t\t\t\t\t\t\tTransforms.setNodes(editor, { headerScope: null }, { at: [...tablePath, rowIndex, 0] })\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tTransforms.insertNodes(editor, tableCell, {\n\t\t\t\t\tat: [...tablePath, rowIndex, columnIndex],\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic static justifyTableColumn(editor: Editor, element: TableElement, columnIndex: number, direction: TableCellElement['justify']) {\n\t\tforEachCellInColumn(editor, element, columnIndex, ([, cellPath]) => {\n\t\t\tTransforms.setNodes(\n\t\t\t\teditor,\n\t\t\t\t{ justify: direction ?? undefined },\n\t\t\t\t{ match: node => isTableCellElement(node), at: cellPath },\n\t\t\t)\n\t\t})\n\t}\n\n\tpublic static toggleTableRowHeaderScope(editor: Editor, element: TableElement, rowIndex: number, scope: TableRowElement['headerScope']) {\n\t\tconst rowCount = element.children.length\n\t\tif (rowIndex !== 0 || rowCount < 1) {\n\t\t\treturn\n\t\t}\n\t\tconst tablePath = ReactEditor.findPath(editor, element)\n\t\tconst firstRow = element.children[0] as TableRowElement\n\n\t\tTransforms.setNodes(\n\t\t\teditor,\n\t\t\t{ headerScope: firstRow.headerScope === scope ? undefined : scope },\n\t\t\t{ match: node => isTableRowElement(node), at: [...tablePath, 0] },\n\t\t)\n\t}\n\n\tpublic static toggleTableColumnHeaderScope(editor: Editor, element: TableElement, columnIndex: number, scope: TableCellElement['headerScope']) {\n\t\tlet currentStatusScore = 0\n\t\tconst rowCount = element.children.length\n\n\t\tforEachCellInColumn(editor, element, columnIndex, ([cell]) => {\n\t\t\tcurrentStatusScore += cell.headerScope === scope ? 1 : -1\n\t\t})\n\n\t\t// If none have it or the majority does but not all.\n\t\tconst shouldSetScope =\n\t\t\t-currentStatusScore === rowCount || (currentStatusScore > 0 && currentStatusScore !== rowCount)\n\n\t\tforEachCellInColumn(editor, element, columnIndex, ([, cellPath]) => {\n\t\t\tTransforms.setNodes(\n\t\t\t\teditor,\n\t\t\t\t{ headerScope: shouldSetScope ? scope : undefined },\n\t\t\t\t{ match: node => isTableCellElement(node), at: cellPath },\n\t\t\t)\n\t\t})\n\t}\n\n\tpublic static deleteTableRow(editor: Editor, element: TableElement, index: number) {\n\t\tconst tablePath = ReactEditor.findPath(editor, element)\n\t\tTransforms.removeNodes(editor, {\n\t\t\tat: [...tablePath, index],\n\t\t})\n\t}\n}\n\nconst forEachCellInColumn = (\n\teditor: Editor,\n\telement: TableElement,\n\tcolumnIndex: number,\n\tcallback: (cellEntry: NodeEntry<TableCellElement>) => void,\n) => {\n\tconst tablePath = ReactEditor.findPath(editor, element)\n\tconst rowCount = getTableElementRowCount(element)\n\n\tEditor.withoutNormalizing(editor, () => {\n\t\tfor (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {\n\t\t\tcallback(Editor.node(editor, [...tablePath, rowIndex, columnIndex]) as NodeEntry<TableCellElement>)\n\t\t}\n\t})\n}\nconst copyTableCell = (tableCellElement: TableCellElement): TableCellElement => ({\n\t...ContemberEditor.elementToSpecifics(tableCellElement),\n\ttype: tableCellElementType,\n\tchildren: [{ text: '' }],\n})\n\n"],"names":["index","ReactEditor","Editor","Transforms","getTableElementColumnCount","createEmptyTableRowElement","ContemberEditor","tableRowElementType","getTableElementRowCount","createEmptyTableCellElement","isTableCellElement","isTableRowElement","tableCellElementType"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TableModifications.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/TableModifications.ts"],"sourcesContent":["import { Editor, NodeEntry, Transforms } from 'slate'\nimport { ReactEditor } from 'slate-react'\nimport { getTableElementColumnCount, getTableElementRowCount, TableElement } from './TableElement'\nimport { createEmptyTableRowElement, isTableRowElement, TableRowElement, tableRowElementType } from './TableRowElement'\nimport { ContemberEditor } from '../../../editor'\nimport { createEmptyTableCellElement, isTableCellElement, TableCellElement, tableCellElementType } from './TableCellElement'\n\nexport class TableModifications {\n\tpublic static deleteTableColumn(editor: Editor, element: TableElement, index: number) {\n\t\tconst tablePath = ReactEditor.findPath(editor, element)\n\t\tconst rowCount = element.children.length\n\n\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\tfor (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {\n\t\t\t\tTransforms.removeNodes(editor, {\n\t\t\t\t\tat: [...tablePath, rowIndex, index],\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic static addTableRow(editor: Editor, element: TableElement, index?: number) {\n\t\tconst tablePath = ReactEditor.findPath(editor, element)\n\t\tconst columnCount = getTableElementColumnCount(element)\n\t\tconst rowIndex = index ?? element.children.length\n\n\t\tlet tableRow: TableRowElement\n\t\tif (element.children.length === 0) {\n\t\t\ttableRow = createEmptyTableRowElement(columnCount)\n\t\t} else {\n\t\t\tconst blueprintRow = element.children[rowIndex === 0 ? 0 : rowIndex - 1] as TableRowElement\n\n\t\t\ttableRow = {\n\t\t\t\t...ContemberEditor.elementToSpecifics(blueprintRow),\n\t\t\t\ttype: tableRowElementType,\n\t\t\t\tchildren: Array.from(\n\t\t\t\t\t{ length: columnCount },\n\t\t\t\t\t(_, columnIndex): TableCellElement => copyTableCell(blueprintRow.children[columnIndex] as TableCellElement),\n\t\t\t\t),\n\t\t\t}\n\n\t\t\tif (rowIndex === 0) {\n\t\t\t\tconst firstRow = element.children[0] as TableRowElement\n\t\t\t\tif (firstRow.headerScope) {\n\t\t\t\t\tTransforms.setNodes(editor, { headerScope: null }, { at: [...tablePath, 0] })\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tTransforms.insertNodes(editor, tableRow, {\n\t\t\tat: [...tablePath, rowIndex],\n\t\t})\n\t}\n\n\tpublic static addTableColumn(editor: Editor, element: TableElement, index?: number) {\n\t\tconst tablePath = ReactEditor.findPath(editor, element)\n\t\tconst columnCount = getTableElementColumnCount(element)\n\t\tconst rowCount = getTableElementRowCount(element)\n\t\tconst columnIndex = index ?? columnCount ?? 0\n\n\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\tfor (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {\n\t\t\t\tconst tableRow = element.children[rowIndex] as TableRowElement\n\n\t\t\t\tlet tableCell: TableCellElement\n\t\t\t\tif (tableRow.children.length === 0) {\n\t\t\t\t\ttableCell = createEmptyTableCellElement()\n\t\t\t\t} else {\n\t\t\t\t\ttableCell = copyTableCell(tableRow.children[columnIndex === 0 ? 0 : columnIndex - 1] as TableCellElement)\n\n\t\t\t\t\tif (columnIndex === 0) {\n\t\t\t\t\t\tconst firstCell = tableRow.children[0] as TableCellElement\n\t\t\t\t\t\tif (firstCell.headerScope) {\n\t\t\t\t\t\t\tTransforms.setNodes(editor, { headerScope: null }, { at: [...tablePath, rowIndex, 0] })\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tTransforms.insertNodes(editor, tableCell, {\n\t\t\t\t\tat: [...tablePath, rowIndex, columnIndex],\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic static justifyTableColumn(editor: Editor, element: TableElement, columnIndex: number, direction: TableCellElement['justify']) {\n\t\tforEachCellInColumn(editor, element, columnIndex, ([, cellPath]) => {\n\t\t\tTransforms.setNodes(\n\t\t\t\teditor,\n\t\t\t\t{ justify: direction ?? undefined },\n\t\t\t\t{ match: node => isTableCellElement(node), at: cellPath },\n\t\t\t)\n\t\t})\n\t}\n\n\tpublic static toggleTableRowHeaderScope(editor: Editor, element: TableElement, rowIndex: number, scope: TableRowElement['headerScope']) {\n\t\tconst rowCount = element.children.length\n\t\tif (rowIndex !== 0 || rowCount < 1) {\n\t\t\treturn\n\t\t}\n\t\tconst tablePath = ReactEditor.findPath(editor, element)\n\t\tconst firstRow = element.children[0] as TableRowElement\n\n\t\tTransforms.setNodes(\n\t\t\teditor,\n\t\t\t{ headerScope: firstRow.headerScope === scope ? undefined : scope },\n\t\t\t{ match: node => isTableRowElement(node), at: [...tablePath, 0] },\n\t\t)\n\t}\n\n\tpublic static toggleTableColumnHeaderScope(editor: Editor, element: TableElement, columnIndex: number, scope: TableCellElement['headerScope']) {\n\t\tlet currentStatusScore = 0\n\t\tconst rowCount = element.children.length\n\n\t\tforEachCellInColumn(editor, element, columnIndex, ([cell]) => {\n\t\t\tcurrentStatusScore += cell.headerScope === scope ? 1 : -1\n\t\t})\n\n\t\t// If none have it or the majority does but not all.\n\t\tconst shouldSetScope = -currentStatusScore === rowCount || (currentStatusScore > 0 && currentStatusScore !== rowCount)\n\n\t\tforEachCellInColumn(editor, element, columnIndex, ([, cellPath]) => {\n\t\t\tTransforms.setNodes(\n\t\t\t\teditor,\n\t\t\t\t{ headerScope: shouldSetScope ? scope : undefined },\n\t\t\t\t{ match: node => isTableCellElement(node), at: cellPath },\n\t\t\t)\n\t\t})\n\t}\n\n\tpublic static deleteTableRow(editor: Editor, element: TableElement, index: number) {\n\t\tconst tablePath = ReactEditor.findPath(editor, element)\n\t\tTransforms.removeNodes(editor, {\n\t\t\tat: [...tablePath, index],\n\t\t})\n\t}\n}\n\nconst forEachCellInColumn = (\n\teditor: Editor,\n\telement: TableElement,\n\tcolumnIndex: number,\n\tcallback: (cellEntry: NodeEntry<TableCellElement>) => void,\n) => {\n\tconst tablePath = ReactEditor.findPath(editor, element)\n\tconst rowCount = getTableElementRowCount(element)\n\n\tEditor.withoutNormalizing(editor, () => {\n\t\tfor (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {\n\t\t\tcallback(Editor.node(editor, [...tablePath, rowIndex, columnIndex]) as NodeEntry<TableCellElement>)\n\t\t}\n\t})\n}\nconst copyTableCell = (tableCellElement: TableCellElement): TableCellElement => ({\n\t...ContemberEditor.elementToSpecifics(tableCellElement),\n\ttype: tableCellElementType,\n\tchildren: [{ text: '' }],\n})\n"],"names":["index","ReactEditor","Editor","Transforms","getTableElementColumnCount","createEmptyTableRowElement","ContemberEditor","tableRowElementType","getTableElementRowCount","createEmptyTableCellElement","isTableCellElement","isTableRowElement","tableCellElementType"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { ReactEditor } from "slate-react";
|
|
|
3
3
|
import { getTableElementColumnCount, getTableElementRowCount } from "./TableElement.js";
|
|
4
4
|
import { createEmptyTableRowElement, tableRowElementType, isTableRowElement } from "./TableRowElement.js";
|
|
5
5
|
import { ContemberEditor } from "../../../editor/index.js";
|
|
6
|
-
import {
|
|
6
|
+
import { createEmptyTableCellElement, tableCellElementType, isTableCellElement } from "./TableCellElement.js";
|
|
7
7
|
class TableModifications {
|
|
8
8
|
static deleteTableColumn(editor, element, index) {
|
|
9
9
|
const tablePath = ReactEditor.findPath(editor, element);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableModifications.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/TableModifications.ts"],"sourcesContent":["import { Editor, NodeEntry, Transforms } from 'slate'\nimport { ReactEditor } from 'slate-react'\nimport { getTableElementColumnCount, getTableElementRowCount, TableElement } from './TableElement'\nimport { createEmptyTableRowElement, isTableRowElement, TableRowElement, tableRowElementType } from './TableRowElement'\nimport { ContemberEditor } from '../../../editor'\nimport {
|
|
1
|
+
{"version":3,"file":"TableModifications.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/TableModifications.ts"],"sourcesContent":["import { Editor, NodeEntry, Transforms } from 'slate'\nimport { ReactEditor } from 'slate-react'\nimport { getTableElementColumnCount, getTableElementRowCount, TableElement } from './TableElement'\nimport { createEmptyTableRowElement, isTableRowElement, TableRowElement, tableRowElementType } from './TableRowElement'\nimport { ContemberEditor } from '../../../editor'\nimport { createEmptyTableCellElement, isTableCellElement, TableCellElement, tableCellElementType } from './TableCellElement'\n\nexport class TableModifications {\n\tpublic static deleteTableColumn(editor: Editor, element: TableElement, index: number) {\n\t\tconst tablePath = ReactEditor.findPath(editor, element)\n\t\tconst rowCount = element.children.length\n\n\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\tfor (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {\n\t\t\t\tTransforms.removeNodes(editor, {\n\t\t\t\t\tat: [...tablePath, rowIndex, index],\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic static addTableRow(editor: Editor, element: TableElement, index?: number) {\n\t\tconst tablePath = ReactEditor.findPath(editor, element)\n\t\tconst columnCount = getTableElementColumnCount(element)\n\t\tconst rowIndex = index ?? element.children.length\n\n\t\tlet tableRow: TableRowElement\n\t\tif (element.children.length === 0) {\n\t\t\ttableRow = createEmptyTableRowElement(columnCount)\n\t\t} else {\n\t\t\tconst blueprintRow = element.children[rowIndex === 0 ? 0 : rowIndex - 1] as TableRowElement\n\n\t\t\ttableRow = {\n\t\t\t\t...ContemberEditor.elementToSpecifics(blueprintRow),\n\t\t\t\ttype: tableRowElementType,\n\t\t\t\tchildren: Array.from(\n\t\t\t\t\t{ length: columnCount },\n\t\t\t\t\t(_, columnIndex): TableCellElement => copyTableCell(blueprintRow.children[columnIndex] as TableCellElement),\n\t\t\t\t),\n\t\t\t}\n\n\t\t\tif (rowIndex === 0) {\n\t\t\t\tconst firstRow = element.children[0] as TableRowElement\n\t\t\t\tif (firstRow.headerScope) {\n\t\t\t\t\tTransforms.setNodes(editor, { headerScope: null }, { at: [...tablePath, 0] })\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tTransforms.insertNodes(editor, tableRow, {\n\t\t\tat: [...tablePath, rowIndex],\n\t\t})\n\t}\n\n\tpublic static addTableColumn(editor: Editor, element: TableElement, index?: number) {\n\t\tconst tablePath = ReactEditor.findPath(editor, element)\n\t\tconst columnCount = getTableElementColumnCount(element)\n\t\tconst rowCount = getTableElementRowCount(element)\n\t\tconst columnIndex = index ?? columnCount ?? 0\n\n\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\tfor (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {\n\t\t\t\tconst tableRow = element.children[rowIndex] as TableRowElement\n\n\t\t\t\tlet tableCell: TableCellElement\n\t\t\t\tif (tableRow.children.length === 0) {\n\t\t\t\t\ttableCell = createEmptyTableCellElement()\n\t\t\t\t} else {\n\t\t\t\t\ttableCell = copyTableCell(tableRow.children[columnIndex === 0 ? 0 : columnIndex - 1] as TableCellElement)\n\n\t\t\t\t\tif (columnIndex === 0) {\n\t\t\t\t\t\tconst firstCell = tableRow.children[0] as TableCellElement\n\t\t\t\t\t\tif (firstCell.headerScope) {\n\t\t\t\t\t\t\tTransforms.setNodes(editor, { headerScope: null }, { at: [...tablePath, rowIndex, 0] })\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tTransforms.insertNodes(editor, tableCell, {\n\t\t\t\t\tat: [...tablePath, rowIndex, columnIndex],\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic static justifyTableColumn(editor: Editor, element: TableElement, columnIndex: number, direction: TableCellElement['justify']) {\n\t\tforEachCellInColumn(editor, element, columnIndex, ([, cellPath]) => {\n\t\t\tTransforms.setNodes(\n\t\t\t\teditor,\n\t\t\t\t{ justify: direction ?? undefined },\n\t\t\t\t{ match: node => isTableCellElement(node), at: cellPath },\n\t\t\t)\n\t\t})\n\t}\n\n\tpublic static toggleTableRowHeaderScope(editor: Editor, element: TableElement, rowIndex: number, scope: TableRowElement['headerScope']) {\n\t\tconst rowCount = element.children.length\n\t\tif (rowIndex !== 0 || rowCount < 1) {\n\t\t\treturn\n\t\t}\n\t\tconst tablePath = ReactEditor.findPath(editor, element)\n\t\tconst firstRow = element.children[0] as TableRowElement\n\n\t\tTransforms.setNodes(\n\t\t\teditor,\n\t\t\t{ headerScope: firstRow.headerScope === scope ? undefined : scope },\n\t\t\t{ match: node => isTableRowElement(node), at: [...tablePath, 0] },\n\t\t)\n\t}\n\n\tpublic static toggleTableColumnHeaderScope(editor: Editor, element: TableElement, columnIndex: number, scope: TableCellElement['headerScope']) {\n\t\tlet currentStatusScore = 0\n\t\tconst rowCount = element.children.length\n\n\t\tforEachCellInColumn(editor, element, columnIndex, ([cell]) => {\n\t\t\tcurrentStatusScore += cell.headerScope === scope ? 1 : -1\n\t\t})\n\n\t\t// If none have it or the majority does but not all.\n\t\tconst shouldSetScope = -currentStatusScore === rowCount || (currentStatusScore > 0 && currentStatusScore !== rowCount)\n\n\t\tforEachCellInColumn(editor, element, columnIndex, ([, cellPath]) => {\n\t\t\tTransforms.setNodes(\n\t\t\t\teditor,\n\t\t\t\t{ headerScope: shouldSetScope ? scope : undefined },\n\t\t\t\t{ match: node => isTableCellElement(node), at: cellPath },\n\t\t\t)\n\t\t})\n\t}\n\n\tpublic static deleteTableRow(editor: Editor, element: TableElement, index: number) {\n\t\tconst tablePath = ReactEditor.findPath(editor, element)\n\t\tTransforms.removeNodes(editor, {\n\t\t\tat: [...tablePath, index],\n\t\t})\n\t}\n}\n\nconst forEachCellInColumn = (\n\teditor: Editor,\n\telement: TableElement,\n\tcolumnIndex: number,\n\tcallback: (cellEntry: NodeEntry<TableCellElement>) => void,\n) => {\n\tconst tablePath = ReactEditor.findPath(editor, element)\n\tconst rowCount = getTableElementRowCount(element)\n\n\tEditor.withoutNormalizing(editor, () => {\n\t\tfor (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {\n\t\t\tcallback(Editor.node(editor, [...tablePath, rowIndex, columnIndex]) as NodeEntry<TableCellElement>)\n\t\t}\n\t})\n}\nconst copyTableCell = (tableCellElement: TableCellElement): TableCellElement => ({\n\t...ContemberEditor.elementToSpecifics(tableCellElement),\n\ttype: tableCellElementType,\n\tchildren: [{ text: '' }],\n})\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRowElement.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/TableRowElement.ts"],"sourcesContent":["import { Editor as SlateEditor, Element as SlateElement,
|
|
1
|
+
{"version":3,"file":"TableRowElement.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/TableRowElement.ts"],"sourcesContent":["import { Editor as SlateEditor, Element, Element as SlateElement, Node, Node as SlateNode, Transforms } from 'slate'\nimport { createEmptyTableCellElement, isTableCellElement, tableCellElementType } from './TableCellElement'\nimport { ContemberEditor } from '../../../editor'\nimport { tableElementType } from './TableElement'\nimport { EditorElementPlugin, ElementRenderer } from '../../../types'\n\nexport const tableRowElementType = 'tableRow' as const\n\nexport interface TableRowElement extends SlateElement {\n\ttype: typeof tableRowElementType\n\tchildren: SlateEditor['children']\n\theaderScope?: 'table'\n}\n\nexport const isTableRowElement = (element: Node): element is TableRowElement => Element.isElement(element) && element.type === tableRowElementType\n\nexport const createEmptyTableRowElement = (columnCount = 2) => ({\n\ttype: tableRowElementType,\n\tchildren: Array.from({ length: columnCount }, () => createEmptyTableCellElement()),\n})\n\nexport const tableRowElementPlugin = ({ render }: { render: ElementRenderer<TableRowElement> }): EditorElementPlugin<TableRowElement> => ({\n\ttype: tableRowElementType,\n\trender,\n\tnormalizeNode: ({ editor, path, element, preventDefault }) => {\n\t\tfor (const [child, childPath] of SlateNode.children(editor, path)) {\n\t\t\tif (SlateElement.isElement(child)) {\n\t\t\t\tif (!isTableCellElement(child)) {\n\t\t\t\t\tContemberEditor.ejectElement(editor, childPath)\n\t\t\t\t\tTransforms.setNodes(editor, { type: tableCellElementType }, { at: childPath })\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tTransforms.removeNodes(editor, { at: path })\n\t\t\t\treturn preventDefault()\n\t\t\t}\n\t\t}\n\t\tif (!ContemberEditor.hasParentOfType(editor, [element, path], tableElementType)) {\n\t\t\tTransforms.unwrapNodes(editor, { at: path })\n\t\t\treturn preventDefault()\n\t\t}\n\t\tif (path[path.length - 1] > 0 && element.headerScope) {\n\t\t\tTransforms.setNodes(editor, { headerScope: null }, { at: path })\n\t\t\treturn preventDefault()\n\t\t}\n\t},\n\tcanContainAnyBlocks: false,\n})\n"],"names":["Element","createEmptyTableCellElement","SlateNode","SlateElement","isTableCellElement","ContemberEditor","Transforms","tableCellElementType","tableElementType"],"mappings":";;;;;;AAMO,MAAM,sBAAsB;AAQ5B,MAAM,oBAAoB,CAAC,YAA8CA,MAAAA,QAAQ,UAAU,OAAO,KAAK,QAAQ,SAAS;AAExH,MAAM,6BAA6B,CAAC,cAAc,OAAO;AAAA,EAC/D,MAAM;AAAA,EACN,UAAU,MAAM,KAAK,EAAE,QAAQ,YAAA,GAAe,MAAMC,6CAAA,CAA6B;AAClF;AAEO,MAAM,wBAAwB,CAAC,EAAE,cAAkG;AAAA,EACzI,MAAM;AAAA,EACN;AAAA,EACA,eAAe,CAAC,EAAE,QAAQ,MAAM,SAAS,qBAAqB;AAC7D,eAAW,CAAC,OAAO,SAAS,KAAKC,MAAAA,KAAU,SAAS,QAAQ,IAAI,GAAG;AAClE,UAAIC,MAAAA,QAAa,UAAU,KAAK,GAAG;AAClC,YAAI,CAACC,iBAAAA,mBAAmB,KAAK,GAAG;AAC/BC,gCAAgB,aAAa,QAAQ,SAAS;AAC9CC,2BAAW,SAAS,QAAQ,EAAE,MAAMC,iBAAAA,wBAAwB,EAAE,IAAI,WAAW;AAAA,QAC9E;AAAA,MACD,OAAO;AACND,cAAAA,WAAW,YAAY,QAAQ,EAAE,IAAI,MAAM;AAC3C,eAAO,eAAA;AAAA,MACR;AAAA,IACD;AACA,QAAI,CAACD,MAAAA,gBAAgB,gBAAgB,QAAQ,CAAC,SAAS,IAAI,GAAGG,aAAAA,gBAAgB,GAAG;AAChFF,YAAAA,WAAW,YAAY,QAAQ,EAAE,IAAI,MAAM;AAC3C,aAAO,eAAA;AAAA,IACR;AACA,QAAI,KAAK,KAAK,SAAS,CAAC,IAAI,KAAK,QAAQ,aAAa;AACrDA,uBAAW,SAAS,QAAQ,EAAE,aAAa,QAAQ,EAAE,IAAI,MAAM;AAC/D,aAAO,eAAA;AAAA,IACR;AAAA,EACD;AAAA,EACA,qBAAqB;AACtB;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRowElement.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/TableRowElement.ts"],"sourcesContent":["import { Editor as SlateEditor, Element as SlateElement,
|
|
1
|
+
{"version":3,"file":"TableRowElement.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/TableRowElement.ts"],"sourcesContent":["import { Editor as SlateEditor, Element, Element as SlateElement, Node, Node as SlateNode, Transforms } from 'slate'\nimport { createEmptyTableCellElement, isTableCellElement, tableCellElementType } from './TableCellElement'\nimport { ContemberEditor } from '../../../editor'\nimport { tableElementType } from './TableElement'\nimport { EditorElementPlugin, ElementRenderer } from '../../../types'\n\nexport const tableRowElementType = 'tableRow' as const\n\nexport interface TableRowElement extends SlateElement {\n\ttype: typeof tableRowElementType\n\tchildren: SlateEditor['children']\n\theaderScope?: 'table'\n}\n\nexport const isTableRowElement = (element: Node): element is TableRowElement => Element.isElement(element) && element.type === tableRowElementType\n\nexport const createEmptyTableRowElement = (columnCount = 2) => ({\n\ttype: tableRowElementType,\n\tchildren: Array.from({ length: columnCount }, () => createEmptyTableCellElement()),\n})\n\nexport const tableRowElementPlugin = ({ render }: { render: ElementRenderer<TableRowElement> }): EditorElementPlugin<TableRowElement> => ({\n\ttype: tableRowElementType,\n\trender,\n\tnormalizeNode: ({ editor, path, element, preventDefault }) => {\n\t\tfor (const [child, childPath] of SlateNode.children(editor, path)) {\n\t\t\tif (SlateElement.isElement(child)) {\n\t\t\t\tif (!isTableCellElement(child)) {\n\t\t\t\t\tContemberEditor.ejectElement(editor, childPath)\n\t\t\t\t\tTransforms.setNodes(editor, { type: tableCellElementType }, { at: childPath })\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tTransforms.removeNodes(editor, { at: path })\n\t\t\t\treturn preventDefault()\n\t\t\t}\n\t\t}\n\t\tif (!ContemberEditor.hasParentOfType(editor, [element, path], tableElementType)) {\n\t\t\tTransforms.unwrapNodes(editor, { at: path })\n\t\t\treturn preventDefault()\n\t\t}\n\t\tif (path[path.length - 1] > 0 && element.headerScope) {\n\t\t\tTransforms.setNodes(editor, { headerScope: null }, { at: path })\n\t\t\treturn preventDefault()\n\t\t}\n\t},\n\tcanContainAnyBlocks: false,\n})\n"],"names":["SlateNode","SlateElement"],"mappings":";;;;AAMO,MAAM,sBAAsB;AAQ5B,MAAM,oBAAoB,CAAC,YAA8C,QAAQ,UAAU,OAAO,KAAK,QAAQ,SAAS;AAExH,MAAM,6BAA6B,CAAC,cAAc,OAAO;AAAA,EAC/D,MAAM;AAAA,EACN,UAAU,MAAM,KAAK,EAAE,QAAQ,YAAA,GAAe,MAAM,4BAAA,CAA6B;AAClF;AAEO,MAAM,wBAAwB,CAAC,EAAE,cAAkG;AAAA,EACzI,MAAM;AAAA,EACN;AAAA,EACA,eAAe,CAAC,EAAE,QAAQ,MAAM,SAAS,qBAAqB;AAC7D,eAAW,CAAC,OAAO,SAAS,KAAKA,KAAU,SAAS,QAAQ,IAAI,GAAG;AAClE,UAAIC,QAAa,UAAU,KAAK,GAAG;AAClC,YAAI,CAAC,mBAAmB,KAAK,GAAG;AAC/B,0BAAgB,aAAa,QAAQ,SAAS;AAC9C,qBAAW,SAAS,QAAQ,EAAE,MAAM,wBAAwB,EAAE,IAAI,WAAW;AAAA,QAC9E;AAAA,MACD,OAAO;AACN,mBAAW,YAAY,QAAQ,EAAE,IAAI,MAAM;AAC3C,eAAO,eAAA;AAAA,MACR;AAAA,IACD;AACA,QAAI,CAAC,gBAAgB,gBAAgB,QAAQ,CAAC,SAAS,IAAI,GAAG,gBAAgB,GAAG;AAChF,iBAAW,YAAY,QAAQ,EAAE,IAAI,MAAM;AAC3C,aAAO,eAAA;AAAA,IACR;AACA,QAAI,KAAK,KAAK,SAAS,CAAC,IAAI,KAAK,QAAQ,aAAa;AACrD,iBAAW,SAAS,QAAQ,EAAE,aAAa,QAAQ,EAAE,IAAI,MAAM;AAC/D,aAAO,eAAA;AAAA,IACR;AAAA,EACD;AAAA,EACA,qBAAqB;AACtB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gaugeTableColumnCount.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/gaugeTableColumnCount.ts"],"sourcesContent":["import type { TableElement } from './TableElement'\nimport type { TableRowElement } from './TableRowElement'\n\nexport const gaugeTableColumnCount = (table: TableElement): number => {\n\t// This whole function is obviously very heuristic. It's intended to be called during normalizations (i.e. often),\n\t// and so it aims to be reasonably fast. We want to use this return value to repair corrupted tables.\n\n\tif (table.children.length === 0) {\n\t\treturn 0\n\t}\n\n\tconst rowSampleStart = table.children[0] as TableRowElement\n\tconst rowSampleMiddle = table.children[Math.floor(table.children.length / 2)] as TableRowElement\n\tconst rowSampleEnd = table.children[table.children.length - 1] as TableRowElement\n\n\tconst columnSampleStart = rowSampleStart.children.length\n\tconst columnSampleMiddle = rowSampleMiddle.children.length\n\tconst columnSampleEnd = rowSampleEnd.children.length\n\n\t// Tables most often get corrupted either at the beginning or at the end. Thus we assume that out of these three\n\t// values, two will likely be the same.\n\tif (columnSampleStart === columnSampleEnd) {\n\t\treturn columnSampleStart\n\t}\n\tif (columnSampleStart === columnSampleMiddle) {\n\t\treturn columnSampleStart\n\t}\n\tif (columnSampleMiddle === columnSampleEnd) {\n\t\treturn columnSampleMiddle\n\t}\n\n\t// If we make it here, then all three are different and the table is completely broken. We could consult more rows\n\t// but really, odds are that it wouldn't really help.\n\treturn columnSampleStart\n}\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"gaugeTableColumnCount.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/gaugeTableColumnCount.ts"],"sourcesContent":["import type { TableElement } from './TableElement'\nimport type { TableRowElement } from './TableRowElement'\n\nexport const gaugeTableColumnCount = (table: TableElement): number => {\n\t// This whole function is obviously very heuristic. It's intended to be called during normalizations (i.e. often),\n\t// and so it aims to be reasonably fast. We want to use this return value to repair corrupted tables.\n\n\tif (table.children.length === 0) {\n\t\treturn 0\n\t}\n\n\tconst rowSampleStart = table.children[0] as TableRowElement\n\tconst rowSampleMiddle = table.children[Math.floor(table.children.length / 2)] as TableRowElement\n\tconst rowSampleEnd = table.children[table.children.length - 1] as TableRowElement\n\n\tconst columnSampleStart = rowSampleStart.children.length\n\tconst columnSampleMiddle = rowSampleMiddle.children.length\n\tconst columnSampleEnd = rowSampleEnd.children.length\n\n\t// Tables most often get corrupted either at the beginning or at the end. Thus we assume that out of these three\n\t// values, two will likely be the same.\n\tif (columnSampleStart === columnSampleEnd) {\n\t\treturn columnSampleStart\n\t}\n\tif (columnSampleStart === columnSampleMiddle) {\n\t\treturn columnSampleStart\n\t}\n\tif (columnSampleMiddle === columnSampleEnd) {\n\t\treturn columnSampleMiddle\n\t}\n\n\t// If we make it here, then all three are different and the table is completely broken. We could consult more rows\n\t// but really, odds are that it wouldn't really help.\n\treturn columnSampleStart\n}\n"],"names":[],"mappings":";;AAGO,MAAM,wBAAwB,CAAC,UAAgC;AAIrE,MAAI,MAAM,SAAS,WAAW,GAAG;AAChC,WAAO;AAAA,EACR;AAEA,QAAM,iBAAiB,MAAM,SAAS,CAAC;AACvC,QAAM,kBAAkB,MAAM,SAAS,KAAK,MAAM,MAAM,SAAS,SAAS,CAAC,CAAC;AAC5E,QAAM,eAAe,MAAM,SAAS,MAAM,SAAS,SAAS,CAAC;AAE7D,QAAM,oBAAoB,eAAe,SAAS;AAClD,QAAM,qBAAqB,gBAAgB,SAAS;AACpD,QAAM,kBAAkB,aAAa,SAAS;AAI9C,MAAI,sBAAsB,iBAAiB;AAC1C,WAAO;AAAA,EACR;AACA,MAAI,sBAAsB,oBAAoB;AAC7C,WAAO;AAAA,EACR;AACA,MAAI,uBAAuB,iBAAiB;AAC3C,WAAO;AAAA,EACR;AAIA,SAAO;AACR;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gaugeTableColumnCount.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/gaugeTableColumnCount.ts"],"sourcesContent":["import type { TableElement } from './TableElement'\nimport type { TableRowElement } from './TableRowElement'\n\nexport const gaugeTableColumnCount = (table: TableElement): number => {\n\t// This whole function is obviously very heuristic. It's intended to be called during normalizations (i.e. often),\n\t// and so it aims to be reasonably fast. We want to use this return value to repair corrupted tables.\n\n\tif (table.children.length === 0) {\n\t\treturn 0\n\t}\n\n\tconst rowSampleStart = table.children[0] as TableRowElement\n\tconst rowSampleMiddle = table.children[Math.floor(table.children.length / 2)] as TableRowElement\n\tconst rowSampleEnd = table.children[table.children.length - 1] as TableRowElement\n\n\tconst columnSampleStart = rowSampleStart.children.length\n\tconst columnSampleMiddle = rowSampleMiddle.children.length\n\tconst columnSampleEnd = rowSampleEnd.children.length\n\n\t// Tables most often get corrupted either at the beginning or at the end. Thus we assume that out of these three\n\t// values, two will likely be the same.\n\tif (columnSampleStart === columnSampleEnd) {\n\t\treturn columnSampleStart\n\t}\n\tif (columnSampleStart === columnSampleMiddle) {\n\t\treturn columnSampleStart\n\t}\n\tif (columnSampleMiddle === columnSampleEnd) {\n\t\treturn columnSampleMiddle\n\t}\n\n\t// If we make it here, then all three are different and the table is completely broken. We could consult more rows\n\t// but really, odds are that it wouldn't really help.\n\treturn columnSampleStart\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gaugeTableColumnCount.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/gaugeTableColumnCount.ts"],"sourcesContent":["import type { TableElement } from './TableElement'\nimport type { TableRowElement } from './TableRowElement'\n\nexport const gaugeTableColumnCount = (table: TableElement): number => {\n\t// This whole function is obviously very heuristic. It's intended to be called during normalizations (i.e. often),\n\t// and so it aims to be reasonably fast. We want to use this return value to repair corrupted tables.\n\n\tif (table.children.length === 0) {\n\t\treturn 0\n\t}\n\n\tconst rowSampleStart = table.children[0] as TableRowElement\n\tconst rowSampleMiddle = table.children[Math.floor(table.children.length / 2)] as TableRowElement\n\tconst rowSampleEnd = table.children[table.children.length - 1] as TableRowElement\n\n\tconst columnSampleStart = rowSampleStart.children.length\n\tconst columnSampleMiddle = rowSampleMiddle.children.length\n\tconst columnSampleEnd = rowSampleEnd.children.length\n\n\t// Tables most often get corrupted either at the beginning or at the end. Thus we assume that out of these three\n\t// values, two will likely be the same.\n\tif (columnSampleStart === columnSampleEnd) {\n\t\treturn columnSampleStart\n\t}\n\tif (columnSampleStart === columnSampleMiddle) {\n\t\treturn columnSampleStart\n\t}\n\tif (columnSampleMiddle === columnSampleEnd) {\n\t\treturn columnSampleMiddle\n\t}\n\n\t// If we make it here, then all three are different and the table is completely broken. We could consult more rows\n\t// but really, odds are that it wouldn't really help.\n\treturn columnSampleStart\n}\n"],"names":[],"mappings":"AAGO,MAAM,wBAAwB,CAAC,UAAgC;AAIrE,MAAI,MAAM,SAAS,WAAW,GAAG;AAChC,WAAO;AAAA,EACR;AAEA,QAAM,iBAAiB,MAAM,SAAS,CAAC;AACvC,QAAM,kBAAkB,MAAM,SAAS,KAAK,MAAM,MAAM,SAAS,SAAS,CAAC,CAAC;AAC5E,QAAM,eAAe,MAAM,SAAS,MAAM,SAAS,SAAS,CAAC;AAE7D,QAAM,oBAAoB,eAAe,SAAS;AAClD,QAAM,qBAAqB,gBAAgB,SAAS;AACpD,QAAM,kBAAkB,aAAa,SAAS;AAI9C,MAAI,sBAAsB,iBAAiB;AAC1C,WAAO;AAAA,EACR;AACA,MAAI,sBAAsB,oBAAoB;AAC7C,WAAO;AAAA,EACR;AACA,MAAI,uBAAuB,iBAAiB;AAC3C,WAAO;AAAA,EACR;AAIA,SAAO;AACR;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withTables.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/withTables.ts"],"sourcesContent":["import { Editor, Element, Node as SlateNode, NodeEntry, Path as SlatePath, Point, Range as SlateRange, Text, Transforms } from 'slate'\nimport { ContemberEditor } from '../../../editor'\nimport { isTableCellElement, TableCellElement, tableCellElementPlugin } from './TableCellElement'\nimport { getTableElementColumnCount, getTableElementRowCount, isTableElement, TableElement, tableElementPlugin } from './TableElement'\nimport { getTableCellCoordinates, selectTableCellContents } from './TableElementSelection'\nimport { tableHTMLDeserializer } from './TableHtmlDeserializer'\nimport { TableModifications } from './TableModifications'\nimport { isTableRowElement, TableRowElement, tableRowElementPlugin } from './TableRowElement'\nimport { ElementRenderer } from '../../../types'\n\nexport const withTables = ({ renderTable, renderTableCell, renderTableRow }: {\n\trenderTable: ElementRenderer<TableElement>\n\trenderTableCell: ElementRenderer<TableCellElement>\n\trenderTableRow: ElementRenderer<TableRowElement>\n}) => <E extends Editor>(editor: E): E => {\n\tconst {\n\t\tdeleteForward,\n\t\tdeleteBackward,\n\t\tdeleteFragment,\n\t\tinsertBreak,\n\t\tonKeyDown,\n\t} = editor\n\n\teditor.registerElement(tableElementPlugin({ render: renderTable }))\n\teditor.registerElement(tableCellElementPlugin({ render: renderTableCell }))\n\teditor.registerElement(tableRowElementPlugin({ render: renderTableRow }))\n\n\teditor.htmlDeserializer.registerPlugin(tableHTMLDeserializer)\n\n\tObject.assign<Editor, Partial<Editor>>(editor, {\n\t\tinsertBreak: () => {\n\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor)\n\t\t\tif (closestBlockEntry && isTableCellElement(closestBlockEntry[0])) {\n\t\t\t\tconst selection = editor.selection\n\t\t\t\tconst [, closestBlockPath] = closestBlockEntry\n\t\t\t\tconst [cellStart, cellEnd] = Editor.edges(editor, closestBlockPath)\n\n\t\t\t\tif (!selection) {\n\t\t\t\t\treturn insertBreak()\n\t\t\t\t}\n\n\t\t\t\treturn Editor.withoutNormalizing(editor, () => {\n\t\t\t\t\tTransforms.wrapNodes(editor, editor.createDefaultElement([]), {\n\t\t\t\t\t\tat: {\n\t\t\t\t\t\t\tanchor: cellStart,\n\t\t\t\t\t\t\tfocus: cellEnd,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmatch: node => Text.isText(node) || (Element.isElement(node) && editor.isInline(node)),\n\t\t\t\t\t})\n\n\t\t\t\t\tconst relative = SlatePath.relative(selection.focus.path, closestBlockPath)\n\t\t\t\t\tTransforms.splitNodes(editor, {\n\t\t\t\t\t\t// The zero should be the newly created default element.\n\t\t\t\t\t\tat: {\n\t\t\t\t\t\t\tpath: [...closestBlockPath, 0, ...relative],\n\t\t\t\t\t\t\toffset: selection.focus.offset,\n\t\t\t\t\t\t},\n\t\t\t\t\t\talways: true,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t}\n\t\t\tinsertBreak()\n\t\t},\n\t\tdeleteBackward: unit => {\n\t\t\tconst selection = editor.selection\n\t\t\tif (selection && SlateRange.isCollapsed(selection)) {\n\t\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor)\n\t\t\t\tif (\n\t\t\t\t\tclosestBlockEntry &&\n\t\t\t\t\tisTableCellElement(closestBlockEntry[0]) &&\n\t\t\t\t\tPoint.equals(selection.focus, Editor.start(editor, closestBlockEntry[1]))\n\t\t\t\t) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\t\tdeleteBackward(unit)\n\t\t},\n\t\tdeleteForward: unit => {\n\t\t\tconst selection = editor.selection\n\t\t\tif (selection && SlateRange.isCollapsed(selection)) {\n\t\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor)\n\t\t\t\tif (\n\t\t\t\t\tclosestBlockEntry &&\n\t\t\t\t\tisTableCellElement(closestBlockEntry[0]) &&\n\t\t\t\t\tPoint.equals(selection.focus, Editor.end(editor, closestBlockEntry[1]))\n\t\t\t\t) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\t\tdeleteForward(unit)\n\t\t},\n\t\tdeleteFragment: () => {\n\t\t\tconst selection = editor.selection\n\t\t\tif (!selection || SlateRange.isCollapsed(selection)) {\n\t\t\t\treturn deleteFragment()\n\t\t\t}\n\t\t\tconst lowestCommonAncestorPath = SlatePath.common(selection.anchor.path, selection.focus.path)\n\t\t\tconst [lowestCommonAncestor] = Editor.node(editor, lowestCommonAncestorPath)\n\n\t\t\tif (isTableElement(lowestCommonAncestor) || isTableRowElement(lowestCommonAncestor)) {\n\t\t\t\treturn // TODO nope for now\n\t\t\t}\n\t\t\tdeleteFragment()\n\t\t},\n\t\tonKeyDown: event => {\n\t\t\tconst selection = editor.selection\n\t\t\tif (\n\t\t\t\t!selection ||\n\t\t\t\t!(\n\t\t\t\t\tevent.key === 'Tab' ||\n\t\t\t\t\tevent.key === 'ArrowUp' ||\n\t\t\t\t\tevent.key === 'ArrowRight' ||\n\t\t\t\t\tevent.key === 'ArrowDown' ||\n\t\t\t\t\tevent.key === 'ArrowLeft' ||\n\t\t\t\t\tevent.key === 'Enter' ||\n\t\t\t\t\tevent.key === 'Backspace'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor, { at: selection })\n\n\t\t\tif (!closestBlockEntry) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\t\t\tlet cellElement: TableCellElement\n\t\t\tlet cellPath: SlatePath\n\n\t\t\tif (!isTableCellElement(closestBlockEntry[0])) {\n\t\t\t\tconst parent = SlateNode.parent(editor, closestBlockEntry[1])\n\t\t\t\tif (Element.isElement(closestBlockEntry[0]) && editor.isDefaultElement(closestBlockEntry[0]) && isTableCellElement(parent)) {\n\t\t\t\t\tcellElement = parent\n\t\t\t\t\tcellPath = SlatePath.parent(closestBlockEntry[1])\n\t\t\t\t} else {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t[cellElement, cellPath] = closestBlockEntry\n\t\t\t}\n\t\t\tif (cellPath.length < 3) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\t\t\tconst [rowIndex, columnIndex] = getTableCellCoordinates(editor, cellElement)\n\t\t\tconst tablePath = cellPath.slice(0, -2)\n\t\t\tconst tableElement = SlateNode.get(editor, tablePath) as TableElement\n\t\t\tconst rowCount = getTableElementRowCount(tableElement)\n\t\t\tconst columnCount = getTableElementColumnCount(tableElement)\n\n\t\t\tif (rowCount === 0 || columnCount === 0) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst moveSelectionBeforeTable = () => {\n\t\t\t\tconst pointBeforeTable = Editor.before(editor, tablePath)\n\t\t\t\tif (!pointBeforeTable) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tevent.preventDefault()\n\t\t\t\treturn Transforms.select(editor, pointBeforeTable)\n\t\t\t}\n\t\t\tconst moveSelectionAfterTable = () => {\n\t\t\t\tconst pointAfterTable = Editor.after(editor, tablePath)\n\t\t\t\tif (!pointAfterTable) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tevent.preventDefault()\n\t\t\t\treturn Transforms.select(editor, pointAfterTable)\n\t\t\t}\n\n\t\t\tif (event.key === 'Tab') {\n\t\t\t\tif (event.shiftKey) {\n\t\t\t\t\t// Moving backwards\n\t\t\t\t\tif (columnIndex > 0) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\treturn selectTableCellContents(editor, tablePath, rowIndex, columnIndex - 1)\n\t\t\t\t\t} else if (columnIndex === 0) {\n\t\t\t\t\t\tif (rowIndex > 0) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\treturn selectTableCellContents(editor, tablePath, rowIndex - 1, columnCount - 1)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Moving forwards\n\t\t\t\t\tif (columnIndex < columnCount - 1) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\treturn selectTableCellContents(editor, tablePath, rowIndex, columnIndex + 1)\n\t\t\t\t\t} else if (columnIndex === columnCount - 1) {\n\t\t\t\t\t\t// We're at the right edge of the table\n\t\t\t\t\t\tif (rowIndex < rowCount - 1) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\treturn selectTableCellContents(editor, tablePath, rowIndex + 1, 0)\n\t\t\t\t\t\t} else if (rowIndex === rowCount - 1) {\n\t\t\t\t\t\t\treturn moveSelectionAfterTable()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (event.key === 'ArrowLeft') {\n\t\t\t\tif (!SlateRange.isCollapsed(selection)) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tif (Point.equals(selection.focus, Editor.start(editor, cellPath))) {\n\t\t\t\t\tif (columnIndex > 0) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\treturn Transforms.select(editor, Editor.end(editor, [...tablePath, rowIndex, columnIndex - 1]))\n\t\t\t\t\t} else if (columnIndex === 0) {\n\t\t\t\t\t\tif (rowIndex > 0) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\treturn Transforms.select(editor, Editor.end(editor, [...tablePath, rowIndex - 1, columnCount - 1]))\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (event.key === 'ArrowRight') {\n\t\t\t\tif (!SlateRange.isCollapsed(selection)) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tif (Point.equals(selection.focus, Editor.end(editor, cellPath))) {\n\t\t\t\t\tif (columnIndex < columnCount - 1) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\treturn Transforms.select(editor, Editor.start(editor, [...tablePath, rowIndex, columnIndex + 1]))\n\t\t\t\t\t} else if (columnIndex === columnCount - 1) {\n\t\t\t\t\t\tif (rowIndex < rowCount - 1) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\treturn Transforms.select(editor, Editor.start(editor, [...tablePath, rowIndex + 1, 0]))\n\t\t\t\t\t\t} else if (rowIndex === rowCount - 1) {\n\t\t\t\t\t\t\treturn moveSelectionAfterTable()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n\t\t\t\tconst withinDefault = editor.isDefaultElement(closestBlockEntry[0])\n\t\t\t\tif (withinDefault) {\n\t\t\t\t\tconst relative = SlatePath.relative(closestBlockEntry[1], cellPath)\n\t\t\t\t\tconst defaultIndex = relative[0]\n\t\t\t\t\tif (\n\t\t\t\t\t\t(event.key === 'ArrowUp' && defaultIndex !== 0) ||\n\t\t\t\t\t\t(event.key === 'ArrowDown' && defaultIndex !== cellElement.children.length - 1)\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (event.key === 'ArrowUp') {\n\t\t\t\t\tif (rowIndex > 0) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\tconst rowAboveEndPoint = Editor.end(editor, [...tablePath, rowIndex - 1, columnIndex])\n\n\t\t\t\t\t\tif (!SlateRange.isCollapsed(selection)) {\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowAboveEndPoint)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst minOffset = Math.min(selection.focus.offset, rowAboveEndPoint.offset)\n\t\t\t\t\t\treturn Transforms.select(editor, {\n\t\t\t\t\t\t\tpath: rowAboveEndPoint.path,\n\t\t\t\t\t\t\toffset: minOffset,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t} else if (event.key === 'ArrowDown') {\n\t\t\t\t\tif (rowIndex < rowCount - 1) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\tconst rowBelowStatPoint = Editor.start(editor, [...tablePath, rowIndex + 1, columnIndex])\n\n\t\t\t\t\t\tif (!SlateRange.isCollapsed(selection)) {\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowBelowStatPoint)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst [rowBelowStatPointNode] = Editor.node(editor, rowBelowStatPoint) as NodeEntry<Text>\n\n\t\t\t\t\t\treturn Transforms.select(editor, {\n\t\t\t\t\t\t\tpath: rowBelowStatPoint.path,\n\t\t\t\t\t\t\toffset: Math.min(selection.focus.offset, rowBelowStatPointNode.text.length),\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn moveSelectionAfterTable()\n\t\t\t\t}\n\t\t\t} else if (event.ctrlKey || event.metaKey) {\n\t\t\t\tif (event.key === 'Backspace') {\n\t\t\t\t\tevent.preventDefault()\n\n\t\t\t\t\tif (event.altKey) {\n\t\t\t\t\t\tTableModifications.deleteTableColumn(editor, tableElement, columnIndex)\n\n\t\t\t\t\t\tif (columnCount > 1) {\n\t\t\t\t\t\t\tconst columnBefore = Editor.start(editor, [...tablePath, rowIndex, Math.max(0, columnIndex - 1)])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, columnBefore)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tTableModifications.deleteTableRow(editor, tableElement, rowIndex)\n\n\t\t\t\t\t\tif (rowCount > 1) {\n\t\t\t\t\t\t\tconst rowAbove = Editor.start(editor, [...tablePath, Math.max(0, rowIndex - 1), columnIndex])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowAbove)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (event.key === 'Enter') {\n\t\t\t\t\tevent.preventDefault()\n\n\t\t\t\t\tif (event.altKey) {\n\t\t\t\t\t\tif (event.shiftKey) {\n\t\t\t\t\t\t\tTableModifications.addTableColumn(editor, tableElement, columnIndex)\n\t\t\t\t\t\t\tconst columnBefore = Editor.start(editor, [...tablePath, rowIndex, Math.max(0, columnIndex)])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, columnBefore)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tTableModifications.addTableColumn(editor, tableElement, columnIndex + 1)\n\t\t\t\t\t\t\tconst columnAfter = Editor.start(editor, [...tablePath, rowIndex, columnIndex + 1])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, columnAfter)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (event.shiftKey) {\n\t\t\t\t\t\t\tTableModifications.addTableRow(editor, tableElement, rowIndex)\n\t\t\t\t\t\t\tconst rowAbove = Editor.start(editor, [...tablePath, Math.max(0, rowIndex), columnIndex])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowAbove)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tTableModifications.addTableRow(editor, tableElement, rowIndex + 1)\n\t\t\t\t\t\t\tconst rowBelowStat = Editor.start(editor, [...tablePath, rowIndex + 1, columnIndex])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowBelowStat)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tonKeyDown(event)\n\t\t},\n\n\t})\n\n\treturn editor\n}\n"],"names":["tableElementPlugin","tableCellElementPlugin","tableRowElementPlugin","tableHTMLDeserializer","ContemberEditor","isTableCellElement","Editor","Transforms","Text","Element","SlatePath","SlateRange","Point","isTableElement","isTableRowElement","SlateNode","getTableCellCoordinates","getTableElementRowCount","getTableElementColumnCount","selectTableCellContents","TableModifications"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"withTables.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/withTables.ts"],"sourcesContent":["import { Editor, Element, Node as SlateNode, NodeEntry, Path as SlatePath, Point, Range as SlateRange, Text, Transforms } from 'slate'\nimport { ContemberEditor } from '../../../editor'\nimport { isTableCellElement, TableCellElement, tableCellElementPlugin } from './TableCellElement'\nimport { getTableElementColumnCount, getTableElementRowCount, isTableElement, TableElement, tableElementPlugin } from './TableElement'\nimport { getTableCellCoordinates, selectTableCellContents } from './TableElementSelection'\nimport { tableHTMLDeserializer } from './TableHtmlDeserializer'\nimport { TableModifications } from './TableModifications'\nimport { isTableRowElement, TableRowElement, tableRowElementPlugin } from './TableRowElement'\nimport { ElementRenderer } from '../../../types'\n\nexport const withTables = ({ renderTable, renderTableCell, renderTableRow }: {\n\trenderTable: ElementRenderer<TableElement>\n\trenderTableCell: ElementRenderer<TableCellElement>\n\trenderTableRow: ElementRenderer<TableRowElement>\n}) =>\n<E extends Editor>(editor: E): E => {\n\tconst {\n\t\tdeleteForward,\n\t\tdeleteBackward,\n\t\tdeleteFragment,\n\t\tinsertBreak,\n\t\tonKeyDown,\n\t} = editor\n\n\teditor.registerElement(tableElementPlugin({ render: renderTable }))\n\teditor.registerElement(tableCellElementPlugin({ render: renderTableCell }))\n\teditor.registerElement(tableRowElementPlugin({ render: renderTableRow }))\n\n\teditor.htmlDeserializer.registerPlugin(tableHTMLDeserializer)\n\n\tObject.assign<Editor, Partial<Editor>>(editor, {\n\t\tinsertBreak: () => {\n\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor)\n\t\t\tif (closestBlockEntry && isTableCellElement(closestBlockEntry[0])) {\n\t\t\t\tconst selection = editor.selection\n\t\t\t\tconst [, closestBlockPath] = closestBlockEntry\n\t\t\t\tconst [cellStart, cellEnd] = Editor.edges(editor, closestBlockPath)\n\n\t\t\t\tif (!selection) {\n\t\t\t\t\treturn insertBreak()\n\t\t\t\t}\n\n\t\t\t\treturn Editor.withoutNormalizing(editor, () => {\n\t\t\t\t\tTransforms.wrapNodes(editor, editor.createDefaultElement([]), {\n\t\t\t\t\t\tat: {\n\t\t\t\t\t\t\tanchor: cellStart,\n\t\t\t\t\t\t\tfocus: cellEnd,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmatch: node => Text.isText(node) || (Element.isElement(node) && editor.isInline(node)),\n\t\t\t\t\t})\n\n\t\t\t\t\tconst relative = SlatePath.relative(selection.focus.path, closestBlockPath)\n\t\t\t\t\tTransforms.splitNodes(editor, {\n\t\t\t\t\t\t// The zero should be the newly created default element.\n\t\t\t\t\t\tat: {\n\t\t\t\t\t\t\tpath: [...closestBlockPath, 0, ...relative],\n\t\t\t\t\t\t\toffset: selection.focus.offset,\n\t\t\t\t\t\t},\n\t\t\t\t\t\talways: true,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t}\n\t\t\tinsertBreak()\n\t\t},\n\t\tdeleteBackward: unit => {\n\t\t\tconst selection = editor.selection\n\t\t\tif (selection && SlateRange.isCollapsed(selection)) {\n\t\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor)\n\t\t\t\tif (\n\t\t\t\t\tclosestBlockEntry\n\t\t\t\t\t&& isTableCellElement(closestBlockEntry[0])\n\t\t\t\t\t&& Point.equals(selection.focus, Editor.start(editor, closestBlockEntry[1]))\n\t\t\t\t) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\t\tdeleteBackward(unit)\n\t\t},\n\t\tdeleteForward: unit => {\n\t\t\tconst selection = editor.selection\n\t\t\tif (selection && SlateRange.isCollapsed(selection)) {\n\t\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor)\n\t\t\t\tif (\n\t\t\t\t\tclosestBlockEntry\n\t\t\t\t\t&& isTableCellElement(closestBlockEntry[0])\n\t\t\t\t\t&& Point.equals(selection.focus, Editor.end(editor, closestBlockEntry[1]))\n\t\t\t\t) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\t\tdeleteForward(unit)\n\t\t},\n\t\tdeleteFragment: () => {\n\t\t\tconst selection = editor.selection\n\t\t\tif (!selection || SlateRange.isCollapsed(selection)) {\n\t\t\t\treturn deleteFragment()\n\t\t\t}\n\t\t\tconst lowestCommonAncestorPath = SlatePath.common(selection.anchor.path, selection.focus.path)\n\t\t\tconst [lowestCommonAncestor] = Editor.node(editor, lowestCommonAncestorPath)\n\n\t\t\tif (isTableElement(lowestCommonAncestor) || isTableRowElement(lowestCommonAncestor)) {\n\t\t\t\treturn // TODO nope for now\n\t\t\t}\n\t\t\tdeleteFragment()\n\t\t},\n\t\tonKeyDown: event => {\n\t\t\tconst selection = editor.selection\n\t\t\tif (\n\t\t\t\t!selection\n\t\t\t\t|| !(\n\t\t\t\t\tevent.key === 'Tab'\n\t\t\t\t\t|| event.key === 'ArrowUp'\n\t\t\t\t\t|| event.key === 'ArrowRight'\n\t\t\t\t\t|| event.key === 'ArrowDown'\n\t\t\t\t\t|| event.key === 'ArrowLeft'\n\t\t\t\t\t|| event.key === 'Enter'\n\t\t\t\t\t|| event.key === 'Backspace'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor, { at: selection })\n\n\t\t\tif (!closestBlockEntry) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\t\t\tlet cellElement: TableCellElement\n\t\t\tlet cellPath: SlatePath\n\n\t\t\tif (!isTableCellElement(closestBlockEntry[0])) {\n\t\t\t\tconst parent = SlateNode.parent(editor, closestBlockEntry[1])\n\t\t\t\tif (Element.isElement(closestBlockEntry[0]) && editor.isDefaultElement(closestBlockEntry[0]) && isTableCellElement(parent)) {\n\t\t\t\t\tcellElement = parent\n\t\t\t\t\tcellPath = SlatePath.parent(closestBlockEntry[1])\n\t\t\t\t} else {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t;[cellElement, cellPath] = closestBlockEntry\n\t\t\t}\n\t\t\tif (cellPath.length < 3) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\t\t\tconst [rowIndex, columnIndex] = getTableCellCoordinates(editor, cellElement)\n\t\t\tconst tablePath = cellPath.slice(0, -2)\n\t\t\tconst tableElement = SlateNode.get(editor, tablePath) as TableElement\n\t\t\tconst rowCount = getTableElementRowCount(tableElement)\n\t\t\tconst columnCount = getTableElementColumnCount(tableElement)\n\n\t\t\tif (rowCount === 0 || columnCount === 0) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst moveSelectionBeforeTable = () => {\n\t\t\t\tconst pointBeforeTable = Editor.before(editor, tablePath)\n\t\t\t\tif (!pointBeforeTable) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tevent.preventDefault()\n\t\t\t\treturn Transforms.select(editor, pointBeforeTable)\n\t\t\t}\n\t\t\tconst moveSelectionAfterTable = () => {\n\t\t\t\tconst pointAfterTable = Editor.after(editor, tablePath)\n\t\t\t\tif (!pointAfterTable) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tevent.preventDefault()\n\t\t\t\treturn Transforms.select(editor, pointAfterTable)\n\t\t\t}\n\n\t\t\tif (event.key === 'Tab') {\n\t\t\t\tif (event.shiftKey) {\n\t\t\t\t\t// Moving backwards\n\t\t\t\t\tif (columnIndex > 0) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\treturn selectTableCellContents(editor, tablePath, rowIndex, columnIndex - 1)\n\t\t\t\t\t} else if (columnIndex === 0) {\n\t\t\t\t\t\tif (rowIndex > 0) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\treturn selectTableCellContents(editor, tablePath, rowIndex - 1, columnCount - 1)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Moving forwards\n\t\t\t\t\tif (columnIndex < columnCount - 1) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\treturn selectTableCellContents(editor, tablePath, rowIndex, columnIndex + 1)\n\t\t\t\t\t} else if (columnIndex === columnCount - 1) {\n\t\t\t\t\t\t// We're at the right edge of the table\n\t\t\t\t\t\tif (rowIndex < rowCount - 1) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\treturn selectTableCellContents(editor, tablePath, rowIndex + 1, 0)\n\t\t\t\t\t\t} else if (rowIndex === rowCount - 1) {\n\t\t\t\t\t\t\treturn moveSelectionAfterTable()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (event.key === 'ArrowLeft') {\n\t\t\t\tif (!SlateRange.isCollapsed(selection)) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tif (Point.equals(selection.focus, Editor.start(editor, cellPath))) {\n\t\t\t\t\tif (columnIndex > 0) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\treturn Transforms.select(editor, Editor.end(editor, [...tablePath, rowIndex, columnIndex - 1]))\n\t\t\t\t\t} else if (columnIndex === 0) {\n\t\t\t\t\t\tif (rowIndex > 0) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\treturn Transforms.select(editor, Editor.end(editor, [...tablePath, rowIndex - 1, columnCount - 1]))\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (event.key === 'ArrowRight') {\n\t\t\t\tif (!SlateRange.isCollapsed(selection)) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tif (Point.equals(selection.focus, Editor.end(editor, cellPath))) {\n\t\t\t\t\tif (columnIndex < columnCount - 1) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\treturn Transforms.select(editor, Editor.start(editor, [...tablePath, rowIndex, columnIndex + 1]))\n\t\t\t\t\t} else if (columnIndex === columnCount - 1) {\n\t\t\t\t\t\tif (rowIndex < rowCount - 1) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\treturn Transforms.select(editor, Editor.start(editor, [...tablePath, rowIndex + 1, 0]))\n\t\t\t\t\t\t} else if (rowIndex === rowCount - 1) {\n\t\t\t\t\t\t\treturn moveSelectionAfterTable()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n\t\t\t\tconst withinDefault = editor.isDefaultElement(closestBlockEntry[0])\n\t\t\t\tif (withinDefault) {\n\t\t\t\t\tconst relative = SlatePath.relative(closestBlockEntry[1], cellPath)\n\t\t\t\t\tconst defaultIndex = relative[0]\n\t\t\t\t\tif (\n\t\t\t\t\t\t(event.key === 'ArrowUp' && defaultIndex !== 0)\n\t\t\t\t\t\t|| (event.key === 'ArrowDown' && defaultIndex !== cellElement.children.length - 1)\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (event.key === 'ArrowUp') {\n\t\t\t\t\tif (rowIndex > 0) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\tconst rowAboveEndPoint = Editor.end(editor, [...tablePath, rowIndex - 1, columnIndex])\n\n\t\t\t\t\t\tif (!SlateRange.isCollapsed(selection)) {\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowAboveEndPoint)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst minOffset = Math.min(selection.focus.offset, rowAboveEndPoint.offset)\n\t\t\t\t\t\treturn Transforms.select(editor, {\n\t\t\t\t\t\t\tpath: rowAboveEndPoint.path,\n\t\t\t\t\t\t\toffset: minOffset,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t} else if (event.key === 'ArrowDown') {\n\t\t\t\t\tif (rowIndex < rowCount - 1) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\tconst rowBelowStatPoint = Editor.start(editor, [...tablePath, rowIndex + 1, columnIndex])\n\n\t\t\t\t\t\tif (!SlateRange.isCollapsed(selection)) {\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowBelowStatPoint)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst [rowBelowStatPointNode] = Editor.node(editor, rowBelowStatPoint) as NodeEntry<Text>\n\n\t\t\t\t\t\treturn Transforms.select(editor, {\n\t\t\t\t\t\t\tpath: rowBelowStatPoint.path,\n\t\t\t\t\t\t\toffset: Math.min(selection.focus.offset, rowBelowStatPointNode.text.length),\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn moveSelectionAfterTable()\n\t\t\t\t}\n\t\t\t} else if (event.ctrlKey || event.metaKey) {\n\t\t\t\tif (event.key === 'Backspace') {\n\t\t\t\t\tevent.preventDefault()\n\n\t\t\t\t\tif (event.altKey) {\n\t\t\t\t\t\tTableModifications.deleteTableColumn(editor, tableElement, columnIndex)\n\n\t\t\t\t\t\tif (columnCount > 1) {\n\t\t\t\t\t\t\tconst columnBefore = Editor.start(editor, [...tablePath, rowIndex, Math.max(0, columnIndex - 1)])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, columnBefore)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tTableModifications.deleteTableRow(editor, tableElement, rowIndex)\n\n\t\t\t\t\t\tif (rowCount > 1) {\n\t\t\t\t\t\t\tconst rowAbove = Editor.start(editor, [...tablePath, Math.max(0, rowIndex - 1), columnIndex])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowAbove)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (event.key === 'Enter') {\n\t\t\t\t\tevent.preventDefault()\n\n\t\t\t\t\tif (event.altKey) {\n\t\t\t\t\t\tif (event.shiftKey) {\n\t\t\t\t\t\t\tTableModifications.addTableColumn(editor, tableElement, columnIndex)\n\t\t\t\t\t\t\tconst columnBefore = Editor.start(editor, [...tablePath, rowIndex, Math.max(0, columnIndex)])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, columnBefore)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tTableModifications.addTableColumn(editor, tableElement, columnIndex + 1)\n\t\t\t\t\t\t\tconst columnAfter = Editor.start(editor, [...tablePath, rowIndex, columnIndex + 1])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, columnAfter)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (event.shiftKey) {\n\t\t\t\t\t\t\tTableModifications.addTableRow(editor, tableElement, rowIndex)\n\t\t\t\t\t\t\tconst rowAbove = Editor.start(editor, [...tablePath, Math.max(0, rowIndex), columnIndex])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowAbove)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tTableModifications.addTableRow(editor, tableElement, rowIndex + 1)\n\t\t\t\t\t\t\tconst rowBelowStat = Editor.start(editor, [...tablePath, rowIndex + 1, columnIndex])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowBelowStat)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tonKeyDown(event)\n\t\t},\n\t})\n\n\treturn editor\n}\n"],"names":["tableElementPlugin","tableCellElementPlugin","tableRowElementPlugin","tableHTMLDeserializer","ContemberEditor","isTableCellElement","Editor","Transforms","Text","Element","SlatePath","SlateRange","Point","isTableElement","isTableRowElement","SlateNode","getTableCellCoordinates","getTableElementRowCount","getTableElementColumnCount","selectTableCellContents","TableModifications"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Node, Element, Path, Range, Point, Editor, Transforms, Text } from "slate";
|
|
2
2
|
import { ContemberEditor } from "../../../editor/index.js";
|
|
3
3
|
import { tableCellElementPlugin, isTableCellElement } from "./TableCellElement.js";
|
|
4
|
-
import { tableElementPlugin,
|
|
4
|
+
import { tableElementPlugin, getTableElementRowCount, getTableElementColumnCount, isTableElement } from "./TableElement.js";
|
|
5
5
|
import { getTableCellCoordinates, selectTableCellContents } from "./TableElementSelection.js";
|
|
6
6
|
import { tableHTMLDeserializer } from "./TableHtmlDeserializer.js";
|
|
7
7
|
import { TableModifications } from "./TableModifications.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withTables.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/withTables.ts"],"sourcesContent":["import { Editor, Element, Node as SlateNode, NodeEntry, Path as SlatePath, Point, Range as SlateRange, Text, Transforms } from 'slate'\nimport { ContemberEditor } from '../../../editor'\nimport { isTableCellElement, TableCellElement, tableCellElementPlugin } from './TableCellElement'\nimport { getTableElementColumnCount, getTableElementRowCount, isTableElement, TableElement, tableElementPlugin } from './TableElement'\nimport { getTableCellCoordinates, selectTableCellContents } from './TableElementSelection'\nimport { tableHTMLDeserializer } from './TableHtmlDeserializer'\nimport { TableModifications } from './TableModifications'\nimport { isTableRowElement, TableRowElement, tableRowElementPlugin } from './TableRowElement'\nimport { ElementRenderer } from '../../../types'\n\nexport const withTables = ({ renderTable, renderTableCell, renderTableRow }: {\n\trenderTable: ElementRenderer<TableElement>\n\trenderTableCell: ElementRenderer<TableCellElement>\n\trenderTableRow: ElementRenderer<TableRowElement>\n}) => <E extends Editor>(editor: E): E => {\n\tconst {\n\t\tdeleteForward,\n\t\tdeleteBackward,\n\t\tdeleteFragment,\n\t\tinsertBreak,\n\t\tonKeyDown,\n\t} = editor\n\n\teditor.registerElement(tableElementPlugin({ render: renderTable }))\n\teditor.registerElement(tableCellElementPlugin({ render: renderTableCell }))\n\teditor.registerElement(tableRowElementPlugin({ render: renderTableRow }))\n\n\teditor.htmlDeserializer.registerPlugin(tableHTMLDeserializer)\n\n\tObject.assign<Editor, Partial<Editor>>(editor, {\n\t\tinsertBreak: () => {\n\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor)\n\t\t\tif (closestBlockEntry && isTableCellElement(closestBlockEntry[0])) {\n\t\t\t\tconst selection = editor.selection\n\t\t\t\tconst [, closestBlockPath] = closestBlockEntry\n\t\t\t\tconst [cellStart, cellEnd] = Editor.edges(editor, closestBlockPath)\n\n\t\t\t\tif (!selection) {\n\t\t\t\t\treturn insertBreak()\n\t\t\t\t}\n\n\t\t\t\treturn Editor.withoutNormalizing(editor, () => {\n\t\t\t\t\tTransforms.wrapNodes(editor, editor.createDefaultElement([]), {\n\t\t\t\t\t\tat: {\n\t\t\t\t\t\t\tanchor: cellStart,\n\t\t\t\t\t\t\tfocus: cellEnd,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmatch: node => Text.isText(node) || (Element.isElement(node) && editor.isInline(node)),\n\t\t\t\t\t})\n\n\t\t\t\t\tconst relative = SlatePath.relative(selection.focus.path, closestBlockPath)\n\t\t\t\t\tTransforms.splitNodes(editor, {\n\t\t\t\t\t\t// The zero should be the newly created default element.\n\t\t\t\t\t\tat: {\n\t\t\t\t\t\t\tpath: [...closestBlockPath, 0, ...relative],\n\t\t\t\t\t\t\toffset: selection.focus.offset,\n\t\t\t\t\t\t},\n\t\t\t\t\t\talways: true,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t}\n\t\t\tinsertBreak()\n\t\t},\n\t\tdeleteBackward: unit => {\n\t\t\tconst selection = editor.selection\n\t\t\tif (selection && SlateRange.isCollapsed(selection)) {\n\t\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor)\n\t\t\t\tif (\n\t\t\t\t\tclosestBlockEntry &&\n\t\t\t\t\tisTableCellElement(closestBlockEntry[0]) &&\n\t\t\t\t\tPoint.equals(selection.focus, Editor.start(editor, closestBlockEntry[1]))\n\t\t\t\t) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\t\tdeleteBackward(unit)\n\t\t},\n\t\tdeleteForward: unit => {\n\t\t\tconst selection = editor.selection\n\t\t\tif (selection && SlateRange.isCollapsed(selection)) {\n\t\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor)\n\t\t\t\tif (\n\t\t\t\t\tclosestBlockEntry &&\n\t\t\t\t\tisTableCellElement(closestBlockEntry[0]) &&\n\t\t\t\t\tPoint.equals(selection.focus, Editor.end(editor, closestBlockEntry[1]))\n\t\t\t\t) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\t\tdeleteForward(unit)\n\t\t},\n\t\tdeleteFragment: () => {\n\t\t\tconst selection = editor.selection\n\t\t\tif (!selection || SlateRange.isCollapsed(selection)) {\n\t\t\t\treturn deleteFragment()\n\t\t\t}\n\t\t\tconst lowestCommonAncestorPath = SlatePath.common(selection.anchor.path, selection.focus.path)\n\t\t\tconst [lowestCommonAncestor] = Editor.node(editor, lowestCommonAncestorPath)\n\n\t\t\tif (isTableElement(lowestCommonAncestor) || isTableRowElement(lowestCommonAncestor)) {\n\t\t\t\treturn // TODO nope for now\n\t\t\t}\n\t\t\tdeleteFragment()\n\t\t},\n\t\tonKeyDown: event => {\n\t\t\tconst selection = editor.selection\n\t\t\tif (\n\t\t\t\t!selection ||\n\t\t\t\t!(\n\t\t\t\t\tevent.key === 'Tab' ||\n\t\t\t\t\tevent.key === 'ArrowUp' ||\n\t\t\t\t\tevent.key === 'ArrowRight' ||\n\t\t\t\t\tevent.key === 'ArrowDown' ||\n\t\t\t\t\tevent.key === 'ArrowLeft' ||\n\t\t\t\t\tevent.key === 'Enter' ||\n\t\t\t\t\tevent.key === 'Backspace'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor, { at: selection })\n\n\t\t\tif (!closestBlockEntry) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\t\t\tlet cellElement: TableCellElement\n\t\t\tlet cellPath: SlatePath\n\n\t\t\tif (!isTableCellElement(closestBlockEntry[0])) {\n\t\t\t\tconst parent = SlateNode.parent(editor, closestBlockEntry[1])\n\t\t\t\tif (Element.isElement(closestBlockEntry[0]) && editor.isDefaultElement(closestBlockEntry[0]) && isTableCellElement(parent)) {\n\t\t\t\t\tcellElement = parent\n\t\t\t\t\tcellPath = SlatePath.parent(closestBlockEntry[1])\n\t\t\t\t} else {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t[cellElement, cellPath] = closestBlockEntry\n\t\t\t}\n\t\t\tif (cellPath.length < 3) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\t\t\tconst [rowIndex, columnIndex] = getTableCellCoordinates(editor, cellElement)\n\t\t\tconst tablePath = cellPath.slice(0, -2)\n\t\t\tconst tableElement = SlateNode.get(editor, tablePath) as TableElement\n\t\t\tconst rowCount = getTableElementRowCount(tableElement)\n\t\t\tconst columnCount = getTableElementColumnCount(tableElement)\n\n\t\t\tif (rowCount === 0 || columnCount === 0) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst moveSelectionBeforeTable = () => {\n\t\t\t\tconst pointBeforeTable = Editor.before(editor, tablePath)\n\t\t\t\tif (!pointBeforeTable) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tevent.preventDefault()\n\t\t\t\treturn Transforms.select(editor, pointBeforeTable)\n\t\t\t}\n\t\t\tconst moveSelectionAfterTable = () => {\n\t\t\t\tconst pointAfterTable = Editor.after(editor, tablePath)\n\t\t\t\tif (!pointAfterTable) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tevent.preventDefault()\n\t\t\t\treturn Transforms.select(editor, pointAfterTable)\n\t\t\t}\n\n\t\t\tif (event.key === 'Tab') {\n\t\t\t\tif (event.shiftKey) {\n\t\t\t\t\t// Moving backwards\n\t\t\t\t\tif (columnIndex > 0) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\treturn selectTableCellContents(editor, tablePath, rowIndex, columnIndex - 1)\n\t\t\t\t\t} else if (columnIndex === 0) {\n\t\t\t\t\t\tif (rowIndex > 0) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\treturn selectTableCellContents(editor, tablePath, rowIndex - 1, columnCount - 1)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Moving forwards\n\t\t\t\t\tif (columnIndex < columnCount - 1) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\treturn selectTableCellContents(editor, tablePath, rowIndex, columnIndex + 1)\n\t\t\t\t\t} else if (columnIndex === columnCount - 1) {\n\t\t\t\t\t\t// We're at the right edge of the table\n\t\t\t\t\t\tif (rowIndex < rowCount - 1) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\treturn selectTableCellContents(editor, tablePath, rowIndex + 1, 0)\n\t\t\t\t\t\t} else if (rowIndex === rowCount - 1) {\n\t\t\t\t\t\t\treturn moveSelectionAfterTable()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (event.key === 'ArrowLeft') {\n\t\t\t\tif (!SlateRange.isCollapsed(selection)) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tif (Point.equals(selection.focus, Editor.start(editor, cellPath))) {\n\t\t\t\t\tif (columnIndex > 0) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\treturn Transforms.select(editor, Editor.end(editor, [...tablePath, rowIndex, columnIndex - 1]))\n\t\t\t\t\t} else if (columnIndex === 0) {\n\t\t\t\t\t\tif (rowIndex > 0) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\treturn Transforms.select(editor, Editor.end(editor, [...tablePath, rowIndex - 1, columnCount - 1]))\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (event.key === 'ArrowRight') {\n\t\t\t\tif (!SlateRange.isCollapsed(selection)) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tif (Point.equals(selection.focus, Editor.end(editor, cellPath))) {\n\t\t\t\t\tif (columnIndex < columnCount - 1) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\treturn Transforms.select(editor, Editor.start(editor, [...tablePath, rowIndex, columnIndex + 1]))\n\t\t\t\t\t} else if (columnIndex === columnCount - 1) {\n\t\t\t\t\t\tif (rowIndex < rowCount - 1) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\treturn Transforms.select(editor, Editor.start(editor, [...tablePath, rowIndex + 1, 0]))\n\t\t\t\t\t\t} else if (rowIndex === rowCount - 1) {\n\t\t\t\t\t\t\treturn moveSelectionAfterTable()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n\t\t\t\tconst withinDefault = editor.isDefaultElement(closestBlockEntry[0])\n\t\t\t\tif (withinDefault) {\n\t\t\t\t\tconst relative = SlatePath.relative(closestBlockEntry[1], cellPath)\n\t\t\t\t\tconst defaultIndex = relative[0]\n\t\t\t\t\tif (\n\t\t\t\t\t\t(event.key === 'ArrowUp' && defaultIndex !== 0) ||\n\t\t\t\t\t\t(event.key === 'ArrowDown' && defaultIndex !== cellElement.children.length - 1)\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (event.key === 'ArrowUp') {\n\t\t\t\t\tif (rowIndex > 0) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\tconst rowAboveEndPoint = Editor.end(editor, [...tablePath, rowIndex - 1, columnIndex])\n\n\t\t\t\t\t\tif (!SlateRange.isCollapsed(selection)) {\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowAboveEndPoint)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst minOffset = Math.min(selection.focus.offset, rowAboveEndPoint.offset)\n\t\t\t\t\t\treturn Transforms.select(editor, {\n\t\t\t\t\t\t\tpath: rowAboveEndPoint.path,\n\t\t\t\t\t\t\toffset: minOffset,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t} else if (event.key === 'ArrowDown') {\n\t\t\t\t\tif (rowIndex < rowCount - 1) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\tconst rowBelowStatPoint = Editor.start(editor, [...tablePath, rowIndex + 1, columnIndex])\n\n\t\t\t\t\t\tif (!SlateRange.isCollapsed(selection)) {\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowBelowStatPoint)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst [rowBelowStatPointNode] = Editor.node(editor, rowBelowStatPoint) as NodeEntry<Text>\n\n\t\t\t\t\t\treturn Transforms.select(editor, {\n\t\t\t\t\t\t\tpath: rowBelowStatPoint.path,\n\t\t\t\t\t\t\toffset: Math.min(selection.focus.offset, rowBelowStatPointNode.text.length),\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn moveSelectionAfterTable()\n\t\t\t\t}\n\t\t\t} else if (event.ctrlKey || event.metaKey) {\n\t\t\t\tif (event.key === 'Backspace') {\n\t\t\t\t\tevent.preventDefault()\n\n\t\t\t\t\tif (event.altKey) {\n\t\t\t\t\t\tTableModifications.deleteTableColumn(editor, tableElement, columnIndex)\n\n\t\t\t\t\t\tif (columnCount > 1) {\n\t\t\t\t\t\t\tconst columnBefore = Editor.start(editor, [...tablePath, rowIndex, Math.max(0, columnIndex - 1)])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, columnBefore)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tTableModifications.deleteTableRow(editor, tableElement, rowIndex)\n\n\t\t\t\t\t\tif (rowCount > 1) {\n\t\t\t\t\t\t\tconst rowAbove = Editor.start(editor, [...tablePath, Math.max(0, rowIndex - 1), columnIndex])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowAbove)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (event.key === 'Enter') {\n\t\t\t\t\tevent.preventDefault()\n\n\t\t\t\t\tif (event.altKey) {\n\t\t\t\t\t\tif (event.shiftKey) {\n\t\t\t\t\t\t\tTableModifications.addTableColumn(editor, tableElement, columnIndex)\n\t\t\t\t\t\t\tconst columnBefore = Editor.start(editor, [...tablePath, rowIndex, Math.max(0, columnIndex)])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, columnBefore)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tTableModifications.addTableColumn(editor, tableElement, columnIndex + 1)\n\t\t\t\t\t\t\tconst columnAfter = Editor.start(editor, [...tablePath, rowIndex, columnIndex + 1])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, columnAfter)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (event.shiftKey) {\n\t\t\t\t\t\t\tTableModifications.addTableRow(editor, tableElement, rowIndex)\n\t\t\t\t\t\t\tconst rowAbove = Editor.start(editor, [...tablePath, Math.max(0, rowIndex), columnIndex])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowAbove)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tTableModifications.addTableRow(editor, tableElement, rowIndex + 1)\n\t\t\t\t\t\t\tconst rowBelowStat = Editor.start(editor, [...tablePath, rowIndex + 1, columnIndex])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowBelowStat)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tonKeyDown(event)\n\t\t},\n\n\t})\n\n\treturn editor\n}\n"],"names":["SlatePath","SlateRange","SlateNode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"withTables.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/element/tables/withTables.ts"],"sourcesContent":["import { Editor, Element, Node as SlateNode, NodeEntry, Path as SlatePath, Point, Range as SlateRange, Text, Transforms } from 'slate'\nimport { ContemberEditor } from '../../../editor'\nimport { isTableCellElement, TableCellElement, tableCellElementPlugin } from './TableCellElement'\nimport { getTableElementColumnCount, getTableElementRowCount, isTableElement, TableElement, tableElementPlugin } from './TableElement'\nimport { getTableCellCoordinates, selectTableCellContents } from './TableElementSelection'\nimport { tableHTMLDeserializer } from './TableHtmlDeserializer'\nimport { TableModifications } from './TableModifications'\nimport { isTableRowElement, TableRowElement, tableRowElementPlugin } from './TableRowElement'\nimport { ElementRenderer } from '../../../types'\n\nexport const withTables = ({ renderTable, renderTableCell, renderTableRow }: {\n\trenderTable: ElementRenderer<TableElement>\n\trenderTableCell: ElementRenderer<TableCellElement>\n\trenderTableRow: ElementRenderer<TableRowElement>\n}) =>\n<E extends Editor>(editor: E): E => {\n\tconst {\n\t\tdeleteForward,\n\t\tdeleteBackward,\n\t\tdeleteFragment,\n\t\tinsertBreak,\n\t\tonKeyDown,\n\t} = editor\n\n\teditor.registerElement(tableElementPlugin({ render: renderTable }))\n\teditor.registerElement(tableCellElementPlugin({ render: renderTableCell }))\n\teditor.registerElement(tableRowElementPlugin({ render: renderTableRow }))\n\n\teditor.htmlDeserializer.registerPlugin(tableHTMLDeserializer)\n\n\tObject.assign<Editor, Partial<Editor>>(editor, {\n\t\tinsertBreak: () => {\n\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor)\n\t\t\tif (closestBlockEntry && isTableCellElement(closestBlockEntry[0])) {\n\t\t\t\tconst selection = editor.selection\n\t\t\t\tconst [, closestBlockPath] = closestBlockEntry\n\t\t\t\tconst [cellStart, cellEnd] = Editor.edges(editor, closestBlockPath)\n\n\t\t\t\tif (!selection) {\n\t\t\t\t\treturn insertBreak()\n\t\t\t\t}\n\n\t\t\t\treturn Editor.withoutNormalizing(editor, () => {\n\t\t\t\t\tTransforms.wrapNodes(editor, editor.createDefaultElement([]), {\n\t\t\t\t\t\tat: {\n\t\t\t\t\t\t\tanchor: cellStart,\n\t\t\t\t\t\t\tfocus: cellEnd,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmatch: node => Text.isText(node) || (Element.isElement(node) && editor.isInline(node)),\n\t\t\t\t\t})\n\n\t\t\t\t\tconst relative = SlatePath.relative(selection.focus.path, closestBlockPath)\n\t\t\t\t\tTransforms.splitNodes(editor, {\n\t\t\t\t\t\t// The zero should be the newly created default element.\n\t\t\t\t\t\tat: {\n\t\t\t\t\t\t\tpath: [...closestBlockPath, 0, ...relative],\n\t\t\t\t\t\t\toffset: selection.focus.offset,\n\t\t\t\t\t\t},\n\t\t\t\t\t\talways: true,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t}\n\t\t\tinsertBreak()\n\t\t},\n\t\tdeleteBackward: unit => {\n\t\t\tconst selection = editor.selection\n\t\t\tif (selection && SlateRange.isCollapsed(selection)) {\n\t\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor)\n\t\t\t\tif (\n\t\t\t\t\tclosestBlockEntry\n\t\t\t\t\t&& isTableCellElement(closestBlockEntry[0])\n\t\t\t\t\t&& Point.equals(selection.focus, Editor.start(editor, closestBlockEntry[1]))\n\t\t\t\t) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\t\tdeleteBackward(unit)\n\t\t},\n\t\tdeleteForward: unit => {\n\t\t\tconst selection = editor.selection\n\t\t\tif (selection && SlateRange.isCollapsed(selection)) {\n\t\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor)\n\t\t\t\tif (\n\t\t\t\t\tclosestBlockEntry\n\t\t\t\t\t&& isTableCellElement(closestBlockEntry[0])\n\t\t\t\t\t&& Point.equals(selection.focus, Editor.end(editor, closestBlockEntry[1]))\n\t\t\t\t) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\t\tdeleteForward(unit)\n\t\t},\n\t\tdeleteFragment: () => {\n\t\t\tconst selection = editor.selection\n\t\t\tif (!selection || SlateRange.isCollapsed(selection)) {\n\t\t\t\treturn deleteFragment()\n\t\t\t}\n\t\t\tconst lowestCommonAncestorPath = SlatePath.common(selection.anchor.path, selection.focus.path)\n\t\t\tconst [lowestCommonAncestor] = Editor.node(editor, lowestCommonAncestorPath)\n\n\t\t\tif (isTableElement(lowestCommonAncestor) || isTableRowElement(lowestCommonAncestor)) {\n\t\t\t\treturn // TODO nope for now\n\t\t\t}\n\t\t\tdeleteFragment()\n\t\t},\n\t\tonKeyDown: event => {\n\t\t\tconst selection = editor.selection\n\t\t\tif (\n\t\t\t\t!selection\n\t\t\t\t|| !(\n\t\t\t\t\tevent.key === 'Tab'\n\t\t\t\t\t|| event.key === 'ArrowUp'\n\t\t\t\t\t|| event.key === 'ArrowRight'\n\t\t\t\t\t|| event.key === 'ArrowDown'\n\t\t\t\t\t|| event.key === 'ArrowLeft'\n\t\t\t\t\t|| event.key === 'Enter'\n\t\t\t\t\t|| event.key === 'Backspace'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor, { at: selection })\n\n\t\t\tif (!closestBlockEntry) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\t\t\tlet cellElement: TableCellElement\n\t\t\tlet cellPath: SlatePath\n\n\t\t\tif (!isTableCellElement(closestBlockEntry[0])) {\n\t\t\t\tconst parent = SlateNode.parent(editor, closestBlockEntry[1])\n\t\t\t\tif (Element.isElement(closestBlockEntry[0]) && editor.isDefaultElement(closestBlockEntry[0]) && isTableCellElement(parent)) {\n\t\t\t\t\tcellElement = parent\n\t\t\t\t\tcellPath = SlatePath.parent(closestBlockEntry[1])\n\t\t\t\t} else {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t;[cellElement, cellPath] = closestBlockEntry\n\t\t\t}\n\t\t\tif (cellPath.length < 3) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\t\t\tconst [rowIndex, columnIndex] = getTableCellCoordinates(editor, cellElement)\n\t\t\tconst tablePath = cellPath.slice(0, -2)\n\t\t\tconst tableElement = SlateNode.get(editor, tablePath) as TableElement\n\t\t\tconst rowCount = getTableElementRowCount(tableElement)\n\t\t\tconst columnCount = getTableElementColumnCount(tableElement)\n\n\t\t\tif (rowCount === 0 || columnCount === 0) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst moveSelectionBeforeTable = () => {\n\t\t\t\tconst pointBeforeTable = Editor.before(editor, tablePath)\n\t\t\t\tif (!pointBeforeTable) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tevent.preventDefault()\n\t\t\t\treturn Transforms.select(editor, pointBeforeTable)\n\t\t\t}\n\t\t\tconst moveSelectionAfterTable = () => {\n\t\t\t\tconst pointAfterTable = Editor.after(editor, tablePath)\n\t\t\t\tif (!pointAfterTable) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tevent.preventDefault()\n\t\t\t\treturn Transforms.select(editor, pointAfterTable)\n\t\t\t}\n\n\t\t\tif (event.key === 'Tab') {\n\t\t\t\tif (event.shiftKey) {\n\t\t\t\t\t// Moving backwards\n\t\t\t\t\tif (columnIndex > 0) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\treturn selectTableCellContents(editor, tablePath, rowIndex, columnIndex - 1)\n\t\t\t\t\t} else if (columnIndex === 0) {\n\t\t\t\t\t\tif (rowIndex > 0) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\treturn selectTableCellContents(editor, tablePath, rowIndex - 1, columnCount - 1)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Moving forwards\n\t\t\t\t\tif (columnIndex < columnCount - 1) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\treturn selectTableCellContents(editor, tablePath, rowIndex, columnIndex + 1)\n\t\t\t\t\t} else if (columnIndex === columnCount - 1) {\n\t\t\t\t\t\t// We're at the right edge of the table\n\t\t\t\t\t\tif (rowIndex < rowCount - 1) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\treturn selectTableCellContents(editor, tablePath, rowIndex + 1, 0)\n\t\t\t\t\t\t} else if (rowIndex === rowCount - 1) {\n\t\t\t\t\t\t\treturn moveSelectionAfterTable()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (event.key === 'ArrowLeft') {\n\t\t\t\tif (!SlateRange.isCollapsed(selection)) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tif (Point.equals(selection.focus, Editor.start(editor, cellPath))) {\n\t\t\t\t\tif (columnIndex > 0) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\treturn Transforms.select(editor, Editor.end(editor, [...tablePath, rowIndex, columnIndex - 1]))\n\t\t\t\t\t} else if (columnIndex === 0) {\n\t\t\t\t\t\tif (rowIndex > 0) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\treturn Transforms.select(editor, Editor.end(editor, [...tablePath, rowIndex - 1, columnCount - 1]))\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (event.key === 'ArrowRight') {\n\t\t\t\tif (!SlateRange.isCollapsed(selection)) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tif (Point.equals(selection.focus, Editor.end(editor, cellPath))) {\n\t\t\t\t\tif (columnIndex < columnCount - 1) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\treturn Transforms.select(editor, Editor.start(editor, [...tablePath, rowIndex, columnIndex + 1]))\n\t\t\t\t\t} else if (columnIndex === columnCount - 1) {\n\t\t\t\t\t\tif (rowIndex < rowCount - 1) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\treturn Transforms.select(editor, Editor.start(editor, [...tablePath, rowIndex + 1, 0]))\n\t\t\t\t\t\t} else if (rowIndex === rowCount - 1) {\n\t\t\t\t\t\t\treturn moveSelectionAfterTable()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n\t\t\t\tconst withinDefault = editor.isDefaultElement(closestBlockEntry[0])\n\t\t\t\tif (withinDefault) {\n\t\t\t\t\tconst relative = SlatePath.relative(closestBlockEntry[1], cellPath)\n\t\t\t\t\tconst defaultIndex = relative[0]\n\t\t\t\t\tif (\n\t\t\t\t\t\t(event.key === 'ArrowUp' && defaultIndex !== 0)\n\t\t\t\t\t\t|| (event.key === 'ArrowDown' && defaultIndex !== cellElement.children.length - 1)\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (event.key === 'ArrowUp') {\n\t\t\t\t\tif (rowIndex > 0) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\tconst rowAboveEndPoint = Editor.end(editor, [...tablePath, rowIndex - 1, columnIndex])\n\n\t\t\t\t\t\tif (!SlateRange.isCollapsed(selection)) {\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowAboveEndPoint)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst minOffset = Math.min(selection.focus.offset, rowAboveEndPoint.offset)\n\t\t\t\t\t\treturn Transforms.select(editor, {\n\t\t\t\t\t\t\tpath: rowAboveEndPoint.path,\n\t\t\t\t\t\t\toffset: minOffset,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t} else if (event.key === 'ArrowDown') {\n\t\t\t\t\tif (rowIndex < rowCount - 1) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\tconst rowBelowStatPoint = Editor.start(editor, [...tablePath, rowIndex + 1, columnIndex])\n\n\t\t\t\t\t\tif (!SlateRange.isCollapsed(selection)) {\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowBelowStatPoint)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst [rowBelowStatPointNode] = Editor.node(editor, rowBelowStatPoint) as NodeEntry<Text>\n\n\t\t\t\t\t\treturn Transforms.select(editor, {\n\t\t\t\t\t\t\tpath: rowBelowStatPoint.path,\n\t\t\t\t\t\t\toffset: Math.min(selection.focus.offset, rowBelowStatPointNode.text.length),\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn moveSelectionAfterTable()\n\t\t\t\t}\n\t\t\t} else if (event.ctrlKey || event.metaKey) {\n\t\t\t\tif (event.key === 'Backspace') {\n\t\t\t\t\tevent.preventDefault()\n\n\t\t\t\t\tif (event.altKey) {\n\t\t\t\t\t\tTableModifications.deleteTableColumn(editor, tableElement, columnIndex)\n\n\t\t\t\t\t\tif (columnCount > 1) {\n\t\t\t\t\t\t\tconst columnBefore = Editor.start(editor, [...tablePath, rowIndex, Math.max(0, columnIndex - 1)])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, columnBefore)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tTableModifications.deleteTableRow(editor, tableElement, rowIndex)\n\n\t\t\t\t\t\tif (rowCount > 1) {\n\t\t\t\t\t\t\tconst rowAbove = Editor.start(editor, [...tablePath, Math.max(0, rowIndex - 1), columnIndex])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowAbove)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn moveSelectionBeforeTable()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (event.key === 'Enter') {\n\t\t\t\t\tevent.preventDefault()\n\n\t\t\t\t\tif (event.altKey) {\n\t\t\t\t\t\tif (event.shiftKey) {\n\t\t\t\t\t\t\tTableModifications.addTableColumn(editor, tableElement, columnIndex)\n\t\t\t\t\t\t\tconst columnBefore = Editor.start(editor, [...tablePath, rowIndex, Math.max(0, columnIndex)])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, columnBefore)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tTableModifications.addTableColumn(editor, tableElement, columnIndex + 1)\n\t\t\t\t\t\t\tconst columnAfter = Editor.start(editor, [...tablePath, rowIndex, columnIndex + 1])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, columnAfter)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (event.shiftKey) {\n\t\t\t\t\t\t\tTableModifications.addTableRow(editor, tableElement, rowIndex)\n\t\t\t\t\t\t\tconst rowAbove = Editor.start(editor, [...tablePath, Math.max(0, rowIndex), columnIndex])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowAbove)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tTableModifications.addTableRow(editor, tableElement, rowIndex + 1)\n\t\t\t\t\t\t\tconst rowBelowStat = Editor.start(editor, [...tablePath, rowIndex + 1, columnIndex])\n\n\t\t\t\t\t\t\treturn Transforms.select(editor, rowBelowStat)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tonKeyDown(event)\n\t\t},\n\t})\n\n\treturn editor\n}\n"],"names":["SlatePath","SlateRange","SlateNode"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boldMark.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/bold/boldMark.ts"],"sourcesContent":["import { createElement } from 'react'\nimport { isHotkey } from 'is-hotkey'\nimport { EditorMarkPlugin } from '../../../types'\n\nexport const boldMark = 'isBold'\n\nexport const boldMarkPlugin: EditorMarkPlugin = {\n\ttype: boldMark,\n\tisHotKey: isHotkey('mod+b'),\n\trender: ({ children }) => createElement('b', undefined, children),\n}\n"],"names":["isHotkey","createElement"],"mappings":";;;;AAIO,MAAM,WAAW;AAEjB,MAAM,iBAAmC;AAAA,EAC/C,MAAM;AAAA,EACN,UAAUA,
|
|
1
|
+
{"version":3,"file":"boldMark.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/bold/boldMark.ts"],"sourcesContent":["import { createElement } from 'react'\nimport { isHotkey } from 'is-hotkey'\nimport { EditorMarkPlugin } from '../../../types'\n\nexport const boldMark = 'isBold'\n\nexport const boldMarkPlugin: EditorMarkPlugin = {\n\ttype: boldMark,\n\tisHotKey: isHotkey('mod+b'),\n\trender: ({ children }) => createElement('b', undefined, children),\n}\n"],"names":["isHotkey","createElement"],"mappings":";;;;AAIO,MAAM,WAAW;AAEjB,MAAM,iBAAmC;AAAA,EAC/C,MAAM;AAAA,EACN,UAAUA,SAAAA,SAAS,OAAO;AAAA,EAC1B,QAAQ,CAAC,EAAE,SAAA,MAAeC,MAAAA,cAAc,KAAK,QAAW,QAAQ;AACjE;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boldMark.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/bold/boldMark.ts"],"sourcesContent":["import { createElement } from 'react'\nimport { isHotkey } from 'is-hotkey'\nimport { EditorMarkPlugin } from '../../../types'\n\nexport const boldMark = 'isBold'\n\nexport const boldMarkPlugin: EditorMarkPlugin = {\n\ttype: boldMark,\n\tisHotKey: isHotkey('mod+b'),\n\trender: ({ children }) => createElement('b', undefined, children),\n}\n"],"names":[],"mappings":";;AAIO,MAAM,WAAW;AAEjB,MAAM,iBAAmC;AAAA,EAC/C,MAAM;AAAA,EACN,UAAU,SAAS,OAAO;AAAA,EAC1B,QAAQ,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"boldMark.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/bold/boldMark.ts"],"sourcesContent":["import { createElement } from 'react'\nimport { isHotkey } from 'is-hotkey'\nimport { EditorMarkPlugin } from '../../../types'\n\nexport const boldMark = 'isBold'\n\nexport const boldMarkPlugin: EditorMarkPlugin = {\n\ttype: boldMark,\n\tisHotKey: isHotkey('mod+b'),\n\trender: ({ children }) => createElement('b', undefined, children),\n}\n"],"names":[],"mappings":";;AAIO,MAAM,WAAW;AAEjB,MAAM,iBAAmC;AAAA,EAC/C,MAAM;AAAA,EACN,UAAU,SAAS,OAAO;AAAA,EAC1B,QAAQ,CAAC,EAAE,SAAA,MAAe,cAAc,KAAK,QAAW,QAAQ;AACjE;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withBold.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/bold/withBold.ts"],"sourcesContent":["import { boldMark, boldMarkPlugin } from './boldMark'\nimport { EditorPlugin } from '../../../types'\nimport { createMarkHtmlDeserializer } from '../../behaviour'\n\
|
|
1
|
+
{"version":3,"file":"withBold.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/bold/withBold.ts"],"sourcesContent":["import { boldMark, boldMarkPlugin } from './boldMark'\nimport { EditorPlugin } from '../../../types'\nimport { createMarkHtmlDeserializer } from '../../behaviour'\n\nexport const withBold = (): EditorPlugin => editor => {\n\teditor.registerMark(boldMarkPlugin)\n\teditor.htmlDeserializer.registerPlugin(\n\t\tcreateMarkHtmlDeserializer(\n\t\t\tboldMark,\n\t\t\tel => el.nodeName === 'STRONG' || (el.nodeName === 'B' && !el.id.startsWith('docs-internal-guid')),\n\t\t\tel => ['italic', 'oblique'].includes(el.style.fontWeight),\n\t\t),\n\t)\n}\n"],"names":["boldMarkPlugin","createMarkHtmlDeserializer","boldMark"],"mappings":";;;;AAIO,MAAM,WAAW,MAAoB,CAAA,WAAU;AACrD,SAAO,aAAaA,uBAAc;AAClC,SAAO,iBAAiB;AAAA,IACvBC,2BAAAA;AAAAA,MACCC,SAAAA;AAAAA,MACA,CAAA,OAAM,GAAG,aAAa,YAAa,GAAG,aAAa,OAAO,CAAC,GAAG,GAAG,WAAW,oBAAoB;AAAA,MAChG,CAAA,OAAM,CAAC,UAAU,SAAS,EAAE,SAAS,GAAG,MAAM,UAAU;AAAA,IAAA;AAAA,EACzD;AAEF;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withBold.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/bold/withBold.ts"],"sourcesContent":["import { boldMark, boldMarkPlugin } from './boldMark'\nimport { EditorPlugin } from '../../../types'\nimport { createMarkHtmlDeserializer } from '../../behaviour'\n\
|
|
1
|
+
{"version":3,"file":"withBold.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/bold/withBold.ts"],"sourcesContent":["import { boldMark, boldMarkPlugin } from './boldMark'\nimport { EditorPlugin } from '../../../types'\nimport { createMarkHtmlDeserializer } from '../../behaviour'\n\nexport const withBold = (): EditorPlugin => editor => {\n\teditor.registerMark(boldMarkPlugin)\n\teditor.htmlDeserializer.registerPlugin(\n\t\tcreateMarkHtmlDeserializer(\n\t\t\tboldMark,\n\t\t\tel => el.nodeName === 'STRONG' || (el.nodeName === 'B' && !el.id.startsWith('docs-internal-guid')),\n\t\t\tel => ['italic', 'oblique'].includes(el.style.fontWeight),\n\t\t),\n\t)\n}\n"],"names":[],"mappings":";;AAIO,MAAM,WAAW,MAAoB,CAAA,WAAU;AACrD,SAAO,aAAa,cAAc;AAClC,SAAO,iBAAiB;AAAA,IACvB;AAAA,MACC;AAAA,MACA,CAAA,OAAM,GAAG,aAAa,YAAa,GAAG,aAAa,OAAO,CAAC,GAAG,GAAG,WAAW,oBAAoB;AAAA,MAChG,CAAA,OAAM,CAAC,UAAU,SAAS,EAAE,SAAS,GAAG,MAAM,UAAU;AAAA,IAAA;AAAA,EACzD;AAEF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeMark.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/code/codeMark.ts"],"sourcesContent":["import { isHotkey } from 'is-hotkey'\nimport { createElement } from 'react'\nimport { EditorMarkPlugin } from '../../../types'\n\nexport const codeMark = 'isCode'\n\nexport const codeMarkPlugin: EditorMarkPlugin = {\n\ttype: codeMark,\n\tisHotKey: isHotkey('mod+`'),\n\trender: ({ children }) => createElement('code', undefined, children),\n}\n"],"names":["isHotkey","createElement"],"mappings":";;;;AAIO,MAAM,WAAW;AAEjB,MAAM,iBAAmC;AAAA,EAC/C,MAAM;AAAA,EACN,UAAUA,
|
|
1
|
+
{"version":3,"file":"codeMark.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/code/codeMark.ts"],"sourcesContent":["import { isHotkey } from 'is-hotkey'\nimport { createElement } from 'react'\nimport { EditorMarkPlugin } from '../../../types'\n\nexport const codeMark = 'isCode'\n\nexport const codeMarkPlugin: EditorMarkPlugin = {\n\ttype: codeMark,\n\tisHotKey: isHotkey('mod+`'),\n\trender: ({ children }) => createElement('code', undefined, children),\n}\n"],"names":["isHotkey","createElement"],"mappings":";;;;AAIO,MAAM,WAAW;AAEjB,MAAM,iBAAmC;AAAA,EAC/C,MAAM;AAAA,EACN,UAAUA,SAAAA,SAAS,OAAO;AAAA,EAC1B,QAAQ,CAAC,EAAE,SAAA,MAAeC,MAAAA,cAAc,QAAQ,QAAW,QAAQ;AACpE;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeMark.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/code/codeMark.ts"],"sourcesContent":["import { isHotkey } from 'is-hotkey'\nimport { createElement } from 'react'\nimport { EditorMarkPlugin } from '../../../types'\n\nexport const codeMark = 'isCode'\n\nexport const codeMarkPlugin: EditorMarkPlugin = {\n\ttype: codeMark,\n\tisHotKey: isHotkey('mod+`'),\n\trender: ({ children }) => createElement('code', undefined, children),\n}\n"],"names":[],"mappings":";;AAIO,MAAM,WAAW;AAEjB,MAAM,iBAAmC;AAAA,EAC/C,MAAM;AAAA,EACN,UAAU,SAAS,OAAO;AAAA,EAC1B,QAAQ,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"codeMark.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/code/codeMark.ts"],"sourcesContent":["import { isHotkey } from 'is-hotkey'\nimport { createElement } from 'react'\nimport { EditorMarkPlugin } from '../../../types'\n\nexport const codeMark = 'isCode'\n\nexport const codeMarkPlugin: EditorMarkPlugin = {\n\ttype: codeMark,\n\tisHotKey: isHotkey('mod+`'),\n\trender: ({ children }) => createElement('code', undefined, children),\n}\n"],"names":[],"mappings":";;AAIO,MAAM,WAAW;AAEjB,MAAM,iBAAmC;AAAA,EAC/C,MAAM;AAAA,EACN,UAAU,SAAS,OAAO;AAAA,EAC1B,QAAQ,CAAC,EAAE,SAAA,MAAe,cAAc,QAAQ,QAAW,QAAQ;AACpE;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withCode.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/code/withCode.ts"],"sourcesContent":["import { Editor as SlateEditor } from 'slate'\nimport { codeMarkPlugin } from './codeMark'\nimport { EditorPlugin } from '../../../types'\n\
|
|
1
|
+
{"version":3,"file":"withCode.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/code/withCode.ts"],"sourcesContent":["import { Editor as SlateEditor } from 'slate'\nimport { codeMarkPlugin } from './codeMark'\nimport { EditorPlugin } from '../../../types'\n\nexport const withCode = (): EditorPlugin => editor => {\n\teditor.registerMark(codeMarkPlugin)\n\n\treturn editor\n}\n"],"names":["codeMarkPlugin"],"mappings":";;;AAIO,MAAM,WAAW,MAAoB,CAAA,WAAU;AACrD,SAAO,aAAaA,uBAAc;AAElC,SAAO;AACR;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withCode.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/code/withCode.ts"],"sourcesContent":["import { Editor as SlateEditor } from 'slate'\nimport { codeMarkPlugin } from './codeMark'\nimport { EditorPlugin } from '../../../types'\n\
|
|
1
|
+
{"version":3,"file":"withCode.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/code/withCode.ts"],"sourcesContent":["import { Editor as SlateEditor } from 'slate'\nimport { codeMarkPlugin } from './codeMark'\nimport { EditorPlugin } from '../../../types'\n\nexport const withCode = (): EditorPlugin => editor => {\n\teditor.registerMark(codeMarkPlugin)\n\n\treturn editor\n}\n"],"names":[],"mappings":";AAIO,MAAM,WAAW,MAAoB,CAAA,WAAU;AACrD,SAAO,aAAa,cAAc;AAElC,SAAO;AACR;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"highlightMark.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/highlight/highlightMark.ts"],"sourcesContent":["import { isHotkey } from 'is-hotkey'\nimport { createElement } from 'react'\nimport { EditorMarkPlugin } from '../../../types'\n\nexport const highlightMark = 'isHighlighted'\n\nexport const highlightMarkPlugin: EditorMarkPlugin = {\n\ttype: highlightMark,\n\tisHotKey: isHotkey('mod+e'),\n\trender: ({ children }) => createElement('em', undefined, children),\n}\n"],"names":["isHotkey","createElement"],"mappings":";;;;AAIO,MAAM,gBAAgB;AAEtB,MAAM,sBAAwC;AAAA,EACpD,MAAM;AAAA,EACN,UAAUA,
|
|
1
|
+
{"version":3,"file":"highlightMark.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/highlight/highlightMark.ts"],"sourcesContent":["import { isHotkey } from 'is-hotkey'\nimport { createElement } from 'react'\nimport { EditorMarkPlugin } from '../../../types'\n\nexport const highlightMark = 'isHighlighted'\n\nexport const highlightMarkPlugin: EditorMarkPlugin = {\n\ttype: highlightMark,\n\tisHotKey: isHotkey('mod+e'),\n\trender: ({ children }) => createElement('em', undefined, children),\n}\n"],"names":["isHotkey","createElement"],"mappings":";;;;AAIO,MAAM,gBAAgB;AAEtB,MAAM,sBAAwC;AAAA,EACpD,MAAM;AAAA,EACN,UAAUA,SAAAA,SAAS,OAAO;AAAA,EAC1B,QAAQ,CAAC,EAAE,SAAA,MAAeC,MAAAA,cAAc,MAAM,QAAW,QAAQ;AAClE;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"highlightMark.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/highlight/highlightMark.ts"],"sourcesContent":["import { isHotkey } from 'is-hotkey'\nimport { createElement } from 'react'\nimport { EditorMarkPlugin } from '../../../types'\n\nexport const highlightMark = 'isHighlighted'\n\nexport const highlightMarkPlugin: EditorMarkPlugin = {\n\ttype: highlightMark,\n\tisHotKey: isHotkey('mod+e'),\n\trender: ({ children }) => createElement('em', undefined, children),\n}\n"],"names":[],"mappings":";;AAIO,MAAM,gBAAgB;AAEtB,MAAM,sBAAwC;AAAA,EACpD,MAAM;AAAA,EACN,UAAU,SAAS,OAAO;AAAA,EAC1B,QAAQ,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"highlightMark.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/highlight/highlightMark.ts"],"sourcesContent":["import { isHotkey } from 'is-hotkey'\nimport { createElement } from 'react'\nimport { EditorMarkPlugin } from '../../../types'\n\nexport const highlightMark = 'isHighlighted'\n\nexport const highlightMarkPlugin: EditorMarkPlugin = {\n\ttype: highlightMark,\n\tisHotKey: isHotkey('mod+e'),\n\trender: ({ children }) => createElement('em', undefined, children),\n}\n"],"names":[],"mappings":";;AAIO,MAAM,gBAAgB;AAEtB,MAAM,sBAAwC;AAAA,EACpD,MAAM;AAAA,EACN,UAAU,SAAS,OAAO;AAAA,EAC1B,QAAQ,CAAC,EAAE,SAAA,MAAe,cAAc,MAAM,QAAW,QAAQ;AAClE;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withHighlight.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/highlight/withHighlight.ts"],"sourcesContent":["import { Editor as SlateEditor } from 'slate'\nimport { highlightMarkPlugin } from './highlightMark'\nimport { EditorPlugin } from '../../../types'\n\
|
|
1
|
+
{"version":3,"file":"withHighlight.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/highlight/withHighlight.ts"],"sourcesContent":["import { Editor as SlateEditor } from 'slate'\nimport { highlightMarkPlugin } from './highlightMark'\nimport { EditorPlugin } from '../../../types'\n\nexport const withHighlight = (): EditorPlugin => editor => {\n\teditor.registerMark(highlightMarkPlugin)\n\n\treturn editor\n}\n"],"names":["highlightMarkPlugin"],"mappings":";;;AAIO,MAAM,gBAAgB,MAAoB,CAAA,WAAU;AAC1D,SAAO,aAAaA,iCAAmB;AAEvC,SAAO;AACR;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withHighlight.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/highlight/withHighlight.ts"],"sourcesContent":["import { Editor as SlateEditor } from 'slate'\nimport { highlightMarkPlugin } from './highlightMark'\nimport { EditorPlugin } from '../../../types'\n\
|
|
1
|
+
{"version":3,"file":"withHighlight.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/highlight/withHighlight.ts"],"sourcesContent":["import { Editor as SlateEditor } from 'slate'\nimport { highlightMarkPlugin } from './highlightMark'\nimport { EditorPlugin } from '../../../types'\n\nexport const withHighlight = (): EditorPlugin => editor => {\n\teditor.registerMark(highlightMarkPlugin)\n\n\treturn editor\n}\n"],"names":[],"mappings":";AAIO,MAAM,gBAAgB,MAAoB,CAAA,WAAU;AAC1D,SAAO,aAAa,mBAAmB;AAEvC,SAAO;AACR;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"italicMark.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/italic/italicMark.ts"],"sourcesContent":["import { isHotkey } from 'is-hotkey'\nimport { createElement } from 'react'\nimport { EditorMarkPlugin } from '../../../types'\n\nexport const italicMark = 'isItalic'\n\nexport const italicMarkPlugin: EditorMarkPlugin = {\n\ttype: italicMark,\n\tisHotKey: isHotkey('mod+i'),\n\trender: ({ children }) => createElement('i', undefined, children),\n}\n"],"names":["isHotkey","createElement"],"mappings":";;;;AAIO,MAAM,aAAa;AAEnB,MAAM,mBAAqC;AAAA,EACjD,MAAM;AAAA,EACN,UAAUA,
|
|
1
|
+
{"version":3,"file":"italicMark.cjs","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/italic/italicMark.ts"],"sourcesContent":["import { isHotkey } from 'is-hotkey'\nimport { createElement } from 'react'\nimport { EditorMarkPlugin } from '../../../types'\n\nexport const italicMark = 'isItalic'\n\nexport const italicMarkPlugin: EditorMarkPlugin = {\n\ttype: italicMark,\n\tisHotKey: isHotkey('mod+i'),\n\trender: ({ children }) => createElement('i', undefined, children),\n}\n"],"names":["isHotkey","createElement"],"mappings":";;;;AAIO,MAAM,aAAa;AAEnB,MAAM,mBAAqC;AAAA,EACjD,MAAM;AAAA,EACN,UAAUA,SAAAA,SAAS,OAAO;AAAA,EAC1B,QAAQ,CAAC,EAAE,SAAA,MAAeC,MAAAA,cAAc,KAAK,QAAW,QAAQ;AACjE;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"italicMark.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/italic/italicMark.ts"],"sourcesContent":["import { isHotkey } from 'is-hotkey'\nimport { createElement } from 'react'\nimport { EditorMarkPlugin } from '../../../types'\n\nexport const italicMark = 'isItalic'\n\nexport const italicMarkPlugin: EditorMarkPlugin = {\n\ttype: italicMark,\n\tisHotKey: isHotkey('mod+i'),\n\trender: ({ children }) => createElement('i', undefined, children),\n}\n"],"names":[],"mappings":";;AAIO,MAAM,aAAa;AAEnB,MAAM,mBAAqC;AAAA,EACjD,MAAM;AAAA,EACN,UAAU,SAAS,OAAO;AAAA,EAC1B,QAAQ,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"italicMark.js","sources":["../../../../../../../packages/react-slate-editor-base/src/plugins/text/italic/italicMark.ts"],"sourcesContent":["import { isHotkey } from 'is-hotkey'\nimport { createElement } from 'react'\nimport { EditorMarkPlugin } from '../../../types'\n\nexport const italicMark = 'isItalic'\n\nexport const italicMarkPlugin: EditorMarkPlugin = {\n\ttype: italicMark,\n\tisHotKey: isHotkey('mod+i'),\n\trender: ({ children }) => createElement('i', undefined, children),\n}\n"],"names":[],"mappings":";;AAIO,MAAM,aAAa;AAEnB,MAAM,mBAAqC;AAAA,EACjD,MAAM;AAAA,EACN,UAAU,SAAS,OAAO;AAAA,EAC1B,QAAQ,CAAC,EAAE,SAAA,MAAe,cAAc,KAAK,QAAW,QAAQ;AACjE;"}
|