@contember/react-slate-editor-base 2.0.0-alpha.2 → 2.0.0-alpha.21
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/api-extractor.json +3 -0
- package/dist/development/index.cjs +47 -47
- package/dist/development/index.js +47 -47
- package/dist/development/src/components/RichTextEditor.cjs +105 -0
- package/dist/development/src/components/RichTextEditor.cjs.map +1 -0
- package/dist/development/src/components/RichTextEditor.js +105 -0
- package/dist/development/src/components/RichTextEditor.js.map +1 -0
- package/dist/development/src/components/triggers/EditorElementTrigger.cjs +20 -0
- package/dist/development/src/components/triggers/EditorElementTrigger.cjs.map +1 -0
- package/dist/development/src/components/triggers/EditorElementTrigger.js +20 -0
- package/dist/development/src/components/triggers/EditorElementTrigger.js.map +1 -0
- package/dist/development/src/components/triggers/EditorGenericTrigger.cjs +24 -0
- package/dist/development/src/components/triggers/EditorGenericTrigger.cjs.map +1 -0
- package/dist/development/src/components/triggers/EditorGenericTrigger.js +24 -0
- package/dist/development/src/components/triggers/EditorGenericTrigger.js.map +1 -0
- package/dist/development/src/components/triggers/EditorMarkTrigger.cjs +20 -0
- package/dist/development/src/components/triggers/EditorMarkTrigger.cjs.map +1 -0
- package/dist/development/src/components/triggers/EditorMarkTrigger.js +20 -0
- package/dist/development/src/components/triggers/EditorMarkTrigger.js.map +1 -0
- package/dist/development/src/components/triggers/EditorWrapNodeTrigger.cjs +32 -0
- package/dist/development/src/components/triggers/EditorWrapNodeTrigger.cjs.map +1 -0
- package/dist/development/src/components/triggers/EditorWrapNodeTrigger.js +32 -0
- package/dist/development/src/components/triggers/EditorWrapNodeTrigger.js.map +1 -0
- package/dist/development/src/editor/createEditor.cjs +35 -0
- package/dist/development/src/editor/createEditor.cjs.map +1 -0
- package/dist/development/src/editor/createEditor.js.map +1 -0
- package/dist/development/src/editor/createEditorWithEssentials.cjs +227 -0
- package/dist/development/src/editor/createEditorWithEssentials.cjs.map +1 -0
- package/dist/development/src/editor/createEditorWithEssentials.js.map +1 -0
- package/dist/development/src/editor/index.cjs.map +1 -0
- package/dist/development/src/editor/index.js.map +1 -0
- package/dist/development/src/editor/methods/addMarks.cjs.map +1 -0
- package/dist/development/src/editor/methods/addMarks.js.map +1 -0
- package/dist/development/src/editor/methods/canToggleMark.cjs.map +1 -0
- package/dist/development/src/editor/methods/canToggleMark.js.map +1 -0
- package/dist/development/src/editor/methods/closest.cjs.map +1 -0
- package/dist/development/src/editor/methods/closest.js.map +1 -0
- package/dist/development/src/editor/methods/closestBlockEntry.cjs.map +1 -0
- package/dist/development/src/editor/methods/closestBlockEntry.js.map +1 -0
- package/dist/development/src/editor/methods/closestViableBlockContainerEntry.cjs.map +1 -0
- package/dist/development/src/editor/methods/closestViableBlockContainerEntry.js.map +1 -0
- package/dist/development/src/editor/methods/ejectElement.cjs.map +1 -0
- package/dist/development/src/editor/methods/ejectElement.js.map +1 -0
- package/dist/development/src/editor/methods/elementToSpecifics.cjs.map +1 -0
- package/dist/development/src/editor/methods/elementToSpecifics.js.map +1 -0
- package/dist/development/src/editor/methods/getElementDataAttributes.cjs.map +1 -0
- package/dist/development/src/editor/methods/getElementDataAttributes.js.map +1 -0
- package/dist/development/src/editor/methods/getPreviousSibling.cjs.map +1 -0
- package/dist/development/src/editor/methods/getPreviousSibling.js.map +1 -0
- package/dist/development/src/editor/methods/hasMarks.cjs.map +1 -0
- package/dist/development/src/editor/methods/hasMarks.js.map +1 -0
- package/dist/development/src/editor/methods/hasParentOfType.cjs.map +1 -0
- package/dist/development/src/editor/methods/hasParentOfType.js.map +1 -0
- package/dist/development/src/editor/methods/isElementType.cjs.map +1 -0
- package/dist/development/src/editor/methods/isElementType.js.map +1 -0
- package/dist/development/src/editor/methods/permissivelyDeserializeNodes.cjs.map +1 -0
- package/dist/development/src/editor/methods/permissivelyDeserializeNodes.js.map +1 -0
- package/dist/development/src/editor/methods/removeMarks.cjs.map +1 -0
- package/dist/development/src/editor/methods/removeMarks.js.map +1 -0
- package/dist/development/src/editor/methods/serializeNodes.cjs.map +1 -0
- package/dist/development/src/editor/methods/serializeNodes.js.map +1 -0
- package/dist/development/src/editor/methods/strictlyDeserializeNodes.cjs.map +1 -0
- package/dist/development/src/editor/methods/strictlyDeserializeNodes.js.map +1 -0
- package/dist/development/src/editor/methods/textToSpecifics.cjs.map +1 -0
- package/dist/development/src/editor/methods/textToSpecifics.js.map +1 -0
- package/dist/development/src/editor/methods/toLatestFormat.cjs.map +1 -0
- package/dist/development/src/editor/methods/toLatestFormat.js.map +1 -0
- package/dist/development/src/editor/methods/topLevelNodes.cjs.map +1 -0
- package/dist/development/src/editor/methods/topLevelNodes.js.map +1 -0
- package/dist/development/src/internal/components/DefaultElement.cjs +11 -0
- package/dist/development/src/internal/components/DefaultElement.cjs.map +1 -0
- package/dist/development/src/internal/components/DefaultElement.js.map +1 -0
- package/dist/development/src/internal/hooks/useRichTextFieldNodes.cjs.map +1 -0
- package/dist/development/src/internal/hooks/useRichTextFieldNodes.js.map +1 -0
- package/dist/development/src/internal/utils/EditorPasteUtils.cjs.map +1 -0
- package/dist/development/src/internal/utils/EditorPasteUtils.js.map +1 -0
- package/dist/development/src/internal/utils/parseUrl.cjs.map +1 -0
- package/dist/development/src/internal/utils/parseUrl.js.map +1 -0
- package/dist/development/src/plugins/attributes/alignment/alignButton.cjs.map +1 -0
- package/dist/development/src/plugins/attributes/alignment/alignButton.js.map +1 -0
- package/dist/development/src/plugins/behaviour/paste/HtmlDeserializer.cjs.map +1 -0
- package/dist/development/src/plugins/behaviour/paste/HtmlDeserializer.js.map +1 -0
- package/dist/development/src/plugins/behaviour/paste/createMarkHtmlDeserializer.cjs.map +1 -0
- package/dist/development/src/plugins/behaviour/paste/createMarkHtmlDeserializer.js.map +1 -0
- package/dist/development/src/plugins/behaviour/paste/withPaste.cjs.map +1 -0
- package/dist/development/src/plugins/behaviour/paste/withPaste.js.map +1 -0
- package/dist/development/src/plugins/element/anchors/AnchorElement.cjs.map +1 -0
- package/dist/development/src/plugins/element/anchors/AnchorElement.js.map +1 -0
- package/dist/development/src/plugins/element/anchors/AnchorHtmlDeserializer.cjs.map +1 -0
- package/dist/development/src/plugins/element/anchors/AnchorHtmlDeserializer.js.map +1 -0
- package/dist/development/src/plugins/element/anchors/AnchorModifications.cjs.map +1 -0
- package/dist/development/src/plugins/element/anchors/AnchorModifications.js.map +1 -0
- package/dist/development/src/plugins/element/anchors/withAnchors.cjs.map +1 -0
- package/dist/development/src/plugins/element/anchors/withAnchors.js.map +1 -0
- package/dist/development/src/plugins/element/headings/HeadingElement.cjs.map +1 -0
- package/dist/development/src/plugins/element/headings/HeadingElement.js.map +1 -0
- package/dist/development/src/plugins/element/headings/HeadingHtmlDeserializer.cjs.map +1 -0
- package/dist/development/src/plugins/element/headings/HeadingHtmlDeserializer.js.map +1 -0
- package/dist/development/src/plugins/element/headings/withHeadings.cjs.map +1 -0
- package/dist/development/src/plugins/element/headings/withHeadings.js.map +1 -0
- package/dist/development/src/plugins/element/horizonalRules/HorizontalRuleElement.cjs.map +1 -0
- package/dist/development/src/plugins/element/horizonalRules/HorizontalRuleElement.js.map +1 -0
- package/dist/development/src/plugins/element/horizonalRules/withHorizontalRules.cjs.map +1 -0
- package/dist/development/src/plugins/element/horizonalRules/withHorizontalRules.js.map +1 -0
- package/dist/development/src/plugins/element/lists/ListElement.cjs.map +1 -0
- package/dist/development/src/plugins/element/lists/ListElement.js.map +1 -0
- package/dist/development/src/plugins/element/lists/ListHtmlDeserializer.cjs.map +1 -0
- package/dist/development/src/plugins/element/lists/ListHtmlDeserializer.js.map +1 -0
- package/dist/development/src/plugins/element/lists/ListItemElement.cjs.map +1 -0
- package/dist/development/src/plugins/element/lists/ListItemElement.js.map +1 -0
- package/dist/development/src/plugins/element/lists/OrderedListElement.cjs.map +1 -0
- package/dist/development/src/plugins/element/lists/OrderedListElement.js.map +1 -0
- package/dist/development/src/plugins/element/lists/UnorderedListElement.cjs.map +1 -0
- package/dist/development/src/plugins/element/lists/UnorderedListElement.js.map +1 -0
- package/dist/development/src/plugins/element/lists/transforms/dedentListItem.cjs.map +1 -0
- package/dist/development/src/plugins/element/lists/transforms/dedentListItem.js.map +1 -0
- package/dist/development/src/plugins/element/lists/transforms/indentListItem.cjs.map +1 -0
- package/dist/development/src/plugins/element/lists/transforms/indentListItem.js.map +1 -0
- package/dist/development/src/plugins/element/lists/transforms/normalizeListElement.cjs.map +1 -0
- package/dist/development/src/plugins/element/lists/transforms/normalizeListElement.js.map +1 -0
- package/dist/development/src/plugins/element/lists/transforms/toggleListElement.cjs.map +1 -0
- package/dist/development/src/plugins/element/lists/transforms/toggleListElement.js.map +1 -0
- package/dist/development/src/plugins/element/lists/withLists.cjs.map +1 -0
- package/dist/development/src/plugins/element/lists/withLists.js.map +1 -0
- package/dist/development/src/plugins/element/paragraphs/ParagraphElement.cjs.map +1 -0
- package/dist/development/src/plugins/element/paragraphs/ParagraphElement.js.map +1 -0
- package/dist/development/src/plugins/element/paragraphs/ParagraphHtmlDeserializer.cjs.map +1 -0
- package/dist/development/src/plugins/element/paragraphs/ParagraphHtmlDeserializer.js.map +1 -0
- package/dist/development/src/plugins/element/paragraphs/withParagraphs.cjs.map +1 -0
- package/dist/development/src/plugins/element/paragraphs/withParagraphs.js.map +1 -0
- package/dist/development/src/plugins/element/scrollTargets/ScrollTargetElement.cjs.map +1 -0
- package/dist/development/src/plugins/element/scrollTargets/ScrollTargetElement.js.map +1 -0
- package/dist/development/src/plugins/element/scrollTargets/withScrollTargets.cjs.map +1 -0
- package/dist/development/src/plugins/element/scrollTargets/withScrollTargets.js.map +1 -0
- package/dist/development/src/plugins/element/tables/TableCellElement.cjs.map +1 -0
- package/dist/development/src/plugins/element/tables/TableCellElement.js.map +1 -0
- package/dist/development/src/plugins/element/tables/TableElement.cjs.map +1 -0
- package/dist/development/src/plugins/element/tables/TableElement.js.map +1 -0
- package/dist/development/src/plugins/element/tables/TableElementSelection.cjs.map +1 -0
- package/dist/development/src/plugins/element/tables/TableElementSelection.js.map +1 -0
- package/dist/development/src/plugins/element/tables/TableModifications.cjs +134 -0
- package/dist/development/src/plugins/element/tables/TableModifications.cjs.map +1 -0
- package/dist/development/src/plugins/element/tables/TableModifications.js +134 -0
- package/dist/development/src/plugins/element/tables/TableModifications.js.map +1 -0
- package/dist/development/src/plugins/element/tables/TableRowElement.cjs.map +1 -0
- package/dist/development/src/plugins/element/tables/TableRowElement.js.map +1 -0
- package/dist/development/src/plugins/element/tables/gaugeTableColumnCount.cjs.map +1 -0
- package/dist/development/src/plugins/element/tables/gaugeTableColumnCount.js.map +1 -0
- package/dist/development/src/plugins/element/tables/withTables.cjs.map +1 -0
- package/dist/development/src/plugins/element/tables/withTables.js.map +1 -0
- package/dist/development/src/plugins/text/bold/boldMark.cjs +13 -0
- package/dist/development/src/plugins/text/bold/boldMark.cjs.map +1 -0
- package/dist/development/src/plugins/text/bold/boldMark.js.map +1 -0
- package/dist/development/src/plugins/text/bold/withBold.cjs.map +1 -0
- package/dist/development/src/plugins/text/bold/withBold.js.map +1 -0
- package/dist/development/src/plugins/text/code/codeMark.cjs +13 -0
- package/dist/development/src/plugins/text/code/codeMark.cjs.map +1 -0
- package/dist/development/src/plugins/text/code/codeMark.js.map +1 -0
- package/dist/development/src/plugins/text/code/withCode.cjs.map +1 -0
- package/dist/development/src/plugins/text/code/withCode.js.map +1 -0
- package/dist/development/src/plugins/text/highlight/highlightMark.cjs +13 -0
- package/dist/development/src/plugins/text/highlight/highlightMark.cjs.map +1 -0
- package/dist/development/src/plugins/text/highlight/highlightMark.js.map +1 -0
- package/dist/development/src/plugins/text/highlight/withHighlight.cjs.map +1 -0
- package/dist/development/src/plugins/text/highlight/withHighlight.js.map +1 -0
- package/dist/development/src/plugins/text/italic/italicMark.cjs +13 -0
- package/dist/development/src/plugins/text/italic/italicMark.cjs.map +1 -0
- package/dist/development/src/plugins/text/italic/italicMark.js.map +1 -0
- package/dist/development/src/plugins/text/italic/withItalic.cjs.map +1 -0
- package/dist/development/src/plugins/text/italic/withItalic.js.map +1 -0
- package/dist/development/src/plugins/text/newline/withNewline.cjs.map +1 -0
- package/dist/development/src/plugins/text/newline/withNewline.js.map +1 -0
- package/dist/development/src/plugins/text/strikeThrough/strikeThroughMark.cjs +13 -0
- package/dist/development/src/plugins/text/strikeThrough/strikeThroughMark.cjs.map +1 -0
- package/dist/development/src/plugins/text/strikeThrough/strikeThroughMark.js.map +1 -0
- package/dist/development/src/plugins/text/strikeThrough/withStrikeThrough.cjs.map +1 -0
- package/dist/development/src/plugins/text/strikeThrough/withStrikeThrough.js.map +1 -0
- package/dist/development/src/plugins/text/underline/underlineMark.cjs +13 -0
- package/dist/development/src/plugins/text/underline/underlineMark.cjs.map +1 -0
- package/dist/development/src/plugins/text/underline/underlineMark.js.map +1 -0
- package/dist/development/src/plugins/text/underline/withUnderline.cjs.map +1 -0
- package/dist/development/src/plugins/text/underline/withUnderline.js.map +1 -0
- package/dist/development/src/slate-reexport.cjs.map +1 -0
- package/dist/development/src/slate-reexport.js.map +1 -0
- package/dist/production/index.cjs +47 -47
- package/dist/production/index.js +47 -47
- package/dist/production/src/components/RichTextEditor.cjs +93 -0
- package/dist/production/src/components/RichTextEditor.cjs.map +1 -0
- package/dist/production/src/components/RichTextEditor.js +93 -0
- package/dist/production/src/components/RichTextEditor.js.map +1 -0
- package/dist/production/src/components/triggers/EditorElementTrigger.cjs.map +1 -0
- package/dist/production/src/components/triggers/EditorElementTrigger.js.map +1 -0
- package/dist/production/src/components/triggers/EditorGenericTrigger.cjs.map +1 -0
- package/dist/production/src/components/triggers/EditorGenericTrigger.js.map +1 -0
- package/dist/production/src/components/triggers/EditorMarkTrigger.cjs.map +1 -0
- package/dist/production/src/components/triggers/EditorMarkTrigger.js.map +1 -0
- package/dist/production/src/components/triggers/EditorWrapNodeTrigger.cjs.map +1 -0
- package/dist/production/src/components/triggers/EditorWrapNodeTrigger.js.map +1 -0
- package/dist/production/src/editor/createEditor.cjs +35 -0
- package/dist/production/src/editor/createEditor.cjs.map +1 -0
- package/dist/production/src/editor/createEditor.js.map +1 -0
- package/dist/production/src/editor/createEditorWithEssentials.cjs +227 -0
- package/dist/production/src/editor/createEditorWithEssentials.cjs.map +1 -0
- package/dist/production/src/editor/createEditorWithEssentials.js.map +1 -0
- package/dist/production/src/editor/index.cjs.map +1 -0
- package/dist/production/src/editor/index.js.map +1 -0
- package/dist/production/src/editor/methods/addMarks.cjs.map +1 -0
- package/dist/production/src/editor/methods/addMarks.js.map +1 -0
- package/dist/production/src/editor/methods/canToggleMark.cjs.map +1 -0
- package/dist/production/src/editor/methods/canToggleMark.js.map +1 -0
- package/dist/production/src/editor/methods/closest.cjs.map +1 -0
- package/dist/production/src/editor/methods/closest.js.map +1 -0
- package/dist/production/src/editor/methods/closestBlockEntry.cjs.map +1 -0
- package/dist/production/src/editor/methods/closestBlockEntry.js.map +1 -0
- package/dist/production/src/editor/methods/closestViableBlockContainerEntry.cjs.map +1 -0
- package/dist/production/src/editor/methods/closestViableBlockContainerEntry.js.map +1 -0
- package/dist/production/src/editor/methods/ejectElement.cjs.map +1 -0
- package/dist/production/src/editor/methods/ejectElement.js.map +1 -0
- package/dist/production/src/editor/methods/elementToSpecifics.cjs.map +1 -0
- package/dist/production/src/editor/methods/elementToSpecifics.js.map +1 -0
- package/dist/production/src/editor/methods/getElementDataAttributes.cjs.map +1 -0
- package/dist/production/src/editor/methods/getElementDataAttributes.js.map +1 -0
- package/dist/production/src/editor/methods/getPreviousSibling.cjs.map +1 -0
- package/dist/production/src/editor/methods/getPreviousSibling.js.map +1 -0
- package/dist/production/src/editor/methods/hasMarks.cjs.map +1 -0
- package/dist/production/src/editor/methods/hasMarks.js.map +1 -0
- package/dist/production/src/editor/methods/hasParentOfType.cjs.map +1 -0
- package/dist/production/src/editor/methods/hasParentOfType.js.map +1 -0
- package/dist/production/src/editor/methods/isElementType.cjs.map +1 -0
- package/dist/production/src/editor/methods/isElementType.js.map +1 -0
- package/dist/production/src/editor/methods/permissivelyDeserializeNodes.cjs.map +1 -0
- package/dist/production/src/editor/methods/permissivelyDeserializeNodes.js.map +1 -0
- package/dist/production/src/editor/methods/removeMarks.cjs.map +1 -0
- package/dist/production/src/editor/methods/removeMarks.js.map +1 -0
- package/dist/production/src/editor/methods/serializeNodes.cjs.map +1 -0
- package/dist/production/src/editor/methods/serializeNodes.js.map +1 -0
- package/dist/production/src/editor/methods/strictlyDeserializeNodes.cjs.map +1 -0
- package/dist/production/src/editor/methods/strictlyDeserializeNodes.js.map +1 -0
- package/dist/production/src/editor/methods/textToSpecifics.cjs.map +1 -0
- package/dist/production/src/editor/methods/textToSpecifics.js.map +1 -0
- package/dist/production/src/editor/methods/toLatestFormat.cjs.map +1 -0
- package/dist/production/src/editor/methods/toLatestFormat.js.map +1 -0
- package/dist/production/src/editor/methods/topLevelNodes.cjs.map +1 -0
- package/dist/production/src/editor/methods/topLevelNodes.js.map +1 -0
- package/dist/production/src/internal/components/DefaultElement.cjs +11 -0
- package/dist/production/src/internal/components/DefaultElement.cjs.map +1 -0
- package/dist/production/src/internal/components/DefaultElement.js.map +1 -0
- package/dist/production/src/internal/hooks/useRichTextFieldNodes.cjs.map +1 -0
- package/dist/production/src/internal/hooks/useRichTextFieldNodes.js.map +1 -0
- package/dist/production/src/internal/utils/EditorPasteUtils.cjs.map +1 -0
- package/dist/production/src/internal/utils/EditorPasteUtils.js.map +1 -0
- package/dist/production/src/internal/utils/parseUrl.cjs.map +1 -0
- package/dist/production/src/internal/utils/parseUrl.js.map +1 -0
- package/dist/production/src/plugins/attributes/alignment/alignButton.cjs.map +1 -0
- package/dist/production/src/plugins/attributes/alignment/alignButton.js.map +1 -0
- package/dist/production/src/plugins/behaviour/paste/HtmlDeserializer.cjs.map +1 -0
- package/dist/production/src/plugins/behaviour/paste/HtmlDeserializer.js.map +1 -0
- package/dist/production/src/plugins/behaviour/paste/createMarkHtmlDeserializer.cjs.map +1 -0
- package/dist/production/src/plugins/behaviour/paste/createMarkHtmlDeserializer.js.map +1 -0
- package/dist/production/src/plugins/behaviour/paste/withPaste.cjs.map +1 -0
- package/dist/production/src/plugins/behaviour/paste/withPaste.js.map +1 -0
- package/dist/production/src/plugins/element/anchors/AnchorElement.cjs.map +1 -0
- package/dist/production/src/plugins/element/anchors/AnchorElement.js.map +1 -0
- package/dist/production/src/plugins/element/anchors/AnchorHtmlDeserializer.cjs.map +1 -0
- package/dist/production/src/plugins/element/anchors/AnchorHtmlDeserializer.js.map +1 -0
- package/dist/production/src/plugins/element/anchors/AnchorModifications.cjs.map +1 -0
- package/dist/production/src/plugins/element/anchors/AnchorModifications.js.map +1 -0
- package/dist/production/src/plugins/element/anchors/withAnchors.cjs.map +1 -0
- package/dist/production/src/plugins/element/anchors/withAnchors.js.map +1 -0
- package/dist/production/src/plugins/element/headings/HeadingElement.cjs.map +1 -0
- package/dist/production/src/plugins/element/headings/HeadingElement.js.map +1 -0
- package/dist/production/src/plugins/element/headings/HeadingHtmlDeserializer.cjs.map +1 -0
- package/dist/production/src/plugins/element/headings/HeadingHtmlDeserializer.js.map +1 -0
- package/dist/production/src/plugins/element/headings/withHeadings.cjs.map +1 -0
- package/dist/production/src/plugins/element/headings/withHeadings.js.map +1 -0
- package/dist/production/src/plugins/element/horizonalRules/HorizontalRuleElement.cjs.map +1 -0
- package/dist/production/src/plugins/element/horizonalRules/HorizontalRuleElement.js.map +1 -0
- package/dist/production/src/plugins/element/horizonalRules/withHorizontalRules.cjs.map +1 -0
- package/dist/production/src/plugins/element/horizonalRules/withHorizontalRules.js.map +1 -0
- package/dist/production/src/plugins/element/lists/ListElement.cjs.map +1 -0
- package/dist/production/src/plugins/element/lists/ListElement.js.map +1 -0
- package/dist/production/src/plugins/element/lists/ListHtmlDeserializer.cjs.map +1 -0
- package/dist/production/src/plugins/element/lists/ListHtmlDeserializer.js.map +1 -0
- package/dist/production/src/plugins/element/lists/ListItemElement.cjs.map +1 -0
- package/dist/production/src/plugins/element/lists/ListItemElement.js.map +1 -0
- package/dist/production/src/plugins/element/lists/OrderedListElement.cjs.map +1 -0
- package/dist/production/src/plugins/element/lists/OrderedListElement.js.map +1 -0
- package/dist/production/src/plugins/element/lists/UnorderedListElement.cjs.map +1 -0
- package/dist/production/src/plugins/element/lists/UnorderedListElement.js.map +1 -0
- package/dist/production/src/plugins/element/lists/transforms/dedentListItem.cjs.map +1 -0
- package/dist/production/src/plugins/element/lists/transforms/dedentListItem.js.map +1 -0
- package/dist/production/src/plugins/element/lists/transforms/indentListItem.cjs.map +1 -0
- package/dist/production/src/plugins/element/lists/transforms/indentListItem.js.map +1 -0
- package/dist/production/src/plugins/element/lists/transforms/normalizeListElement.cjs.map +1 -0
- package/dist/production/src/plugins/element/lists/transforms/normalizeListElement.js.map +1 -0
- package/dist/production/src/plugins/element/lists/transforms/toggleListElement.cjs.map +1 -0
- package/dist/production/src/plugins/element/lists/transforms/toggleListElement.js.map +1 -0
- package/dist/production/src/plugins/element/lists/withLists.cjs.map +1 -0
- package/dist/production/src/plugins/element/lists/withLists.js.map +1 -0
- package/dist/production/src/plugins/element/paragraphs/ParagraphElement.cjs.map +1 -0
- package/dist/production/src/plugins/element/paragraphs/ParagraphElement.js.map +1 -0
- package/dist/production/src/plugins/element/paragraphs/ParagraphHtmlDeserializer.cjs.map +1 -0
- package/dist/production/src/plugins/element/paragraphs/ParagraphHtmlDeserializer.js.map +1 -0
- package/dist/production/src/plugins/element/paragraphs/withParagraphs.cjs.map +1 -0
- package/dist/production/src/plugins/element/paragraphs/withParagraphs.js.map +1 -0
- package/dist/production/src/plugins/element/scrollTargets/ScrollTargetElement.cjs.map +1 -0
- package/dist/production/src/plugins/element/scrollTargets/ScrollTargetElement.js.map +1 -0
- package/dist/production/src/plugins/element/scrollTargets/withScrollTargets.cjs.map +1 -0
- package/dist/production/src/plugins/element/scrollTargets/withScrollTargets.js.map +1 -0
- package/dist/production/src/plugins/element/tables/TableCellElement.cjs.map +1 -0
- package/dist/production/src/plugins/element/tables/TableCellElement.js.map +1 -0
- package/dist/production/src/plugins/element/tables/TableElement.cjs.map +1 -0
- package/dist/production/src/plugins/element/tables/TableElement.js.map +1 -0
- package/dist/production/src/plugins/element/tables/TableElementSelection.cjs.map +1 -0
- package/dist/production/src/plugins/element/tables/TableElementSelection.js.map +1 -0
- package/dist/production/src/plugins/element/tables/TableModifications.cjs +134 -0
- package/dist/production/src/plugins/element/tables/TableModifications.cjs.map +1 -0
- package/dist/production/src/plugins/element/tables/TableModifications.js +134 -0
- package/dist/production/src/plugins/element/tables/TableModifications.js.map +1 -0
- package/dist/production/src/plugins/element/tables/TableRowElement.cjs.map +1 -0
- package/dist/production/src/plugins/element/tables/TableRowElement.js.map +1 -0
- package/dist/production/src/plugins/element/tables/gaugeTableColumnCount.cjs.map +1 -0
- package/dist/production/src/plugins/element/tables/gaugeTableColumnCount.js.map +1 -0
- package/dist/production/src/plugins/element/tables/withTables.cjs.map +1 -0
- package/dist/production/src/plugins/element/tables/withTables.js.map +1 -0
- package/dist/production/src/plugins/text/bold/boldMark.cjs +13 -0
- package/dist/production/src/plugins/text/bold/boldMark.cjs.map +1 -0
- package/dist/production/src/plugins/text/bold/boldMark.js.map +1 -0
- package/dist/production/src/plugins/text/bold/withBold.cjs.map +1 -0
- package/dist/production/src/plugins/text/bold/withBold.js.map +1 -0
- package/dist/production/src/plugins/text/code/codeMark.cjs +13 -0
- package/dist/production/src/plugins/text/code/codeMark.cjs.map +1 -0
- package/dist/production/src/plugins/text/code/codeMark.js.map +1 -0
- package/dist/production/src/plugins/text/code/withCode.cjs.map +1 -0
- package/dist/production/src/plugins/text/code/withCode.js.map +1 -0
- package/dist/production/src/plugins/text/highlight/highlightMark.cjs +13 -0
- package/dist/production/src/plugins/text/highlight/highlightMark.cjs.map +1 -0
- package/dist/production/src/plugins/text/highlight/highlightMark.js.map +1 -0
- package/dist/production/src/plugins/text/highlight/withHighlight.cjs.map +1 -0
- package/dist/production/src/plugins/text/highlight/withHighlight.js.map +1 -0
- package/dist/production/src/plugins/text/italic/italicMark.cjs +13 -0
- package/dist/production/src/plugins/text/italic/italicMark.cjs.map +1 -0
- package/dist/production/src/plugins/text/italic/italicMark.js.map +1 -0
- package/dist/production/src/plugins/text/italic/withItalic.cjs.map +1 -0
- package/dist/production/src/plugins/text/italic/withItalic.js.map +1 -0
- package/dist/production/src/plugins/text/newline/withNewline.cjs.map +1 -0
- package/dist/production/src/plugins/text/newline/withNewline.js.map +1 -0
- package/dist/production/src/plugins/text/strikeThrough/strikeThroughMark.cjs +13 -0
- package/dist/production/src/plugins/text/strikeThrough/strikeThroughMark.cjs.map +1 -0
- package/dist/production/src/plugins/text/strikeThrough/strikeThroughMark.js.map +1 -0
- package/dist/production/src/plugins/text/strikeThrough/withStrikeThrough.cjs.map +1 -0
- package/dist/production/src/plugins/text/strikeThrough/withStrikeThrough.js.map +1 -0
- package/dist/production/src/plugins/text/underline/underlineMark.cjs +13 -0
- package/dist/production/src/plugins/text/underline/underlineMark.cjs.map +1 -0
- package/dist/production/src/plugins/text/underline/underlineMark.js.map +1 -0
- package/dist/production/src/plugins/text/underline/withUnderline.cjs.map +1 -0
- package/dist/production/src/plugins/text/underline/withUnderline.js.map +1 -0
- package/dist/production/src/slate-reexport.cjs.map +1 -0
- package/dist/production/src/slate-reexport.js.map +1 -0
- package/dist/types/editor/createEditor.d.ts +1 -1
- package/dist/types/editor/createEditor.d.ts.map +1 -1
- package/dist/types/editor/index.d.ts +28 -28
- package/dist/types/editor/index.d.ts.map +1 -1
- package/dist/types/editor/methods/addMarks.d.ts +2 -1
- package/dist/types/editor/methods/addMarks.d.ts.map +1 -1
- package/dist/types/editor/methods/canToggleMark.d.ts +2 -1
- package/dist/types/editor/methods/canToggleMark.d.ts.map +1 -1
- package/dist/types/editor/methods/closest.d.ts +2 -2
- package/dist/types/editor/methods/closest.d.ts.map +1 -1
- package/dist/types/editor/methods/closestBlockEntry.d.ts +2 -2
- package/dist/types/editor/methods/closestBlockEntry.d.ts.map +1 -1
- package/dist/types/editor/methods/closestViableBlockContainerEntry.d.ts +1 -1
- package/dist/types/editor/methods/closestViableBlockContainerEntry.d.ts.map +1 -1
- package/dist/types/editor/methods/ejectElement.d.ts +2 -2
- package/dist/types/editor/methods/ejectElement.d.ts.map +1 -1
- package/dist/types/editor/methods/elementToSpecifics.d.ts +2 -1
- package/dist/types/editor/methods/elementToSpecifics.d.ts.map +1 -1
- package/dist/types/editor/methods/getElementDataAttributes.d.ts +2 -1
- package/dist/types/editor/methods/getElementDataAttributes.d.ts.map +1 -1
- package/dist/types/editor/methods/getPreviousSibling.d.ts +2 -2
- package/dist/types/editor/methods/getPreviousSibling.d.ts.map +1 -1
- package/dist/types/editor/methods/hasMarks.d.ts +2 -2
- package/dist/types/editor/methods/hasMarks.d.ts.map +1 -1
- package/dist/types/editor/methods/hasParentOfType.d.ts +2 -2
- package/dist/types/editor/methods/hasParentOfType.d.ts.map +1 -1
- package/dist/types/editor/methods/isElementType.d.ts +2 -2
- package/dist/types/editor/methods/isElementType.d.ts.map +1 -1
- package/dist/types/editor/methods/permissivelyDeserializeNodes.d.ts +2 -2
- package/dist/types/editor/methods/permissivelyDeserializeNodes.d.ts.map +1 -1
- package/dist/types/editor/methods/removeMarks.d.ts +2 -1
- package/dist/types/editor/methods/removeMarks.d.ts.map +1 -1
- package/dist/types/editor/methods/serializeNodes.d.ts +2 -2
- package/dist/types/editor/methods/serializeNodes.d.ts.map +1 -1
- package/dist/types/editor/methods/strictlyDeserializeNodes.d.ts +2 -2
- package/dist/types/editor/methods/strictlyDeserializeNodes.d.ts.map +1 -1
- package/dist/types/editor/methods/textToSpecifics.d.ts +2 -1
- package/dist/types/editor/methods/textToSpecifics.d.ts.map +1 -1
- package/dist/types/editor/methods/toLatestFormat.d.ts +2 -1
- package/dist/types/editor/methods/toLatestFormat.d.ts.map +1 -1
- package/dist/types/editor/methods/topLevelNodes.d.ts +2 -1
- package/dist/types/editor/methods/topLevelNodes.d.ts.map +1 -1
- package/dist/types/internal/utils/EditorPasteUtils.d.ts.map +1 -1
- package/dist/types/plugins/behaviour/paste/HtmlDeserializer.d.ts +1 -1
- package/dist/types/plugins/element/anchors/AnchorElement.d.ts.map +1 -1
- package/dist/types/plugins/element/anchors/withAnchors.d.ts +2 -1
- package/dist/types/plugins/element/anchors/withAnchors.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 +2 -1
- package/dist/types/plugins/element/headings/withHeadings.d.ts.map +1 -1
- package/dist/types/plugins/element/horizonalRules/HorizontalRuleElement.d.ts.map +1 -1
- package/dist/types/plugins/element/horizonalRules/withHorizontalRules.d.ts +2 -1
- package/dist/types/plugins/element/horizonalRules/withHorizontalRules.d.ts.map +1 -1
- package/dist/types/plugins/element/lists/ListElement.d.ts +1 -1
- package/dist/types/plugins/element/lists/ListElement.d.ts.map +1 -1
- package/dist/types/plugins/element/lists/ListItemElement.d.ts.map +1 -1
- package/dist/types/plugins/element/lists/OrderedListElement.d.ts.map +1 -1
- package/dist/types/plugins/element/lists/UnorderedListElement.d.ts.map +1 -1
- package/dist/types/plugins/element/lists/transforms/dedentListItem.d.ts.map +1 -1
- package/dist/types/plugins/element/lists/transforms/indentListItem.d.ts.map +1 -1
- package/dist/types/plugins/element/lists/transforms/toggleListElement.d.ts +1 -1
- package/dist/types/plugins/element/lists/transforms/toggleListElement.d.ts.map +1 -1
- package/dist/types/plugins/element/lists/withLists.d.ts +2 -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/withParagraphs.d.ts +2 -1
- package/dist/types/plugins/element/paragraphs/withParagraphs.d.ts.map +1 -1
- package/dist/types/plugins/element/scrollTargets/ScrollTargetElement.d.ts.map +1 -1
- package/dist/types/plugins/element/scrollTargets/withScrollTargets.d.ts +2 -1
- package/dist/types/plugins/element/scrollTargets/withScrollTargets.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/TableElementSelection.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 +2 -1
- package/dist/types/plugins/element/tables/withTables.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/types/editor.d.ts.map +1 -1
- package/dist/types/types/htmlDeserializer.d.ts.map +1 -1
- package/dist/types/types/plugins.d.ts +1 -2
- package/dist/types/types/plugins.d.ts.map +1 -1
- package/package.json +11 -19
- package/src/components/RichTextEditor.tsx +6 -6
- package/src/editor/createEditor.ts +2 -2
- package/src/editor/createEditorWithEssentials.tsx +2 -2
- package/src/internal/hooks/useRichTextFieldNodes.ts +6 -6
- package/src/internal/utils/EditorPasteUtils.ts +36 -36
- package/src/plugins/behaviour/paste/HtmlDeserializer.ts +1 -1
- package/src/plugins/element/lists/transforms/normalizeListElement.ts +1 -1
- package/src/plugins/element/tables/TableModifications.ts +3 -3
- package/src/tsconfig.json +0 -1
- package/src/types/editor.ts +1 -1
- package/src/types/htmlDeserializer.ts +14 -14
- package/src/types/plugins.ts +8 -9
- package/tsconfig.json +7 -0
- package/tsdoc.json +6 -0
- package/dist/development/components/RichTextEditor.cjs +0 -93
- package/dist/development/components/RichTextEditor.cjs.map +0 -1
- package/dist/development/components/RichTextEditor.js +0 -93
- package/dist/development/components/RichTextEditor.js.map +0 -1
- package/dist/development/components/triggers/EditorElementTrigger.cjs.map +0 -1
- package/dist/development/components/triggers/EditorElementTrigger.js.map +0 -1
- package/dist/development/components/triggers/EditorGenericTrigger.cjs.map +0 -1
- package/dist/development/components/triggers/EditorGenericTrigger.js.map +0 -1
- package/dist/development/components/triggers/EditorMarkTrigger.cjs.map +0 -1
- package/dist/development/components/triggers/EditorMarkTrigger.js.map +0 -1
- package/dist/development/components/triggers/EditorWrapNodeTrigger.cjs.map +0 -1
- package/dist/development/components/triggers/EditorWrapNodeTrigger.js.map +0 -1
- package/dist/development/editor/createEditor.cjs +0 -35
- package/dist/development/editor/createEditor.cjs.map +0 -1
- package/dist/development/editor/createEditor.js.map +0 -1
- package/dist/development/editor/createEditorWithEssentials.cjs +0 -227
- package/dist/development/editor/createEditorWithEssentials.cjs.map +0 -1
- package/dist/development/editor/createEditorWithEssentials.js.map +0 -1
- package/dist/development/editor/index.cjs.map +0 -1
- package/dist/development/editor/index.js.map +0 -1
- package/dist/development/editor/methods/addMarks.cjs.map +0 -1
- package/dist/development/editor/methods/addMarks.js.map +0 -1
- package/dist/development/editor/methods/canToggleMark.cjs.map +0 -1
- package/dist/development/editor/methods/canToggleMark.js.map +0 -1
- package/dist/development/editor/methods/closest.cjs.map +0 -1
- package/dist/development/editor/methods/closest.js.map +0 -1
- package/dist/development/editor/methods/closestBlockEntry.cjs.map +0 -1
- package/dist/development/editor/methods/closestBlockEntry.js.map +0 -1
- package/dist/development/editor/methods/closestViableBlockContainerEntry.cjs.map +0 -1
- package/dist/development/editor/methods/closestViableBlockContainerEntry.js.map +0 -1
- package/dist/development/editor/methods/ejectElement.cjs.map +0 -1
- package/dist/development/editor/methods/ejectElement.js.map +0 -1
- package/dist/development/editor/methods/elementToSpecifics.cjs.map +0 -1
- package/dist/development/editor/methods/elementToSpecifics.js.map +0 -1
- package/dist/development/editor/methods/getElementDataAttributes.cjs.map +0 -1
- package/dist/development/editor/methods/getElementDataAttributes.js.map +0 -1
- package/dist/development/editor/methods/getPreviousSibling.cjs.map +0 -1
- package/dist/development/editor/methods/getPreviousSibling.js.map +0 -1
- package/dist/development/editor/methods/hasMarks.cjs.map +0 -1
- package/dist/development/editor/methods/hasMarks.js.map +0 -1
- package/dist/development/editor/methods/hasParentOfType.cjs.map +0 -1
- package/dist/development/editor/methods/hasParentOfType.js.map +0 -1
- package/dist/development/editor/methods/isElementType.cjs.map +0 -1
- package/dist/development/editor/methods/isElementType.js.map +0 -1
- package/dist/development/editor/methods/permissivelyDeserializeNodes.cjs.map +0 -1
- package/dist/development/editor/methods/permissivelyDeserializeNodes.js.map +0 -1
- package/dist/development/editor/methods/removeMarks.cjs.map +0 -1
- package/dist/development/editor/methods/removeMarks.js.map +0 -1
- package/dist/development/editor/methods/serializeNodes.cjs.map +0 -1
- package/dist/development/editor/methods/serializeNodes.js.map +0 -1
- package/dist/development/editor/methods/strictlyDeserializeNodes.cjs.map +0 -1
- package/dist/development/editor/methods/strictlyDeserializeNodes.js.map +0 -1
- package/dist/development/editor/methods/textToSpecifics.cjs.map +0 -1
- package/dist/development/editor/methods/textToSpecifics.js.map +0 -1
- package/dist/development/editor/methods/toLatestFormat.cjs.map +0 -1
- package/dist/development/editor/methods/toLatestFormat.js.map +0 -1
- package/dist/development/editor/methods/topLevelNodes.cjs.map +0 -1
- package/dist/development/editor/methods/topLevelNodes.js.map +0 -1
- package/dist/development/internal/components/DefaultElement.cjs +0 -11
- package/dist/development/internal/components/DefaultElement.cjs.map +0 -1
- package/dist/development/internal/components/DefaultElement.js.map +0 -1
- package/dist/development/internal/hooks/useRichTextFieldNodes.cjs.map +0 -1
- package/dist/development/internal/hooks/useRichTextFieldNodes.js.map +0 -1
- package/dist/development/internal/utils/EditorPasteUtils.cjs.map +0 -1
- package/dist/development/internal/utils/EditorPasteUtils.js.map +0 -1
- package/dist/development/internal/utils/parseUrl.cjs.map +0 -1
- package/dist/development/internal/utils/parseUrl.js.map +0 -1
- package/dist/development/plugins/attributes/alignment/alignButton.cjs.map +0 -1
- package/dist/development/plugins/attributes/alignment/alignButton.js.map +0 -1
- package/dist/development/plugins/behaviour/paste/HtmlDeserializer.cjs.map +0 -1
- package/dist/development/plugins/behaviour/paste/HtmlDeserializer.js.map +0 -1
- package/dist/development/plugins/behaviour/paste/createMarkHtmlDeserializer.cjs.map +0 -1
- package/dist/development/plugins/behaviour/paste/createMarkHtmlDeserializer.js.map +0 -1
- package/dist/development/plugins/behaviour/paste/withPaste.cjs.map +0 -1
- package/dist/development/plugins/behaviour/paste/withPaste.js.map +0 -1
- package/dist/development/plugins/element/anchors/AnchorElement.cjs.map +0 -1
- package/dist/development/plugins/element/anchors/AnchorElement.js.map +0 -1
- package/dist/development/plugins/element/anchors/AnchorHtmlDeserializer.cjs.map +0 -1
- package/dist/development/plugins/element/anchors/AnchorHtmlDeserializer.js.map +0 -1
- package/dist/development/plugins/element/anchors/AnchorModifications.cjs.map +0 -1
- package/dist/development/plugins/element/anchors/AnchorModifications.js.map +0 -1
- package/dist/development/plugins/element/anchors/withAnchors.cjs.map +0 -1
- package/dist/development/plugins/element/anchors/withAnchors.js.map +0 -1
- package/dist/development/plugins/element/headings/HeadingElement.cjs.map +0 -1
- package/dist/development/plugins/element/headings/HeadingElement.js.map +0 -1
- package/dist/development/plugins/element/headings/HeadingHtmlDeserializer.cjs.map +0 -1
- package/dist/development/plugins/element/headings/HeadingHtmlDeserializer.js.map +0 -1
- package/dist/development/plugins/element/headings/withHeadings.cjs.map +0 -1
- package/dist/development/plugins/element/headings/withHeadings.js.map +0 -1
- package/dist/development/plugins/element/horizonalRules/HorizontalRuleElement.cjs.map +0 -1
- package/dist/development/plugins/element/horizonalRules/HorizontalRuleElement.js.map +0 -1
- package/dist/development/plugins/element/horizonalRules/withHorizontalRules.cjs.map +0 -1
- package/dist/development/plugins/element/horizonalRules/withHorizontalRules.js.map +0 -1
- package/dist/development/plugins/element/lists/ListElement.cjs.map +0 -1
- package/dist/development/plugins/element/lists/ListElement.js.map +0 -1
- package/dist/development/plugins/element/lists/ListHtmlDeserializer.cjs.map +0 -1
- package/dist/development/plugins/element/lists/ListHtmlDeserializer.js.map +0 -1
- package/dist/development/plugins/element/lists/ListItemElement.cjs.map +0 -1
- package/dist/development/plugins/element/lists/ListItemElement.js.map +0 -1
- package/dist/development/plugins/element/lists/OrderedListElement.cjs.map +0 -1
- package/dist/development/plugins/element/lists/OrderedListElement.js.map +0 -1
- package/dist/development/plugins/element/lists/UnorderedListElement.cjs.map +0 -1
- package/dist/development/plugins/element/lists/UnorderedListElement.js.map +0 -1
- package/dist/development/plugins/element/lists/transforms/dedentListItem.cjs.map +0 -1
- package/dist/development/plugins/element/lists/transforms/dedentListItem.js.map +0 -1
- package/dist/development/plugins/element/lists/transforms/indentListItem.cjs.map +0 -1
- package/dist/development/plugins/element/lists/transforms/indentListItem.js.map +0 -1
- package/dist/development/plugins/element/lists/transforms/normalizeListElement.cjs.map +0 -1
- package/dist/development/plugins/element/lists/transforms/normalizeListElement.js.map +0 -1
- package/dist/development/plugins/element/lists/transforms/toggleListElement.cjs.map +0 -1
- package/dist/development/plugins/element/lists/transforms/toggleListElement.js.map +0 -1
- package/dist/development/plugins/element/lists/withLists.cjs.map +0 -1
- package/dist/development/plugins/element/lists/withLists.js.map +0 -1
- package/dist/development/plugins/element/paragraphs/ParagraphElement.cjs.map +0 -1
- package/dist/development/plugins/element/paragraphs/ParagraphElement.js.map +0 -1
- package/dist/development/plugins/element/paragraphs/ParagraphHtmlDeserializer.cjs.map +0 -1
- package/dist/development/plugins/element/paragraphs/ParagraphHtmlDeserializer.js.map +0 -1
- package/dist/development/plugins/element/paragraphs/withParagraphs.cjs.map +0 -1
- package/dist/development/plugins/element/paragraphs/withParagraphs.js.map +0 -1
- package/dist/development/plugins/element/scrollTargets/ScrollTargetElement.cjs.map +0 -1
- package/dist/development/plugins/element/scrollTargets/ScrollTargetElement.js.map +0 -1
- package/dist/development/plugins/element/scrollTargets/withScrollTargets.cjs.map +0 -1
- package/dist/development/plugins/element/scrollTargets/withScrollTargets.js.map +0 -1
- package/dist/development/plugins/element/tables/TableCellElement.cjs.map +0 -1
- package/dist/development/plugins/element/tables/TableCellElement.js.map +0 -1
- package/dist/development/plugins/element/tables/TableElement.cjs.map +0 -1
- package/dist/development/plugins/element/tables/TableElement.js.map +0 -1
- package/dist/development/plugins/element/tables/TableElementSelection.cjs.map +0 -1
- package/dist/development/plugins/element/tables/TableElementSelection.js.map +0 -1
- package/dist/development/plugins/element/tables/TableModifications.cjs +0 -134
- package/dist/development/plugins/element/tables/TableModifications.cjs.map +0 -1
- package/dist/development/plugins/element/tables/TableModifications.js +0 -134
- package/dist/development/plugins/element/tables/TableModifications.js.map +0 -1
- package/dist/development/plugins/element/tables/TableRowElement.cjs.map +0 -1
- package/dist/development/plugins/element/tables/TableRowElement.js.map +0 -1
- package/dist/development/plugins/element/tables/gaugeTableColumnCount.cjs.map +0 -1
- package/dist/development/plugins/element/tables/gaugeTableColumnCount.js.map +0 -1
- package/dist/development/plugins/element/tables/withTables.cjs.map +0 -1
- package/dist/development/plugins/element/tables/withTables.js.map +0 -1
- package/dist/development/plugins/text/bold/boldMark.cjs +0 -13
- package/dist/development/plugins/text/bold/boldMark.cjs.map +0 -1
- package/dist/development/plugins/text/bold/boldMark.js.map +0 -1
- package/dist/development/plugins/text/bold/withBold.cjs.map +0 -1
- package/dist/development/plugins/text/bold/withBold.js.map +0 -1
- package/dist/development/plugins/text/code/codeMark.cjs +0 -13
- package/dist/development/plugins/text/code/codeMark.cjs.map +0 -1
- package/dist/development/plugins/text/code/codeMark.js.map +0 -1
- package/dist/development/plugins/text/code/withCode.cjs.map +0 -1
- package/dist/development/plugins/text/code/withCode.js.map +0 -1
- package/dist/development/plugins/text/highlight/highlightMark.cjs +0 -13
- package/dist/development/plugins/text/highlight/highlightMark.cjs.map +0 -1
- package/dist/development/plugins/text/highlight/highlightMark.js.map +0 -1
- package/dist/development/plugins/text/highlight/withHighlight.cjs.map +0 -1
- package/dist/development/plugins/text/highlight/withHighlight.js.map +0 -1
- package/dist/development/plugins/text/italic/italicMark.cjs +0 -13
- package/dist/development/plugins/text/italic/italicMark.cjs.map +0 -1
- package/dist/development/plugins/text/italic/italicMark.js.map +0 -1
- package/dist/development/plugins/text/italic/withItalic.cjs.map +0 -1
- package/dist/development/plugins/text/italic/withItalic.js.map +0 -1
- package/dist/development/plugins/text/newline/withNewline.cjs.map +0 -1
- package/dist/development/plugins/text/newline/withNewline.js.map +0 -1
- package/dist/development/plugins/text/strikeThrough/strikeThroughMark.cjs +0 -13
- package/dist/development/plugins/text/strikeThrough/strikeThroughMark.cjs.map +0 -1
- package/dist/development/plugins/text/strikeThrough/strikeThroughMark.js.map +0 -1
- package/dist/development/plugins/text/strikeThrough/withStrikeThrough.cjs.map +0 -1
- package/dist/development/plugins/text/strikeThrough/withStrikeThrough.js.map +0 -1
- package/dist/development/plugins/text/underline/underlineMark.cjs +0 -13
- package/dist/development/plugins/text/underline/underlineMark.cjs.map +0 -1
- package/dist/development/plugins/text/underline/underlineMark.js.map +0 -1
- package/dist/development/plugins/text/underline/withUnderline.cjs.map +0 -1
- package/dist/development/plugins/text/underline/withUnderline.js.map +0 -1
- package/dist/development/slate-reexport.cjs.map +0 -1
- package/dist/development/slate-reexport.js.map +0 -1
- package/dist/production/components/RichTextEditor.cjs +0 -93
- package/dist/production/components/RichTextEditor.cjs.map +0 -1
- package/dist/production/components/RichTextEditor.js +0 -93
- package/dist/production/components/RichTextEditor.js.map +0 -1
- package/dist/production/components/triggers/EditorElementTrigger.cjs +0 -16
- package/dist/production/components/triggers/EditorElementTrigger.cjs.map +0 -1
- package/dist/production/components/triggers/EditorElementTrigger.js +0 -16
- package/dist/production/components/triggers/EditorElementTrigger.js.map +0 -1
- package/dist/production/components/triggers/EditorGenericTrigger.cjs +0 -20
- package/dist/production/components/triggers/EditorGenericTrigger.cjs.map +0 -1
- package/dist/production/components/triggers/EditorGenericTrigger.js +0 -20
- package/dist/production/components/triggers/EditorGenericTrigger.js.map +0 -1
- package/dist/production/components/triggers/EditorMarkTrigger.cjs +0 -16
- package/dist/production/components/triggers/EditorMarkTrigger.cjs.map +0 -1
- package/dist/production/components/triggers/EditorMarkTrigger.js +0 -16
- package/dist/production/components/triggers/EditorMarkTrigger.js.map +0 -1
- package/dist/production/components/triggers/EditorWrapNodeTrigger.cjs +0 -28
- package/dist/production/components/triggers/EditorWrapNodeTrigger.cjs.map +0 -1
- package/dist/production/components/triggers/EditorWrapNodeTrigger.js +0 -28
- package/dist/production/components/triggers/EditorWrapNodeTrigger.js.map +0 -1
- package/dist/production/editor/createEditor.cjs +0 -35
- package/dist/production/editor/createEditor.cjs.map +0 -1
- package/dist/production/editor/createEditor.js.map +0 -1
- package/dist/production/editor/createEditorWithEssentials.cjs +0 -227
- package/dist/production/editor/createEditorWithEssentials.cjs.map +0 -1
- package/dist/production/editor/createEditorWithEssentials.js.map +0 -1
- package/dist/production/editor/index.cjs.map +0 -1
- package/dist/production/editor/index.js.map +0 -1
- package/dist/production/editor/methods/addMarks.cjs.map +0 -1
- package/dist/production/editor/methods/addMarks.js.map +0 -1
- package/dist/production/editor/methods/canToggleMark.cjs.map +0 -1
- package/dist/production/editor/methods/canToggleMark.js.map +0 -1
- package/dist/production/editor/methods/closest.cjs.map +0 -1
- package/dist/production/editor/methods/closest.js.map +0 -1
- package/dist/production/editor/methods/closestBlockEntry.cjs.map +0 -1
- package/dist/production/editor/methods/closestBlockEntry.js.map +0 -1
- package/dist/production/editor/methods/closestViableBlockContainerEntry.cjs.map +0 -1
- package/dist/production/editor/methods/closestViableBlockContainerEntry.js.map +0 -1
- package/dist/production/editor/methods/ejectElement.cjs.map +0 -1
- package/dist/production/editor/methods/ejectElement.js.map +0 -1
- package/dist/production/editor/methods/elementToSpecifics.cjs.map +0 -1
- package/dist/production/editor/methods/elementToSpecifics.js.map +0 -1
- package/dist/production/editor/methods/getElementDataAttributes.cjs.map +0 -1
- package/dist/production/editor/methods/getElementDataAttributes.js.map +0 -1
- package/dist/production/editor/methods/getPreviousSibling.cjs.map +0 -1
- package/dist/production/editor/methods/getPreviousSibling.js.map +0 -1
- package/dist/production/editor/methods/hasMarks.cjs.map +0 -1
- package/dist/production/editor/methods/hasMarks.js.map +0 -1
- package/dist/production/editor/methods/hasParentOfType.cjs.map +0 -1
- package/dist/production/editor/methods/hasParentOfType.js.map +0 -1
- package/dist/production/editor/methods/isElementType.cjs.map +0 -1
- package/dist/production/editor/methods/isElementType.js.map +0 -1
- package/dist/production/editor/methods/permissivelyDeserializeNodes.cjs.map +0 -1
- package/dist/production/editor/methods/permissivelyDeserializeNodes.js.map +0 -1
- package/dist/production/editor/methods/removeMarks.cjs.map +0 -1
- package/dist/production/editor/methods/removeMarks.js.map +0 -1
- package/dist/production/editor/methods/serializeNodes.cjs.map +0 -1
- package/dist/production/editor/methods/serializeNodes.js.map +0 -1
- package/dist/production/editor/methods/strictlyDeserializeNodes.cjs.map +0 -1
- package/dist/production/editor/methods/strictlyDeserializeNodes.js.map +0 -1
- package/dist/production/editor/methods/textToSpecifics.cjs.map +0 -1
- package/dist/production/editor/methods/textToSpecifics.js.map +0 -1
- package/dist/production/editor/methods/toLatestFormat.cjs.map +0 -1
- package/dist/production/editor/methods/toLatestFormat.js.map +0 -1
- package/dist/production/editor/methods/topLevelNodes.cjs.map +0 -1
- package/dist/production/editor/methods/topLevelNodes.js.map +0 -1
- package/dist/production/internal/components/DefaultElement.cjs +0 -11
- package/dist/production/internal/components/DefaultElement.cjs.map +0 -1
- package/dist/production/internal/components/DefaultElement.js.map +0 -1
- package/dist/production/internal/hooks/useRichTextFieldNodes.cjs.map +0 -1
- package/dist/production/internal/hooks/useRichTextFieldNodes.js.map +0 -1
- package/dist/production/internal/utils/EditorPasteUtils.cjs.map +0 -1
- package/dist/production/internal/utils/EditorPasteUtils.js.map +0 -1
- package/dist/production/internal/utils/parseUrl.cjs.map +0 -1
- package/dist/production/internal/utils/parseUrl.js.map +0 -1
- package/dist/production/plugins/attributes/alignment/alignButton.cjs.map +0 -1
- package/dist/production/plugins/attributes/alignment/alignButton.js.map +0 -1
- package/dist/production/plugins/behaviour/paste/HtmlDeserializer.cjs.map +0 -1
- package/dist/production/plugins/behaviour/paste/HtmlDeserializer.js.map +0 -1
- package/dist/production/plugins/behaviour/paste/createMarkHtmlDeserializer.cjs.map +0 -1
- package/dist/production/plugins/behaviour/paste/createMarkHtmlDeserializer.js.map +0 -1
- package/dist/production/plugins/behaviour/paste/withPaste.cjs.map +0 -1
- package/dist/production/plugins/behaviour/paste/withPaste.js.map +0 -1
- package/dist/production/plugins/element/anchors/AnchorElement.cjs.map +0 -1
- package/dist/production/plugins/element/anchors/AnchorElement.js.map +0 -1
- package/dist/production/plugins/element/anchors/AnchorHtmlDeserializer.cjs.map +0 -1
- package/dist/production/plugins/element/anchors/AnchorHtmlDeserializer.js.map +0 -1
- package/dist/production/plugins/element/anchors/AnchorModifications.cjs.map +0 -1
- package/dist/production/plugins/element/anchors/AnchorModifications.js.map +0 -1
- package/dist/production/plugins/element/anchors/withAnchors.cjs.map +0 -1
- package/dist/production/plugins/element/anchors/withAnchors.js.map +0 -1
- package/dist/production/plugins/element/headings/HeadingElement.cjs.map +0 -1
- package/dist/production/plugins/element/headings/HeadingElement.js.map +0 -1
- package/dist/production/plugins/element/headings/HeadingHtmlDeserializer.cjs.map +0 -1
- package/dist/production/plugins/element/headings/HeadingHtmlDeserializer.js.map +0 -1
- package/dist/production/plugins/element/headings/withHeadings.cjs.map +0 -1
- package/dist/production/plugins/element/headings/withHeadings.js.map +0 -1
- package/dist/production/plugins/element/horizonalRules/HorizontalRuleElement.cjs.map +0 -1
- package/dist/production/plugins/element/horizonalRules/HorizontalRuleElement.js.map +0 -1
- package/dist/production/plugins/element/horizonalRules/withHorizontalRules.cjs.map +0 -1
- package/dist/production/plugins/element/horizonalRules/withHorizontalRules.js.map +0 -1
- package/dist/production/plugins/element/lists/ListElement.cjs.map +0 -1
- package/dist/production/plugins/element/lists/ListElement.js.map +0 -1
- package/dist/production/plugins/element/lists/ListHtmlDeserializer.cjs.map +0 -1
- package/dist/production/plugins/element/lists/ListHtmlDeserializer.js.map +0 -1
- package/dist/production/plugins/element/lists/ListItemElement.cjs.map +0 -1
- package/dist/production/plugins/element/lists/ListItemElement.js.map +0 -1
- package/dist/production/plugins/element/lists/OrderedListElement.cjs.map +0 -1
- package/dist/production/plugins/element/lists/OrderedListElement.js.map +0 -1
- package/dist/production/plugins/element/lists/UnorderedListElement.cjs.map +0 -1
- package/dist/production/plugins/element/lists/UnorderedListElement.js.map +0 -1
- package/dist/production/plugins/element/lists/transforms/dedentListItem.cjs.map +0 -1
- package/dist/production/plugins/element/lists/transforms/dedentListItem.js.map +0 -1
- package/dist/production/plugins/element/lists/transforms/indentListItem.cjs.map +0 -1
- package/dist/production/plugins/element/lists/transforms/indentListItem.js.map +0 -1
- package/dist/production/plugins/element/lists/transforms/normalizeListElement.cjs.map +0 -1
- package/dist/production/plugins/element/lists/transforms/normalizeListElement.js.map +0 -1
- package/dist/production/plugins/element/lists/transforms/toggleListElement.cjs.map +0 -1
- package/dist/production/plugins/element/lists/transforms/toggleListElement.js.map +0 -1
- package/dist/production/plugins/element/lists/withLists.cjs.map +0 -1
- package/dist/production/plugins/element/lists/withLists.js.map +0 -1
- package/dist/production/plugins/element/paragraphs/ParagraphElement.cjs.map +0 -1
- package/dist/production/plugins/element/paragraphs/ParagraphElement.js.map +0 -1
- package/dist/production/plugins/element/paragraphs/ParagraphHtmlDeserializer.cjs.map +0 -1
- package/dist/production/plugins/element/paragraphs/ParagraphHtmlDeserializer.js.map +0 -1
- package/dist/production/plugins/element/paragraphs/withParagraphs.cjs.map +0 -1
- package/dist/production/plugins/element/paragraphs/withParagraphs.js.map +0 -1
- package/dist/production/plugins/element/scrollTargets/ScrollTargetElement.cjs.map +0 -1
- package/dist/production/plugins/element/scrollTargets/ScrollTargetElement.js.map +0 -1
- package/dist/production/plugins/element/scrollTargets/withScrollTargets.cjs.map +0 -1
- package/dist/production/plugins/element/scrollTargets/withScrollTargets.js.map +0 -1
- package/dist/production/plugins/element/tables/TableCellElement.cjs.map +0 -1
- package/dist/production/plugins/element/tables/TableCellElement.js.map +0 -1
- package/dist/production/plugins/element/tables/TableElement.cjs.map +0 -1
- package/dist/production/plugins/element/tables/TableElement.js.map +0 -1
- package/dist/production/plugins/element/tables/TableElementSelection.cjs.map +0 -1
- package/dist/production/plugins/element/tables/TableElementSelection.js.map +0 -1
- package/dist/production/plugins/element/tables/TableModifications.cjs +0 -134
- package/dist/production/plugins/element/tables/TableModifications.cjs.map +0 -1
- package/dist/production/plugins/element/tables/TableModifications.js +0 -134
- package/dist/production/plugins/element/tables/TableModifications.js.map +0 -1
- package/dist/production/plugins/element/tables/TableRowElement.cjs.map +0 -1
- package/dist/production/plugins/element/tables/TableRowElement.js.map +0 -1
- package/dist/production/plugins/element/tables/gaugeTableColumnCount.cjs.map +0 -1
- package/dist/production/plugins/element/tables/gaugeTableColumnCount.js.map +0 -1
- package/dist/production/plugins/element/tables/withTables.cjs.map +0 -1
- package/dist/production/plugins/element/tables/withTables.js.map +0 -1
- package/dist/production/plugins/text/bold/boldMark.cjs +0 -13
- package/dist/production/plugins/text/bold/boldMark.cjs.map +0 -1
- package/dist/production/plugins/text/bold/boldMark.js.map +0 -1
- package/dist/production/plugins/text/bold/withBold.cjs.map +0 -1
- package/dist/production/plugins/text/bold/withBold.js.map +0 -1
- package/dist/production/plugins/text/code/codeMark.cjs +0 -13
- package/dist/production/plugins/text/code/codeMark.cjs.map +0 -1
- package/dist/production/plugins/text/code/codeMark.js.map +0 -1
- package/dist/production/plugins/text/code/withCode.cjs.map +0 -1
- package/dist/production/plugins/text/code/withCode.js.map +0 -1
- package/dist/production/plugins/text/highlight/highlightMark.cjs +0 -13
- package/dist/production/plugins/text/highlight/highlightMark.cjs.map +0 -1
- package/dist/production/plugins/text/highlight/highlightMark.js.map +0 -1
- package/dist/production/plugins/text/highlight/withHighlight.cjs.map +0 -1
- package/dist/production/plugins/text/highlight/withHighlight.js.map +0 -1
- package/dist/production/plugins/text/italic/italicMark.cjs +0 -13
- package/dist/production/plugins/text/italic/italicMark.cjs.map +0 -1
- package/dist/production/plugins/text/italic/italicMark.js.map +0 -1
- package/dist/production/plugins/text/italic/withItalic.cjs.map +0 -1
- package/dist/production/plugins/text/italic/withItalic.js.map +0 -1
- package/dist/production/plugins/text/newline/withNewline.cjs.map +0 -1
- package/dist/production/plugins/text/newline/withNewline.js.map +0 -1
- package/dist/production/plugins/text/strikeThrough/strikeThroughMark.cjs +0 -13
- package/dist/production/plugins/text/strikeThrough/strikeThroughMark.cjs.map +0 -1
- package/dist/production/plugins/text/strikeThrough/strikeThroughMark.js.map +0 -1
- package/dist/production/plugins/text/strikeThrough/withStrikeThrough.cjs.map +0 -1
- package/dist/production/plugins/text/strikeThrough/withStrikeThrough.js.map +0 -1
- package/dist/production/plugins/text/underline/underlineMark.cjs +0 -13
- package/dist/production/plugins/text/underline/underlineMark.cjs.map +0 -1
- package/dist/production/plugins/text/underline/underlineMark.js.map +0 -1
- package/dist/production/plugins/text/underline/withUnderline.cjs.map +0 -1
- package/dist/production/plugins/text/underline/withUnderline.js.map +0 -1
- package/dist/production/slate-reexport.cjs.map +0 -1
- package/dist/production/slate-reexport.js.map +0 -1
- /package/dist/development/{editor → src/editor}/createEditor.js +0 -0
- /package/dist/development/{editor → src/editor}/createEditorWithEssentials.js +0 -0
- /package/dist/development/{editor → src/editor}/index.cjs +0 -0
- /package/dist/development/{editor → src/editor}/index.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/addMarks.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/addMarks.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/canToggleMark.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/canToggleMark.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/closest.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/closest.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/closestBlockEntry.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/closestBlockEntry.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/closestViableBlockContainerEntry.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/closestViableBlockContainerEntry.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/ejectElement.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/ejectElement.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/elementToSpecifics.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/elementToSpecifics.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/getElementDataAttributes.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/getElementDataAttributes.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/getPreviousSibling.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/getPreviousSibling.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/hasMarks.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/hasMarks.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/hasParentOfType.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/hasParentOfType.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/isElementType.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/isElementType.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/permissivelyDeserializeNodes.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/permissivelyDeserializeNodes.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/removeMarks.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/removeMarks.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/serializeNodes.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/serializeNodes.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/strictlyDeserializeNodes.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/strictlyDeserializeNodes.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/textToSpecifics.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/textToSpecifics.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/toLatestFormat.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/toLatestFormat.js +0 -0
- /package/dist/development/{editor → src/editor}/methods/topLevelNodes.cjs +0 -0
- /package/dist/development/{editor → src/editor}/methods/topLevelNodes.js +0 -0
- /package/dist/development/{internal → src/internal}/components/DefaultElement.js +0 -0
- /package/dist/development/{internal → src/internal}/hooks/useRichTextFieldNodes.cjs +0 -0
- /package/dist/development/{internal → src/internal}/hooks/useRichTextFieldNodes.js +0 -0
- /package/dist/development/{internal → src/internal}/utils/EditorPasteUtils.cjs +0 -0
- /package/dist/development/{internal → src/internal}/utils/EditorPasteUtils.js +0 -0
- /package/dist/development/{internal → src/internal}/utils/parseUrl.cjs +0 -0
- /package/dist/development/{internal → src/internal}/utils/parseUrl.js +0 -0
- /package/dist/development/{plugins → src/plugins}/attributes/alignment/alignButton.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/attributes/alignment/alignButton.js +0 -0
- /package/dist/development/{plugins → src/plugins}/behaviour/paste/HtmlDeserializer.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/behaviour/paste/HtmlDeserializer.js +0 -0
- /package/dist/development/{plugins → src/plugins}/behaviour/paste/createMarkHtmlDeserializer.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/behaviour/paste/createMarkHtmlDeserializer.js +0 -0
- /package/dist/development/{plugins → src/plugins}/behaviour/paste/withPaste.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/behaviour/paste/withPaste.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/anchors/AnchorElement.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/anchors/AnchorElement.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/anchors/AnchorHtmlDeserializer.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/anchors/AnchorHtmlDeserializer.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/anchors/AnchorModifications.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/anchors/AnchorModifications.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/anchors/withAnchors.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/anchors/withAnchors.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/headings/HeadingElement.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/headings/HeadingElement.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/headings/HeadingHtmlDeserializer.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/headings/HeadingHtmlDeserializer.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/headings/withHeadings.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/headings/withHeadings.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/horizonalRules/HorizontalRuleElement.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/horizonalRules/HorizontalRuleElement.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/horizonalRules/withHorizontalRules.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/horizonalRules/withHorizontalRules.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/ListElement.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/ListElement.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/ListHtmlDeserializer.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/ListHtmlDeserializer.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/ListItemElement.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/ListItemElement.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/OrderedListElement.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/OrderedListElement.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/UnorderedListElement.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/UnorderedListElement.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/transforms/dedentListItem.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/transforms/dedentListItem.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/transforms/indentListItem.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/transforms/indentListItem.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/transforms/normalizeListElement.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/transforms/normalizeListElement.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/transforms/toggleListElement.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/transforms/toggleListElement.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/withLists.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/lists/withLists.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/paragraphs/ParagraphElement.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/paragraphs/ParagraphElement.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/paragraphs/ParagraphHtmlDeserializer.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/paragraphs/ParagraphHtmlDeserializer.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/paragraphs/withParagraphs.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/paragraphs/withParagraphs.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/scrollTargets/ScrollTargetElement.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/scrollTargets/ScrollTargetElement.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/scrollTargets/withScrollTargets.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/scrollTargets/withScrollTargets.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/tables/TableCellElement.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/tables/TableCellElement.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/tables/TableElement.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/tables/TableElement.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/tables/TableElementSelection.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/tables/TableElementSelection.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/tables/TableRowElement.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/tables/TableRowElement.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/tables/gaugeTableColumnCount.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/tables/gaugeTableColumnCount.js +0 -0
- /package/dist/development/{plugins → src/plugins}/element/tables/withTables.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/element/tables/withTables.js +0 -0
- /package/dist/development/{plugins → src/plugins}/text/bold/boldMark.js +0 -0
- /package/dist/development/{plugins → src/plugins}/text/bold/withBold.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/text/bold/withBold.js +0 -0
- /package/dist/development/{plugins → src/plugins}/text/code/codeMark.js +0 -0
- /package/dist/development/{plugins → src/plugins}/text/code/withCode.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/text/code/withCode.js +0 -0
- /package/dist/development/{plugins → src/plugins}/text/highlight/highlightMark.js +0 -0
- /package/dist/development/{plugins → src/plugins}/text/highlight/withHighlight.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/text/highlight/withHighlight.js +0 -0
- /package/dist/development/{plugins → src/plugins}/text/italic/italicMark.js +0 -0
- /package/dist/development/{plugins → src/plugins}/text/italic/withItalic.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/text/italic/withItalic.js +0 -0
- /package/dist/development/{plugins → src/plugins}/text/newline/withNewline.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/text/newline/withNewline.js +0 -0
- /package/dist/development/{plugins → src/plugins}/text/strikeThrough/strikeThroughMark.js +0 -0
- /package/dist/development/{plugins → src/plugins}/text/strikeThrough/withStrikeThrough.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/text/strikeThrough/withStrikeThrough.js +0 -0
- /package/dist/development/{plugins → src/plugins}/text/underline/underlineMark.js +0 -0
- /package/dist/development/{plugins → src/plugins}/text/underline/withUnderline.cjs +0 -0
- /package/dist/development/{plugins → src/plugins}/text/underline/withUnderline.js +0 -0
- /package/dist/development/{slate-reexport.cjs → src/slate-reexport.cjs} +0 -0
- /package/dist/development/{slate-reexport.js → src/slate-reexport.js} +0 -0
- /package/dist/{development → production/src}/components/triggers/EditorElementTrigger.cjs +0 -0
- /package/dist/{development → production/src}/components/triggers/EditorElementTrigger.js +0 -0
- /package/dist/{development → production/src}/components/triggers/EditorGenericTrigger.cjs +0 -0
- /package/dist/{development → production/src}/components/triggers/EditorGenericTrigger.js +0 -0
- /package/dist/{development → production/src}/components/triggers/EditorMarkTrigger.cjs +0 -0
- /package/dist/{development → production/src}/components/triggers/EditorMarkTrigger.js +0 -0
- /package/dist/{development → production/src}/components/triggers/EditorWrapNodeTrigger.cjs +0 -0
- /package/dist/{development → production/src}/components/triggers/EditorWrapNodeTrigger.js +0 -0
- /package/dist/production/{editor → src/editor}/createEditor.js +0 -0
- /package/dist/production/{editor → src/editor}/createEditorWithEssentials.js +0 -0
- /package/dist/production/{editor → src/editor}/index.cjs +0 -0
- /package/dist/production/{editor → src/editor}/index.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/addMarks.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/addMarks.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/canToggleMark.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/canToggleMark.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/closest.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/closest.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/closestBlockEntry.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/closestBlockEntry.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/closestViableBlockContainerEntry.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/closestViableBlockContainerEntry.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/ejectElement.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/ejectElement.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/elementToSpecifics.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/elementToSpecifics.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/getElementDataAttributes.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/getElementDataAttributes.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/getPreviousSibling.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/getPreviousSibling.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/hasMarks.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/hasMarks.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/hasParentOfType.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/hasParentOfType.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/isElementType.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/isElementType.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/permissivelyDeserializeNodes.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/permissivelyDeserializeNodes.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/removeMarks.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/removeMarks.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/serializeNodes.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/serializeNodes.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/strictlyDeserializeNodes.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/strictlyDeserializeNodes.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/textToSpecifics.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/textToSpecifics.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/toLatestFormat.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/toLatestFormat.js +0 -0
- /package/dist/production/{editor → src/editor}/methods/topLevelNodes.cjs +0 -0
- /package/dist/production/{editor → src/editor}/methods/topLevelNodes.js +0 -0
- /package/dist/production/{internal → src/internal}/components/DefaultElement.js +0 -0
- /package/dist/production/{internal → src/internal}/hooks/useRichTextFieldNodes.cjs +0 -0
- /package/dist/production/{internal → src/internal}/hooks/useRichTextFieldNodes.js +0 -0
- /package/dist/production/{internal → src/internal}/utils/EditorPasteUtils.cjs +0 -0
- /package/dist/production/{internal → src/internal}/utils/EditorPasteUtils.js +0 -0
- /package/dist/production/{internal → src/internal}/utils/parseUrl.cjs +0 -0
- /package/dist/production/{internal → src/internal}/utils/parseUrl.js +0 -0
- /package/dist/production/{plugins → src/plugins}/attributes/alignment/alignButton.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/attributes/alignment/alignButton.js +0 -0
- /package/dist/production/{plugins → src/plugins}/behaviour/paste/HtmlDeserializer.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/behaviour/paste/HtmlDeserializer.js +0 -0
- /package/dist/production/{plugins → src/plugins}/behaviour/paste/createMarkHtmlDeserializer.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/behaviour/paste/createMarkHtmlDeserializer.js +0 -0
- /package/dist/production/{plugins → src/plugins}/behaviour/paste/withPaste.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/behaviour/paste/withPaste.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/anchors/AnchorElement.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/anchors/AnchorElement.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/anchors/AnchorHtmlDeserializer.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/anchors/AnchorHtmlDeserializer.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/anchors/AnchorModifications.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/anchors/AnchorModifications.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/anchors/withAnchors.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/anchors/withAnchors.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/headings/HeadingElement.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/headings/HeadingElement.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/headings/HeadingHtmlDeserializer.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/headings/HeadingHtmlDeserializer.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/headings/withHeadings.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/headings/withHeadings.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/horizonalRules/HorizontalRuleElement.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/horizonalRules/HorizontalRuleElement.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/horizonalRules/withHorizontalRules.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/horizonalRules/withHorizontalRules.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/ListElement.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/ListElement.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/ListHtmlDeserializer.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/ListHtmlDeserializer.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/ListItemElement.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/ListItemElement.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/OrderedListElement.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/OrderedListElement.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/UnorderedListElement.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/UnorderedListElement.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/transforms/dedentListItem.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/transforms/dedentListItem.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/transforms/indentListItem.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/transforms/indentListItem.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/transforms/normalizeListElement.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/transforms/normalizeListElement.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/transforms/toggleListElement.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/transforms/toggleListElement.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/withLists.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/lists/withLists.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/paragraphs/ParagraphElement.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/paragraphs/ParagraphElement.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/paragraphs/ParagraphHtmlDeserializer.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/paragraphs/ParagraphHtmlDeserializer.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/paragraphs/withParagraphs.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/paragraphs/withParagraphs.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/scrollTargets/ScrollTargetElement.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/scrollTargets/ScrollTargetElement.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/scrollTargets/withScrollTargets.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/scrollTargets/withScrollTargets.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/tables/TableCellElement.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/tables/TableCellElement.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/tables/TableElement.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/tables/TableElement.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/tables/TableElementSelection.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/tables/TableElementSelection.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/tables/TableRowElement.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/tables/TableRowElement.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/tables/gaugeTableColumnCount.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/tables/gaugeTableColumnCount.js +0 -0
- /package/dist/production/{plugins → src/plugins}/element/tables/withTables.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/element/tables/withTables.js +0 -0
- /package/dist/production/{plugins → src/plugins}/text/bold/boldMark.js +0 -0
- /package/dist/production/{plugins → src/plugins}/text/bold/withBold.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/text/bold/withBold.js +0 -0
- /package/dist/production/{plugins → src/plugins}/text/code/codeMark.js +0 -0
- /package/dist/production/{plugins → src/plugins}/text/code/withCode.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/text/code/withCode.js +0 -0
- /package/dist/production/{plugins → src/plugins}/text/highlight/highlightMark.js +0 -0
- /package/dist/production/{plugins → src/plugins}/text/highlight/withHighlight.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/text/highlight/withHighlight.js +0 -0
- /package/dist/production/{plugins → src/plugins}/text/italic/italicMark.js +0 -0
- /package/dist/production/{plugins → src/plugins}/text/italic/withItalic.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/text/italic/withItalic.js +0 -0
- /package/dist/production/{plugins → src/plugins}/text/newline/withNewline.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/text/newline/withNewline.js +0 -0
- /package/dist/production/{plugins → src/plugins}/text/strikeThrough/strikeThroughMark.js +0 -0
- /package/dist/production/{plugins → src/plugins}/text/strikeThrough/withStrikeThrough.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/text/strikeThrough/withStrikeThrough.js +0 -0
- /package/dist/production/{plugins → src/plugins}/text/underline/underlineMark.js +0 -0
- /package/dist/production/{plugins → src/plugins}/text/underline/withUnderline.cjs +0 -0
- /package/dist/production/{plugins → src/plugins}/text/underline/withUnderline.js +0 -0
- /package/dist/production/{slate-reexport.cjs → src/slate-reexport.cjs} +0 -0
- /package/dist/production/{slate-reexport.js → src/slate-reexport.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderedListElement.js","sources":["../../../../../src/plugins/element/lists/OrderedListElement.ts"],"sourcesContent":["import { Editor as SlateEditor, Element as SlateElement, Node as SlateNode } from 'slate'\nimport { ContemberEditor } from '../../../editor'\nimport { getParentListElement } from './ListElement'\nimport { unorderedListElementType } from './UnorderedListElement'\nimport { normalizeListElement, toggleListElement } from './transforms'\nimport { EditorElementPlugin, ElementRenderer } from '../../../types'\n\nexport const orderedListElementType = 'orderedList' as const\n\nexport interface OrderedListElement extends SlateElement {\n\ttype: typeof orderedListElementType\n\tchildren: SlateEditor['children']\n}\n\nexport const isOrderedListElement = (\n\telement: SlateNode,\n\tsuchThat?: Partial<OrderedListElement>,\n): element is OrderedListElement => ContemberEditor.isElementType(element, orderedListElementType, suchThat)\n\nexport const orderedListElementPlugin = ({ render }: { render: ElementRenderer<OrderedListElement> }): EditorElementPlugin<OrderedListElement> => ({\n\ttype: orderedListElementType,\n\trender,\n\tisActive: ({ editor, suchThat }) => {\n\t\tconst list = getParentListElement(editor)\n\t\treturn list ? isOrderedListElement(list, suchThat) : false\n\t},\n\ttoggleElement: ({ editor, suchThat }) => {\n\t\ttoggleListElement(editor, orderedListElementType, suchThat, unorderedListElementType)\n\t},\n\tnormalizeNode: normalizeListElement,\n})\n"],"names":[],"mappings":";;;;;AAOO,MAAM,yBAAyB;AAOzB,MAAA,uBAAuB,CACnC,SACA,aACmC,gBAAgB,cAAc,SAAS,wBAAwB,QAAQ;AAEpG,MAAM,2BAA2B,CAAC,EAAE,cAAwG;AAAA,EAClJ,MAAM;AAAA,EACN;AAAA,EACA,UAAU,CAAC,EAAE,QAAQ,eAAe;AAC7B,UAAA,OAAO,qBAAqB,MAAM;AACxC,WAAO,OAAO,qBAAqB,MAAM,QAAQ,IAAI;AAAA,EACtD;AAAA,EACA,eAAe,CAAC,EAAE,QAAQ,eAAe;AACtB,sBAAA,QAAQ,wBAAwB,UAAU,wBAAwB;AAAA,EACrF;AAAA,EACA,eAAe;AAChB;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UnorderedListElement.cjs","sources":["../../../../../src/plugins/element/lists/UnorderedListElement.ts"],"sourcesContent":["import { Editor as SlateEditor, Element as SlateElement, Node as SlateNode } from 'slate'\nimport { ContemberEditor } from '../../../editor'\nimport { getParentListElement } from './ListElement'\nimport { orderedListElementType } from './OrderedListElement'\nimport { normalizeListElement, toggleListElement } from './transforms'\nimport { EditorElementPlugin, ElementRenderer } from '../../../types'\n\nexport const unorderedListElementType = 'unorderedList' as const\n\nexport interface UnorderedListElement extends SlateElement {\n\ttype: typeof unorderedListElementType\n\tchildren: SlateEditor['children']\n}\n\nexport const isUnorderedListElement = (\n\telement: SlateNode,\n\tsuchThat?: Partial<UnorderedListElement>,\n): element is UnorderedListElement => ContemberEditor.isElementType(element, unorderedListElementType, suchThat)\n\nexport const unorderedListElementPlugin = ({ render }: { render: ElementRenderer<UnorderedListElement> }): EditorElementPlugin<UnorderedListElement> => ({\n\ttype: unorderedListElementType,\n\trender,\n\tisActive: ({ editor, suchThat }) => {\n\t\tconst list = getParentListElement(editor)\n\t\treturn list ? isUnorderedListElement(list, suchThat) : false\n\t},\n\ttoggleElement: ({ editor, suchThat }) => {\n\t\ttoggleListElement(editor, unorderedListElementType, suchThat, orderedListElementType)\n\t},\n\tnormalizeNode: normalizeListElement,\n})\n"],"names":["ContemberEditor","getParentListElement","toggleListElement","orderedListElementType","normalizeListElement"],"mappings":";;;;;;;AAOO,MAAM,2BAA2B;AAO3B,MAAA,yBAAyB,CACrC,SACA,aACqCA,MAAAA,gBAAgB,cAAc,SAAS,0BAA0B,QAAQ;AAExG,MAAM,6BAA6B,CAAC,EAAE,cAA4G;AAAA,EACxJ,MAAM;AAAA,EACN;AAAA,EACA,UAAU,CAAC,EAAE,QAAQ,eAAe;AAC7B,UAAA,OAAOC,iCAAqB,MAAM;AACxC,WAAO,OAAO,uBAAuB,MAAM,QAAQ,IAAI;AAAA,EACxD;AAAA,EACA,eAAe,CAAC,EAAE,QAAQ,eAAe;AACtBC,sBAAAA,kBAAA,QAAQ,0BAA0B,UAAUC,mBAAsB,sBAAA;AAAA,EACrF;AAAA,EACA,eAAeC,qBAAA;AAChB;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UnorderedListElement.js","sources":["../../../../../src/plugins/element/lists/UnorderedListElement.ts"],"sourcesContent":["import { Editor as SlateEditor, Element as SlateElement, Node as SlateNode } from 'slate'\nimport { ContemberEditor } from '../../../editor'\nimport { getParentListElement } from './ListElement'\nimport { orderedListElementType } from './OrderedListElement'\nimport { normalizeListElement, toggleListElement } from './transforms'\nimport { EditorElementPlugin, ElementRenderer } from '../../../types'\n\nexport const unorderedListElementType = 'unorderedList' as const\n\nexport interface UnorderedListElement extends SlateElement {\n\ttype: typeof unorderedListElementType\n\tchildren: SlateEditor['children']\n}\n\nexport const isUnorderedListElement = (\n\telement: SlateNode,\n\tsuchThat?: Partial<UnorderedListElement>,\n): element is UnorderedListElement => ContemberEditor.isElementType(element, unorderedListElementType, suchThat)\n\nexport const unorderedListElementPlugin = ({ render }: { render: ElementRenderer<UnorderedListElement> }): EditorElementPlugin<UnorderedListElement> => ({\n\ttype: unorderedListElementType,\n\trender,\n\tisActive: ({ editor, suchThat }) => {\n\t\tconst list = getParentListElement(editor)\n\t\treturn list ? isUnorderedListElement(list, suchThat) : false\n\t},\n\ttoggleElement: ({ editor, suchThat }) => {\n\t\ttoggleListElement(editor, unorderedListElementType, suchThat, orderedListElementType)\n\t},\n\tnormalizeNode: normalizeListElement,\n})\n"],"names":[],"mappings":";;;;;AAOO,MAAM,2BAA2B;AAO3B,MAAA,yBAAyB,CACrC,SACA,aACqC,gBAAgB,cAAc,SAAS,0BAA0B,QAAQ;AAExG,MAAM,6BAA6B,CAAC,EAAE,cAA4G;AAAA,EACxJ,MAAM;AAAA,EACN;AAAA,EACA,UAAU,CAAC,EAAE,QAAQ,eAAe;AAC7B,UAAA,OAAO,qBAAqB,MAAM;AACxC,WAAO,OAAO,uBAAuB,MAAM,QAAQ,IAAI;AAAA,EACxD;AAAA,EACA,eAAe,CAAC,EAAE,QAAQ,eAAe;AACtB,sBAAA,QAAQ,0BAA0B,UAAU,sBAAsB;AAAA,EACrF;AAAA,EACA,eAAe;AAChB;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dedentListItem.cjs","sources":["../../../../../../src/plugins/element/lists/transforms/dedentListItem.ts"],"sourcesContent":["import { Editor, Element as SlateElement, Node as SlateNode, Path as SlatePath, Transforms } from 'slate'\nimport { ContemberEditor } from '../../../../editor'\nimport type { ListItemElement } from '../ListItemElement'\nimport { indentListItem } from './indentListItem'\nimport { isListElement } from '../ListElement'\nimport { isListItemElement } from '../ListItemElement'\n\nexport const dedentListItem = (\n\teditor: Editor,\n\tlistItem: ListItemElement,\n\tlistItemPath: SlatePath,\n): boolean => {\n\tconst parentListPath = SlatePath.parent(listItemPath)\n\tconst parentListElement = SlateNode.get(editor, parentListPath) as SlateElement\n\tconst parentListChildrenCount = parentListElement.children.length\n\tconst subsequentListItemCount = parentListChildrenCount - listItemPath[listItemPath.length - 1] - 1\n\n\tif (!isListElement(parentListElement) || parentListPath.length <= 1) {\n\t\treturn false\n\t}\n\tconst parentListItemPath = SlatePath.parent(parentListPath)\n\tconst parentListItemElement = SlateNode.get(editor, parentListItemPath)\n\n\tif (!isListItemElement(parentListItemElement)) {\n\t\treturn false\n\t}\n\n\tconst grandParentListPath = SlatePath.parent(parentListItemPath)\n\tconst grandParentListElement = SlateNode.get(editor, grandParentListPath)\n\n\tif (!isListElement(grandParentListElement)) {\n\t\treturn false\n\t}\n\tconst parentListElementSpecifics = ContemberEditor.elementToSpecifics(parentListElement)\n\tconst parentAndGrandParentAreCompatible = ContemberEditor.isElementType(\n\t\tgrandParentListElement,\n\t\tparentListElement.type,\n\t\tparentListElementSpecifics as any,\n\t)\n\n\t// TODO we need to handle following siblings!!!\n\n\tif (parentAndGrandParentAreCompatible) {\n\t\tconst newListItemPath = SlatePath.next(parentListItemPath)\n\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\tif (subsequentListItemCount) {\n\t\t\t\tconst nextSiblingPath = SlatePath.next(listItemPath)\n\t\t\t\tfor (let i = 0; i < subsequentListItemCount; i++) {\n\t\t\t\t\tconst nextListItem = SlateNode.get(editor, nextSiblingPath) as ListItemElement\n\t\t\t\t\tindentListItem(editor, nextListItem, nextSiblingPath)\n\t\t\t\t}\n\t\t\t}\n\t\t\tTransforms.moveNodes(editor, {\n\t\t\t\tat: listItemPath,\n\t\t\t\tto: newListItemPath,\n\t\t\t})\n\t\t\tif (parentListChildrenCount === 1) {\n\t\t\t\t// We've just moved the last listItem away\n\t\t\t\tTransforms.removeNodes(editor, {\n\t\t\t\t\tat: parentListPath,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t\treturn true\n\t} else {\n\t\t// TODO this is recoverable: we can just append the list\n\t}\n\n\treturn false // TODO stub\n}\n"],"names":["SlatePath","SlateNode","isListElement","isListItemElement","ContemberEditor","Editor","indentListItem","Transforms"],"mappings":";;;;;;;AAOO,MAAM,iBAAiB,CAC7B,QACA,UACA,iBACa;AACP,QAAA,iBAAiBA,MAAAA,KAAU,OAAO,YAAY;AACpD,QAAM,oBAAoBC,MAAA,KAAU,IAAI,QAAQ,cAAc;AACxD,QAAA,0BAA0B,kBAAkB,SAAS;AAC3D,QAAM,0BAA0B,0BAA0B,aAAa,aAAa,SAAS,CAAC,IAAI;AAElG,MAAI,CAACC,YAAc,cAAA,iBAAiB,KAAK,eAAe,UAAU,GAAG;AAC7D,WAAA;AAAA,EACR;AACM,QAAA,qBAAqBF,MAAAA,KAAU,OAAO,cAAc;AAC1D,QAAM,wBAAwBC,MAAA,KAAU,IAAI,QAAQ,kBAAkB;AAElE,MAAA,CAACE,gBAAAA,kBAAkB,qBAAqB,GAAG;AACvC,WAAA;AAAA,EACR;AAEM,QAAA,sBAAsBH,MAAAA,KAAU,OAAO,kBAAkB;AAC/D,QAAM,yBAAyBC,MAAA,KAAU,IAAI,QAAQ,mBAAmB;AAEpE,MAAA,CAACC,YAAAA,cAAc,sBAAsB,GAAG;AACpC,WAAA;AAAA,EACR;AACM,QAAA,6BAA6BE,MAAAA,gBAAgB,mBAAmB,iBAAiB;AACvF,QAAM,oCAAoCA,MAAAA,gBAAgB;AAAA,IACzD;AAAA,IACA,kBAAkB;AAAA,IAClB;AAAA,EAAA;AAKD,MAAI,mCAAmC;AAChC,UAAA,kBAAkBJ,MAAAA,KAAU,KAAK,kBAAkB;AAClDK,iBAAA,mBAAmB,QAAQ,MAAM;AACvC,UAAI,yBAAyB;AACtB,cAAA,kBAAkBL,MAAAA,KAAU,KAAK,YAAY;AACnD,iBAAS,IAAI,GAAG,IAAI,yBAAyB,KAAK;AACjD,gBAAM,eAAeC,MAAA,KAAU,IAAI,QAAQ,eAAe;AAC3CK,yBAAAA,eAAA,QAAQ,cAAc,eAAe;AAAA,QACrD;AAAA,MACD;AACAC,YAAA,WAAW,UAAU,QAAQ;AAAA,QAC5B,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA,CACJ;AACD,UAAI,4BAA4B,GAAG;AAElCA,cAAA,WAAW,YAAY,QAAQ;AAAA,UAC9B,IAAI;AAAA,QAAA,CACJ;AAAA,MACF;AAAA,IAAA,CACA;AACM,WAAA;AAAA,EAGR;AAEO,SAAA;AACR;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dedentListItem.js","sources":["../../../../../../src/plugins/element/lists/transforms/dedentListItem.ts"],"sourcesContent":["import { Editor, Element as SlateElement, Node as SlateNode, Path as SlatePath, Transforms } from 'slate'\nimport { ContemberEditor } from '../../../../editor'\nimport type { ListItemElement } from '../ListItemElement'\nimport { indentListItem } from './indentListItem'\nimport { isListElement } from '../ListElement'\nimport { isListItemElement } from '../ListItemElement'\n\nexport const dedentListItem = (\n\teditor: Editor,\n\tlistItem: ListItemElement,\n\tlistItemPath: SlatePath,\n): boolean => {\n\tconst parentListPath = SlatePath.parent(listItemPath)\n\tconst parentListElement = SlateNode.get(editor, parentListPath) as SlateElement\n\tconst parentListChildrenCount = parentListElement.children.length\n\tconst subsequentListItemCount = parentListChildrenCount - listItemPath[listItemPath.length - 1] - 1\n\n\tif (!isListElement(parentListElement) || parentListPath.length <= 1) {\n\t\treturn false\n\t}\n\tconst parentListItemPath = SlatePath.parent(parentListPath)\n\tconst parentListItemElement = SlateNode.get(editor, parentListItemPath)\n\n\tif (!isListItemElement(parentListItemElement)) {\n\t\treturn false\n\t}\n\n\tconst grandParentListPath = SlatePath.parent(parentListItemPath)\n\tconst grandParentListElement = SlateNode.get(editor, grandParentListPath)\n\n\tif (!isListElement(grandParentListElement)) {\n\t\treturn false\n\t}\n\tconst parentListElementSpecifics = ContemberEditor.elementToSpecifics(parentListElement)\n\tconst parentAndGrandParentAreCompatible = ContemberEditor.isElementType(\n\t\tgrandParentListElement,\n\t\tparentListElement.type,\n\t\tparentListElementSpecifics as any,\n\t)\n\n\t// TODO we need to handle following siblings!!!\n\n\tif (parentAndGrandParentAreCompatible) {\n\t\tconst newListItemPath = SlatePath.next(parentListItemPath)\n\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\tif (subsequentListItemCount) {\n\t\t\t\tconst nextSiblingPath = SlatePath.next(listItemPath)\n\t\t\t\tfor (let i = 0; i < subsequentListItemCount; i++) {\n\t\t\t\t\tconst nextListItem = SlateNode.get(editor, nextSiblingPath) as ListItemElement\n\t\t\t\t\tindentListItem(editor, nextListItem, nextSiblingPath)\n\t\t\t\t}\n\t\t\t}\n\t\t\tTransforms.moveNodes(editor, {\n\t\t\t\tat: listItemPath,\n\t\t\t\tto: newListItemPath,\n\t\t\t})\n\t\t\tif (parentListChildrenCount === 1) {\n\t\t\t\t// We've just moved the last listItem away\n\t\t\t\tTransforms.removeNodes(editor, {\n\t\t\t\t\tat: parentListPath,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t\treturn true\n\t} else {\n\t\t// TODO this is recoverable: we can just append the list\n\t}\n\n\treturn false // TODO stub\n}\n"],"names":["SlatePath","SlateNode"],"mappings":";;;;;AAOO,MAAM,iBAAiB,CAC7B,QACA,UACA,iBACa;AACP,QAAA,iBAAiBA,KAAU,OAAO,YAAY;AACpD,QAAM,oBAAoBC,KAAU,IAAI,QAAQ,cAAc;AACxD,QAAA,0BAA0B,kBAAkB,SAAS;AAC3D,QAAM,0BAA0B,0BAA0B,aAAa,aAAa,SAAS,CAAC,IAAI;AAElG,MAAI,CAAC,cAAc,iBAAiB,KAAK,eAAe,UAAU,GAAG;AAC7D,WAAA;AAAA,EACR;AACM,QAAA,qBAAqBD,KAAU,OAAO,cAAc;AAC1D,QAAM,wBAAwBC,KAAU,IAAI,QAAQ,kBAAkB;AAElE,MAAA,CAAC,kBAAkB,qBAAqB,GAAG;AACvC,WAAA;AAAA,EACR;AAEM,QAAA,sBAAsBD,KAAU,OAAO,kBAAkB;AAC/D,QAAM,yBAAyBC,KAAU,IAAI,QAAQ,mBAAmB;AAEpE,MAAA,CAAC,cAAc,sBAAsB,GAAG;AACpC,WAAA;AAAA,EACR;AACM,QAAA,6BAA6B,gBAAgB,mBAAmB,iBAAiB;AACvF,QAAM,oCAAoC,gBAAgB;AAAA,IACzD;AAAA,IACA,kBAAkB;AAAA,IAClB;AAAA,EAAA;AAKD,MAAI,mCAAmC;AAChC,UAAA,kBAAkBD,KAAU,KAAK,kBAAkB;AAClD,WAAA,mBAAmB,QAAQ,MAAM;AACvC,UAAI,yBAAyB;AACtB,cAAA,kBAAkBA,KAAU,KAAK,YAAY;AACnD,iBAAS,IAAI,GAAG,IAAI,yBAAyB,KAAK;AACjD,gBAAM,eAAeC,KAAU,IAAI,QAAQ,eAAe;AAC3C,yBAAA,QAAQ,cAAc,eAAe;AAAA,QACrD;AAAA,MACD;AACA,iBAAW,UAAU,QAAQ;AAAA,QAC5B,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA,CACJ;AACD,UAAI,4BAA4B,GAAG;AAElC,mBAAW,YAAY,QAAQ;AAAA,UAC9B,IAAI;AAAA,QAAA,CACJ;AAAA,MACF;AAAA,IAAA,CACA;AACM,WAAA;AAAA,EAGR;AAEO,SAAA;AACR;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"indentListItem.cjs","sources":["../../../../../../src/plugins/element/lists/transforms/indentListItem.ts"],"sourcesContent":["import {\n\tEditor,\n\tElement as SlateElement,\n\tNode as SlateNode,\n\tNodeEntry,\n\tPath as SlatePath,\n\tText,\n\tTransforms,\n} from 'slate'\nimport { ContemberEditor } from '../../../../editor'\nimport type { ListItemElement } from '../ListItemElement'\nimport type { OrderedListElement } from '../OrderedListElement'\nimport type { UnorderedListElement } from '../UnorderedListElement'\n\nexport const indentListItem = (\n\teditor: Editor,\n\tlistItem: ListItemElement,\n\tlistItemPath: SlatePath,\n): boolean => {\n\tconst previousListEntry = ContemberEditor.getPreviousSibling<Editor, ListItemElement>(\n\t\teditor,\n\t\tlistItem,\n\t\tlistItemPath,\n\t)\n\tif (previousListEntry === undefined) {\n\t\treturn false\n\t}\n\n\tEditor.withoutNormalizing(editor, () => {\n\t\tconst [parentListElement] = Editor.parent(editor, listItemPath) as NodeEntry<\n\t\t\tOrderedListElement | UnorderedListElement\n\t\t>\n\t\tlet [previousListItem, previousListItemPath] = previousListEntry\n\n\t\tconst lastPreviousListItemChild = previousListItem.children[previousListItem.children.length - 1]\n\t\tconst previousEndsWithCompatibleList =\n\t\t\tSlateElement.isElement(lastPreviousListItemChild) &&\n\t\t\tContemberEditor.isElementType(\n\t\t\t\tlastPreviousListItemChild,\n\t\t\t\tparentListElement.type,\n\t\t\t\tContemberEditor.elementToSpecifics(parentListElement) as any,\n\t\t\t)\n\n\t\tif (previousEndsWithCompatibleList) {\n\t\t\tconst newListItemPath = [\n\t\t\t\t...previousListItemPath,\n\t\t\t\tpreviousListItem.children.length - 1,\n\t\t\t\t(lastPreviousListItemChild as UnorderedListElement | OrderedListElement).children.length,\n\t\t\t]\n\n\t\t\tTransforms.moveNodes(editor, {\n\t\t\t\tat: listItemPath,\n\t\t\t\tto: newListItemPath,\n\t\t\t})\n\t\t} else {\n\t\t\tconst previousContainsInlines = Editor.hasInlines(editor, previousListItem)\n\t\t\tif (previousContainsInlines) {\n\t\t\t\tconst [previousStart, previousEnd] = Editor.edges(editor, previousListItemPath)\n\t\t\t\tTransforms.wrapNodes(editor, editor.createDefaultElement([]), {\n\t\t\t\t\tmatch: node => Text.isText(node) || (SlateElement.isElement(node) && editor.isInline(node)),\n\t\t\t\t\tat: {\n\t\t\t\t\t\tanchor: previousStart,\n\t\t\t\t\t\tfocus: previousEnd,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t}\n\t\t\t// Getting a new previousListItem because the children may have changed due to the branch above.\n\t\t\tpreviousListItem = SlateNode.get(editor, previousListItemPath) as ListItemElement\n\t\t\t// We're appending at the end: children.length is just lastOne + 1\n\t\t\tconst newListItemPath = [...previousListItemPath, previousListItem.children.length]\n\n\t\t\tTransforms.moveNodes(editor, {\n\t\t\t\tat: listItemPath,\n\t\t\t\tto: newListItemPath,\n\t\t\t})\n\t\t\tTransforms.wrapNodes(editor, { ...parentListElement, children: [] }, { at: newListItemPath })\n\t\t}\n\t})\n\n\treturn true\n}\n"],"names":["ContemberEditor","Editor","SlateElement","Transforms","Text","SlateNode"],"mappings":";;;;AAcO,MAAM,iBAAiB,CAC7B,QACA,UACA,iBACa;AACb,QAAM,oBAAoBA,MAAAA,gBAAgB;AAAA,IACzC;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAED,MAAI,sBAAsB,QAAW;AAC7B,WAAA;AAAA,EACR;AAEOC,eAAA,mBAAmB,QAAQ,MAAM;AACvC,UAAM,CAAC,iBAAiB,IAAIA,MAAAA,OAAO,OAAO,QAAQ,YAAY;AAG1D,QAAA,CAAC,kBAAkB,oBAAoB,IAAI;AAE/C,UAAM,4BAA4B,iBAAiB,SAAS,iBAAiB,SAAS,SAAS,CAAC;AAChG,UAAM,iCACLC,MAAAA,QAAa,UAAU,yBAAyB,KAChDF,MAAgB,gBAAA;AAAA,MACf;AAAA,MACA,kBAAkB;AAAA,MAClBA,MAAA,gBAAgB,mBAAmB,iBAAiB;AAAA,IAAA;AAGtD,QAAI,gCAAgC;AACnC,YAAM,kBAAkB;AAAA,QACvB,GAAG;AAAA,QACH,iBAAiB,SAAS,SAAS;AAAA,QAClC,0BAAwE,SAAS;AAAA,MAAA;AAGnFG,YAAA,WAAW,UAAU,QAAQ;AAAA,QAC5B,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA,CACJ;AAAA,IAAA,OACK;AACN,YAAM,0BAA0BF,MAAA,OAAO,WAAW,QAAQ,gBAAgB;AAC1E,UAAI,yBAAyB;AAC5B,cAAM,CAAC,eAAe,WAAW,IAAIA,MAAO,OAAA,MAAM,QAAQ,oBAAoB;AAC9EE,cAAA,WAAW,UAAU,QAAQ,OAAO,qBAAqB,CAAE,CAAA,GAAG;AAAA,UAC7D,OAAO,CAAA,SAAQC,WAAK,OAAO,IAAI,KAAMF,cAAa,UAAU,IAAI,KAAK,OAAO,SAAS,IAAI;AAAA,UACzF,IAAI;AAAA,YACH,QAAQ;AAAA,YACR,OAAO;AAAA,UACR;AAAA,QAAA,CACA;AAAA,MACF;AAEmB,yBAAAG,MAAAA,KAAU,IAAI,QAAQ,oBAAoB;AAE7D,YAAM,kBAAkB,CAAC,GAAG,sBAAsB,iBAAiB,SAAS,MAAM;AAElFF,YAAA,WAAW,UAAU,QAAQ;AAAA,QAC5B,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA,CACJ;AACDA,YAAAA,WAAW,UAAU,QAAQ,EAAE,GAAG,mBAAmB,UAAU,CAAA,KAAM,EAAE,IAAI,gBAAiB,CAAA;AAAA,IAC7F;AAAA,EAAA,CACA;AAEM,SAAA;AACR;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"indentListItem.js","sources":["../../../../../../src/plugins/element/lists/transforms/indentListItem.ts"],"sourcesContent":["import {\n\tEditor,\n\tElement as SlateElement,\n\tNode as SlateNode,\n\tNodeEntry,\n\tPath as SlatePath,\n\tText,\n\tTransforms,\n} from 'slate'\nimport { ContemberEditor } from '../../../../editor'\nimport type { ListItemElement } from '../ListItemElement'\nimport type { OrderedListElement } from '../OrderedListElement'\nimport type { UnorderedListElement } from '../UnorderedListElement'\n\nexport const indentListItem = (\n\teditor: Editor,\n\tlistItem: ListItemElement,\n\tlistItemPath: SlatePath,\n): boolean => {\n\tconst previousListEntry = ContemberEditor.getPreviousSibling<Editor, ListItemElement>(\n\t\teditor,\n\t\tlistItem,\n\t\tlistItemPath,\n\t)\n\tif (previousListEntry === undefined) {\n\t\treturn false\n\t}\n\n\tEditor.withoutNormalizing(editor, () => {\n\t\tconst [parentListElement] = Editor.parent(editor, listItemPath) as NodeEntry<\n\t\t\tOrderedListElement | UnorderedListElement\n\t\t>\n\t\tlet [previousListItem, previousListItemPath] = previousListEntry\n\n\t\tconst lastPreviousListItemChild = previousListItem.children[previousListItem.children.length - 1]\n\t\tconst previousEndsWithCompatibleList =\n\t\t\tSlateElement.isElement(lastPreviousListItemChild) &&\n\t\t\tContemberEditor.isElementType(\n\t\t\t\tlastPreviousListItemChild,\n\t\t\t\tparentListElement.type,\n\t\t\t\tContemberEditor.elementToSpecifics(parentListElement) as any,\n\t\t\t)\n\n\t\tif (previousEndsWithCompatibleList) {\n\t\t\tconst newListItemPath = [\n\t\t\t\t...previousListItemPath,\n\t\t\t\tpreviousListItem.children.length - 1,\n\t\t\t\t(lastPreviousListItemChild as UnorderedListElement | OrderedListElement).children.length,\n\t\t\t]\n\n\t\t\tTransforms.moveNodes(editor, {\n\t\t\t\tat: listItemPath,\n\t\t\t\tto: newListItemPath,\n\t\t\t})\n\t\t} else {\n\t\t\tconst previousContainsInlines = Editor.hasInlines(editor, previousListItem)\n\t\t\tif (previousContainsInlines) {\n\t\t\t\tconst [previousStart, previousEnd] = Editor.edges(editor, previousListItemPath)\n\t\t\t\tTransforms.wrapNodes(editor, editor.createDefaultElement([]), {\n\t\t\t\t\tmatch: node => Text.isText(node) || (SlateElement.isElement(node) && editor.isInline(node)),\n\t\t\t\t\tat: {\n\t\t\t\t\t\tanchor: previousStart,\n\t\t\t\t\t\tfocus: previousEnd,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t}\n\t\t\t// Getting a new previousListItem because the children may have changed due to the branch above.\n\t\t\tpreviousListItem = SlateNode.get(editor, previousListItemPath) as ListItemElement\n\t\t\t// We're appending at the end: children.length is just lastOne + 1\n\t\t\tconst newListItemPath = [...previousListItemPath, previousListItem.children.length]\n\n\t\t\tTransforms.moveNodes(editor, {\n\t\t\t\tat: listItemPath,\n\t\t\t\tto: newListItemPath,\n\t\t\t})\n\t\t\tTransforms.wrapNodes(editor, { ...parentListElement, children: [] }, { at: newListItemPath })\n\t\t}\n\t})\n\n\treturn true\n}\n"],"names":["SlateElement","SlateNode"],"mappings":";;AAcO,MAAM,iBAAiB,CAC7B,QACA,UACA,iBACa;AACb,QAAM,oBAAoB,gBAAgB;AAAA,IACzC;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAED,MAAI,sBAAsB,QAAW;AAC7B,WAAA;AAAA,EACR;AAEO,SAAA,mBAAmB,QAAQ,MAAM;AACvC,UAAM,CAAC,iBAAiB,IAAI,OAAO,OAAO,QAAQ,YAAY;AAG1D,QAAA,CAAC,kBAAkB,oBAAoB,IAAI;AAE/C,UAAM,4BAA4B,iBAAiB,SAAS,iBAAiB,SAAS,SAAS,CAAC;AAChG,UAAM,iCACLA,QAAa,UAAU,yBAAyB,KAChD,gBAAgB;AAAA,MACf;AAAA,MACA,kBAAkB;AAAA,MAClB,gBAAgB,mBAAmB,iBAAiB;AAAA,IAAA;AAGtD,QAAI,gCAAgC;AACnC,YAAM,kBAAkB;AAAA,QACvB,GAAG;AAAA,QACH,iBAAiB,SAAS,SAAS;AAAA,QAClC,0BAAwE,SAAS;AAAA,MAAA;AAGnF,iBAAW,UAAU,QAAQ;AAAA,QAC5B,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA,CACJ;AAAA,IAAA,OACK;AACN,YAAM,0BAA0B,OAAO,WAAW,QAAQ,gBAAgB;AAC1E,UAAI,yBAAyB;AAC5B,cAAM,CAAC,eAAe,WAAW,IAAI,OAAO,MAAM,QAAQ,oBAAoB;AAC9E,mBAAW,UAAU,QAAQ,OAAO,qBAAqB,CAAE,CAAA,GAAG;AAAA,UAC7D,OAAO,CAAA,SAAQ,KAAK,OAAO,IAAI,KAAMA,QAAa,UAAU,IAAI,KAAK,OAAO,SAAS,IAAI;AAAA,UACzF,IAAI;AAAA,YACH,QAAQ;AAAA,YACR,OAAO;AAAA,UACR;AAAA,QAAA,CACA;AAAA,MACF;AAEmB,yBAAAC,KAAU,IAAI,QAAQ,oBAAoB;AAE7D,YAAM,kBAAkB,CAAC,GAAG,sBAAsB,iBAAiB,SAAS,MAAM;AAElF,iBAAW,UAAU,QAAQ;AAAA,QAC5B,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA,CACJ;AACD,iBAAW,UAAU,QAAQ,EAAE,GAAG,mBAAmB,UAAU,CAAA,KAAM,EAAE,IAAI,gBAAiB,CAAA;AAAA,IAC7F;AAAA,EAAA,CACA;AAEM,SAAA;AACR;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeListElement.cjs","sources":["../../../../../../src/plugins/element/lists/transforms/normalizeListElement.ts"],"sourcesContent":["import { Editor, Element as SlateElement, Node as SlateNode, Path as SlatePath, Transforms } from 'slate'\nimport { listItemElementType } from '../ListItemElement'\nimport { ContemberEditor } from '../../../../editor'\n\nexport const normalizeListElement = ({ editor, path, preventDefault }: { editor: Editor, path: SlatePath, preventDefault: () => void }) => {\n\tfor (const [child, childPath] of SlateNode.children(editor, path)) {\n\t\tif (SlateElement.isElement(child)) {\n\t\t\tif (child.type !== listItemElementType) {\n\t\t\t\tContemberEditor.ejectElement(editor, childPath)\n\t\t\t\tTransforms.setNodes(editor, { type: listItemElementType }, { at: childPath })\n\t\t\t}\n\t\t} else {\n\t\t\t// If a list contains non-element nodes, just remove it.\n\t\t\tTransforms.removeNodes(editor, {\n\t\t\t\tat: path,\n\t\t\t})\n\t\t\treturn preventDefault()\n\t\t}\n\t}\n}\n"],"names":["SlateNode","SlateElement","listItemElementType","ContemberEditor","Transforms"],"mappings":";;;;;AAIO,MAAM,uBAAuB,CAAC,EAAE,QAAQ,MAAM,qBAAsF;AAC/H,aAAA,CAAC,OAAO,SAAS,KAAKA,WAAU,SAAS,QAAQ,IAAI,GAAG;AAC9D,QAAAC,MAAA,QAAa,UAAU,KAAK,GAAG;AAC9B,UAAA,MAAM,SAASC,qCAAqB;AACvBC,cAAAA,gBAAA,aAAa,QAAQ,SAAS;AACnCC,yBAAA,SAAS,QAAQ,EAAE,MAAMF,uCAAuB,EAAE,IAAI,UAAA,CAAW;AAAA,MAC7E;AAAA,IAAA,OACM;AAENE,YAAA,WAAW,YAAY,QAAQ;AAAA,QAC9B,IAAI;AAAA,MAAA,CACJ;AACD,aAAO,eAAe;AAAA,IACvB;AAAA,EACD;AACD;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeListElement.js","sources":["../../../../../../src/plugins/element/lists/transforms/normalizeListElement.ts"],"sourcesContent":["import { Editor, Element as SlateElement, Node as SlateNode, Path as SlatePath, Transforms } from 'slate'\nimport { listItemElementType } from '../ListItemElement'\nimport { ContemberEditor } from '../../../../editor'\n\nexport const normalizeListElement = ({ editor, path, preventDefault }: { editor: Editor, path: SlatePath, preventDefault: () => void }) => {\n\tfor (const [child, childPath] of SlateNode.children(editor, path)) {\n\t\tif (SlateElement.isElement(child)) {\n\t\t\tif (child.type !== listItemElementType) {\n\t\t\t\tContemberEditor.ejectElement(editor, childPath)\n\t\t\t\tTransforms.setNodes(editor, { type: listItemElementType }, { at: childPath })\n\t\t\t}\n\t\t} else {\n\t\t\t// If a list contains non-element nodes, just remove it.\n\t\t\tTransforms.removeNodes(editor, {\n\t\t\t\tat: path,\n\t\t\t})\n\t\t\treturn preventDefault()\n\t\t}\n\t}\n}\n"],"names":["SlateNode","SlateElement"],"mappings":";;;AAIO,MAAM,uBAAuB,CAAC,EAAE,QAAQ,MAAM,qBAAsF;AAC/H,aAAA,CAAC,OAAO,SAAS,KAAKA,KAAU,SAAS,QAAQ,IAAI,GAAG;AAC9D,QAAAC,QAAa,UAAU,KAAK,GAAG;AAC9B,UAAA,MAAM,SAAS,qBAAqB;AACvB,wBAAA,aAAa,QAAQ,SAAS;AACnC,mBAAA,SAAS,QAAQ,EAAE,MAAM,uBAAuB,EAAE,IAAI,UAAA,CAAW;AAAA,MAC7E;AAAA,IAAA,OACM;AAEN,iBAAW,YAAY,QAAQ;AAAA,QAC9B,IAAI;AAAA,MAAA,CACJ;AACD,aAAO,eAAe;AAAA,IACvB;AAAA,EACD;AACD;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toggleListElement.cjs","sources":["../../../../../../src/plugins/element/lists/transforms/toggleListElement.ts"],"sourcesContent":["import { OrderedListElement, orderedListElementType } from '../OrderedListElement'\nimport { UnorderedListElement, unorderedListElementType } from '../UnorderedListElement'\nimport { Editor, Element as SlateElement, NodeEntry, Text, Transforms } from 'slate'\nimport { ContemberEditor } from '../../../../editor'\nimport { listItemElementType } from '../ListItemElement'\nimport { isListElement } from '../ListElement'\n\nexport const toggleListElement = <T extends OrderedListElement | UnorderedListElement>(\n\teditor: Editor,\n\telementType: T['type'],\n\tsuchThat: Partial<T> | undefined,\n\totherKindOfList: typeof orderedListElementType | typeof unorderedListElementType,\n) => {\n\tif (editor.isElementActive(elementType, suchThat)) {\n\t\tconst closestListEntry = ContemberEditor.closest(editor, {\n\t\t\tmatch: node => SlateElement.isElement(node) && node.type === elementType,\n\t\t}) as NodeEntry<UnorderedListElement | OrderedListElement>\n\t\tif (!closestListEntry) {\n\t\t\treturn\n\t\t}\n\t\treturn Editor.withoutNormalizing(editor, () => {\n\t\t\tconst [closestList, closestListPath] = closestListEntry\n\n\t\t\t// It's important that we iterate backwards because otherwise we'd mangle the paths.\n\t\t\t// We unwrap elements which may have more than one child.\n\t\t\tfor (let i = closestList.children.length - 1; i >= 0; i--) {\n\t\t\t\tconst currentItemPath = [...closestListPath, i]\n\t\t\t\tif (Editor.hasInlines(editor, closestList.children[i] as SlateElement)) {\n\t\t\t\t\tTransforms.wrapNodes(editor, editor.createDefaultElement([]), {\n\t\t\t\t\t\tat: currentItemPath,\n\t\t\t\t\t})\n\t\t\t\t\tTransforms.unwrapNodes(editor, {\n\t\t\t\t\t\tat: [...currentItemPath, 0],\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tTransforms.unwrapNodes(editor, { at: currentItemPath })\n\t\t\t\t}\n\t\t\t}\n\t\t\tTransforms.unwrapNodes(editor, { at: closestListPath })\n\t\t})\n\t}\n\tif (editor.isElementActive(elementType) || editor.isElementActive(otherKindOfList)) {\n\t\t// We're in a list but a different one. Note the lack of 'suchThat'\n\t\tconst closestListEntry = ContemberEditor.closest(editor, {\n\t\t\tmatch: node => isListElement(node),\n\t\t}) as NodeEntry<UnorderedListElement | OrderedListElement>\n\t\tif (!closestListEntry) {\n\t\t\treturn\n\t\t}\n\t\treturn Editor.withoutNormalizing(editor, () => {\n\t\t\tconst [, closestListPath] = closestListEntry\n\t\t\tContemberEditor.ejectElement(editor, closestListPath)\n\t\t\tTransforms.setNodes(editor, { ...suchThat, type: elementType }, { at: closestListPath })\n\t\t})\n\t}\n\n\tconst selection = editor.selection\n\n\tif (!selection) {\n\t\treturn\n\t}\n\n\tconst closestViableParentEntry = ContemberEditor.closestViableBlockContainerEntry(editor)\n\n\tif (!closestViableParentEntry) {\n\t\treturn\n\t}\n\n\tEditor.withoutNormalizing(editor, () => {\n\t\tconst [targetParent, targetParentPath] = closestViableParentEntry\n\n\t\tif (SlateElement.isElement(targetParent) && Editor.hasInlines(editor, targetParent)) {\n\t\t\t// We're deliberately widening the selection to include all the inlines.\n\t\t\tconst listItemPath = [...targetParentPath, 0]\n\n\t\t\t// Not using wrapNodes because it appears to exhibit rather unpredictable treatment of text nodes.\n\t\t\tTransforms.insertNodes(editor, { type: listItemElementType, children: [] }, { at: listItemPath })\n\t\t\tTransforms.moveNodes(editor, {\n\t\t\t\tto: [...listItemPath, 0],\n\t\t\t\tmatch: node => Text.isText(node) || SlateElement.isElement(node) && Editor.isInline(editor, node),\n\t\t\t\tat: {\n\t\t\t\t\tanchor: Editor.start(editor, [...targetParentPath, 1]),\n\t\t\t\t\tfocus: Editor.end(editor, [...targetParentPath, targetParent.children.length]),\n\t\t\t\t},\n\t\t\t})\n\t\t\tTransforms.wrapNodes(editor, { type: elementType, children: [] }, { at: listItemPath })\n\t\t} else {\n\t\t\tconst [selectionStart, selectionEnd] = Editor.edges(editor, selection)\n\t\t\tconst relativeStartIndex = selectionStart.path[targetParentPath.length]\n\t\t\tconst relativeEndIndex = selectionEnd.path[targetParentPath.length]\n\n\t\t\tfor (let i = relativeStartIndex; i <= relativeEndIndex; i++) {\n\t\t\t\tTransforms.wrapNodes(editor, { type: listItemElementType, children: [] }, { at: [...targetParentPath, i] })\n\t\t\t}\n\n\t\t\tconst emptyList: UnorderedListElement | OrderedListElement = {\n\t\t\t\t...suchThat,\n\t\t\t\ttype: elementType as (UnorderedListElement | OrderedListElement)['type'],\n\t\t\t\tchildren: [],\n\t\t\t}\n\t\t\tconst listPath = [...targetParentPath, relativeStartIndex]\n\t\t\tTransforms.insertNodes(editor, emptyList, { at: listPath })\n\n\t\t\tfor (let i = relativeStartIndex; i <= relativeEndIndex; i++) {\n\t\t\t\tTransforms.moveNodes(editor, {\n\t\t\t\t\tto: [...listPath, i - relativeStartIndex],\n\t\t\t\t\t// The path doesn't depend on i because we keep moving the siblings away.\n\t\t\t\t\tat: [...targetParentPath, relativeStartIndex + 1],\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})\n}\n"],"names":["ContemberEditor","SlateElement","Editor","Transforms","isListElement","listItemElementType","Text"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toggleListElement.js","sources":["../../../../../../src/plugins/element/lists/transforms/toggleListElement.ts"],"sourcesContent":["import { OrderedListElement, orderedListElementType } from '../OrderedListElement'\nimport { UnorderedListElement, unorderedListElementType } from '../UnorderedListElement'\nimport { Editor, Element as SlateElement, NodeEntry, Text, Transforms } from 'slate'\nimport { ContemberEditor } from '../../../../editor'\nimport { listItemElementType } from '../ListItemElement'\nimport { isListElement } from '../ListElement'\n\nexport const toggleListElement = <T extends OrderedListElement | UnorderedListElement>(\n\teditor: Editor,\n\telementType: T['type'],\n\tsuchThat: Partial<T> | undefined,\n\totherKindOfList: typeof orderedListElementType | typeof unorderedListElementType,\n) => {\n\tif (editor.isElementActive(elementType, suchThat)) {\n\t\tconst closestListEntry = ContemberEditor.closest(editor, {\n\t\t\tmatch: node => SlateElement.isElement(node) && node.type === elementType,\n\t\t}) as NodeEntry<UnorderedListElement | OrderedListElement>\n\t\tif (!closestListEntry) {\n\t\t\treturn\n\t\t}\n\t\treturn Editor.withoutNormalizing(editor, () => {\n\t\t\tconst [closestList, closestListPath] = closestListEntry\n\n\t\t\t// It's important that we iterate backwards because otherwise we'd mangle the paths.\n\t\t\t// We unwrap elements which may have more than one child.\n\t\t\tfor (let i = closestList.children.length - 1; i >= 0; i--) {\n\t\t\t\tconst currentItemPath = [...closestListPath, i]\n\t\t\t\tif (Editor.hasInlines(editor, closestList.children[i] as SlateElement)) {\n\t\t\t\t\tTransforms.wrapNodes(editor, editor.createDefaultElement([]), {\n\t\t\t\t\t\tat: currentItemPath,\n\t\t\t\t\t})\n\t\t\t\t\tTransforms.unwrapNodes(editor, {\n\t\t\t\t\t\tat: [...currentItemPath, 0],\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tTransforms.unwrapNodes(editor, { at: currentItemPath })\n\t\t\t\t}\n\t\t\t}\n\t\t\tTransforms.unwrapNodes(editor, { at: closestListPath })\n\t\t})\n\t}\n\tif (editor.isElementActive(elementType) || editor.isElementActive(otherKindOfList)) {\n\t\t// We're in a list but a different one. Note the lack of 'suchThat'\n\t\tconst closestListEntry = ContemberEditor.closest(editor, {\n\t\t\tmatch: node => isListElement(node),\n\t\t}) as NodeEntry<UnorderedListElement | OrderedListElement>\n\t\tif (!closestListEntry) {\n\t\t\treturn\n\t\t}\n\t\treturn Editor.withoutNormalizing(editor, () => {\n\t\t\tconst [, closestListPath] = closestListEntry\n\t\t\tContemberEditor.ejectElement(editor, closestListPath)\n\t\t\tTransforms.setNodes(editor, { ...suchThat, type: elementType }, { at: closestListPath })\n\t\t})\n\t}\n\n\tconst selection = editor.selection\n\n\tif (!selection) {\n\t\treturn\n\t}\n\n\tconst closestViableParentEntry = ContemberEditor.closestViableBlockContainerEntry(editor)\n\n\tif (!closestViableParentEntry) {\n\t\treturn\n\t}\n\n\tEditor.withoutNormalizing(editor, () => {\n\t\tconst [targetParent, targetParentPath] = closestViableParentEntry\n\n\t\tif (SlateElement.isElement(targetParent) && Editor.hasInlines(editor, targetParent)) {\n\t\t\t// We're deliberately widening the selection to include all the inlines.\n\t\t\tconst listItemPath = [...targetParentPath, 0]\n\n\t\t\t// Not using wrapNodes because it appears to exhibit rather unpredictable treatment of text nodes.\n\t\t\tTransforms.insertNodes(editor, { type: listItemElementType, children: [] }, { at: listItemPath })\n\t\t\tTransforms.moveNodes(editor, {\n\t\t\t\tto: [...listItemPath, 0],\n\t\t\t\tmatch: node => Text.isText(node) || SlateElement.isElement(node) && Editor.isInline(editor, node),\n\t\t\t\tat: {\n\t\t\t\t\tanchor: Editor.start(editor, [...targetParentPath, 1]),\n\t\t\t\t\tfocus: Editor.end(editor, [...targetParentPath, targetParent.children.length]),\n\t\t\t\t},\n\t\t\t})\n\t\t\tTransforms.wrapNodes(editor, { type: elementType, children: [] }, { at: listItemPath })\n\t\t} else {\n\t\t\tconst [selectionStart, selectionEnd] = Editor.edges(editor, selection)\n\t\t\tconst relativeStartIndex = selectionStart.path[targetParentPath.length]\n\t\t\tconst relativeEndIndex = selectionEnd.path[targetParentPath.length]\n\n\t\t\tfor (let i = relativeStartIndex; i <= relativeEndIndex; i++) {\n\t\t\t\tTransforms.wrapNodes(editor, { type: listItemElementType, children: [] }, { at: [...targetParentPath, i] })\n\t\t\t}\n\n\t\t\tconst emptyList: UnorderedListElement | OrderedListElement = {\n\t\t\t\t...suchThat,\n\t\t\t\ttype: elementType as (UnorderedListElement | OrderedListElement)['type'],\n\t\t\t\tchildren: [],\n\t\t\t}\n\t\t\tconst listPath = [...targetParentPath, relativeStartIndex]\n\t\t\tTransforms.insertNodes(editor, emptyList, { at: listPath })\n\n\t\t\tfor (let i = relativeStartIndex; i <= relativeEndIndex; i++) {\n\t\t\t\tTransforms.moveNodes(editor, {\n\t\t\t\t\tto: [...listPath, i - relativeStartIndex],\n\t\t\t\t\t// The path doesn't depend on i because we keep moving the siblings away.\n\t\t\t\t\tat: [...targetParentPath, relativeStartIndex + 1],\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})\n}\n"],"names":["SlateElement"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withLists.cjs","sources":["../../../../../src/plugins/element/lists/withLists.ts"],"sourcesContent":["import {\n\tEditor,\n\tElement as SlateElement,\n\tNode as SlateNode,\n\tPath as SlatePath,\n\tRange as SlateRange,\n\tText,\n\tTransforms,\n} from 'slate'\nimport { ContemberEditor } from '../../../editor'\nimport { isListItemElement, ListItemElement, listItemElementPlugin } from './ListItemElement'\nimport { OrderedListElement, orderedListElementPlugin } from './OrderedListElement'\nimport { dedentListItem, indentListItem } from './transforms'\nimport { UnorderedListElement, unorderedListElementPlugin } from './UnorderedListElement'\nimport { isListElement } from './ListElement'\nimport { listHtmlDeserializerFactory } from './ListHtmlDeserializer'\nimport { ElementRenderer } from '../../../types'\n\nexport const withLists = ({ renderListItem, renderUnorderedList, renderOrderedList }: {\n\trenderListItem: ElementRenderer<ListItemElement>\n\trenderOrderedList: ElementRenderer<OrderedListElement>\n\trenderUnorderedList: ElementRenderer<UnorderedListElement>\n}) => <E extends Editor>(editor: E): E => {\n\tconst {\n\t\tinsertBreak,\n\t\tonKeyDown,\n\t} = editor\n\n\teditor.registerElement(listItemElementPlugin({ render: renderListItem }))\n\teditor.registerElement(orderedListElementPlugin({ render: renderOrderedList }))\n\teditor.registerElement(unorderedListElementPlugin({ render: renderUnorderedList }))\n\n\teditor.htmlDeserializer.registerPlugin(listHtmlDeserializerFactory())\n\n\tObject.assign<Editor, Partial<Editor>>(editor, {\n\t\tinsertBreak: () => {\n\t\t\tconst { selection } = editor\n\n\t\t\tif (!selection || !SlateRange.isCollapsed(selection)) {\n\t\t\t\treturn insertBreak()\n\t\t\t}\n\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor)\n\t\t\tif (closestBlockEntry === undefined) {\n\t\t\t\treturn insertBreak()\n\t\t\t}\n\t\t\tconst [closestBlock, closestBlockPath] = closestBlockEntry\n\n\t\t\tlet containingListItem: ListItemElement\n\t\t\tlet containingListItemPath: SlatePath\n\n\t\t\tif (!isListItemElement(closestBlock)) {\n\t\t\t\tif (closestBlockPath.length < 2) {\n\t\t\t\t\t// This block cannot be inside a list\n\t\t\t\t\treturn insertBreak()\n\t\t\t\t}\n\n\t\t\t\tcontainingListItemPath = SlatePath.parent(closestBlockPath)\n\t\t\t\tconst closestListItem = SlateNode.get(editor, containingListItemPath)\n\n\t\t\t\tif (!isListItemElement(closestListItem)) {\n\t\t\t\t\t// The block is not inside a list\n\t\t\t\t\treturn insertBreak()\n\t\t\t\t}\n\t\t\t\tcontainingListItem = closestListItem\n\t\t\t} else {\n\t\t\t\tcontainingListItem = closestBlock\n\t\t\t\tcontainingListItemPath = closestBlockPath\n\t\t\t}\n\n\t\t\tif (SlateNode.string(containingListItem) !== '') {\n\t\t\t\treturn Transforms.splitNodes(editor, {\n\t\t\t\t\talways: true,\n\t\t\t\t\tat: selection.focus,\n\t\t\t\t\tmatch: node => isListItemElement(node),\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// We're in a list and want to leave this list.\n\n\t\t\tconst containingListPath = SlatePath.parent(containingListItemPath)\n\t\t\tconst containingList = SlateNode.get(editor, containingListPath)\n\n\t\t\tif (!isListElement(containingList)) {\n\t\t\t\t// This shouldn't really happen. It's more of a sanity check.\n\t\t\t\treturn insertBreak()\n\t\t\t}\n\n\t\t\tconst followingListItemPath = SlatePath.next(containingListItemPath)\n\t\t\tconst hasFollowingListItem = SlateNode.has(editor, followingListItemPath)\n\n\t\t\tif (hasFollowingListItem) {\n\t\t\t\tconst followingListItemNode = SlateNode.get(editor, followingListItemPath)\n\t\t\t\tif (!isListItemElement(followingListItemNode)) {\n\t\t\t\t\t// This shouldn't really happen. It's more of a sanity check.\n\t\t\t\t\treturn insertBreak()\n\t\t\t\t}\n\t\t\t\tif (containingListItemPath[containingListItemPath.length - 1] === 0) {\n\t\t\t\t\t// We're at the beginning of a list\n\t\t\t\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\t\t\t\t// Remove the trailing empty listItem\n\t\t\t\t\t\tTransforms.removeNodes(editor, { at: containingListItemPath })\n\t\t\t\t\t\tTransforms.insertNodes(editor, editor.createDefaultElement([{ text: '' }]), { at: containingListPath, select: true })\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\t// We're in the middle of a list.\n\t\t\t\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\t\t\t\tTransforms.removeNodes(editor, { at: containingListItemPath })\n\t\t\t\t\t\tTransforms.splitNodes(editor, { at: containingListItemPath })\n\t\t\t\t\t\tconst afterListParent = SlatePath.next(containingListPath)\n\t\t\t\t\t\tTransforms.insertNodes(editor, editor.createDefaultElement([{ text: '' }]), { at: afterListParent, select: true })\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// We're at the end of a list.\n\t\t\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\t\t\tconst afterListParent = SlatePath.next(containingListPath)\n\t\t\t\t\t// Remove the trailing empty listItem\n\t\t\t\t\tTransforms.removeNodes(editor, { at: containingListItemPath })\n\t\t\t\t\tTransforms.insertNodes(editor, editor.createDefaultElement([{ text: '' }]), { at: afterListParent, select: true })\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\t\tonKeyDown: event => {\n\t\t\t// TODO this should also work for expanded selections\n\t\t\tif (\n\t\t\t\t(event.key !== 'Tab' && event.key !== 'Enter') ||\n\t\t\t\t!editor.selection ||\n\t\t\t\t!SlateRange.isCollapsed(editor.selection)\n\t\t\t) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\t\t\tconst selection = editor.selection\n\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor, { at: selection.focus })\n\n\t\t\tif (closestBlockEntry === undefined) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\t\t\tlet [closestBlockElement, closestBlockPath] = closestBlockEntry\n\t\t\tif (!SlateElement.isElement(closestBlockElement)) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\n\t\t\tif (event.key === 'Tab') {\n\t\t\t\tif (editor.isDefaultElement(closestBlockElement)) {\n\t\t\t\t\t[closestBlockElement, closestBlockPath] = Editor.parent(editor, closestBlockPath)\n\t\t\t\t}\n\t\t\t\tif (!isListItemElement(closestBlockElement)) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tconst succeeded = event.shiftKey\n\t\t\t\t\t? dedentListItem(editor, closestBlockElement, closestBlockPath)\n\t\t\t\t\t: indentListItem(editor, closestBlockElement, closestBlockPath)\n\n\t\t\t\tif (succeeded) {\n\t\t\t\t\treturn event.preventDefault()\n\t\t\t\t}\n\t\t\t} else if (event.key === 'Enter' && event.shiftKey) {\n\t\t\t\tif (editor.isDefaultElement(closestBlockElement)) {\n\t\t\t\t\tconst [listItem] = Editor.parent(editor, closestBlockPath)\n\t\t\t\t\tif (!isListItemElement(listItem)) {\n\t\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t\t}\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\treturn Transforms.splitNodes(editor, {\n\t\t\t\t\t\talways: true,\n\t\t\t\t\t\tat: selection.focus,\n\t\t\t\t\t\tmatch: node => SlateElement.isElement(node) && Editor.isBlock(editor, node) && editor.isDefaultElement(node),\n\t\t\t\t\t})\n\t\t\t\t} else if (isListItemElement(closestBlockElement)) {\n\t\t\t\t\t// We want to create a newline but the closest block is the list item.\n\t\t\t\t\t// This should mean that it only contains inlines. Hence we wrap them in a default element\n\t\t\t\t\t// and then split it.\n\t\t\t\t\tconst [listItemStart, listItemEnd] = Editor.edges(editor, closestBlockPath)\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\treturn Editor.withoutNormalizing(editor, () => {\n\t\t\t\t\t\tTransforms.wrapNodes(editor, editor.createDefaultElement([]), {\n\t\t\t\t\t\t\tmatch: node => Text.isText(node) || (SlateElement.isElement(node) && editor.isInline(node)),\n\t\t\t\t\t\t\tat: {\n\t\t\t\t\t\t\t\tanchor: listItemStart,\n\t\t\t\t\t\t\t\tfocus: listItemEnd,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t\t\tconst relative = SlatePath.relative(selection.focus.path, closestBlockPath)\n\t\t\t\t\t\tTransforms.splitNodes(editor, {\n\t\t\t\t\t\t\t// The zero should be the newly created default element.\n\t\t\t\t\t\t\tat: {\n\t\t\t\t\t\t\t\tpath: [...closestBlockPath, 0, ...relative],\n\t\t\t\t\t\t\t\toffset: selection.focus.offset,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talways: true,\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\treturn onKeyDown(event)\n\t\t},\n\t})\n\n\n\n\treturn editor\n}\n"],"names":["listItemElementPlugin","orderedListElementPlugin","unorderedListElementPlugin","listHtmlDeserializerFactory","SlateRange","ContemberEditor","isListItemElement","SlatePath","SlateNode","Transforms","isListElement","Editor","SlateElement","dedentListItem","indentListItem","Text"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withLists.js","sources":["../../../../../src/plugins/element/lists/withLists.ts"],"sourcesContent":["import {\n\tEditor,\n\tElement as SlateElement,\n\tNode as SlateNode,\n\tPath as SlatePath,\n\tRange as SlateRange,\n\tText,\n\tTransforms,\n} from 'slate'\nimport { ContemberEditor } from '../../../editor'\nimport { isListItemElement, ListItemElement, listItemElementPlugin } from './ListItemElement'\nimport { OrderedListElement, orderedListElementPlugin } from './OrderedListElement'\nimport { dedentListItem, indentListItem } from './transforms'\nimport { UnorderedListElement, unorderedListElementPlugin } from './UnorderedListElement'\nimport { isListElement } from './ListElement'\nimport { listHtmlDeserializerFactory } from './ListHtmlDeserializer'\nimport { ElementRenderer } from '../../../types'\n\nexport const withLists = ({ renderListItem, renderUnorderedList, renderOrderedList }: {\n\trenderListItem: ElementRenderer<ListItemElement>\n\trenderOrderedList: ElementRenderer<OrderedListElement>\n\trenderUnorderedList: ElementRenderer<UnorderedListElement>\n}) => <E extends Editor>(editor: E): E => {\n\tconst {\n\t\tinsertBreak,\n\t\tonKeyDown,\n\t} = editor\n\n\teditor.registerElement(listItemElementPlugin({ render: renderListItem }))\n\teditor.registerElement(orderedListElementPlugin({ render: renderOrderedList }))\n\teditor.registerElement(unorderedListElementPlugin({ render: renderUnorderedList }))\n\n\teditor.htmlDeserializer.registerPlugin(listHtmlDeserializerFactory())\n\n\tObject.assign<Editor, Partial<Editor>>(editor, {\n\t\tinsertBreak: () => {\n\t\t\tconst { selection } = editor\n\n\t\t\tif (!selection || !SlateRange.isCollapsed(selection)) {\n\t\t\t\treturn insertBreak()\n\t\t\t}\n\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor)\n\t\t\tif (closestBlockEntry === undefined) {\n\t\t\t\treturn insertBreak()\n\t\t\t}\n\t\t\tconst [closestBlock, closestBlockPath] = closestBlockEntry\n\n\t\t\tlet containingListItem: ListItemElement\n\t\t\tlet containingListItemPath: SlatePath\n\n\t\t\tif (!isListItemElement(closestBlock)) {\n\t\t\t\tif (closestBlockPath.length < 2) {\n\t\t\t\t\t// This block cannot be inside a list\n\t\t\t\t\treturn insertBreak()\n\t\t\t\t}\n\n\t\t\t\tcontainingListItemPath = SlatePath.parent(closestBlockPath)\n\t\t\t\tconst closestListItem = SlateNode.get(editor, containingListItemPath)\n\n\t\t\t\tif (!isListItemElement(closestListItem)) {\n\t\t\t\t\t// The block is not inside a list\n\t\t\t\t\treturn insertBreak()\n\t\t\t\t}\n\t\t\t\tcontainingListItem = closestListItem\n\t\t\t} else {\n\t\t\t\tcontainingListItem = closestBlock\n\t\t\t\tcontainingListItemPath = closestBlockPath\n\t\t\t}\n\n\t\t\tif (SlateNode.string(containingListItem) !== '') {\n\t\t\t\treturn Transforms.splitNodes(editor, {\n\t\t\t\t\talways: true,\n\t\t\t\t\tat: selection.focus,\n\t\t\t\t\tmatch: node => isListItemElement(node),\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// We're in a list and want to leave this list.\n\n\t\t\tconst containingListPath = SlatePath.parent(containingListItemPath)\n\t\t\tconst containingList = SlateNode.get(editor, containingListPath)\n\n\t\t\tif (!isListElement(containingList)) {\n\t\t\t\t// This shouldn't really happen. It's more of a sanity check.\n\t\t\t\treturn insertBreak()\n\t\t\t}\n\n\t\t\tconst followingListItemPath = SlatePath.next(containingListItemPath)\n\t\t\tconst hasFollowingListItem = SlateNode.has(editor, followingListItemPath)\n\n\t\t\tif (hasFollowingListItem) {\n\t\t\t\tconst followingListItemNode = SlateNode.get(editor, followingListItemPath)\n\t\t\t\tif (!isListItemElement(followingListItemNode)) {\n\t\t\t\t\t// This shouldn't really happen. It's more of a sanity check.\n\t\t\t\t\treturn insertBreak()\n\t\t\t\t}\n\t\t\t\tif (containingListItemPath[containingListItemPath.length - 1] === 0) {\n\t\t\t\t\t// We're at the beginning of a list\n\t\t\t\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\t\t\t\t// Remove the trailing empty listItem\n\t\t\t\t\t\tTransforms.removeNodes(editor, { at: containingListItemPath })\n\t\t\t\t\t\tTransforms.insertNodes(editor, editor.createDefaultElement([{ text: '' }]), { at: containingListPath, select: true })\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\t// We're in the middle of a list.\n\t\t\t\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\t\t\t\tTransforms.removeNodes(editor, { at: containingListItemPath })\n\t\t\t\t\t\tTransforms.splitNodes(editor, { at: containingListItemPath })\n\t\t\t\t\t\tconst afterListParent = SlatePath.next(containingListPath)\n\t\t\t\t\t\tTransforms.insertNodes(editor, editor.createDefaultElement([{ text: '' }]), { at: afterListParent, select: true })\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// We're at the end of a list.\n\t\t\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\t\t\tconst afterListParent = SlatePath.next(containingListPath)\n\t\t\t\t\t// Remove the trailing empty listItem\n\t\t\t\t\tTransforms.removeNodes(editor, { at: containingListItemPath })\n\t\t\t\t\tTransforms.insertNodes(editor, editor.createDefaultElement([{ text: '' }]), { at: afterListParent, select: true })\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\t\tonKeyDown: event => {\n\t\t\t// TODO this should also work for expanded selections\n\t\t\tif (\n\t\t\t\t(event.key !== 'Tab' && event.key !== 'Enter') ||\n\t\t\t\t!editor.selection ||\n\t\t\t\t!SlateRange.isCollapsed(editor.selection)\n\t\t\t) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\t\t\tconst selection = editor.selection\n\t\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor, { at: selection.focus })\n\n\t\t\tif (closestBlockEntry === undefined) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\t\t\tlet [closestBlockElement, closestBlockPath] = closestBlockEntry\n\t\t\tif (!SlateElement.isElement(closestBlockElement)) {\n\t\t\t\treturn onKeyDown(event)\n\t\t\t}\n\n\t\t\tif (event.key === 'Tab') {\n\t\t\t\tif (editor.isDefaultElement(closestBlockElement)) {\n\t\t\t\t\t[closestBlockElement, closestBlockPath] = Editor.parent(editor, closestBlockPath)\n\t\t\t\t}\n\t\t\t\tif (!isListItemElement(closestBlockElement)) {\n\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t}\n\t\t\t\tconst succeeded = event.shiftKey\n\t\t\t\t\t? dedentListItem(editor, closestBlockElement, closestBlockPath)\n\t\t\t\t\t: indentListItem(editor, closestBlockElement, closestBlockPath)\n\n\t\t\t\tif (succeeded) {\n\t\t\t\t\treturn event.preventDefault()\n\t\t\t\t}\n\t\t\t} else if (event.key === 'Enter' && event.shiftKey) {\n\t\t\t\tif (editor.isDefaultElement(closestBlockElement)) {\n\t\t\t\t\tconst [listItem] = Editor.parent(editor, closestBlockPath)\n\t\t\t\t\tif (!isListItemElement(listItem)) {\n\t\t\t\t\t\treturn onKeyDown(event)\n\t\t\t\t\t}\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\treturn Transforms.splitNodes(editor, {\n\t\t\t\t\t\talways: true,\n\t\t\t\t\t\tat: selection.focus,\n\t\t\t\t\t\tmatch: node => SlateElement.isElement(node) && Editor.isBlock(editor, node) && editor.isDefaultElement(node),\n\t\t\t\t\t})\n\t\t\t\t} else if (isListItemElement(closestBlockElement)) {\n\t\t\t\t\t// We want to create a newline but the closest block is the list item.\n\t\t\t\t\t// This should mean that it only contains inlines. Hence we wrap them in a default element\n\t\t\t\t\t// and then split it.\n\t\t\t\t\tconst [listItemStart, listItemEnd] = Editor.edges(editor, closestBlockPath)\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\treturn Editor.withoutNormalizing(editor, () => {\n\t\t\t\t\t\tTransforms.wrapNodes(editor, editor.createDefaultElement([]), {\n\t\t\t\t\t\t\tmatch: node => Text.isText(node) || (SlateElement.isElement(node) && editor.isInline(node)),\n\t\t\t\t\t\t\tat: {\n\t\t\t\t\t\t\t\tanchor: listItemStart,\n\t\t\t\t\t\t\t\tfocus: listItemEnd,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t\t\tconst relative = SlatePath.relative(selection.focus.path, closestBlockPath)\n\t\t\t\t\t\tTransforms.splitNodes(editor, {\n\t\t\t\t\t\t\t// The zero should be the newly created default element.\n\t\t\t\t\t\t\tat: {\n\t\t\t\t\t\t\t\tpath: [...closestBlockPath, 0, ...relative],\n\t\t\t\t\t\t\t\toffset: selection.focus.offset,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talways: true,\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\treturn onKeyDown(event)\n\t\t},\n\t})\n\n\n\n\treturn editor\n}\n"],"names":["SlateRange","SlatePath","SlateNode","SlateElement"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ParagraphElement.cjs","sources":["../../../../../src/plugins/element/paragraphs/ParagraphElement.ts"],"sourcesContent":["import { Editor as SlateEditor, Editor, Element as SlateElement, Node as SlateNode, Transforms } from 'slate'\nimport { ContemberEditor } from '../../../editor'\nimport { AlignDirection } from '../../attributes'\nimport { EditorElementPlugin, ElementRenderer } from '../../../types'\n\nexport const paragraphElementType = 'paragraph' as const\n\nexport interface ParagraphElement extends SlateElement {\n\ttype: typeof paragraphElementType\n\tisNumbered?: boolean\n\tchildren: SlateEditor['children']\n\talign?: AlignDirection\n}\n\nexport const isParagraphElement = (\n\telement: SlateNode,\n\tsuchThat?: Partial<ParagraphElement>,\n): element is ParagraphElement => ContemberEditor.isElementType(element, paragraphElementType, suchThat)\n\nexport const paragraphElementPlugin = ({ render }: {render: ElementRenderer<ParagraphElement>}): EditorElementPlugin<ParagraphElement> => ({\n\ttype: paragraphElementType,\n\trender,\n\tcanContainAnyBlocks: false,\n\tacceptsAttributes: ({ editor, suchThat }) => {\n\t\treturn 'align' in suchThat\n\t},\n\ttoggleElement: ({ editor, suchThat }) => {\n\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\tconst topLevelNodes = Array.from(ContemberEditor.topLevelNodes(editor))\n\n\t\t\tif (topLevelNodes.every(([node]) => isParagraphElement(node, suchThat))) {\n\t\t\t\tfor (const [, path] of topLevelNodes) {\n\t\t\t\t\tContemberEditor.ejectElement(editor, path)\n\t\t\t\t\tTransforms.setNodes(editor, { type: editor.defaultElementType }, { at: path })\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (const [node, path] of topLevelNodes) {\n\t\t\t\t\tif (isParagraphElement(node, suchThat)) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tContemberEditor.ejectElement(editor, path)\n\t\t\t\t\tconst newProps: Partial<ParagraphElement> = {\n\t\t\t\t\t\t...suchThat,\n\t\t\t\t\t\ttype: paragraphElementType,\n\t\t\t\t\t}\n\t\t\t\t\tTransforms.setNodes(editor, newProps, { at: path })\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t},\n\tnormalizeNode: ({ editor, element, path, preventDefault }) => {\n\t\tfor (const [i, child] of element.children.entries()) {\n\t\t\tif (SlateElement.isElement(child) && Editor.isBlock(editor, child)) {\n\t\t\t\tTransforms.unwrapNodes(editor, { at: [...path, i] })\n\t\t\t\treturn preventDefault()\n\t\t\t}\n\t\t}\n\t},\n})\n"],"names":["ContemberEditor","Editor","Transforms","SlateElement"],"mappings":";;;;AAKO,MAAM,uBAAuB;AASvB,MAAA,qBAAqB,CACjC,SACA,aACiCA,MAAAA,gBAAgB,cAAc,SAAS,sBAAsB,QAAQ;AAEhG,MAAM,yBAAyB,CAAC,EAAE,cAAkG;AAAA,EAC1I,MAAM;AAAA,EACN;AAAA,EACA,qBAAqB;AAAA,EACrB,mBAAmB,CAAC,EAAE,QAAQ,eAAe;AAC5C,WAAO,WAAW;AAAA,EACnB;AAAA,EACA,eAAe,CAAC,EAAE,QAAQ,eAAe;AACjCC,iBAAA,mBAAmB,QAAQ,MAAM;AACvC,YAAM,gBAAgB,MAAM,KAAKD,MAAgB,gBAAA,cAAc,MAAM,CAAC;AAElE,UAAA,cAAc,MAAM,CAAC,CAAC,IAAI,MAAM,mBAAmB,MAAM,QAAQ,CAAC,GAAG;AACxE,mBAAW,CAAA,EAAG,IAAI,KAAK,eAAe;AACrBA,gBAAAA,gBAAA,aAAa,QAAQ,IAAI;AAC9BE,gBAAAA,WAAA,SAAS,QAAQ,EAAE,MAAM,OAAO,sBAAsB,EAAE,IAAI,KAAA,CAAM;AAAA,QAC9E;AAAA,MAAA,OACM;AACN,mBAAW,CAAC,MAAM,IAAI,KAAK,eAAe;AACrC,cAAA,mBAAmB,MAAM,QAAQ,GAAG;AACvC;AAAA,UACD;AACgBF,gBAAAA,gBAAA,aAAa,QAAQ,IAAI;AACzC,gBAAM,WAAsC;AAAA,YAC3C,GAAG;AAAA,YACH,MAAM;AAAA,UAAA;AAEPE,gBAAA,WAAW,SAAS,QAAQ,UAAU,EAAE,IAAI,MAAM;AAAA,QACnD;AAAA,MACD;AAAA,IAAA,CACA;AAAA,EACF;AAAA,EACA,eAAe,CAAC,EAAE,QAAQ,SAAS,MAAM,qBAAqB;AAC7D,eAAW,CAAC,GAAG,KAAK,KAAK,QAAQ,SAAS,WAAW;AAChD,UAAAC,MAAA,QAAa,UAAU,KAAK,KAAKF,aAAO,QAAQ,QAAQ,KAAK,GAAG;AACxDC,yBAAA,YAAY,QAAQ,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,EAAA,CAAG;AACnD,eAAO,eAAe;AAAA,MACvB;AAAA,IACD;AAAA,EACD;AACD;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ParagraphElement.js","sources":["../../../../../src/plugins/element/paragraphs/ParagraphElement.ts"],"sourcesContent":["import { Editor as SlateEditor, Editor, Element as SlateElement, Node as SlateNode, Transforms } from 'slate'\nimport { ContemberEditor } from '../../../editor'\nimport { AlignDirection } from '../../attributes'\nimport { EditorElementPlugin, ElementRenderer } from '../../../types'\n\nexport const paragraphElementType = 'paragraph' as const\n\nexport interface ParagraphElement extends SlateElement {\n\ttype: typeof paragraphElementType\n\tisNumbered?: boolean\n\tchildren: SlateEditor['children']\n\talign?: AlignDirection\n}\n\nexport const isParagraphElement = (\n\telement: SlateNode,\n\tsuchThat?: Partial<ParagraphElement>,\n): element is ParagraphElement => ContemberEditor.isElementType(element, paragraphElementType, suchThat)\n\nexport const paragraphElementPlugin = ({ render }: {render: ElementRenderer<ParagraphElement>}): EditorElementPlugin<ParagraphElement> => ({\n\ttype: paragraphElementType,\n\trender,\n\tcanContainAnyBlocks: false,\n\tacceptsAttributes: ({ editor, suchThat }) => {\n\t\treturn 'align' in suchThat\n\t},\n\ttoggleElement: ({ editor, suchThat }) => {\n\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\tconst topLevelNodes = Array.from(ContemberEditor.topLevelNodes(editor))\n\n\t\t\tif (topLevelNodes.every(([node]) => isParagraphElement(node, suchThat))) {\n\t\t\t\tfor (const [, path] of topLevelNodes) {\n\t\t\t\t\tContemberEditor.ejectElement(editor, path)\n\t\t\t\t\tTransforms.setNodes(editor, { type: editor.defaultElementType }, { at: path })\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (const [node, path] of topLevelNodes) {\n\t\t\t\t\tif (isParagraphElement(node, suchThat)) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tContemberEditor.ejectElement(editor, path)\n\t\t\t\t\tconst newProps: Partial<ParagraphElement> = {\n\t\t\t\t\t\t...suchThat,\n\t\t\t\t\t\ttype: paragraphElementType,\n\t\t\t\t\t}\n\t\t\t\t\tTransforms.setNodes(editor, newProps, { at: path })\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t},\n\tnormalizeNode: ({ editor, element, path, preventDefault }) => {\n\t\tfor (const [i, child] of element.children.entries()) {\n\t\t\tif (SlateElement.isElement(child) && Editor.isBlock(editor, child)) {\n\t\t\t\tTransforms.unwrapNodes(editor, { at: [...path, i] })\n\t\t\t\treturn preventDefault()\n\t\t\t}\n\t\t}\n\t},\n})\n"],"names":["SlateElement"],"mappings":";;AAKO,MAAM,uBAAuB;AASvB,MAAA,qBAAqB,CACjC,SACA,aACiC,gBAAgB,cAAc,SAAS,sBAAsB,QAAQ;AAEhG,MAAM,yBAAyB,CAAC,EAAE,cAAkG;AAAA,EAC1I,MAAM;AAAA,EACN;AAAA,EACA,qBAAqB;AAAA,EACrB,mBAAmB,CAAC,EAAE,QAAQ,eAAe;AAC5C,WAAO,WAAW;AAAA,EACnB;AAAA,EACA,eAAe,CAAC,EAAE,QAAQ,eAAe;AACjC,WAAA,mBAAmB,QAAQ,MAAM;AACvC,YAAM,gBAAgB,MAAM,KAAK,gBAAgB,cAAc,MAAM,CAAC;AAElE,UAAA,cAAc,MAAM,CAAC,CAAC,IAAI,MAAM,mBAAmB,MAAM,QAAQ,CAAC,GAAG;AACxE,mBAAW,CAAA,EAAG,IAAI,KAAK,eAAe;AACrB,0BAAA,aAAa,QAAQ,IAAI;AAC9B,qBAAA,SAAS,QAAQ,EAAE,MAAM,OAAO,sBAAsB,EAAE,IAAI,KAAA,CAAM;AAAA,QAC9E;AAAA,MAAA,OACM;AACN,mBAAW,CAAC,MAAM,IAAI,KAAK,eAAe;AACrC,cAAA,mBAAmB,MAAM,QAAQ,GAAG;AACvC;AAAA,UACD;AACgB,0BAAA,aAAa,QAAQ,IAAI;AACzC,gBAAM,WAAsC;AAAA,YAC3C,GAAG;AAAA,YACH,MAAM;AAAA,UAAA;AAEP,qBAAW,SAAS,QAAQ,UAAU,EAAE,IAAI,MAAM;AAAA,QACnD;AAAA,MACD;AAAA,IAAA,CACA;AAAA,EACF;AAAA,EACA,eAAe,CAAC,EAAE,QAAQ,SAAS,MAAM,qBAAqB;AAC7D,eAAW,CAAC,GAAG,KAAK,KAAK,QAAQ,SAAS,WAAW;AAChD,UAAAA,QAAa,UAAU,KAAK,KAAK,OAAO,QAAQ,QAAQ,KAAK,GAAG;AACxD,mBAAA,YAAY,QAAQ,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,EAAA,CAAG;AACnD,eAAO,eAAe;AAAA,MACvB;AAAA,IACD;AAAA,EACD;AACD;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ParagraphHtmlDeserializer.cjs","sources":["../../../../../src/plugins/element/paragraphs/ParagraphHtmlDeserializer.ts"],"sourcesContent":["import { paragraphElementType } from './ParagraphElement'\nimport { HtmlDeserializerPlugin } from '../../../types'\n\nexport const paragraphHtmlDeserializer: HtmlDeserializerPlugin = {\n\tprocessBlockPaste: ({ element, next, cumulativeTextAttrs }) => element.nodeName === 'P' ? {\n\t\ttype: paragraphElementType,\n\t\tchildren: next(element.childNodes, cumulativeTextAttrs),\n\t} : null,\n}\n"],"names":["paragraphElementType"],"mappings":";;;AAGO,MAAM,4BAAoD;AAAA,EAChE,mBAAmB,CAAC,EAAE,SAAS,MAAM,oBAAoB,MAAM,QAAQ,aAAa,MAAM;AAAA,IACzF,MAAMA,iBAAA;AAAA,IACN,UAAU,KAAK,QAAQ,YAAY,mBAAmB;AAAA,EAAA,IACnD;AACL;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ParagraphHtmlDeserializer.js","sources":["../../../../../src/plugins/element/paragraphs/ParagraphHtmlDeserializer.ts"],"sourcesContent":["import { paragraphElementType } from './ParagraphElement'\nimport { HtmlDeserializerPlugin } from '../../../types'\n\nexport const paragraphHtmlDeserializer: HtmlDeserializerPlugin = {\n\tprocessBlockPaste: ({ element, next, cumulativeTextAttrs }) => element.nodeName === 'P' ? {\n\t\ttype: paragraphElementType,\n\t\tchildren: next(element.childNodes, cumulativeTextAttrs),\n\t} : null,\n}\n"],"names":[],"mappings":";AAGO,MAAM,4BAAoD;AAAA,EAChE,mBAAmB,CAAC,EAAE,SAAS,MAAM,oBAAoB,MAAM,QAAQ,aAAa,MAAM;AAAA,IACzF,MAAM;AAAA,IACN,UAAU,KAAK,QAAQ,YAAY,mBAAmB;AAAA,EAAA,IACnD;AACL;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withParagraphs.cjs","sources":["../../../../../src/plugins/element/paragraphs/withParagraphs.ts"],"sourcesContent":["import { Editor, Element as SlateElement, Point, Range as SlateRange, Transforms } from 'slate'\nimport { ContemberEditor } from '../../../editor'\nimport { isParagraphElement, ParagraphElement, paragraphElementPlugin, paragraphElementType } from './ParagraphElement'\nimport { paragraphHtmlDeserializer } from './ParagraphHtmlDeserializer'\nimport { ElementRenderer } from '../../../types'\n\nexport const withParagraphs = ({ render }: { render: ElementRenderer<ParagraphElement> }) => <E extends Editor>(editor: E): E => {\n\tconst {\n\t\tcanToggleElement,\n\t\tdeleteBackward,\n\t} = editor\n\n\teditor.registerElement(paragraphElementPlugin({ render }))\n\n\n\teditor.canToggleElement = (elementType, suchThat) => {\n\t\t// This only allows numbered paragraphs at the top level.\n\t\t// TODO this is pretty bad but in order to fix this, we'd also have to fix toggleElement and there's no time now.\n\n\t\tif (elementType !== paragraphElementType || suchThat === undefined) {\n\t\t\treturn canToggleElement(elementType, suchThat)\n\t\t}\n\t\tconst isNumbered = suchThat.isNumbered\n\n\t\tif (isNumbered !== true) {\n\t\t\treturn canToggleElement(elementType, suchThat)\n\t\t}\n\n\t\tif (!editor.selection) {\n\t\t\treturn false\n\t\t}\n\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor)\n\t\tif (closestBlockEntry === undefined) {\n\t\t\treturn true\n\t\t}\n\t\tconst [closestBlockElement, closestBlockPath] = closestBlockEntry\n\n\t\treturn closestBlockPath.length === 1 && SlateElement.isElement(closestBlockElement) && closestBlockElement.type === paragraphElementType\n\t}\n\n\teditor.deleteBackward = unit => {\n\t\tconst selection = editor.selection\n\t\tif (unit !== 'character' || !selection || !SlateRange.isCollapsed(selection) || selection.focus.offset !== 0) {\n\t\t\treturn deleteBackward(unit)\n\t\t}\n\t\t// The offset being zero doesn't necessarily imply that selection refers to the start of a paragraph.\n\t\t// It's just a way to early-exit.\n\n\t\tconst closestNumberedEntry = Editor.above<ParagraphElement>(editor, {\n\t\t\tmatch: node => SlateElement.isElement(node) && isParagraphElement(node, { isNumbered: true }),\n\t\t})\n\t\tif (closestNumberedEntry === undefined) {\n\t\t\treturn deleteBackward(unit)\n\t\t}\n\t\tconst [, paragraphPath] = closestNumberedEntry\n\t\tconst paragraphStartPoint = Editor.start(editor, paragraphPath)\n\n\t\tif (!Point.equals(paragraphStartPoint, selection.focus)) {\n\t\t\treturn deleteBackward(unit)\n\t\t}\n\t\tTransforms.setNodes(\n\t\t\teditor,\n\t\t\t{ isNumbered: null }, // null removes the key altogether\n\t\t\t{ at: paragraphPath },\n\t\t)\n\t}\n\teditor.htmlDeserializer.registerPlugin(paragraphHtmlDeserializer)\n\n\treturn editor\n}\n"],"names":["paragraphElementPlugin","paragraphElementType","ContemberEditor","SlateElement","SlateRange","Editor","isParagraphElement","Point","Transforms","paragraphHtmlDeserializer"],"mappings":";;;;;;AAMO,MAAM,iBAAiB,CAAC,EAAE,OAAO,MAAqD,CAAmB,WAAiB;AAC1H,QAAA;AAAA,IACL;AAAA,IACA;AAAA,EACG,IAAA;AAEJ,SAAO,gBAAgBA,iBAAAA,uBAAuB,EAAE,OAAA,CAAQ,CAAC;AAGlD,SAAA,mBAAmB,CAAC,aAAa,aAAa;AAIhD,QAAA,gBAAgBC,iBAAAA,wBAAwB,aAAa,QAAW;AAC5D,aAAA,iBAAiB,aAAa,QAAQ;AAAA,IAC9C;AACA,UAAM,aAAa,SAAS;AAE5B,QAAI,eAAe,MAAM;AACjB,aAAA,iBAAiB,aAAa,QAAQ;AAAA,IAC9C;AAEI,QAAA,CAAC,OAAO,WAAW;AACf,aAAA;AAAA,IACR;AACM,UAAA,oBAAoBC,MAAAA,gBAAgB,kBAAkB,MAAM;AAClE,QAAI,sBAAsB,QAAW;AAC7B,aAAA;AAAA,IACR;AACM,UAAA,CAAC,qBAAqB,gBAAgB,IAAI;AAEzC,WAAA,iBAAiB,WAAW,KAAMC,MAAA,QAAa,UAAU,mBAAmB,KAAK,oBAAoB,SAASF;EAAA;AAGtH,SAAO,iBAAiB,CAAQ,SAAA;AAC/B,UAAM,YAAY,OAAO;AACzB,QAAI,SAAS,eAAe,CAAC,aAAa,CAACG,MAAA,MAAW,YAAY,SAAS,KAAK,UAAU,MAAM,WAAW,GAAG;AAC7G,aAAO,eAAe,IAAI;AAAA,IAC3B;AAIM,UAAA,uBAAuBC,MAAAA,OAAO,MAAwB,QAAQ;AAAA,MACnE,OAAO,CAAQ,SAAAF,MAAA,QAAa,UAAU,IAAI,KAAKG,iBAAAA,mBAAmB,MAAM,EAAE,YAAY,KAAA,CAAM;AAAA,IAAA,CAC5F;AACD,QAAI,yBAAyB,QAAW;AACvC,aAAO,eAAe,IAAI;AAAA,IAC3B;AACM,UAAA,CAAG,EAAA,aAAa,IAAI;AAC1B,UAAM,sBAAsBD,MAAA,OAAO,MAAM,QAAQ,aAAa;AAE9D,QAAI,CAACE,MAAM,MAAA,OAAO,qBAAqB,UAAU,KAAK,GAAG;AACxD,aAAO,eAAe,IAAI;AAAA,IAC3B;AACWC,UAAAA,WAAA;AAAA,MACV;AAAA,MACA,EAAE,YAAY,KAAK;AAAA;AAAA,MACnB,EAAE,IAAI,cAAc;AAAA,IAAA;AAAA,EACrB;AAEM,SAAA,iBAAiB,eAAeC,0BAAAA,yBAAyB;AAEzD,SAAA;AACR;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withParagraphs.js","sources":["../../../../../src/plugins/element/paragraphs/withParagraphs.ts"],"sourcesContent":["import { Editor, Element as SlateElement, Point, Range as SlateRange, Transforms } from 'slate'\nimport { ContemberEditor } from '../../../editor'\nimport { isParagraphElement, ParagraphElement, paragraphElementPlugin, paragraphElementType } from './ParagraphElement'\nimport { paragraphHtmlDeserializer } from './ParagraphHtmlDeserializer'\nimport { ElementRenderer } from '../../../types'\n\nexport const withParagraphs = ({ render }: { render: ElementRenderer<ParagraphElement> }) => <E extends Editor>(editor: E): E => {\n\tconst {\n\t\tcanToggleElement,\n\t\tdeleteBackward,\n\t} = editor\n\n\teditor.registerElement(paragraphElementPlugin({ render }))\n\n\n\teditor.canToggleElement = (elementType, suchThat) => {\n\t\t// This only allows numbered paragraphs at the top level.\n\t\t// TODO this is pretty bad but in order to fix this, we'd also have to fix toggleElement and there's no time now.\n\n\t\tif (elementType !== paragraphElementType || suchThat === undefined) {\n\t\t\treturn canToggleElement(elementType, suchThat)\n\t\t}\n\t\tconst isNumbered = suchThat.isNumbered\n\n\t\tif (isNumbered !== true) {\n\t\t\treturn canToggleElement(elementType, suchThat)\n\t\t}\n\n\t\tif (!editor.selection) {\n\t\t\treturn false\n\t\t}\n\t\tconst closestBlockEntry = ContemberEditor.closestBlockEntry(editor)\n\t\tif (closestBlockEntry === undefined) {\n\t\t\treturn true\n\t\t}\n\t\tconst [closestBlockElement, closestBlockPath] = closestBlockEntry\n\n\t\treturn closestBlockPath.length === 1 && SlateElement.isElement(closestBlockElement) && closestBlockElement.type === paragraphElementType\n\t}\n\n\teditor.deleteBackward = unit => {\n\t\tconst selection = editor.selection\n\t\tif (unit !== 'character' || !selection || !SlateRange.isCollapsed(selection) || selection.focus.offset !== 0) {\n\t\t\treturn deleteBackward(unit)\n\t\t}\n\t\t// The offset being zero doesn't necessarily imply that selection refers to the start of a paragraph.\n\t\t// It's just a way to early-exit.\n\n\t\tconst closestNumberedEntry = Editor.above<ParagraphElement>(editor, {\n\t\t\tmatch: node => SlateElement.isElement(node) && isParagraphElement(node, { isNumbered: true }),\n\t\t})\n\t\tif (closestNumberedEntry === undefined) {\n\t\t\treturn deleteBackward(unit)\n\t\t}\n\t\tconst [, paragraphPath] = closestNumberedEntry\n\t\tconst paragraphStartPoint = Editor.start(editor, paragraphPath)\n\n\t\tif (!Point.equals(paragraphStartPoint, selection.focus)) {\n\t\t\treturn deleteBackward(unit)\n\t\t}\n\t\tTransforms.setNodes(\n\t\t\teditor,\n\t\t\t{ isNumbered: null }, // null removes the key altogether\n\t\t\t{ at: paragraphPath },\n\t\t)\n\t}\n\teditor.htmlDeserializer.registerPlugin(paragraphHtmlDeserializer)\n\n\treturn editor\n}\n"],"names":["SlateElement","SlateRange"],"mappings":";;;;AAMO,MAAM,iBAAiB,CAAC,EAAE,OAAO,MAAqD,CAAmB,WAAiB;AAC1H,QAAA;AAAA,IACL;AAAA,IACA;AAAA,EACG,IAAA;AAEJ,SAAO,gBAAgB,uBAAuB,EAAE,OAAA,CAAQ,CAAC;AAGlD,SAAA,mBAAmB,CAAC,aAAa,aAAa;AAIhD,QAAA,gBAAgB,wBAAwB,aAAa,QAAW;AAC5D,aAAA,iBAAiB,aAAa,QAAQ;AAAA,IAC9C;AACA,UAAM,aAAa,SAAS;AAE5B,QAAI,eAAe,MAAM;AACjB,aAAA,iBAAiB,aAAa,QAAQ;AAAA,IAC9C;AAEI,QAAA,CAAC,OAAO,WAAW;AACf,aAAA;AAAA,IACR;AACM,UAAA,oBAAoB,gBAAgB,kBAAkB,MAAM;AAClE,QAAI,sBAAsB,QAAW;AAC7B,aAAA;AAAA,IACR;AACM,UAAA,CAAC,qBAAqB,gBAAgB,IAAI;AAEzC,WAAA,iBAAiB,WAAW,KAAMA,QAAa,UAAU,mBAAmB,KAAK,oBAAoB,SAAS;AAAA,EAAA;AAGtH,SAAO,iBAAiB,CAAQ,SAAA;AAC/B,UAAM,YAAY,OAAO;AACzB,QAAI,SAAS,eAAe,CAAC,aAAa,CAACC,MAAW,YAAY,SAAS,KAAK,UAAU,MAAM,WAAW,GAAG;AAC7G,aAAO,eAAe,IAAI;AAAA,IAC3B;AAIM,UAAA,uBAAuB,OAAO,MAAwB,QAAQ;AAAA,MACnE,OAAO,CAAQ,SAAAD,QAAa,UAAU,IAAI,KAAK,mBAAmB,MAAM,EAAE,YAAY,KAAA,CAAM;AAAA,IAAA,CAC5F;AACD,QAAI,yBAAyB,QAAW;AACvC,aAAO,eAAe,IAAI;AAAA,IAC3B;AACM,UAAA,CAAG,EAAA,aAAa,IAAI;AAC1B,UAAM,sBAAsB,OAAO,MAAM,QAAQ,aAAa;AAE9D,QAAI,CAAC,MAAM,OAAO,qBAAqB,UAAU,KAAK,GAAG;AACxD,aAAO,eAAe,IAAI;AAAA,IAC3B;AACW,eAAA;AAAA,MACV;AAAA,MACA,EAAE,YAAY,KAAK;AAAA;AAAA,MACnB,EAAE,IAAI,cAAc;AAAA,IAAA;AAAA,EACrB;AAEM,SAAA,iBAAiB,eAAe,yBAAyB;AAEzD,SAAA;AACR;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollTargetElement.cjs","sources":["../../../../../src/plugins/element/scrollTargets/ScrollTargetElement.ts"],"sourcesContent":["import { Editor as SlateEditor, Editor, Element as SlateElement, Node as SlateNode, Range as SlateRange, Transforms } from 'slate'\nimport { EditorElementPlugin, ElementRenderer } from '../../../types'\n\nexport const scrollTargetElementType = 'scrollTarget' as const\n\nexport interface ScrollTargetElement extends SlateElement {\n\ttype: typeof scrollTargetElementType\n\tidentifier: string\n\tchildren: SlateEditor['children']\n}\n\nexport const isScrollTargetElement = (element: SlateNode): element is ScrollTargetElement =>\n\tSlateElement.isElement(element) && element.type === scrollTargetElementType\n\nexport const isScrollTargetElementActive = (editor: Editor) => {\n\tconst [link] = Editor.nodes(editor, { match: isScrollTargetElement })\n\treturn !!link\n}\n\nexport const scrollTargetElementPlugin = ({ render }: { render: ElementRenderer<ScrollTargetElement> }): EditorElementPlugin<ScrollTargetElement> => ({\n\ttype: scrollTargetElementType,\n\trender,\n\tisActive: ({ editor }) => isScrollTargetElementActive(editor),\n\tisInline: true,\n\tisVoid: true,\n\ttoggleElement: ({ editor, suchThat }) => {\n\t\tif (isScrollTargetElementActive(editor)) {\n\t\t\tunwrapScrollTarget(editor)\n\t\t} else {\n\t\t\tlet identifier =\n\t\t\t\tsuchThat?.identifier ??\n\t\t\t\tprompt('Insert the identifier:')\n\n\t\t\tif (!identifier) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\twrapScrollTarget(editor, identifier)\n\t\t}\n\t},\n})\nconst unwrapScrollTarget = (editor: Editor) => {\n\tTransforms.removeNodes(editor, { match: isScrollTargetElement })\n}\nconst wrapScrollTarget = (editor: Editor, identifier: string) => {\n\tif (isScrollTargetElementActive(editor)) {\n\t\tunwrapScrollTarget(editor)\n\t}\n\n\tconst selection = editor.selection\n\tconst isCollapsed = selection ? SlateRange.isCollapsed(selection!) : false\n\tconst ScrollTarget: ScrollTargetElement = {\n\t\ttype: scrollTargetElementType,\n\t\tidentifier,\n\t\tchildren: [{ text: '' }],\n\t}\n\n\tif (!isCollapsed) {\n\t\tTransforms.collapse(editor, { edge: 'start' })\n\t}\n\tTransforms.insertNodes(editor, ScrollTarget)\n}\n"],"names":["SlateElement","Editor","Transforms","SlateRange"],"mappings":";;;AAGO,MAAM,0BAA0B;AAQ1B,MAAA,wBAAwB,CAAC,YACrCA,cAAa,UAAU,OAAO,KAAK,QAAQ,SAAS;AAExC,MAAA,8BAA8B,CAAC,WAAmB;AACxD,QAAA,CAAC,IAAI,IAAIC,aAAO,MAAM,QAAQ,EAAE,OAAO,sBAAA,CAAuB;AACpE,SAAO,CAAC,CAAC;AACV;AAEO,MAAM,4BAA4B,CAAC,EAAE,cAA0G;AAAA,EACrJ,MAAM;AAAA,EACN;AAAA,EACA,UAAU,CAAC,EAAE,aAAa,4BAA4B,MAAM;AAAA,EAC5D,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,eAAe,CAAC,EAAE,QAAQ,eAAe;AACpC,QAAA,4BAA4B,MAAM,GAAG;AACxC,yBAAmB,MAAM;AAAA,IAAA,OACnB;AACN,UAAI,aACH,UAAU,cACV,OAAO,wBAAwB;AAEhC,UAAI,CAAC,YAAY;AAChB;AAAA,MACD;AACA,uBAAiB,QAAQ,UAAU;AAAA,IACpC;AAAA,EACD;AACD;AACA,MAAM,qBAAqB,CAAC,WAAmB;AAC9CC,QAAA,WAAW,YAAY,QAAQ,EAAE,OAAO,sBAAuB,CAAA;AAChE;AACA,MAAM,mBAAmB,CAAC,QAAgB,eAAuB;AAC5D,MAAA,4BAA4B,MAAM,GAAG;AACxC,uBAAmB,MAAM;AAAA,EAC1B;AAEA,QAAM,YAAY,OAAO;AACzB,QAAM,cAAc,YAAYC,MAAAA,MAAW,YAAY,SAAU,IAAI;AACrE,QAAM,eAAoC;AAAA,IACzC,MAAM;AAAA,IACN;AAAA,IACA,UAAU,CAAC,EAAE,MAAM,IAAI;AAAA,EAAA;AAGxB,MAAI,CAAC,aAAa;AACjBD,UAAA,WAAW,SAAS,QAAQ,EAAE,MAAM,QAAS,CAAA;AAAA,EAC9C;AACWA,QAAAA,WAAA,YAAY,QAAQ,YAAY;AAC5C;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollTargetElement.js","sources":["../../../../../src/plugins/element/scrollTargets/ScrollTargetElement.ts"],"sourcesContent":["import { Editor as SlateEditor, Editor, Element as SlateElement, Node as SlateNode, Range as SlateRange, Transforms } from 'slate'\nimport { EditorElementPlugin, ElementRenderer } from '../../../types'\n\nexport const scrollTargetElementType = 'scrollTarget' as const\n\nexport interface ScrollTargetElement extends SlateElement {\n\ttype: typeof scrollTargetElementType\n\tidentifier: string\n\tchildren: SlateEditor['children']\n}\n\nexport const isScrollTargetElement = (element: SlateNode): element is ScrollTargetElement =>\n\tSlateElement.isElement(element) && element.type === scrollTargetElementType\n\nexport const isScrollTargetElementActive = (editor: Editor) => {\n\tconst [link] = Editor.nodes(editor, { match: isScrollTargetElement })\n\treturn !!link\n}\n\nexport const scrollTargetElementPlugin = ({ render }: { render: ElementRenderer<ScrollTargetElement> }): EditorElementPlugin<ScrollTargetElement> => ({\n\ttype: scrollTargetElementType,\n\trender,\n\tisActive: ({ editor }) => isScrollTargetElementActive(editor),\n\tisInline: true,\n\tisVoid: true,\n\ttoggleElement: ({ editor, suchThat }) => {\n\t\tif (isScrollTargetElementActive(editor)) {\n\t\t\tunwrapScrollTarget(editor)\n\t\t} else {\n\t\t\tlet identifier =\n\t\t\t\tsuchThat?.identifier ??\n\t\t\t\tprompt('Insert the identifier:')\n\n\t\t\tif (!identifier) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\twrapScrollTarget(editor, identifier)\n\t\t}\n\t},\n})\nconst unwrapScrollTarget = (editor: Editor) => {\n\tTransforms.removeNodes(editor, { match: isScrollTargetElement })\n}\nconst wrapScrollTarget = (editor: Editor, identifier: string) => {\n\tif (isScrollTargetElementActive(editor)) {\n\t\tunwrapScrollTarget(editor)\n\t}\n\n\tconst selection = editor.selection\n\tconst isCollapsed = selection ? SlateRange.isCollapsed(selection!) : false\n\tconst ScrollTarget: ScrollTargetElement = {\n\t\ttype: scrollTargetElementType,\n\t\tidentifier,\n\t\tchildren: [{ text: '' }],\n\t}\n\n\tif (!isCollapsed) {\n\t\tTransforms.collapse(editor, { edge: 'start' })\n\t}\n\tTransforms.insertNodes(editor, ScrollTarget)\n}\n"],"names":["SlateElement","SlateRange"],"mappings":";AAGO,MAAM,0BAA0B;AAQ1B,MAAA,wBAAwB,CAAC,YACrCA,QAAa,UAAU,OAAO,KAAK,QAAQ,SAAS;AAExC,MAAA,8BAA8B,CAAC,WAAmB;AACxD,QAAA,CAAC,IAAI,IAAI,OAAO,MAAM,QAAQ,EAAE,OAAO,sBAAA,CAAuB;AACpE,SAAO,CAAC,CAAC;AACV;AAEO,MAAM,4BAA4B,CAAC,EAAE,cAA0G;AAAA,EACrJ,MAAM;AAAA,EACN;AAAA,EACA,UAAU,CAAC,EAAE,aAAa,4BAA4B,MAAM;AAAA,EAC5D,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,eAAe,CAAC,EAAE,QAAQ,eAAe;AACpC,QAAA,4BAA4B,MAAM,GAAG;AACxC,yBAAmB,MAAM;AAAA,IAAA,OACnB;AACN,UAAI,aACH,UAAU,cACV,OAAO,wBAAwB;AAEhC,UAAI,CAAC,YAAY;AAChB;AAAA,MACD;AACA,uBAAiB,QAAQ,UAAU;AAAA,IACpC;AAAA,EACD;AACD;AACA,MAAM,qBAAqB,CAAC,WAAmB;AAC9C,aAAW,YAAY,QAAQ,EAAE,OAAO,sBAAuB,CAAA;AAChE;AACA,MAAM,mBAAmB,CAAC,QAAgB,eAAuB;AAC5D,MAAA,4BAA4B,MAAM,GAAG;AACxC,uBAAmB,MAAM;AAAA,EAC1B;AAEA,QAAM,YAAY,OAAO;AACzB,QAAM,cAAc,YAAYC,MAAW,YAAY,SAAU,IAAI;AACrE,QAAM,eAAoC;AAAA,IACzC,MAAM;AAAA,IACN;AAAA,IACA,UAAU,CAAC,EAAE,MAAM,IAAI;AAAA,EAAA;AAGxB,MAAI,CAAC,aAAa;AACjB,eAAW,SAAS,QAAQ,EAAE,MAAM,QAAS,CAAA;AAAA,EAC9C;AACW,aAAA,YAAY,QAAQ,YAAY;AAC5C;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withScrollTargets.cjs","sources":["../../../../../src/plugins/element/scrollTargets/withScrollTargets.ts"],"sourcesContent":["import { Editor } from 'slate'\nimport { ScrollTargetElement, scrollTargetElementPlugin } from './ScrollTargetElement'\nimport { ElementRenderer } from '../../../types'\n\nexport const withScrollTargets = ({ render }: { render: ElementRenderer<ScrollTargetElement> }) => <E extends Editor>(editor: E): E => {\n\teditor.registerElement(scrollTargetElementPlugin({ render }))\n\treturn editor\n}\n"],"names":["scrollTargetElementPlugin"],"mappings":";;;AAIO,MAAM,oBAAoB,CAAC,EAAE,OAAO,MAAwD,CAAmB,WAAiB;AACtI,SAAO,gBAAgBA,oBAAAA,0BAA0B,EAAE,OAAA,CAAQ,CAAC;AACrD,SAAA;AACR;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withScrollTargets.js","sources":["../../../../../src/plugins/element/scrollTargets/withScrollTargets.ts"],"sourcesContent":["import { Editor } from 'slate'\nimport { ScrollTargetElement, scrollTargetElementPlugin } from './ScrollTargetElement'\nimport { ElementRenderer } from '../../../types'\n\nexport const withScrollTargets = ({ render }: { render: ElementRenderer<ScrollTargetElement> }) => <E extends Editor>(editor: E): E => {\n\teditor.registerElement(scrollTargetElementPlugin({ render }))\n\treturn editor\n}\n"],"names":[],"mappings":";AAIO,MAAM,oBAAoB,CAAC,EAAE,OAAO,MAAwD,CAAmB,WAAiB;AACtI,SAAO,gBAAgB,0BAA0B,EAAE,OAAA,CAAQ,CAAC;AACrD,SAAA;AACR;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableCellElement.cjs","sources":["../../../../../src/plugins/element/tables/TableCellElement.ts"],"sourcesContent":["import { Editor as SlateEditor, Element, Element as SlateElement, Node, Transforms } from 'slate'\nimport { ContemberEditor } from '../../../editor'\nimport { tableRowElementType } from './TableRowElement'\nimport { EditorElementPlugin, ElementRenderer } from '../../../types'\n\nexport const tableCellElementType = 'tableCell' as const\n\nexport interface TableCellElement extends SlateElement {\n\ttype: typeof tableCellElementType\n\tchildren: SlateEditor['children']\n\theaderScope?: 'row'\n\tjustify?: 'start' | 'center' | 'end'\n}\n\nexport const isTableCellElement = (element: Node): element is TableCellElement => Element.isElement(element) && element.type === tableCellElementType\n\nexport const createEmptyTableCellElement = () => ({\n\ttype: tableCellElementType,\n\tchildren: [{ text: '' }],\n})\n\n\nexport const tableCellElementPlugin = ({ render }: {render: ElementRenderer<TableCellElement>}): EditorElementPlugin<TableCellElement> => ({\n\ttype: tableCellElementType,\n\trender,\n\tnormalizeNode: ({ element, editor, path, preventDefault }) => {\n\t\tif (element.children.length === 1) {\n\t\t\tconst onlyChild = element.children[0]\n\t\t\tif (SlateElement.isElement(onlyChild) && editor.isDefaultElement(onlyChild)) {\n\t\t\t\tTransforms.unwrapNodes(editor, {\n\t\t\t\t\tat: [...path, 0],\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tif (!ContemberEditor.hasParentOfType(editor, [element, path], tableRowElementType)) {\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: true,\n})\n"],"names":["Element","SlateElement","Transforms","ContemberEditor","tableRowElementType"],"mappings":";;;;;AAKO,MAAM,uBAAuB;AASvB,MAAA,qBAAqB,CAAC,YAA+CA,cAAQ,UAAU,OAAO,KAAK,QAAQ,SAAS;AAE1H,MAAM,8BAA8B,OAAO;AAAA,EACjD,MAAM;AAAA,EACN,UAAU,CAAC,EAAE,MAAM,IAAI;AACxB;AAGO,MAAM,yBAAyB,CAAC,EAAE,cAAkG;AAAA,EAC1I,MAAM;AAAA,EACN;AAAA,EACA,eAAe,CAAC,EAAE,SAAS,QAAQ,MAAM,qBAAqB;AACzD,QAAA,QAAQ,SAAS,WAAW,GAAG;AAC5B,YAAA,YAAY,QAAQ,SAAS,CAAC;AACpC,UAAIC,MAAAA,QAAa,UAAU,SAAS,KAAK,OAAO,iBAAiB,SAAS,GAAG;AAC5EC,cAAA,WAAW,YAAY,QAAQ;AAAA,UAC9B,IAAI,CAAC,GAAG,MAAM,CAAC;AAAA,QAAA,CACf;AAAA,MACF;AAAA,IACD;AACI,QAAA,CAACC,MAAAA,gBAAgB,gBAAgB,QAAQ,CAAC,SAAS,IAAI,GAAGC,gBAAAA,mBAAmB,GAAG;AACnFF,YAAA,WAAW,YAAY,QAAQ,EAAE,IAAI,KAAM,CAAA;AAC3C,aAAO,eAAe;AAAA,IACvB;AACA,QAAI,KAAK,KAAK,SAAS,CAAC,IAAI,KAAK,QAAQ,aAAa;AAC1CA,uBAAA,SAAS,QAAQ,EAAE,aAAa,QAAQ,EAAE,IAAI,KAAA,CAAM;AAC/D,aAAO,eAAe;AAAA,IACvB;AAAA,EACD;AAAA,EACA,qBAAqB;AACtB;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableCellElement.js","sources":["../../../../../src/plugins/element/tables/TableCellElement.ts"],"sourcesContent":["import { Editor as SlateEditor, Element, Element as SlateElement, Node, Transforms } from 'slate'\nimport { ContemberEditor } from '../../../editor'\nimport { tableRowElementType } from './TableRowElement'\nimport { EditorElementPlugin, ElementRenderer } from '../../../types'\n\nexport const tableCellElementType = 'tableCell' as const\n\nexport interface TableCellElement extends SlateElement {\n\ttype: typeof tableCellElementType\n\tchildren: SlateEditor['children']\n\theaderScope?: 'row'\n\tjustify?: 'start' | 'center' | 'end'\n}\n\nexport const isTableCellElement = (element: Node): element is TableCellElement => Element.isElement(element) && element.type === tableCellElementType\n\nexport const createEmptyTableCellElement = () => ({\n\ttype: tableCellElementType,\n\tchildren: [{ text: '' }],\n})\n\n\nexport const tableCellElementPlugin = ({ render }: {render: ElementRenderer<TableCellElement>}): EditorElementPlugin<TableCellElement> => ({\n\ttype: tableCellElementType,\n\trender,\n\tnormalizeNode: ({ element, editor, path, preventDefault }) => {\n\t\tif (element.children.length === 1) {\n\t\t\tconst onlyChild = element.children[0]\n\t\t\tif (SlateElement.isElement(onlyChild) && editor.isDefaultElement(onlyChild)) {\n\t\t\t\tTransforms.unwrapNodes(editor, {\n\t\t\t\t\tat: [...path, 0],\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tif (!ContemberEditor.hasParentOfType(editor, [element, path], tableRowElementType)) {\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: true,\n})\n"],"names":["SlateElement"],"mappings":";;;AAKO,MAAM,uBAAuB;AASvB,MAAA,qBAAqB,CAAC,YAA+C,QAAQ,UAAU,OAAO,KAAK,QAAQ,SAAS;AAE1H,MAAM,8BAA8B,OAAO;AAAA,EACjD,MAAM;AAAA,EACN,UAAU,CAAC,EAAE,MAAM,IAAI;AACxB;AAGO,MAAM,yBAAyB,CAAC,EAAE,cAAkG;AAAA,EAC1I,MAAM;AAAA,EACN;AAAA,EACA,eAAe,CAAC,EAAE,SAAS,QAAQ,MAAM,qBAAqB;AACzD,QAAA,QAAQ,SAAS,WAAW,GAAG;AAC5B,YAAA,YAAY,QAAQ,SAAS,CAAC;AACpC,UAAIA,QAAa,UAAU,SAAS,KAAK,OAAO,iBAAiB,SAAS,GAAG;AAC5E,mBAAW,YAAY,QAAQ;AAAA,UAC9B,IAAI,CAAC,GAAG,MAAM,CAAC;AAAA,QAAA,CACf;AAAA,MACF;AAAA,IACD;AACI,QAAA,CAAC,gBAAgB,gBAAgB,QAAQ,CAAC,SAAS,IAAI,GAAG,mBAAmB,GAAG;AACnF,iBAAW,YAAY,QAAQ,EAAE,IAAI,KAAM,CAAA;AAC3C,aAAO,eAAe;AAAA,IACvB;AACA,QAAI,KAAK,KAAK,SAAS,CAAC,IAAI,KAAK,QAAQ,aAAa;AAC1C,iBAAA,SAAS,QAAQ,EAAE,aAAa,QAAQ,EAAE,IAAI,KAAA,CAAM;AAC/D,aAAO,eAAe;AAAA,IACvB;AAAA,EACD;AAAA,EACA,qBAAqB;AACtB;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableElement.cjs","sources":["../../../../../src/plugins/element/tables/TableElement.ts"],"sourcesContent":["import { Editor as SlateEditor, Editor, Element as SlateElement, Element, Node as SlateNode, Node, NodeEntry, Path as SlatePath, Range as SlateRange, Transforms } from 'slate'\nimport { createEmptyTableRowElement, isTableRowElement, TableRowElement, tableRowElementType } from './TableRowElement'\nimport { ContemberEditor } from '../../../editor'\nimport { gaugeTableColumnCount } from './gaugeTableColumnCount'\nimport { createEmptyTableCellElement } from './TableCellElement'\nimport { EditorElementPlugin, ElementRenderer } from '../../../types'\n\nexport const tableElementType = 'table' as const\n\nexport interface TableElement extends SlateElement {\n\ttype: typeof tableElementType\n\tchildren: SlateEditor['children']\n}\n\nexport const isTableElement = (element: Node): element is TableElement => Element.isElement(element) && element.type === tableElementType\n\nexport const createEmptyTableElement = (rowCount = 3, columnCount = 2) => ({\n\ttype: tableElementType,\n\tchildren: Array.from({ length: rowCount }, () => createEmptyTableRowElement(columnCount)),\n})\n\nexport const getTableElementRowCount = (element: TableElement): number => {\n\treturn element.children.length\n}\n\nexport const getTableElementColumnCount = (element: TableElement): number => {\n\tconst firstRow = element.children[0] as TableRowElement | undefined\n\treturn firstRow?.children.length ?? 0\n}\n\nexport const tableElementPlugin = ({ render }: {render: ElementRenderer<TableElement>}): EditorElementPlugin<TableElement> => ({\n\ttype: tableElementType,\n\trender,\n\tnormalizeNode: ({ editor, element, path, preventDefault }) => {\n\t\tif (element.children.length === 0) {\n\t\t\tTransforms.removeNodes(editor, { at: path })\n\t\t\treturn preventDefault()\n\t\t}\n\n\t\tlet didTransform = false\n\t\tfor (const [child, childPath] of SlateNode.children(editor, path)) {\n\t\t\tif (SlateElement.isElement(child)) {\n\t\t\t\tif (!isTableRowElement(child)) {\n\t\t\t\t\tContemberEditor.ejectElement(editor, childPath)\n\t\t\t\t\tTransforms.setNodes(editor, { type: tableRowElementType }, { at: childPath })\n\t\t\t\t\tdidTransform = true\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 (didTransform) {\n\t\t\treturn preventDefault()\n\t\t}\n\t\tconst columnCount = gaugeTableColumnCount(element)\n\t\tfor (const [row, childPath] of SlateNode.children(editor, path) as Iterable<NodeEntry<TableRowElement>>) {\n\t\t\tconst currentColumnCount = row.children.length\n\t\t\tif (currentColumnCount === columnCount) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// For the first row, we prepend or insert at the start which in most cases will likely preserve the\n\t\t\t// already existing cells' positions.\n\t\t\tif (currentColumnCount > columnCount) {\n\t\t\t\tconst shouldBiasTowardsStart = childPath[childPath.length - 1] === 0\n\t\t\t\tfor (let i = columnCount; i < currentColumnCount; i++) {\n\t\t\t\t\tTransforms.removeNodes(editor, { at: [...childPath, shouldBiasTowardsStart ? 0 : i] })\n\t\t\t\t}\n\t\t\t} else if (currentColumnCount < columnCount) {\n\t\t\t\tconst shouldBiasTowardsStart = childPath[childPath.length - 1] === 0\n\t\t\t\tfor (let i = currentColumnCount; i < columnCount; i++) {\n\t\t\t\t\tTransforms.insertNodes(editor, createEmptyTableCellElement(), {\n\t\t\t\t\t\tat: [...childPath, shouldBiasTowardsStart ? 0 : i],\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tcanContainAnyBlocks: false,\n\ttoggleElement: ({ editor }) => {\n\t\tconst closestTableEntry = Editor.above(editor, {\n\t\t\tmode: 'lowest',\n\t\t\tmatch: matchedNode => SlateElement.isElement(matchedNode) && isTableElement(matchedNode),\n\t\t})\n\t\tif (closestTableEntry) {\n\t\t\treturn\n\t\t}\n\t\tconst { selection } = editor\n\t\tif (!selection || SlateRange.isExpanded(selection)) {\n\t\t\treturn\n\t\t}\n\n\t\tconst closestDefaultEntry: NodeEntry | undefined = Editor.above(editor, {\n\t\t\tat: selection.focus,\n\t\t\tmode: 'lowest',\n\t\t\tmatch: matchedNode => SlateElement.isElement(matchedNode) && editor.isDefaultElement(matchedNode),\n\t\t})\n\t\tif (!closestDefaultEntry) {\n\t\t\treturn\n\t\t}\n\t\tconst [closestDefault, closestDefaultPath] = closestDefaultEntry\n\n\t\tif (closestDefaultPath.length !== 1) {\n\t\t\treturn // We only support tables at the very top level\n\t\t}\n\n\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\tlet targetPath: SlatePath\n\t\t\tif (SlateNode.string(closestDefault) === '') {\n\t\t\t\tTransforms.removeNodes(editor, {\n\t\t\t\t\tat: closestDefaultPath,\n\t\t\t\t})\n\t\t\t\ttargetPath = closestDefaultPath\n\t\t\t} else {\n\t\t\t\ttargetPath = [closestDefaultPath[0] + 1]\n\t\t\t}\n\t\t\tconst table = createEmptyTableElement()\n\n\t\t\tTransforms.insertNodes(editor, table, {\n\t\t\t\tat: targetPath,\n\t\t\t})\n\t\t})\n\t},\n})\n"],"names":["Element","createEmptyTableRowElement","Transforms","SlateNode","SlateElement","isTableRowElement","ContemberEditor","tableRowElementType","gaugeTableColumnCount","createEmptyTableCellElement","Editor","SlateRange"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableElement.js","sources":["../../../../../src/plugins/element/tables/TableElement.ts"],"sourcesContent":["import { Editor as SlateEditor, Editor, Element as SlateElement, Element, Node as SlateNode, Node, NodeEntry, Path as SlatePath, Range as SlateRange, Transforms } from 'slate'\nimport { createEmptyTableRowElement, isTableRowElement, TableRowElement, tableRowElementType } from './TableRowElement'\nimport { ContemberEditor } from '../../../editor'\nimport { gaugeTableColumnCount } from './gaugeTableColumnCount'\nimport { createEmptyTableCellElement } from './TableCellElement'\nimport { EditorElementPlugin, ElementRenderer } from '../../../types'\n\nexport const tableElementType = 'table' as const\n\nexport interface TableElement extends SlateElement {\n\ttype: typeof tableElementType\n\tchildren: SlateEditor['children']\n}\n\nexport const isTableElement = (element: Node): element is TableElement => Element.isElement(element) && element.type === tableElementType\n\nexport const createEmptyTableElement = (rowCount = 3, columnCount = 2) => ({\n\ttype: tableElementType,\n\tchildren: Array.from({ length: rowCount }, () => createEmptyTableRowElement(columnCount)),\n})\n\nexport const getTableElementRowCount = (element: TableElement): number => {\n\treturn element.children.length\n}\n\nexport const getTableElementColumnCount = (element: TableElement): number => {\n\tconst firstRow = element.children[0] as TableRowElement | undefined\n\treturn firstRow?.children.length ?? 0\n}\n\nexport const tableElementPlugin = ({ render }: {render: ElementRenderer<TableElement>}): EditorElementPlugin<TableElement> => ({\n\ttype: tableElementType,\n\trender,\n\tnormalizeNode: ({ editor, element, path, preventDefault }) => {\n\t\tif (element.children.length === 0) {\n\t\t\tTransforms.removeNodes(editor, { at: path })\n\t\t\treturn preventDefault()\n\t\t}\n\n\t\tlet didTransform = false\n\t\tfor (const [child, childPath] of SlateNode.children(editor, path)) {\n\t\t\tif (SlateElement.isElement(child)) {\n\t\t\t\tif (!isTableRowElement(child)) {\n\t\t\t\t\tContemberEditor.ejectElement(editor, childPath)\n\t\t\t\t\tTransforms.setNodes(editor, { type: tableRowElementType }, { at: childPath })\n\t\t\t\t\tdidTransform = true\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 (didTransform) {\n\t\t\treturn preventDefault()\n\t\t}\n\t\tconst columnCount = gaugeTableColumnCount(element)\n\t\tfor (const [row, childPath] of SlateNode.children(editor, path) as Iterable<NodeEntry<TableRowElement>>) {\n\t\t\tconst currentColumnCount = row.children.length\n\t\t\tif (currentColumnCount === columnCount) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// For the first row, we prepend or insert at the start which in most cases will likely preserve the\n\t\t\t// already existing cells' positions.\n\t\t\tif (currentColumnCount > columnCount) {\n\t\t\t\tconst shouldBiasTowardsStart = childPath[childPath.length - 1] === 0\n\t\t\t\tfor (let i = columnCount; i < currentColumnCount; i++) {\n\t\t\t\t\tTransforms.removeNodes(editor, { at: [...childPath, shouldBiasTowardsStart ? 0 : i] })\n\t\t\t\t}\n\t\t\t} else if (currentColumnCount < columnCount) {\n\t\t\t\tconst shouldBiasTowardsStart = childPath[childPath.length - 1] === 0\n\t\t\t\tfor (let i = currentColumnCount; i < columnCount; i++) {\n\t\t\t\t\tTransforms.insertNodes(editor, createEmptyTableCellElement(), {\n\t\t\t\t\t\tat: [...childPath, shouldBiasTowardsStart ? 0 : i],\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tcanContainAnyBlocks: false,\n\ttoggleElement: ({ editor }) => {\n\t\tconst closestTableEntry = Editor.above(editor, {\n\t\t\tmode: 'lowest',\n\t\t\tmatch: matchedNode => SlateElement.isElement(matchedNode) && isTableElement(matchedNode),\n\t\t})\n\t\tif (closestTableEntry) {\n\t\t\treturn\n\t\t}\n\t\tconst { selection } = editor\n\t\tif (!selection || SlateRange.isExpanded(selection)) {\n\t\t\treturn\n\t\t}\n\n\t\tconst closestDefaultEntry: NodeEntry | undefined = Editor.above(editor, {\n\t\t\tat: selection.focus,\n\t\t\tmode: 'lowest',\n\t\t\tmatch: matchedNode => SlateElement.isElement(matchedNode) && editor.isDefaultElement(matchedNode),\n\t\t})\n\t\tif (!closestDefaultEntry) {\n\t\t\treturn\n\t\t}\n\t\tconst [closestDefault, closestDefaultPath] = closestDefaultEntry\n\n\t\tif (closestDefaultPath.length !== 1) {\n\t\t\treturn // We only support tables at the very top level\n\t\t}\n\n\t\tEditor.withoutNormalizing(editor, () => {\n\t\t\tlet targetPath: SlatePath\n\t\t\tif (SlateNode.string(closestDefault) === '') {\n\t\t\t\tTransforms.removeNodes(editor, {\n\t\t\t\t\tat: closestDefaultPath,\n\t\t\t\t})\n\t\t\t\ttargetPath = closestDefaultPath\n\t\t\t} else {\n\t\t\t\ttargetPath = [closestDefaultPath[0] + 1]\n\t\t\t}\n\t\t\tconst table = createEmptyTableElement()\n\n\t\t\tTransforms.insertNodes(editor, table, {\n\t\t\t\tat: targetPath,\n\t\t\t})\n\t\t})\n\t},\n})\n"],"names":["SlateNode","SlateElement","SlateRange"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableElementSelection.cjs","sources":["../../../../../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":["ReactEditor","Transforms","Editor"],"mappings":";;;;AAKO,MAAM,0BAA0B,CAAC,QAAgB,OAAiC,UAAkB,gBAAwB;AAClI,MAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AAClB,YAAAA,WAAAA,YAAY,SAAS,QAAQ,KAAK;AAAA,EAC3C;AACAC,QAAA,WAAW,OAAO,QAAQ;AAAA,IACzB,QAAQC,MAAAA,OAAO,MAAM,QAAQ,CAAC,GAAG,OAAO,UAAU,WAAW,CAAC;AAAA,IAC9D,OAAOA,MAAAA,OAAO,IAAI,QAAQ,CAAC,GAAG,OAAO,UAAU,WAAW,CAAC;AAAA,EAAA,CAC3D;AACF;AAEa,MAAA,0BAA0B,CAAC,QAAgB,YAA8B;AACrF,QAAM,WAAWF,WAAA,YAAY,SAAS,QAAQ,OAAO;AAC9C,SAAA,SAAS,MAAM,EAAE;AACzB;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableElementSelection.js","sources":["../../../../../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;AAClB,YAAA,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;AAEa,MAAA,0BAA0B,CAAC,QAAgB,YAA8B;AACrF,QAAM,WAAW,YAAY,SAAS,QAAQ,OAAO;AAC9C,SAAA,SAAS,MAAM,EAAE;AACzB;"}
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const Slate = require("slate");
|
|
4
|
-
const slateReact = require("slate-react");
|
|
5
|
-
const TableElement = require("./TableElement.cjs");
|
|
6
|
-
const TableRowElement = require("./TableRowElement.cjs");
|
|
7
|
-
const index = require("../../../editor/index.cjs");
|
|
8
|
-
const TableCellElement = require("./TableCellElement.cjs");
|
|
9
|
-
class TableModifications {
|
|
10
|
-
static deleteTableColumn(editor, element, index2) {
|
|
11
|
-
const tablePath = slateReact.ReactEditor.findPath(editor, element);
|
|
12
|
-
const rowCount = element.children.length;
|
|
13
|
-
Slate.Editor.withoutNormalizing(editor, () => {
|
|
14
|
-
for (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {
|
|
15
|
-
Slate.Transforms.removeNodes(editor, {
|
|
16
|
-
at: [...tablePath, rowIndex, index2]
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
static addTableRow(editor, element, index$1) {
|
|
22
|
-
const tablePath = slateReact.ReactEditor.findPath(editor, element);
|
|
23
|
-
const columnCount = TableElement.getTableElementColumnCount(element);
|
|
24
|
-
const rowIndex = index$1 ?? element.children.length;
|
|
25
|
-
let tableRow;
|
|
26
|
-
if (element.children.length === 0) {
|
|
27
|
-
tableRow = TableRowElement.createEmptyTableRowElement(columnCount);
|
|
28
|
-
} else {
|
|
29
|
-
const blueprintRow = element.children[rowIndex === 0 ? 0 : rowIndex - 1];
|
|
30
|
-
tableRow = {
|
|
31
|
-
...index.ContemberEditor.elementToSpecifics(blueprintRow),
|
|
32
|
-
type: TableRowElement.tableRowElementType,
|
|
33
|
-
children: Array.from(
|
|
34
|
-
{ length: columnCount },
|
|
35
|
-
(_, columnIndex) => copyTableCell(blueprintRow.children[columnIndex])
|
|
36
|
-
)
|
|
37
|
-
};
|
|
38
|
-
if (rowIndex === 0) {
|
|
39
|
-
const firstRow = element.children[0];
|
|
40
|
-
if (firstRow.headerScope) {
|
|
41
|
-
Slate.Transforms.setNodes(editor, { headerScope: null }, { at: [...tablePath, 0] });
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
Slate.Transforms.insertNodes(editor, tableRow, {
|
|
46
|
-
at: [...tablePath, rowIndex]
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
static addTableColumn(editor, element, index2) {
|
|
50
|
-
const tablePath = slateReact.ReactEditor.findPath(editor, element);
|
|
51
|
-
const columnCount = TableElement.getTableElementColumnCount(element);
|
|
52
|
-
const rowCount = TableElement.getTableElementRowCount(element);
|
|
53
|
-
const columnIndex = index2 ?? columnCount ?? 0;
|
|
54
|
-
Slate.Editor.withoutNormalizing(editor, () => {
|
|
55
|
-
for (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {
|
|
56
|
-
const tableRow = element.children[rowIndex];
|
|
57
|
-
let tableCell;
|
|
58
|
-
if (tableRow.children.length === 0) {
|
|
59
|
-
tableCell = TableCellElement.createEmptyTableCellElement();
|
|
60
|
-
} else {
|
|
61
|
-
tableCell = copyTableCell(tableRow.children[columnIndex === 0 ? 0 : columnIndex - 1]);
|
|
62
|
-
if (columnIndex === 0) {
|
|
63
|
-
const firstCell = tableRow.children[0];
|
|
64
|
-
if (firstCell.headerScope) {
|
|
65
|
-
Slate.Transforms.setNodes(editor, { headerScope: null }, { at: [...tablePath, rowIndex, 0] });
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
Slate.Transforms.insertNodes(editor, tableCell, {
|
|
70
|
-
at: [...tablePath, rowIndex, columnIndex]
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
static justifyTableColumn(editor, element, columnIndex, direction) {
|
|
76
|
-
forEachCellInColumn(editor, element, columnIndex, ([, cellPath]) => {
|
|
77
|
-
Slate.Transforms.setNodes(
|
|
78
|
-
editor,
|
|
79
|
-
{ justify: direction ?? null },
|
|
80
|
-
{ match: (node) => TableCellElement.isTableCellElement(node), at: cellPath }
|
|
81
|
-
);
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
static toggleTableRowHeaderScope(editor, element, rowIndex, scope) {
|
|
85
|
-
const rowCount = element.children.length;
|
|
86
|
-
if (rowIndex !== 0 || rowCount < 1) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
const tablePath = slateReact.ReactEditor.findPath(editor, element);
|
|
90
|
-
const firstRow = element.children[0];
|
|
91
|
-
Slate.Transforms.setNodes(
|
|
92
|
-
editor,
|
|
93
|
-
{ headerScope: firstRow.headerScope === scope ? null : scope },
|
|
94
|
-
{ match: (node) => TableRowElement.isTableRowElement(node), at: [...tablePath, 0] }
|
|
95
|
-
);
|
|
96
|
-
}
|
|
97
|
-
static toggleTableColumnHeaderScope(editor, element, columnIndex, scope) {
|
|
98
|
-
let currentStatusScore = 0;
|
|
99
|
-
const rowCount = element.children.length;
|
|
100
|
-
forEachCellInColumn(editor, element, columnIndex, ([cell]) => {
|
|
101
|
-
currentStatusScore += cell.headerScope === scope ? 1 : -1;
|
|
102
|
-
});
|
|
103
|
-
const shouldSetScope = -currentStatusScore === rowCount || currentStatusScore > 0 && currentStatusScore !== rowCount;
|
|
104
|
-
forEachCellInColumn(editor, element, columnIndex, ([, cellPath]) => {
|
|
105
|
-
Slate.Transforms.setNodes(
|
|
106
|
-
editor,
|
|
107
|
-
{ headerScope: shouldSetScope ? scope : null },
|
|
108
|
-
{ match: (node) => TableCellElement.isTableCellElement(node), at: cellPath }
|
|
109
|
-
);
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
static deleteTableRow(editor, element, index2) {
|
|
113
|
-
const tablePath = slateReact.ReactEditor.findPath(editor, element);
|
|
114
|
-
Slate.Transforms.removeNodes(editor, {
|
|
115
|
-
at: [...tablePath, index2]
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
const forEachCellInColumn = (editor, element, columnIndex, callback) => {
|
|
120
|
-
const tablePath = slateReact.ReactEditor.findPath(editor, element);
|
|
121
|
-
const rowCount = TableElement.getTableElementRowCount(element);
|
|
122
|
-
Slate.Editor.withoutNormalizing(editor, () => {
|
|
123
|
-
for (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {
|
|
124
|
-
callback(Slate.Editor.node(editor, [...tablePath, rowIndex, columnIndex]));
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
};
|
|
128
|
-
const copyTableCell = (tableCellElement) => ({
|
|
129
|
-
...index.ContemberEditor.elementToSpecifics(tableCellElement),
|
|
130
|
-
type: TableCellElement.tableCellElementType,
|
|
131
|
-
children: [{ text: "" }]
|
|
132
|
-
});
|
|
133
|
-
exports.TableModifications = TableModifications;
|
|
134
|
-
//# sourceMappingURL=TableModifications.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableModifications.cjs","sources":["../../../../../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 ?? null },\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 ? null : 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 : null },\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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"}
|