@notectl/core 2.2.6 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{AlignmentPlugin-DeD4C4EP.mjs → AlignmentPlugin--xAFlRqE.mjs} +2 -2
- package/dist/chunks/{AlignmentPlugin-DeD4C4EP.mjs.map → AlignmentPlugin--xAFlRqE.mjs.map} +1 -1
- package/dist/chunks/{AttrRegistry-DcDVyzLm.mjs → AttrRegistry-B3zB02z9.mjs} +2 -2
- package/dist/chunks/AttrRegistry-B3zB02z9.mjs.map +1 -0
- package/dist/chunks/{AttributedMarkCommands-D4W2Jgpj.mjs → AttributedMarkCommands-bagbH8Qt.mjs} +2 -2
- package/dist/chunks/{AttributedMarkCommands-D4W2Jgpj.mjs.map → AttributedMarkCommands-bagbH8Qt.mjs.map} +1 -1
- package/dist/chunks/{BidiIsolationPlugin-BddRbDCN.mjs → BidiIsolationPlugin-DBXyXpgm.mjs} +2 -2
- package/dist/chunks/{BidiIsolationPlugin-BddRbDCN.mjs.map → BidiIsolationPlugin-DBXyXpgm.mjs.map} +1 -1
- package/dist/chunks/BlockInsertion-CJusvrDL.mjs +2 -0
- package/dist/chunks/BlockInsertion-CJusvrDL.mjs.map +1 -0
- package/dist/chunks/BlockquotePlugin-Bz2glHwX.mjs +2 -0
- package/dist/chunks/{BlockquotePlugin-4V7KV_Sb.mjs.map → BlockquotePlugin-Bz2glHwX.mjs.map} +1 -1
- package/dist/chunks/{CaretNavigationPlugin-C6XBwp0N.mjs → CaretNavigationPlugin-CNsT0eb4.mjs} +2 -2
- package/dist/chunks/{CaretNavigationPlugin-C6XBwp0N.mjs.map → CaretNavigationPlugin-CNsT0eb4.mjs.map} +1 -1
- package/dist/chunks/CodeBlockPlugin-C1hrdbSZ.mjs +2 -0
- package/dist/chunks/CodeBlockPlugin-C1hrdbSZ.mjs.map +1 -0
- package/dist/chunks/{ColorGrid-DPNiXxpD.mjs → ColorGrid-C9RQoEWF.mjs} +2 -2
- package/dist/chunks/{ColorGrid-DPNiXxpD.mjs.map → ColorGrid-C9RQoEWF.mjs.map} +1 -1
- package/dist/chunks/ColorPickerPopup-DiA68Pzz.mjs +2 -0
- package/dist/chunks/{ColorPickerPopup-lcf3jS6G.mjs.map → ColorPickerPopup-DiA68Pzz.mjs.map} +1 -1
- package/dist/chunks/Commands-1dFFldi7.mjs +2 -0
- package/dist/chunks/Commands-1dFFldi7.mjs.map +1 -0
- package/dist/chunks/ContentModel-NpAj7vGW.mjs +2 -0
- package/dist/chunks/ContentModel-NpAj7vGW.mjs.map +1 -0
- package/dist/chunks/Decoration-BpoEOANl.mjs +2 -0
- package/dist/chunks/Decoration-BpoEOANl.mjs.map +1 -0
- package/dist/chunks/{DirectionDetection-C7XE0nxW.mjs → DirectionDetection-CDVSEWQ6.mjs} +2 -2
- package/dist/chunks/{DirectionDetection-C7XE0nxW.mjs.map → DirectionDetection-CDVSEWQ6.mjs.map} +1 -1
- package/dist/chunks/Document-827l3P80.mjs +2 -0
- package/dist/chunks/Document-827l3P80.mjs.map +1 -0
- package/dist/chunks/DocumentParser-D2tr3ZKn.mjs +2 -0
- package/dist/chunks/DocumentParser-D2tr3ZKn.mjs.map +1 -0
- package/dist/chunks/EditorEventBoundary-zpYRxryo.mjs +2 -0
- package/dist/chunks/EditorEventBoundary-zpYRxryo.mjs.map +1 -0
- package/dist/chunks/{FontPlugin-DQMj65Bc.mjs → FontPlugin-By-TGrQo.mjs} +2 -2
- package/dist/chunks/{FontPlugin-DQMj65Bc.mjs.map → FontPlugin-By-TGrQo.mjs.map} +1 -1
- package/dist/chunks/{FontSizePlugin-9StCjEfN.mjs → FontSizePlugin-Dln-tYXV.mjs} +2 -2
- package/dist/chunks/FontSizePlugin-Dln-tYXV.mjs.map +1 -0
- package/dist/chunks/FormulaPlugin-By1befrR.mjs +2 -0
- package/dist/chunks/FormulaPlugin-By1befrR.mjs.map +1 -0
- package/dist/chunks/GapCursorNavigation-BuXngVu-.mjs +2 -0
- package/dist/chunks/{GapCursorNavigation-ycNzuQVH.mjs.map → GapCursorNavigation-BuXngVu-.mjs.map} +1 -1
- package/dist/chunks/{GapCursorPlugin-Zvxjnr82.mjs → GapCursorPlugin-DAxVzXRs.mjs} +2 -2
- package/dist/chunks/{GapCursorPlugin-Zvxjnr82.mjs.map → GapCursorPlugin-DAxVzXRs.mjs.map} +1 -1
- package/dist/chunks/HTMLUtils-Bhg3_P8B.mjs +2 -0
- package/dist/chunks/HTMLUtils-Bhg3_P8B.mjs.map +1 -0
- package/dist/chunks/{HardBreakPlugin-9DOyCyyM.mjs → HardBreakPlugin-DlbSlrdq.mjs} +2 -2
- package/dist/chunks/{HardBreakPlugin-9DOyCyyM.mjs.map → HardBreakPlugin-DlbSlrdq.mjs.map} +1 -1
- package/dist/chunks/HeadingPlugin-uMAjPOk5.mjs +2 -0
- package/dist/chunks/{HeadingPlugin-BuGoM9Rz.mjs.map → HeadingPlugin-uMAjPOk5.mjs.map} +1 -1
- package/dist/chunks/{HighlightPlugin-C6pHifVz.mjs → HighlightPlugin-Bj7FPkIQ.mjs} +2 -2
- package/dist/chunks/{HighlightPlugin-C6pHifVz.mjs.map → HighlightPlugin-Bj7FPkIQ.mjs.map} +1 -1
- package/dist/chunks/HorizontalRulePlugin-DUVmTQpX.mjs +2 -0
- package/dist/chunks/HorizontalRulePlugin-DUVmTQpX.mjs.map +1 -0
- package/dist/chunks/ImagePlugin-FToCOjd5.mjs +2 -0
- package/dist/chunks/{ImagePlugin-KpkuE2LH.mjs.map → ImagePlugin-FToCOjd5.mjs.map} +1 -1
- package/dist/chunks/{InlineCodePlugin-DMr4O7c7.mjs → InlineCodePlugin-pISIoGQE.mjs} +2 -2
- package/dist/chunks/InlineCodePlugin-pISIoGQE.mjs.map +1 -0
- package/dist/chunks/InlineStyleMarkSpec-CjSRj4f_.mjs +2 -0
- package/dist/chunks/{InlineStyleMarkSpec-C6LJT7kp.mjs.map → InlineStyleMarkSpec-CjSRj4f_.mjs.map} +1 -1
- package/dist/chunks/LinkPlugin-Ct5Z180S.mjs +2 -0
- package/dist/chunks/LinkPlugin-Ct5Z180S.mjs.map +1 -0
- package/dist/chunks/ListPlugin-DAY5ezNs.mjs +2 -0
- package/dist/chunks/ListPlugin-DAY5ezNs.mjs.map +1 -0
- package/dist/chunks/MarkInputRule-Bdi8KPus.mjs +2 -0
- package/dist/chunks/MarkInputRule-Bdi8KPus.mjs.map +1 -0
- package/dist/chunks/MarkdownHTMLRegistry-CKEx7LkR.mjs +2 -0
- package/dist/chunks/MarkdownHTMLRegistry-CKEx7LkR.mjs.map +1 -0
- package/dist/chunks/MarkdownParser-CWt3M6jR.mjs +2 -0
- package/dist/chunks/MarkdownParser-CWt3M6jR.mjs.map +1 -0
- package/dist/chunks/MarkdownSerializer-J-i28out.mjs +2 -0
- package/dist/chunks/MarkdownSerializer-J-i28out.mjs.map +1 -0
- package/dist/chunks/{NodeResolver-ChgLF_IP.mjs → NodeResolver-Dleih-8R.mjs} +2 -2
- package/dist/chunks/{NodeResolver-ChgLF_IP.mjs.map → NodeResolver-Dleih-8R.mjs.map} +1 -1
- package/dist/chunks/NodeSelectionCommands-1PjwUDTJ.mjs +2 -0
- package/dist/chunks/{NodeSelectionCommands-Dj4VxLdD.mjs.map → NodeSelectionCommands-1PjwUDTJ.mjs.map} +1 -1
- package/dist/chunks/PluginHelpers-Dx_0hfDe.mjs +2 -0
- package/dist/chunks/{PluginHelpers-KDuTlmXm.mjs.map → PluginHelpers-Dx_0hfDe.mjs.map} +1 -1
- package/dist/chunks/{PopupManager-DUtaK3WX.mjs → PopupManager-CT-fMZJn.mjs} +2 -2
- package/dist/chunks/{PopupManager-DUtaK3WX.mjs.map → PopupManager-CT-fMZJn.mjs.map} +1 -1
- package/dist/chunks/PopupPositioning-BFh6Ed1D.mjs +2 -0
- package/dist/chunks/{PopupPositioning-BB97-__N.mjs.map → PopupPositioning-BFh6Ed1D.mjs.map} +1 -1
- package/dist/chunks/PrintPlugin-7zz9mhhU.mjs +2 -0
- package/dist/chunks/PrintPlugin-7zz9mhhU.mjs.map +1 -0
- package/dist/chunks/{RangeIterator-o8v3msQe.mjs → RangeIterator-DP7Ud3Gp.mjs} +2 -2
- package/dist/chunks/{RangeIterator-o8v3msQe.mjs.map → RangeIterator-DP7Ud3Gp.mjs.map} +1 -1
- package/dist/chunks/SchemaRegistry-CkBN-1yW.mjs +2 -0
- package/dist/chunks/SchemaRegistry-CkBN-1yW.mjs.map +1 -0
- package/dist/chunks/{SimpleMark-CaQtFAau.mjs → SimpleMark-7CQcA4RK.mjs} +2 -2
- package/dist/chunks/{SimpleMark-CaQtFAau.mjs.map → SimpleMark-7CQcA4RK.mjs.map} +1 -1
- package/dist/chunks/{SmartPastePlugin-Bi_wpTCV.mjs → SmartPastePlugin-CYa_nD9v.mjs} +2 -2
- package/dist/chunks/{SmartPastePlugin-Bi_wpTCV.mjs.map → SmartPastePlugin-CYa_nD9v.mjs.map} +1 -1
- package/dist/chunks/StrikethroughPlugin-C2oWvGc3.mjs +2 -0
- package/dist/chunks/StrikethroughPlugin-C2oWvGc3.mjs.map +1 -0
- package/dist/chunks/StyleRuntime-DW6omotc.mjs +2 -0
- package/dist/chunks/StyleRuntime-DW6omotc.mjs.map +1 -0
- package/dist/chunks/{SuperSubPlugin-DVP7VnIz.mjs → SuperSubPlugin-D1xaKrSu.mjs} +2 -2
- package/dist/chunks/{SuperSubPlugin-DVP7VnIz.mjs.map → SuperSubPlugin-D1xaKrSu.mjs.map} +1 -1
- package/dist/chunks/TableDimensions-BBhjHNjQ.mjs +2 -0
- package/dist/chunks/TableDimensions-BBhjHNjQ.mjs.map +1 -0
- package/dist/chunks/TablePlugin-PJe3zwr-.mjs +2 -0
- package/dist/chunks/TablePlugin-PJe3zwr-.mjs.map +1 -0
- package/dist/chunks/TextColorPlugin-CTd9tfeG.mjs +2 -0
- package/dist/chunks/{TextColorPlugin-CEfZQ6Md.mjs.map → TextColorPlugin-CTd9tfeG.mjs.map} +1 -1
- package/dist/chunks/TextDirectionAutoPlugin-CPnKVVuI.mjs +2 -0
- package/dist/chunks/{TextDirectionAutoPlugin-CzWJjrvG.mjs.map → TextDirectionAutoPlugin-CPnKVVuI.mjs.map} +1 -1
- package/dist/chunks/{TextDirectionPlugin-DHB88HKf.mjs → TextDirectionPlugin-Bns_03vL.mjs} +2 -2
- package/dist/chunks/{TextDirectionPlugin-DHB88HKf.mjs.map → TextDirectionPlugin-Bns_03vL.mjs.map} +1 -1
- package/dist/chunks/TextDirectionService-BcX07mw2.mjs +2 -0
- package/dist/chunks/{TextDirectionService-OFOU6r_s.mjs.map → TextDirectionService-BcX07mw2.mjs.map} +1 -1
- package/dist/chunks/TextFormattingPlugin-DBVlePqj.mjs +2 -0
- package/dist/chunks/TextFormattingPlugin-DBVlePqj.mjs.map +1 -0
- package/dist/chunks/{ToolbarPlugin-DVGrFf8v.mjs → ToolbarPlugin-DtfGTO_V.mjs} +2 -2
- package/dist/chunks/{ToolbarPlugin-DVGrFf8v.mjs.map → ToolbarPlugin-DtfGTO_V.mjs.map} +1 -1
- package/dist/chunks/VideoPlugin-BrR8g6Rz.mjs +2 -0
- package/dist/chunks/VideoPlugin-BrR8g6Rz.mjs.map +1 -0
- package/dist/chunks/WordBoundary-CFpIJDNP.mjs +2 -0
- package/dist/chunks/{WordBoundary-DxeMBRyP.mjs.map → WordBoundary-CFpIJDNP.mjs.map} +1 -1
- package/dist/chunks/ar-Dg9PdDet.mjs +2 -0
- package/dist/chunks/ar-Dg9PdDet.mjs.map +1 -0
- package/dist/chunks/ar-eOA3UmiE.mjs +2 -0
- package/dist/chunks/{ar-BTShmP2E.mjs.map → ar-eOA3UmiE.mjs.map} +1 -1
- package/dist/chunks/de-DJ5EkXQo.mjs +2 -0
- package/dist/chunks/de-DJ5EkXQo.mjs.map +1 -0
- package/dist/chunks/{de-C--bRmjW.mjs → de-DRbhnS4T.mjs} +2 -2
- package/dist/chunks/{de-C--bRmjW.mjs.map → de-DRbhnS4T.mjs.map} +1 -1
- package/dist/chunks/{es-DFUVd7eO.mjs → es-BQ9dox_E.mjs} +2 -2
- package/dist/chunks/{es-DFUVd7eO.mjs.map → es-BQ9dox_E.mjs.map} +1 -1
- package/dist/chunks/es-CEAJj7aB.mjs +2 -0
- package/dist/chunks/es-CEAJj7aB.mjs.map +1 -0
- package/dist/chunks/fr-DhWQzZy3.mjs +2 -0
- package/dist/chunks/fr-DhWQzZy3.mjs.map +1 -0
- package/dist/chunks/{fr-BaXKyPmX.mjs → fr-NVOinLyF.mjs} +2 -2
- package/dist/chunks/{fr-BaXKyPmX.mjs.map → fr-NVOinLyF.mjs.map} +1 -1
- package/dist/chunks/full-DSWM4cKQ.mjs +2 -0
- package/dist/chunks/{full-BBl7mvwH.mjs.map → full-DSWM4cKQ.mjs.map} +1 -1
- package/dist/chunks/hi-BsZzSMfL.mjs +2 -0
- package/dist/chunks/hi-BsZzSMfL.mjs.map +1 -0
- package/dist/chunks/{hi-aH9HZG23.mjs → hi-DrC2H81d.mjs} +2 -2
- package/dist/chunks/{hi-aH9HZG23.mjs.map → hi-DrC2H81d.mjs.map} +1 -1
- package/dist/chunks/minimal-CFkkPXef.mjs +2 -0
- package/dist/chunks/{minimal-CtnR4dqp.mjs.map → minimal-CFkkPXef.mjs.map} +1 -1
- package/dist/chunks/pt-BuZ7acHF.mjs +2 -0
- package/dist/chunks/pt-BuZ7acHF.mjs.map +1 -0
- package/dist/chunks/{pt-Hy-0Xnnc.mjs → pt-CFrcl1v_.mjs} +2 -2
- package/dist/chunks/{pt-Hy-0Xnnc.mjs.map → pt-CFrcl1v_.mjs.map} +1 -1
- package/dist/chunks/rolldown-runtime-H_PjY6_i.mjs +1 -0
- package/dist/chunks/ru-CsP6mLxp.mjs +2 -0
- package/dist/chunks/ru-CsP6mLxp.mjs.map +1 -0
- package/dist/chunks/{ru-BFpEOrVp.mjs → ru-gxbzqLL8.mjs} +2 -2
- package/dist/chunks/{ru-BFpEOrVp.mjs.map → ru-gxbzqLL8.mjs.map} +1 -1
- package/dist/chunks/src-DiAOfuOT.mjs +2 -0
- package/dist/chunks/src-DiAOfuOT.mjs.map +1 -0
- package/dist/chunks/zh-BFZOM3lF.mjs +2 -0
- package/dist/chunks/{zh-BjoyjClN.mjs.map → zh-BFZOM3lF.mjs.map} +1 -1
- package/dist/chunks/zh-CiIyOm6U.mjs +2 -0
- package/dist/chunks/zh-CiIyOm6U.mjs.map +1 -0
- package/dist/commands/BlockInsertion.d.ts +5 -3
- package/dist/commands/BlockInsertion.d.ts.map +1 -1
- package/dist/commands/SelectionDeletion.d.ts +13 -2
- package/dist/commands/SelectionDeletion.d.ts.map +1 -1
- package/dist/editor/ContentSerializer.d.ts +21 -0
- package/dist/editor/ContentSerializer.d.ts.map +1 -1
- package/dist/editor/EditorConfig.d.ts +17 -0
- package/dist/editor/EditorConfig.d.ts.map +1 -1
- package/dist/editor/EditorConfigController.d.ts +10 -0
- package/dist/editor/EditorConfigController.d.ts.map +1 -1
- package/dist/editor/EditorInitializer.d.ts +4 -0
- package/dist/editor/EditorInitializer.d.ts.map +1 -1
- package/dist/editor/EditorLocale.d.ts +2 -0
- package/dist/editor/EditorLocale.d.ts.map +1 -1
- package/dist/editor/MarkdownMode.d.ts +46 -0
- package/dist/editor/MarkdownMode.d.ts.map +1 -0
- package/dist/editor/NotectlEditor.d.ts +24 -0
- package/dist/editor/NotectlEditor.d.ts.map +1 -1
- package/dist/editor/locales/ar.d.ts.map +1 -1
- package/dist/editor/locales/de.d.ts.map +1 -1
- package/dist/editor/locales/es.d.ts.map +1 -1
- package/dist/editor/locales/fr.d.ts.map +1 -1
- package/dist/editor/locales/hi.d.ts.map +1 -1
- package/dist/editor/locales/pt.d.ts.map +1 -1
- package/dist/editor/locales/ru.d.ts.map +1 -1
- package/dist/editor/locales/zh.d.ts.map +1 -1
- package/dist/editor/styles/list.d.ts +1 -1
- package/dist/editor/styles/list.d.ts.map +1 -1
- package/dist/editor/styles/table.d.ts +1 -1
- package/dist/editor/styles/table.d.ts.map +1 -1
- package/dist/full.mjs +1 -1
- package/dist/html.d.ts +1 -0
- package/dist/html.d.ts.map +1 -1
- package/dist/html.mjs +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/input/ClipboardHandler.d.ts +2 -0
- package/dist/input/ClipboardHandler.d.ts.map +1 -1
- package/dist/input/InputHandler.d.ts +7 -0
- package/dist/input/InputHandler.d.ts.map +1 -1
- package/dist/input/InputManager.d.ts +10 -0
- package/dist/input/InputManager.d.ts.map +1 -1
- package/dist/input/KeyboardHandler.d.ts.map +1 -1
- package/dist/input/MarkdownPasteDetector.d.ts +26 -0
- package/dist/input/MarkdownPasteDetector.d.ts.map +1 -0
- package/dist/input/PasteHTMLHandler.d.ts +18 -1
- package/dist/input/PasteHTMLHandler.d.ts.map +1 -1
- package/dist/input/PasteHandler.d.ts +30 -0
- package/dist/input/PasteHandler.d.ts.map +1 -1
- package/dist/input/PasteRichBlockHandler.d.ts.map +1 -1
- package/dist/input/SelectionDocument.d.ts +2 -1
- package/dist/input/SelectionDocument.d.ts.map +1 -1
- package/dist/markdown.d.ts +17 -0
- package/dist/markdown.d.ts.map +1 -0
- package/dist/markdown.mjs +1 -0
- package/dist/model/AttrRegistry.d.ts +2 -2
- package/dist/model/AttrRegistry.d.ts.map +1 -1
- package/dist/model/ContentModel.d.ts +12 -0
- package/dist/model/ContentModel.d.ts.map +1 -1
- package/dist/model/Document.d.ts +28 -3
- package/dist/model/Document.d.ts.map +1 -1
- package/dist/model/HTMLUtils.d.ts +15 -0
- package/dist/model/HTMLUtils.d.ts.map +1 -1
- package/dist/model/InlineNodeSpec.d.ts +7 -1
- package/dist/model/InlineNodeSpec.d.ts.map +1 -1
- package/dist/model/InputRule.d.ts +11 -0
- package/dist/model/InputRule.d.ts.map +1 -1
- package/dist/model/MarkSpec.d.ts +7 -1
- package/dist/model/MarkSpec.d.ts.map +1 -1
- package/dist/model/MarkdownSyntaxRegistry.d.ts +51 -0
- package/dist/model/MarkdownSyntaxRegistry.d.ts.map +1 -0
- package/dist/model/NodeSpec.d.ts +47 -1
- package/dist/model/NodeSpec.d.ts.map +1 -1
- package/dist/model/RichBlockData.d.ts +2 -0
- package/dist/model/RichBlockData.d.ts.map +1 -1
- package/dist/model/SchemaRegistry.d.ts.map +1 -1
- package/dist/model/TableDimensions.d.ts +11 -0
- package/dist/model/TableDimensions.d.ts.map +1 -0
- package/dist/notectl-core.mjs +1 -1
- package/dist/notectl-core.umd.js +1 -1
- package/dist/notectl-core.umd.js.map +1 -1
- package/dist/platform/EditorEventBoundary.d.ts +12 -0
- package/dist/platform/EditorEventBoundary.d.ts.map +1 -0
- package/dist/plugins/Plugin.d.ts +7 -0
- package/dist/plugins/Plugin.d.ts.map +1 -1
- package/dist/plugins/PluginContextFactory.d.ts +2 -0
- package/dist/plugins/PluginContextFactory.d.ts.map +1 -1
- package/dist/plugins/PluginManager.d.ts +2 -0
- package/dist/plugins/PluginManager.d.ts.map +1 -1
- package/dist/plugins/alignment.mjs +1 -1
- package/dist/plugins/bidi-isolation.mjs +1 -1
- package/dist/plugins/blockquote/BlockquotePlugin.d.ts +2 -0
- package/dist/plugins/blockquote/BlockquotePlugin.d.ts.map +1 -1
- package/dist/plugins/blockquote.mjs +1 -1
- package/dist/plugins/caret-navigation.mjs +1 -1
- package/dist/plugins/code-block/CodeBlockTypes.d.ts +2 -0
- package/dist/plugins/code-block/CodeBlockTypes.d.ts.map +1 -1
- package/dist/plugins/code-block.mjs +1 -1
- package/dist/plugins/font-size/FontSizeOperations.d.ts.map +1 -1
- package/dist/plugins/font-size.mjs +1 -1
- package/dist/plugins/font.mjs +1 -1
- package/dist/plugins/formula/DisplayMathNodeSpec.d.ts.map +1 -1
- package/dist/plugins/formula/FormulaInputRules.d.ts.map +1 -1
- package/dist/plugins/formula/FormulaMarkdownSyntax.d.ts +4 -0
- package/dist/plugins/formula/FormulaMarkdownSyntax.d.ts.map +1 -0
- package/dist/plugins/formula/FormulaPlugin.d.ts.map +1 -1
- package/dist/plugins/formula/FormulaTypes.d.ts +2 -0
- package/dist/plugins/formula/FormulaTypes.d.ts.map +1 -1
- package/dist/plugins/formula/InlineMathNodeSpec.d.ts.map +1 -1
- package/dist/plugins/formula.mjs +1 -1
- package/dist/plugins/gap-cursor.mjs +1 -1
- package/dist/plugins/hard-break.mjs +1 -1
- package/dist/plugins/heading/HeadingPlugin.d.ts +2 -0
- package/dist/plugins/heading/HeadingPlugin.d.ts.map +1 -1
- package/dist/plugins/heading.mjs +1 -1
- package/dist/plugins/highlight.mjs +1 -1
- package/dist/plugins/horizontal-rule/HorizontalRulePlugin.d.ts +2 -0
- package/dist/plugins/horizontal-rule/HorizontalRulePlugin.d.ts.map +1 -1
- package/dist/plugins/horizontal-rule.mjs +1 -1
- package/dist/plugins/image/ImagePlugin.d.ts +14 -0
- package/dist/plugins/image/ImagePlugin.d.ts.map +1 -1
- package/dist/plugins/image.mjs +1 -1
- package/dist/plugins/inline-code/InlineCodePlugin.d.ts.map +1 -1
- package/dist/plugins/inline-code.mjs +1 -1
- package/dist/plugins/link/LinkPlugin.d.ts +14 -0
- package/dist/plugins/link/LinkPlugin.d.ts.map +1 -1
- package/dist/plugins/link.mjs +1 -1
- package/dist/plugins/list/ListCommands.d.ts +5 -1
- package/dist/plugins/list/ListCommands.d.ts.map +1 -1
- package/dist/plugins/list/ListInputRules.d.ts.map +1 -1
- package/dist/plugins/list/ListItemContext.d.ts +27 -0
- package/dist/plugins/list/ListItemContext.d.ts.map +1 -0
- package/dist/plugins/list/ListKeyboardHandlers.d.ts.map +1 -1
- package/dist/plugins/list/ListPlugin.d.ts +2 -0
- package/dist/plugins/list/ListPlugin.d.ts.map +1 -1
- package/dist/plugins/list/ListToolbarItems.d.ts.map +1 -1
- package/dist/plugins/list.mjs +1 -1
- package/dist/plugins/print/PrintContentPreparer.d.ts.map +1 -1
- package/dist/plugins/print/PrintDestinationBridge.d.ts +23 -0
- package/dist/plugins/print/PrintDestinationBridge.d.ts.map +1 -0
- package/dist/plugins/print/PrintHostStyles.d.ts.map +1 -1
- package/dist/plugins/print/PrintServiceImpl.d.ts +5 -1
- package/dist/plugins/print/PrintServiceImpl.d.ts.map +1 -1
- package/dist/plugins/print/PrintStyleCollector.d.ts.map +1 -1
- package/dist/plugins/print.mjs +1 -1
- package/dist/plugins/shared/MarkInputRule.d.ts +9 -0
- package/dist/plugins/shared/MarkInputRule.d.ts.map +1 -0
- package/dist/plugins/shared/PopupPositioning.d.ts +2 -0
- package/dist/plugins/shared/PopupPositioning.d.ts.map +1 -1
- package/dist/plugins/shared/index.d.ts +1 -0
- package/dist/plugins/shared/index.d.ts.map +1 -1
- package/dist/plugins/shared.mjs +1 -1
- package/dist/plugins/smart-paste.mjs +1 -1
- package/dist/plugins/strikethrough/StrikethroughPlugin.d.ts +2 -0
- package/dist/plugins/strikethrough/StrikethroughPlugin.d.ts.map +1 -1
- package/dist/plugins/strikethrough.mjs +1 -1
- package/dist/plugins/super-sub.mjs +1 -1
- package/dist/plugins/table/TableClipboard.d.ts +8 -0
- package/dist/plugins/table/TableClipboard.d.ts.map +1 -0
- package/dist/plugins/table/TableCommands.d.ts.map +1 -1
- package/dist/plugins/table/TableContextMenu.d.ts +11 -1
- package/dist/plugins/table/TableContextMenu.d.ts.map +1 -1
- package/dist/plugins/table/TableControls.d.ts +6 -1
- package/dist/plugins/table/TableControls.d.ts.map +1 -1
- package/dist/plugins/table/TableControlsDOM.d.ts +11 -2
- package/dist/plugins/table/TableControlsDOM.d.ts.map +1 -1
- package/dist/plugins/table/TableControlsLayout.d.ts +12 -3
- package/dist/plugins/table/TableControlsLayout.d.ts.map +1 -1
- package/dist/plugins/table/TableGrid.d.ts +57 -0
- package/dist/plugins/table/TableGrid.d.ts.map +1 -0
- package/dist/plugins/table/TableHelpers.d.ts +4 -0
- package/dist/plugins/table/TableHelpers.d.ts.map +1 -1
- package/dist/plugins/table/TableLocale.d.ts +30 -0
- package/dist/plugins/table/TableLocale.d.ts.map +1 -1
- package/dist/plugins/table/TableNavigation.d.ts +5 -1
- package/dist/plugins/table/TableNavigation.d.ts.map +1 -1
- package/dist/plugins/table/TableNodeViews.d.ts +13 -1
- package/dist/plugins/table/TableNodeViews.d.ts.map +1 -1
- package/dist/plugins/table/TablePlugin.d.ts +21 -1
- package/dist/plugins/table/TablePlugin.d.ts.map +1 -1
- package/dist/plugins/table/TableSelection.d.ts.map +1 -1
- package/dist/plugins/table/TableSizeEditor.d.ts +11 -0
- package/dist/plugins/table/TableSizeEditor.d.ts.map +1 -0
- package/dist/plugins/table/TableSizing.d.ts +70 -0
- package/dist/plugins/table/TableSizing.d.ts.map +1 -0
- package/dist/plugins/table/index.d.ts +3 -1
- package/dist/plugins/table/index.d.ts.map +1 -1
- package/dist/plugins/table/locales/ar.d.ts.map +1 -1
- package/dist/plugins/table/locales/de.d.ts.map +1 -1
- package/dist/plugins/table/locales/es.d.ts.map +1 -1
- package/dist/plugins/table/locales/fr.d.ts.map +1 -1
- package/dist/plugins/table/locales/hi.d.ts.map +1 -1
- package/dist/plugins/table/locales/pt.d.ts.map +1 -1
- package/dist/plugins/table/locales/ru.d.ts.map +1 -1
- package/dist/plugins/table/locales/zh.d.ts.map +1 -1
- package/dist/plugins/table.mjs +1 -1
- package/dist/plugins/text-color.mjs +1 -1
- package/dist/plugins/text-direction-auto.mjs +1 -1
- package/dist/plugins/text-direction.mjs +1 -1
- package/dist/plugins/text-formatting/TextFormattingPlugin.d.ts +9 -0
- package/dist/plugins/text-formatting/TextFormattingPlugin.d.ts.map +1 -1
- package/dist/plugins/text-formatting.mjs +1 -1
- package/dist/plugins/toolbar.mjs +1 -1
- package/dist/plugins/video/VideoCommands.d.ts.map +1 -1
- package/dist/plugins/video.mjs +1 -1
- package/dist/presets/full.mjs +1 -1
- package/dist/presets/minimal.mjs +1 -1
- package/dist/presets.mjs +1 -1
- package/dist/serialization/DocumentParser.d.ts.map +1 -1
- package/dist/serialization/DocumentSerializer.d.ts +2 -0
- package/dist/serialization/DocumentSerializer.d.ts.map +1 -1
- package/dist/serialization/HTMLSanitization.d.ts +15 -0
- package/dist/serialization/HTMLSanitization.d.ts.map +1 -0
- package/dist/serialization/MarkSerializer.d.ts +12 -0
- package/dist/serialization/MarkSerializer.d.ts.map +1 -1
- package/dist/serialization/MarkdownParser.d.ts +6 -0
- package/dist/serialization/MarkdownParser.d.ts.map +1 -0
- package/dist/serialization/MarkdownSerializer.d.ts +12 -0
- package/dist/serialization/MarkdownSerializer.d.ts.map +1 -0
- package/dist/serialization/MarkdownTypes.d.ts +59 -0
- package/dist/serialization/MarkdownTypes.d.ts.map +1 -0
- package/dist/serialization/TableDimensions.d.ts +37 -0
- package/dist/serialization/TableDimensions.d.ts.map +1 -0
- package/dist/serialization/markdown/BlockSerializers.d.ts +7 -0
- package/dist/serialization/markdown/BlockSerializers.d.ts.map +1 -0
- package/dist/serialization/markdown/BlockTokenizer.d.ts +54 -0
- package/dist/serialization/markdown/BlockTokenizer.d.ts.map +1 -0
- package/dist/serialization/markdown/GfmAutolink.d.ts +20 -0
- package/dist/serialization/markdown/GfmAutolink.d.ts.map +1 -0
- package/dist/serialization/markdown/GfmTableParser.d.ts +26 -0
- package/dist/serialization/markdown/GfmTableParser.d.ts.map +1 -0
- package/dist/serialization/markdown/InlineAst.d.ts +34 -0
- package/dist/serialization/markdown/InlineAst.d.ts.map +1 -0
- package/dist/serialization/markdown/InlineSerializers.d.ts +5 -0
- package/dist/serialization/markdown/InlineSerializers.d.ts.map +1 -0
- package/dist/serialization/markdown/InlineTokenizer.d.ts +5 -0
- package/dist/serialization/markdown/InlineTokenizer.d.ts.map +1 -0
- package/dist/serialization/markdown/LinkReferenceExtractor.d.ts +37 -0
- package/dist/serialization/markdown/LinkReferenceExtractor.d.ts.map +1 -0
- package/dist/serialization/markdown/MarkdownContext.d.ts +32 -0
- package/dist/serialization/markdown/MarkdownContext.d.ts.map +1 -0
- package/dist/serialization/markdown/MarkdownEntities.d.ts +33 -0
- package/dist/serialization/markdown/MarkdownEntities.d.ts.map +1 -0
- package/dist/serialization/markdown/MarkdownEscape.d.ts +33 -0
- package/dist/serialization/markdown/MarkdownEscape.d.ts.map +1 -0
- package/dist/serialization/markdown/MarkdownHTMLRegistry.d.ts +4 -0
- package/dist/serialization/markdown/MarkdownHTMLRegistry.d.ts.map +1 -0
- package/dist/serialization/markdown/MarkdownParseContext.d.ts +23 -0
- package/dist/serialization/markdown/MarkdownParseContext.d.ts.map +1 -0
- package/dist/state/Mapping.d.ts +33 -10
- package/dist/state/Mapping.d.ts.map +1 -1
- package/dist/state/StepApplication.d.ts +3 -1
- package/dist/state/StepApplication.d.ts.map +1 -1
- package/dist/state/StepHandlers.d.ts.map +1 -1
- package/dist/state/StepInversion.d.ts +2 -1
- package/dist/state/StepInversion.d.ts.map +1 -1
- package/dist/state/StepMapping.d.ts +3 -2
- package/dist/state/StepMapping.d.ts.map +1 -1
- package/dist/state/StepMaps.d.ts +3 -2
- package/dist/state/StepMaps.d.ts.map +1 -1
- package/dist/state/Steps.d.ts +34 -2
- package/dist/state/Steps.d.ts.map +1 -1
- package/dist/state/TransactionBuilder.d.ts +7 -1
- package/dist/state/TransactionBuilder.d.ts.map +1 -1
- package/dist/test/MarkdownConformanceUtils.d.ts +12 -0
- package/dist/test/MarkdownConformanceUtils.d.ts.map +1 -0
- package/dist/view/BlockRendering.d.ts +5 -0
- package/dist/view/BlockRendering.d.ts.map +1 -1
- package/dist/view/DecorationRendering.d.ts +6 -0
- package/dist/view/DecorationRendering.d.ts.map +1 -1
- package/dist/view/EditorViewEvents.d.ts.map +1 -1
- package/dist/view/Reconciler.d.ts.map +1 -1
- package/package.json +14 -1
- package/dist/chunks/AttrRegistry-DcDVyzLm.mjs.map +0 -1
- package/dist/chunks/BlockInsertion-6rR9tIGP.mjs +0 -2
- package/dist/chunks/BlockInsertion-6rR9tIGP.mjs.map +0 -1
- package/dist/chunks/BlockquotePlugin-4V7KV_Sb.mjs +0 -2
- package/dist/chunks/CodeBlockPlugin-3V2K3RBe.mjs +0 -2
- package/dist/chunks/CodeBlockPlugin-3V2K3RBe.mjs.map +0 -1
- package/dist/chunks/ColorPickerPopup-lcf3jS6G.mjs +0 -2
- package/dist/chunks/Commands-BIIpx_Zd.mjs +0 -2
- package/dist/chunks/Commands-BIIpx_Zd.mjs.map +0 -1
- package/dist/chunks/Decoration-ZeyVfwJB.mjs +0 -2
- package/dist/chunks/Decoration-ZeyVfwJB.mjs.map +0 -1
- package/dist/chunks/Document-r7vLOAGA.mjs +0 -2
- package/dist/chunks/Document-r7vLOAGA.mjs.map +0 -1
- package/dist/chunks/DocumentParser-CcTSeT1B.mjs +0 -2
- package/dist/chunks/DocumentParser-CcTSeT1B.mjs.map +0 -1
- package/dist/chunks/FontSizePlugin-9StCjEfN.mjs.map +0 -1
- package/dist/chunks/FormulaPlugin-CV5VUxkb.mjs +0 -2
- package/dist/chunks/FormulaPlugin-CV5VUxkb.mjs.map +0 -1
- package/dist/chunks/GapCursorNavigation-ycNzuQVH.mjs +0 -2
- package/dist/chunks/HTMLUtils-C6B4UT00.mjs +0 -2
- package/dist/chunks/HTMLUtils-C6B4UT00.mjs.map +0 -1
- package/dist/chunks/HeadingPlugin-BuGoM9Rz.mjs +0 -2
- package/dist/chunks/HorizontalRulePlugin-0FjHPZuA.mjs +0 -2
- package/dist/chunks/HorizontalRulePlugin-0FjHPZuA.mjs.map +0 -1
- package/dist/chunks/ImagePlugin-KpkuE2LH.mjs +0 -2
- package/dist/chunks/InlineCodePlugin-DMr4O7c7.mjs.map +0 -1
- package/dist/chunks/InlineStyleMarkSpec-C6LJT7kp.mjs +0 -2
- package/dist/chunks/LinkPlugin-DvZ3MPgL.mjs +0 -2
- package/dist/chunks/LinkPlugin-DvZ3MPgL.mjs.map +0 -1
- package/dist/chunks/ListPlugin-2yl6KiTK.mjs +0 -2
- package/dist/chunks/ListPlugin-2yl6KiTK.mjs.map +0 -1
- package/dist/chunks/NodeSelectionCommands-Dj4VxLdD.mjs +0 -2
- package/dist/chunks/PluginHelpers-KDuTlmXm.mjs +0 -2
- package/dist/chunks/PopupPositioning-BB97-__N.mjs +0 -2
- package/dist/chunks/PrintPlugin-DyIZDY3Q.mjs +0 -2
- package/dist/chunks/PrintPlugin-DyIZDY3Q.mjs.map +0 -1
- package/dist/chunks/StrikethroughPlugin-BLKDRWtf.mjs +0 -2
- package/dist/chunks/StrikethroughPlugin-BLKDRWtf.mjs.map +0 -1
- package/dist/chunks/StyleRuntime-BFKu52mS.mjs +0 -2
- package/dist/chunks/StyleRuntime-BFKu52mS.mjs.map +0 -1
- package/dist/chunks/TablePlugin-BTH9VRZq.mjs +0 -2
- package/dist/chunks/TablePlugin-BTH9VRZq.mjs.map +0 -1
- package/dist/chunks/TextColorPlugin-CEfZQ6Md.mjs +0 -2
- package/dist/chunks/TextDirectionAutoPlugin-CzWJjrvG.mjs +0 -2
- package/dist/chunks/TextDirectionService-OFOU6r_s.mjs +0 -2
- package/dist/chunks/TextFormattingPlugin-Cubp3e7f.mjs +0 -2
- package/dist/chunks/TextFormattingPlugin-Cubp3e7f.mjs.map +0 -1
- package/dist/chunks/VideoPlugin-B3uf1Dwp.mjs +0 -2
- package/dist/chunks/VideoPlugin-B3uf1Dwp.mjs.map +0 -1
- package/dist/chunks/WordBoundary-DxeMBRyP.mjs +0 -2
- package/dist/chunks/ar-BTShmP2E.mjs +0 -2
- package/dist/chunks/ar-jbplYWkC.mjs +0 -2
- package/dist/chunks/ar-jbplYWkC.mjs.map +0 -1
- package/dist/chunks/de-DN-e6G5A.mjs +0 -2
- package/dist/chunks/de-DN-e6G5A.mjs.map +0 -1
- package/dist/chunks/es-CM55WeEN.mjs +0 -2
- package/dist/chunks/es-CM55WeEN.mjs.map +0 -1
- package/dist/chunks/fr-C_2i5Ono.mjs +0 -2
- package/dist/chunks/fr-C_2i5Ono.mjs.map +0 -1
- package/dist/chunks/full-BBl7mvwH.mjs +0 -2
- package/dist/chunks/hi-C9fvG91d.mjs +0 -2
- package/dist/chunks/hi-C9fvG91d.mjs.map +0 -1
- package/dist/chunks/minimal-CtnR4dqp.mjs +0 -2
- package/dist/chunks/pt-GqLw5tN0.mjs +0 -2
- package/dist/chunks/pt-GqLw5tN0.mjs.map +0 -1
- package/dist/chunks/ru-4g_qsaLr.mjs +0 -2
- package/dist/chunks/ru-4g_qsaLr.mjs.map +0 -1
- package/dist/chunks/src-C89Cw7ni.mjs +0 -2
- package/dist/chunks/src-C89Cw7ni.mjs.map +0 -1
- package/dist/chunks/zh-BjoyjClN.mjs +0 -2
- package/dist/chunks/zh-DeZP08HI.mjs +0 -2
- package/dist/chunks/zh-DeZP08HI.mjs.map +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GFM table detection and row parsing.
|
|
3
|
+
*
|
|
4
|
+
* A table is a header row, a delimiter row (`| --- | :--: |`), and zero or more
|
|
5
|
+
* body rows. Column alignment is derived from the colons in the delimiter row.
|
|
6
|
+
* Cells hold raw inline text, parsed later by the inline tokenizer.
|
|
7
|
+
*/
|
|
8
|
+
/** Column alignment derived from the delimiter row. */
|
|
9
|
+
export type ColumnAlign = 'start' | 'center' | 'end' | null;
|
|
10
|
+
/** A parsed GFM table (cells are raw inline strings). */
|
|
11
|
+
export interface TableData {
|
|
12
|
+
readonly aligns: readonly ColumnAlign[];
|
|
13
|
+
readonly header: readonly string[];
|
|
14
|
+
readonly rows: readonly (readonly string[])[];
|
|
15
|
+
readonly linesConsumed: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Attempts to parse a GFM table beginning at `start`. Returns the table data or
|
|
19
|
+
* null when the two leading lines are not a header + delimiter pair. The body
|
|
20
|
+
* extends until a blank line or the start of another block (`interrupts`); a
|
|
21
|
+
* plain paragraph-like line inside that range is a lazy single-cell row, per
|
|
22
|
+
* the GFM spec ("the table is broken at the first empty line or beginning of
|
|
23
|
+
* another block-level structural element").
|
|
24
|
+
*/
|
|
25
|
+
export declare function matchTable(lines: readonly string[], start: number, interrupts?: (line: string) => boolean): TableData | null;
|
|
26
|
+
//# sourceMappingURL=GfmTableParser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GfmTableParser.d.ts","sourceRoot":"","sources":["../../../src/serialization/markdown/GfmTableParser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,uDAAuD;AACvD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC;AAE5D,yDAAyD;AACzD,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAC/B;AAyCD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACzB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GACpC,SAAS,GAAG,IAAI,CAqBlB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inline AST node model + linked-list helpers shared by the inline parser.
|
|
3
|
+
*
|
|
4
|
+
* A doubly-linked list of nodes is used during parsing so the emphasis
|
|
5
|
+
* delimiter-stack algorithm runs in linear time (no array splicing), which is
|
|
6
|
+
* the ReDoS-safety guarantee for untrusted pasted Markdown (D1).
|
|
7
|
+
*/
|
|
8
|
+
/** Inline AST node kind. */
|
|
9
|
+
export type InlineKind = 'text' | 'code' | 'softbreak' | 'hardbreak' | 'emph' | 'strong' | 'strike' | 'highlight' | 'sup' | 'sub' | 'link' | 'image' | 'inline_node' | 'html_inline';
|
|
10
|
+
/** A single inline AST node (mutable; linked into a sibling list). */
|
|
11
|
+
export interface InlineAstNode {
|
|
12
|
+
type: InlineKind;
|
|
13
|
+
/** Literal text for `text` / `code` / `html_inline`. */
|
|
14
|
+
literal: string;
|
|
15
|
+
/** Container children (`emph`, `strong`, `link`, …). */
|
|
16
|
+
children: InlineAstNode[];
|
|
17
|
+
/** Link/image destination + title. */
|
|
18
|
+
href: string;
|
|
19
|
+
title: string;
|
|
20
|
+
/** Image alt text (plain). */
|
|
21
|
+
alt: string;
|
|
22
|
+
/** Generic inline-node passthrough (plugin extensions, e.g. math). */
|
|
23
|
+
inlineType: string;
|
|
24
|
+
attrs: Record<string, string | number | boolean>;
|
|
25
|
+
prev: InlineAstNode | null;
|
|
26
|
+
next: InlineAstNode | null;
|
|
27
|
+
}
|
|
28
|
+
/** Creates a fresh inline AST node of the given kind. */
|
|
29
|
+
export declare function makeNode(type: InlineKind, literal?: string): InlineAstNode;
|
|
30
|
+
/** Appends `node` after `target` in the sibling linked list. */
|
|
31
|
+
export declare function insertAfter(target: InlineAstNode, node: InlineAstNode): void;
|
|
32
|
+
/** Removes `node` from its sibling linked list. */
|
|
33
|
+
export declare function unlink(node: InlineAstNode): void;
|
|
34
|
+
//# sourceMappingURL=InlineAst.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlineAst.d.ts","sourceRoot":"","sources":["../../../src/serialization/markdown/InlineAst.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,4BAA4B;AAC5B,MAAM,MAAM,UAAU,GACnB,MAAM,GACN,MAAM,GACN,WAAW,GACX,WAAW,GACX,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,KAAK,GACL,KAAK,GACL,MAAM,GACN,OAAO,GACP,aAAa,GACb,aAAa,CAAC;AAEjB,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACjD,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;CAC3B;AAED,yDAAyD;AACzD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,SAAK,GAAG,aAAa,CAatE;AAED,gEAAgE;AAChE,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAK5E;AAED,mDAAmD;AACnD,wBAAgB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAKhD"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { InlineNode, TextNode } from '../../model/Document.js';
|
|
2
|
+
import { SerContext } from './MarkdownContext.js';
|
|
3
|
+
/** Serializes inline children of a leaf block to a Markdown string. */
|
|
4
|
+
export declare function serializeInlineContent(children: readonly (TextNode | InlineNode)[], ctx: SerContext): string;
|
|
5
|
+
//# sourceMappingURL=InlineSerializers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlineSerializers.d.ts","sourceRoot":"","sources":["../../../src/serialization/markdown/InlineSerializers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAQ,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAI1E,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,sBAAsB,CAAC;AAqQtE,uEAAuE;AACvE,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,UAAU,CAAC,EAAE,EAC5C,GAAG,EAAE,UAAU,GACb,MAAM,CAyCR"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { InlineNode, TextNode } from '../../model/Document.js';
|
|
2
|
+
import { ParseContext } from './MarkdownParseContext.js';
|
|
3
|
+
/** Parses inline Markdown into text/inline nodes (linear-time, ReDoS-safe). */
|
|
4
|
+
export declare function parseInline(text: string, ctx: ParseContext): (TextNode | InlineNode)[];
|
|
5
|
+
//# sourceMappingURL=InlineTokenizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlineTokenizer.d.ts","sourceRoot":"","sources":["../../../src/serialization/markdown/InlineTokenizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAQ,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAmB1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AA66B9D,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,EAAE,CAOtF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Link reference definition extraction (`[label]: dest "title"`).
|
|
3
|
+
*
|
|
4
|
+
* Runs as a pre-pass over the source before block tokenization, mirroring how
|
|
5
|
+
* commonmark.js resolves references before inline parsing. CommonMark rules
|
|
6
|
+
* honored here:
|
|
7
|
+
*
|
|
8
|
+
* - A definition never interrupts an open paragraph (a def-shaped line that
|
|
9
|
+
* lazily continues a paragraph stays paragraph text).
|
|
10
|
+
* - Def-shaped lines inside fenced code are code and survive verbatim.
|
|
11
|
+
* - The destination may sit on the line after the label, and a title may sit
|
|
12
|
+
* on its own following line (multi-line labels and multi-line titles are not
|
|
13
|
+
* supported; such lines stay paragraph text, which never drops content).
|
|
14
|
+
* - Titles honor backslash escapes; destinations and titles decode escapes and
|
|
15
|
+
* entity references; labels match case-folded (Unicode, `ẞ` ↔ `SS`).
|
|
16
|
+
* - A definition inside a blockquote is recognized too; the quote marker line
|
|
17
|
+
* is kept so the (now empty) container survives.
|
|
18
|
+
*
|
|
19
|
+
* First definition of a label wins, as per spec.
|
|
20
|
+
*/
|
|
21
|
+
/** A link reference definition target. */
|
|
22
|
+
export interface LinkRef {
|
|
23
|
+
readonly href: string;
|
|
24
|
+
readonly title?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Case-folds a reference label for matching. `toUpperCase().toLowerCase()`
|
|
28
|
+
* approximates Unicode case folding (it maps `ẞ`/`ß` and `SS` to the same
|
|
29
|
+
* string), which plain `toLowerCase()` does not.
|
|
30
|
+
*/
|
|
31
|
+
export declare function foldReferenceLabel(label: string): string;
|
|
32
|
+
/** Removes link reference definitions from the source and returns them as a map. */
|
|
33
|
+
export declare function extractLinkReferences(source: string): {
|
|
34
|
+
source: string;
|
|
35
|
+
linkRefs: Map<string, LinkRef>;
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=LinkReferenceExtractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkReferenceExtractor.d.ts","sourceRoot":"","sources":["../../../src/serialization/markdown/LinkReferenceExtractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,0CAA0C;AAC1C,MAAM,WAAW,OAAO;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACxB;AAcD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOxD;AAED,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CA+CA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { MarkdownExportContext } from '../../model/NodeSpec.js';
|
|
2
|
+
import { SchemaRegistry } from '../../model/SchemaRegistry.js';
|
|
3
|
+
import { MarkdownSerializeOptions } from '../MarkdownTypes.js';
|
|
4
|
+
/** Fully-resolved serialization options (no `undefined`). */
|
|
5
|
+
export interface ResolvedSerializeOptions {
|
|
6
|
+
readonly flavor: 'commonmark' | 'gfm';
|
|
7
|
+
readonly gfm: boolean;
|
|
8
|
+
readonly htmlFallback: boolean;
|
|
9
|
+
readonly headingStyle: 'atx' | 'setext';
|
|
10
|
+
readonly bullet: string;
|
|
11
|
+
readonly emphasis: string;
|
|
12
|
+
readonly codeFence: string;
|
|
13
|
+
readonly listIndent: number;
|
|
14
|
+
}
|
|
15
|
+
/** Internal context shared by all serialization helpers. */
|
|
16
|
+
export interface SerContext {
|
|
17
|
+
readonly registry?: SchemaRegistry;
|
|
18
|
+
readonly opts: ResolvedSerializeOptions;
|
|
19
|
+
/** Precomputed mark rank map (built once per pass) for HTML-fallback marks. */
|
|
20
|
+
readonly markOrder?: Map<string, number>;
|
|
21
|
+
/**
|
|
22
|
+
* True while serializing the block children of a list item (#194): thematic
|
|
23
|
+
* breaks emit `***` there, because `---` on an indented continuation line
|
|
24
|
+
* would re-parse as a setext underline or a bullet marker.
|
|
25
|
+
*/
|
|
26
|
+
readonly inListItem?: boolean;
|
|
27
|
+
}
|
|
28
|
+
/** Resolves user-facing options into a complete settings object with defaults. */
|
|
29
|
+
export declare function resolveSerializeOptions(options?: MarkdownSerializeOptions): ResolvedSerializeOptions;
|
|
30
|
+
/** Builds the public {@link MarkdownExportContext} passed to per-spec hooks. */
|
|
31
|
+
export declare function exportContext(opts: ResolvedSerializeOptions): MarkdownExportContext;
|
|
32
|
+
//# sourceMappingURL=MarkdownContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownContext.d.ts","sourceRoot":"","sources":["../../../src/serialization/markdown/MarkdownContext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,6DAA6D;AAC7D,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,KAAK,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,KAAK,GAAG,QAAQ,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED,4DAA4D;AAC5D,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,kFAAkF;AAClF,wBAAgB,uBAAuB,CACtC,OAAO,CAAC,EAAE,wBAAwB,GAChC,wBAAwB,CAY1B;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,IAAI,EAAE,wBAAwB,GAAG,qBAAqB,CAEnF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTML entity and backslash-escape decoding shared by the Markdown parser.
|
|
3
|
+
*
|
|
4
|
+
* CommonMark recognizes entity and numeric character references (and backslash
|
|
5
|
+
* escapes) not only in inline text but also inside link destinations, link
|
|
6
|
+
* titles, link reference definitions, and code-fence info strings. The small
|
|
7
|
+
* built-in table covers the common names; uncommon names are decoded through
|
|
8
|
+
* the environment's HTML parser when a DOM is available (browser, happy-dom),
|
|
9
|
+
* because embedding the full HTML5 table (~2200 names) would bloat the chunk.
|
|
10
|
+
* Without a DOM (pure Node) unknown entities stay literal, which never loses
|
|
11
|
+
* content.
|
|
12
|
+
*/
|
|
13
|
+
/** Characters a backslash may escape (CommonMark ASCII punctuation). */
|
|
14
|
+
export declare const ESCAPABLE: RegExp;
|
|
15
|
+
/**
|
|
16
|
+
* Decodes a single HTML entity body (without `&`/`;`), or returns it verbatim.
|
|
17
|
+
* Per CommonMark, U+0000 and invalid code points decode to U+FFFD; decoded
|
|
18
|
+
* line separators become plain spaces so a text node never carries a raw
|
|
19
|
+
* newline (block boundaries are structural in the editor model).
|
|
20
|
+
*/
|
|
21
|
+
export declare function decodeEntity(body: string): string;
|
|
22
|
+
/** Matches an entity reference at `pos` in `text`, or null. */
|
|
23
|
+
export declare function matchEntityAt(text: string, pos: number): RegExpExecArray | null;
|
|
24
|
+
/**
|
|
25
|
+
* Decodes backslash escapes and entity references in a single left-to-right
|
|
26
|
+
* pass (an escaped `&` therefore never starts an entity). Used for the string
|
|
27
|
+
* contexts CommonMark decodes outside inline text: link destinations, titles,
|
|
28
|
+
* reference definitions, and fence info strings.
|
|
29
|
+
*/
|
|
30
|
+
export declare function decodeEscapesAndEntities(text: string): string;
|
|
31
|
+
/** Decodes only entity references (escapes were already consumed by the caller). */
|
|
32
|
+
export declare function decodeEntitiesOnly(text: string): string;
|
|
33
|
+
//# sourceMappingURL=MarkdownEntities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownEntities.d.ts","sourceRoot":"","sources":["../../../src/serialization/markdown/MarkdownEntities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,wEAAwE;AACxE,eAAO,MAAM,SAAS,QAAmB,CAAC;AAmB1C;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAcjD;AAED,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAG/E;AAiBD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAsB7D;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBvD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CommonMark escaping rules for Markdown serialization.
|
|
3
|
+
*
|
|
4
|
+
* Escaping is contextual: inline text backslash-escapes characters that would
|
|
5
|
+
* otherwise start emphasis/code/links, while the start of a line additionally
|
|
6
|
+
* escapes block markers (`#`, `>`, `-`, …) so prose never accidentally becomes
|
|
7
|
+
* a heading or list on re-parse. Output stays minimal: we do not escape every
|
|
8
|
+
* punctuation character, only those that are actually ambiguous in context.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Escapes inline text so it round-trips as literal content. `~` is escaped only
|
|
12
|
+
* for GFM (where `~~` is strikethrough); `_` is escaped only when it is not
|
|
13
|
+
* intra-word, matching CommonMark's emphasis rules (so `a_b_c` stays literal).
|
|
14
|
+
*/
|
|
15
|
+
export declare function escapeInline(text: string, gfm: boolean): string;
|
|
16
|
+
/**
|
|
17
|
+
* Escapes leading block markers at the start of a paragraph line so the text
|
|
18
|
+
* does not re-parse as a heading, blockquote, list, thematic break, setext
|
|
19
|
+
* underline, or code fence.
|
|
20
|
+
*/
|
|
21
|
+
export declare function escapeLineStart(line: string): string;
|
|
22
|
+
/** Escapes the destination of a link/image so spaces and parens stay intact. */
|
|
23
|
+
export declare function escapeLinkDestination(url: string): string;
|
|
24
|
+
/** Escapes a link/image title for the `"..."` form. */
|
|
25
|
+
export declare function escapeLinkTitle(title: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* Picks a backtick fence long enough to wrap `content` as an inline code span.
|
|
28
|
+
* CommonMark requires a fence longer than any backtick run inside the content.
|
|
29
|
+
*/
|
|
30
|
+
export declare function codeSpanFence(content: string): string;
|
|
31
|
+
/** Wraps `content` in a correctly sized inline code span, padding when needed. */
|
|
32
|
+
export declare function wrapCodeSpan(content: string): string;
|
|
33
|
+
//# sourceMappingURL=MarkdownEscape.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownEscape.d.ts","sourceRoot":"","sources":["../../../src/serialization/markdown/MarkdownEscape.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAeH;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAuB/D;AA0BD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAsBpD;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKzD;AAED,uDAAuD;AACvD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYrD;AAED,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUpD"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { SchemaRegistry } from '../../model/SchemaRegistry.js';
|
|
2
|
+
/** Resolves the schema at an HTML boundary without supplementing an explicit schema. */
|
|
3
|
+
export declare function resolveMarkdownHTMLRegistry(registry?: SchemaRegistry): SchemaRegistry;
|
|
4
|
+
//# sourceMappingURL=MarkdownHTMLRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownHTMLRegistry.d.ts","sourceRoot":"","sources":["../../../src/serialization/markdown/MarkdownHTMLRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAU/D,wFAAwF;AACxF,wBAAgB,2BAA2B,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,cAAc,CAIrF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SchemaRegistry } from '../../model/SchemaRegistry.js';
|
|
2
|
+
import { MarkdownParseOptions, MarkdownSyntaxExtension } from '../MarkdownTypes.js';
|
|
3
|
+
/** Fully-resolved parse options (no `undefined`). */
|
|
4
|
+
export interface ResolvedParseOptions {
|
|
5
|
+
readonly flavor: 'commonmark' | 'gfm';
|
|
6
|
+
readonly gfm: boolean;
|
|
7
|
+
readonly extendedInlineSyntax: boolean;
|
|
8
|
+
readonly htmlFallback: boolean;
|
|
9
|
+
readonly syntaxExtensions: readonly MarkdownSyntaxExtension[];
|
|
10
|
+
}
|
|
11
|
+
/** Internal context shared by the block and inline parsers. */
|
|
12
|
+
export interface ParseContext {
|
|
13
|
+
readonly registry?: SchemaRegistry;
|
|
14
|
+
readonly opts: ResolvedParseOptions;
|
|
15
|
+
/** Link reference definitions collected from the source (`[ref]: url "title"`). */
|
|
16
|
+
readonly linkRefs: ReadonlyMap<string, {
|
|
17
|
+
readonly href: string;
|
|
18
|
+
readonly title?: string;
|
|
19
|
+
}>;
|
|
20
|
+
}
|
|
21
|
+
/** Resolves user-facing parse options into a complete settings object with defaults. */
|
|
22
|
+
export declare function resolveParseOptions(options?: MarkdownParseOptions): ResolvedParseOptions;
|
|
23
|
+
//# sourceMappingURL=MarkdownParseContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownParseContext.d.ts","sourceRoot":"","sources":["../../../src/serialization/markdown/MarkdownParseContext.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEzF,qDAAqD;AACrD,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,KAAK,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAC9D;AAED,+DAA+D;AAC/D,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,mFAAmF;IACnF,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3F;AAED,wFAAwF;AACxF,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,CASxF"}
|
package/dist/state/Mapping.d.ts
CHANGED
|
@@ -81,16 +81,37 @@ export interface BlockRemovalMap {
|
|
|
81
81
|
* (`{blockId, offset}`) is unaffected — the new block has no prior
|
|
82
82
|
* positions, and positions inside other siblings keep their offsets.
|
|
83
83
|
*
|
|
84
|
-
*
|
|
84
|
+
* Consumed by {@link mapChildIndex}, {@link mapInsertionIndex}, and exact
|
|
85
|
+
* structural inverse detection during history replay.
|
|
85
86
|
*/
|
|
86
87
|
export interface ChildIndexShiftMap {
|
|
87
88
|
readonly type: 'childIndexShift';
|
|
88
89
|
readonly parentPath: readonly BlockId[];
|
|
89
90
|
readonly fromIndex: number;
|
|
90
91
|
readonly delta: number;
|
|
92
|
+
/**
|
|
93
|
+
* IDs introduced by an InsertNodeStep. Optional for synthetic/test maps;
|
|
94
|
+
* when present it makes the map an exact structural inverse of the matching
|
|
95
|
+
* BlockRemovalMap during history replay.
|
|
96
|
+
*/
|
|
97
|
+
readonly insertedBlockIds?: ReadonlySet<BlockId>;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* One existing subtree moves between child lists. Positions inside the moved
|
|
101
|
+
* subtree keep their block IDs and offsets; sibling child indices in both
|
|
102
|
+
* parents are shifted by the removal followed by the insertion.
|
|
103
|
+
*/
|
|
104
|
+
export interface MoveNodeMap {
|
|
105
|
+
readonly type: 'moveNode';
|
|
106
|
+
readonly movedNodeId: BlockId;
|
|
107
|
+
readonly fromParentPath: readonly BlockId[];
|
|
108
|
+
readonly fromIndex: number;
|
|
109
|
+
readonly toParentPath: readonly BlockId[];
|
|
110
|
+
/** Destination index after removing the source node. */
|
|
111
|
+
readonly destinationIndex: number;
|
|
91
112
|
}
|
|
92
113
|
/** Discriminated union of all StepMap variants. */
|
|
93
|
-
export type StepMap = IdentityMap | ShiftMap | SplitMap | MergeMap | BlockRemovalMap | ChildIndexShiftMap;
|
|
114
|
+
export type StepMap = IdentityMap | ShiftMap | SplitMap | MergeMap | BlockRemovalMap | ChildIndexShiftMap | MoveNodeMap;
|
|
94
115
|
/** Result of mapping a single position. */
|
|
95
116
|
export interface MapResult {
|
|
96
117
|
readonly pos: Position;
|
|
@@ -147,9 +168,10 @@ export declare class Mapping {
|
|
|
147
168
|
*/
|
|
148
169
|
map(pos: Position, assoc?: Assoc): Position;
|
|
149
170
|
/**
|
|
150
|
-
* Like {@link map}, but returns whether the position
|
|
151
|
-
*
|
|
152
|
-
*
|
|
171
|
+
* Like {@link map}, but returns whether the position is deleted in the final
|
|
172
|
+
* frame. Content deletion remains sticky across every later map. Structural
|
|
173
|
+
* deletion can be recovered by an `insertNode` map carrying the same block
|
|
174
|
+
* ID; a later removal can mark that identity deleted again.
|
|
153
175
|
*/
|
|
154
176
|
mapResult(pos: Position, assoc?: Assoc): MapResult;
|
|
155
177
|
/**
|
|
@@ -207,7 +229,7 @@ export declare function mapOffsetInBlock(blockId: BlockId, offset: number, mappi
|
|
|
207
229
|
*
|
|
208
230
|
* Child-indices live in a coordinate space orthogonal to positions
|
|
209
231
|
* (`{blockId, offset}`): they describe a slot in a parent's child list,
|
|
210
|
-
* not a place inside text.
|
|
232
|
+
* not a place inside text. Three {@link StepMap} categories carry
|
|
211
233
|
* child-index-affecting information:
|
|
212
234
|
*
|
|
213
235
|
* - {@link ChildIndexShiftMap} (produced by `insertNode`): shifts
|
|
@@ -215,6 +237,8 @@ export declare function mapOffsetInBlock(blockId: BlockId, offset: number, mappi
|
|
|
215
237
|
* - {@link BlockRemovalMap} (produced by `removeNode`): removes the child
|
|
216
238
|
* at `index` (the input index becomes invalid → `null`), and shifts
|
|
217
239
|
* sibling indices `> index` down by `1`.
|
|
240
|
+
* - {@link MoveNodeMap} (produced by `moveNode`): combines the source removal
|
|
241
|
+
* and destination insertion while preserving the moved subtree's identity.
|
|
218
242
|
*
|
|
219
243
|
* Maps whose `parentPath` differs from the input pass through; all
|
|
220
244
|
* non-structural categories (`shift`, `split`, `merge`, `identity`) are
|
|
@@ -247,10 +271,9 @@ export declare function mapInsertionIndex(parentPath: readonly BlockId[], index:
|
|
|
247
271
|
* and cancel them, sidestepping the round-trip clamping for cases where
|
|
248
272
|
* the rebase is a no-op in content terms.
|
|
249
273
|
*
|
|
250
|
-
*
|
|
251
|
-
*
|
|
252
|
-
*
|
|
253
|
-
* re-validate "did the block come back" must check the document instead.
|
|
274
|
+
* Structural maps include enough metadata to recover their exact inverse
|
|
275
|
+
* where possible. Synthetic ChildIndexShiftMaps without inserted subtree IDs
|
|
276
|
+
* remain position-only and therefore invert to {@link IDENTITY_MAP}.
|
|
254
277
|
*/
|
|
255
278
|
export declare function invertStepMap(map: StepMap): StepMap;
|
|
256
279
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mapping.d.ts","sourceRoot":"","sources":["../../src/state/Mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACpB;AAED,2CAA2C;AAC3C,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAI3B,mDAAmD;AACnD,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,QAAQ;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACpC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,SAAS,OAAO,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AAED
|
|
1
|
+
{"version":3,"file":"Mapping.d.ts","sourceRoot":"","sources":["../../src/state/Mapping.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Document } from '../model/Document.js';
|
|
2
|
-
import { AddMarkStep, DeleteTextStep, InsertInlineNodeStep, InsertNodeStep, InsertTextStep, MergeBlocksStep, RemoveInlineNodeStep, RemoveMarkStep, RemoveNodeStep, SetBlockTypeStep, SetInlineNodeAttrStep, SetNodeAttrStep, SplitBlockStep } from './Transaction.js';
|
|
2
|
+
import { AddMarkStep, DeleteTextStep, InsertInlineNodeStep, InsertNodeStep, InsertTextStep, MergeBlocksStep, MoveNodeStep, RemoveInlineNodeStep, RemoveMarkStep, RemoveNodeStep, SetBlockTypeStep, SetInlineNodeAttrStep, SetNodeAttrStep, SplitBlockStep } from './Transaction.js';
|
|
3
3
|
export declare function applyInsertText(doc: Document, step: InsertTextStep): Document;
|
|
4
4
|
export declare function applyDeleteText(doc: Document, step: DeleteTextStep): Document;
|
|
5
5
|
export declare function applySplitBlock(doc: Document, step: SplitBlockStep): Document;
|
|
@@ -18,5 +18,7 @@ export declare function applySetInlineNodeAttr(doc: Document, step: SetInlineNod
|
|
|
18
18
|
export declare function applySetBlockType(doc: Document, step: SetBlockTypeStep): Document;
|
|
19
19
|
export declare function applyInsertNode(doc: Document, step: InsertNodeStep): Document;
|
|
20
20
|
export declare function applyRemoveNode(doc: Document, step: RemoveNodeStep): Document;
|
|
21
|
+
/** Moves a subtree while preserving every block identity inside it. */
|
|
22
|
+
export declare function applyMoveNode(doc: Document, step: MoveNodeStep): Document;
|
|
21
23
|
export declare function applySetNodeAttr(doc: Document, step: SetNodeAttrStep): Document;
|
|
22
24
|
//# sourceMappingURL=StepApplication.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepApplication.d.ts","sourceRoot":"","sources":["../../src/state/StepApplication.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAIN,KAAK,QAAQ,EAQb,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"StepApplication.d.ts","sourceRoot":"","sources":["../../src/state/StepApplication.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAIN,KAAK,QAAQ,EAQb,MAAM,sBAAsB,CAAC;AAe9B,OAAO,KAAK,EACX,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,MAAM,kBAAkB,CAAC;AAE1B,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,QAAQ,CAM7E;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,QAAQ,CAI7E;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,QAAQ,CAuD7E;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,QAAQ,CAoC/E;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,GAAG,QAAQ,CAIvE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,QAAQ,CAI7E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,CAE3D;AAID,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,GAAG,QAAQ,CAIzF;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,GAAG,QAAQ,CAIzF;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAqB,GAAG,QAAQ,CAO3F;AAsBD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,GAAG,QAAQ,CASjF;AAID,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,QAAQ,CAa7E;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,QAAQ,CAa7E;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,QAAQ,CAgBzE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,QAAQ,CAQ/E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepHandlers.d.ts","sourceRoot":"","sources":["../../src/state/StepHandlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAgB,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"StepHandlers.d.ts","sourceRoot":"","sources":["../../src/state/StepHandlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAgB,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAsEnE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,IAAI;IAC1C,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IACrD,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;CACxE;AAkHD,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,QAAQ,CAE7D;AAED,yDAAyD;AACzD,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAE3C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAE7D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAGhF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,WAAW,GAAG,WAAW,CAc9D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Mark } from '../model/Document.js';
|
|
2
|
-
import { AddMarkStep, DeleteTextStep, InsertInlineNodeStep, InsertNodeStep, InsertTextStep, MergeBlocksStep, RemoveInlineNodeStep, RemoveMarkStep, RemoveNodeStep, SetBlockTypeStep, SetInlineNodeAttrStep, SetNodeAttrStep, SetStoredMarksStep, SplitBlockStep, Step } from './Steps.js';
|
|
2
|
+
import { AddMarkStep, DeleteTextStep, InsertInlineNodeStep, InsertNodeStep, InsertTextStep, MergeBlocksStep, MoveNodeStep, RemoveInlineNodeStep, RemoveMarkStep, RemoveNodeStep, SetBlockTypeStep, SetInlineNodeAttrStep, SetNodeAttrStep, SetStoredMarksStep, SplitBlockStep, Step } from './Steps.js';
|
|
3
3
|
import { Transaction } from './Transaction.js';
|
|
4
4
|
export declare function invertInsertText(step: InsertTextStep): Step;
|
|
5
5
|
export declare function invertDeleteText(step: DeleteTextStep): Step;
|
|
@@ -11,6 +11,7 @@ export declare function invertSetStoredMarks(step: SetStoredMarksStep): Step;
|
|
|
11
11
|
export declare function invertSetBlockType(step: SetBlockTypeStep): Step;
|
|
12
12
|
export declare function invertInsertNode(step: InsertNodeStep): Step;
|
|
13
13
|
export declare function invertRemoveNode(step: RemoveNodeStep): Step;
|
|
14
|
+
export declare function invertMoveNode(step: MoveNodeStep): Step;
|
|
14
15
|
export declare function invertSetNodeAttr(step: SetNodeAttrStep): Step;
|
|
15
16
|
export declare function invertInsertInlineNode(step: InsertInlineNodeStep): Step;
|
|
16
17
|
export declare function invertRemoveInlineNode(step: RemoveInlineNodeStep): Step;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepInversion.d.ts","sourceRoot":"","sources":["../../src/state/StepInversion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAIjD,OAAO,KAAK,EACX,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,IAAI,EACJ,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"StepInversion.d.ts","sourceRoot":"","sources":["../../src/state/StepInversion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAIjD,OAAO,KAAK,EACX,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,IAAI,EACJ,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AASpD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAW3D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAU3D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAW3D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAW7D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CASrD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAS3D;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAMnE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAU/D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAO3D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAO3D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAkBvD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAO7D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAQvE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAQvE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,CASzE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,WAAW,GAAG,SAAS,IAAI,EAAE,GAAG,IAAI,CAO/E"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Document } from '../model/Document.js';
|
|
2
2
|
import { Mapping } from './Mapping.js';
|
|
3
|
-
import { AddMarkStep, DeleteTextStep, InsertInlineNodeStep, InsertNodeStep, InsertTextStep, MergeBlocksStep, RemoveInlineNodeStep, RemoveMarkStep, RemoveNodeStep, SetBlockTypeStep, SetInlineNodeAttrStep, SetNodeAttrStep, SetStoredMarksStep, SplitBlockStep, Step } from './Steps.js';
|
|
3
|
+
import { AddMarkStep, DeleteTextStep, InsertInlineNodeStep, InsertNodeStep, InsertTextStep, MergeBlocksStep, MoveNodeStep, RemoveInlineNodeStep, RemoveMarkStep, RemoveNodeStep, SetBlockTypeStep, SetInlineNodeAttrStep, SetNodeAttrStep, SetStoredMarksStep, SplitBlockStep, Step } from './Steps.js';
|
|
4
4
|
export declare function mapInsertText(step: InsertTextStep, mapping: Mapping, _doc: Document): Step | null;
|
|
5
5
|
export declare function mapDeleteText(step: DeleteTextStep, mapping: Mapping, doc: Document): Step | null;
|
|
6
6
|
export declare function mapInsertInlineNode(step: InsertInlineNodeStep, mapping: Mapping, _doc: Document): Step | null;
|
|
@@ -13,6 +13,7 @@ export declare function mapSetStoredMarks(step: SetStoredMarksStep, _mapping: Ma
|
|
|
13
13
|
export declare function mapSetBlockType(step: SetBlockTypeStep, mapping: Mapping, doc: Document): Step | null;
|
|
14
14
|
export declare function mapSetNodeAttr(step: SetNodeAttrStep, mapping: Mapping, doc: Document): Step | null;
|
|
15
15
|
export declare function mapSetInlineNodeAttr(step: SetInlineNodeAttrStep, mapping: Mapping, doc: Document): Step | null;
|
|
16
|
-
export declare function mapInsertNode(step: InsertNodeStep, mapping: Mapping,
|
|
16
|
+
export declare function mapInsertNode(step: InsertNodeStep, mapping: Mapping, doc: Document): Step | null;
|
|
17
17
|
export declare function mapRemoveNode(step: RemoveNodeStep, mapping: Mapping, doc: Document): Step | null;
|
|
18
|
+
export declare function mapMoveNode(step: MoveNodeStep, mapping: Mapping, doc: Document): Step | null;
|
|
18
19
|
//# sourceMappingURL=StepMapping.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepMapping.d.ts","sourceRoot":"","sources":["../../src/state/StepMapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAAa,QAAQ,EAAc,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"StepMapping.d.ts","sourceRoot":"","sources":["../../src/state/StepMapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAAa,QAAQ,EAAc,MAAM,sBAAsB,CAAC;AAY5E,OAAO,EAEN,KAAK,OAAO,EAKZ,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACX,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,IAAI,EACJ,MAAM,YAAY,CAAC;AA4DpB,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAajG;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CA2BhG;AAED,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,GACZ,IAAI,GAAG,IAAI,CAWb;AAED,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,QAAQ,GACX,IAAI,GAAG,IAAI,CA6Bb;AAID,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAcjG;AAED,wBAAgB,cAAc,CAC7B,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,QAAQ,GACX,IAAI,GAAG,IAAI,CAqCb;AAID,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAc3F;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAcjG;AAID,wBAAgB,iBAAiB,CAChC,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,QAAQ,GACZ,IAAI,GAAG,IAAI,CAGb;AAED,wBAAgB,eAAe,CAC9B,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,QAAQ,GACX,IAAI,GAAG,IAAI,CA6Bb;AAED,wBAAgB,cAAc,CAC7B,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,QAAQ,GACX,IAAI,GAAG,IAAI,CAWb;AAED,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,qBAAqB,EAC3B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,QAAQ,GACX,IAAI,GAAG,IAAI,CAoBb;AAID,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAahG;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAiChG;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CA0B5F"}
|
package/dist/state/StepMaps.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Document } from '../model/Document.js';
|
|
2
|
-
import { BlockRemovalMap, ChildIndexShiftMap, MergeMap, ShiftMap, SplitMap, StepMap } from './Mapping.js';
|
|
3
|
-
import { AddMarkStep, DeleteTextStep, InsertInlineNodeStep, InsertNodeStep, InsertTextStep, MergeBlocksStep, RemoveInlineNodeStep, RemoveMarkStep, RemoveNodeStep, SetBlockTypeStep, SetInlineNodeAttrStep, SetNodeAttrStep, SetStoredMarksStep, SplitBlockStep } from './Steps.js';
|
|
2
|
+
import { BlockRemovalMap, ChildIndexShiftMap, IDENTITY_MAP, MergeMap, MoveNodeMap, ShiftMap, SplitMap, StepMap } from './Mapping.js';
|
|
3
|
+
import { AddMarkStep, DeleteTextStep, InsertInlineNodeStep, InsertNodeStep, InsertTextStep, MergeBlocksStep, MoveNodeStep, RemoveInlineNodeStep, RemoveMarkStep, RemoveNodeStep, SetBlockTypeStep, SetInlineNodeAttrStep, SetNodeAttrStep, SetStoredMarksStep, SplitBlockStep } from './Steps.js';
|
|
4
4
|
export declare function getMapInsertText(_doc: Document, step: InsertTextStep): ShiftMap;
|
|
5
5
|
export declare function getMapDeleteText(_doc: Document, step: DeleteTextStep): ShiftMap;
|
|
6
6
|
export declare function getMapInsertInlineNode(_doc: Document, step: InsertInlineNodeStep): ShiftMap;
|
|
@@ -16,6 +16,7 @@ export declare function getMapRemoveNode(_doc: Document, step: RemoveNodeStep):
|
|
|
16
16
|
* parent.
|
|
17
17
|
*/
|
|
18
18
|
export declare function getMapInsertNode(_doc: Document, step: InsertNodeStep): ChildIndexShiftMap;
|
|
19
|
+
export declare function getMapMoveNode(doc: Document, step: MoveNodeStep): MoveNodeMap | typeof IDENTITY_MAP;
|
|
19
20
|
export declare function getMapAddMark(_doc: Document, _step: AddMarkStep): StepMap;
|
|
20
21
|
export declare function getMapRemoveMark(_doc: Document, _step: RemoveMarkStep): StepMap;
|
|
21
22
|
export declare function getMapSetStoredMarks(_doc: Document, _step: SetStoredMarksStep): StepMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepMaps.d.ts","sourceRoot":"","sources":["../../src/state/StepMaps.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACN,KAAK,eAAe,EACpB,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"StepMaps.d.ts","sourceRoot":"","sources":["../../src/state/StepMaps.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACN,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,YAAY,EACZ,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,OAAO,EAEZ,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EACX,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,MAAM,YAAY,CAAC;AAKpB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,QAAQ,CAQ/E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,QAAQ,CAQ/E;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,GAAG,QAAQ,CAQ3F;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,GAAG,QAAQ,CAQ3F;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,QAAQ,CAO/E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,QAAQ,CAOjF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,eAAe,CAOtF;AAID;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,kBAAkB,CAQzF;AAED,wBAAgB,cAAc,CAC7B,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GAChB,WAAW,GAAG,OAAO,YAAY,CAWnC;AAUD,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAEzE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAE/E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAEvF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAEnF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAEjF;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAE7F"}
|
package/dist/state/Steps.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BlockAttrs, BlockNode, ContentSegment, InlineNode, Mark } from '../model/Document.js';
|
|
1
|
+
import { BlockAttrs, BlockNode, ContentSegment, Document, InlineNode, Mark } from '../model/Document.js';
|
|
2
2
|
import { BlockId, NodeTypeName } from '../model/TypeBrands.js';
|
|
3
3
|
export interface InsertTextStep {
|
|
4
4
|
readonly type: 'insertText';
|
|
@@ -44,6 +44,8 @@ export interface SplitBlockStep {
|
|
|
44
44
|
* as-is (an absent value here means "the source block had no attrs").
|
|
45
45
|
*/
|
|
46
46
|
readonly newBlockAttrs?: BlockAttrs;
|
|
47
|
+
/** Semantic HTML ID restored by an inverse split, if the source block had one. */
|
|
48
|
+
readonly newBlockHTMLId?: string;
|
|
47
49
|
readonly path?: readonly BlockId[];
|
|
48
50
|
}
|
|
49
51
|
export interface MergeBlocksStep {
|
|
@@ -58,6 +60,8 @@ export interface MergeBlocksStep {
|
|
|
58
60
|
readonly sourceType?: NodeTypeName;
|
|
59
61
|
/** Source block's attrs at merge time, if any. */
|
|
60
62
|
readonly sourceAttrs?: BlockAttrs;
|
|
63
|
+
/** Source block's semantic HTML ID at merge time, if any. */
|
|
64
|
+
readonly sourceHTMLId?: string;
|
|
61
65
|
readonly path?: readonly BlockId[];
|
|
62
66
|
}
|
|
63
67
|
/**
|
|
@@ -120,6 +124,19 @@ export interface RemoveNodeStep {
|
|
|
120
124
|
readonly index: number;
|
|
121
125
|
readonly removedNode: BlockNode;
|
|
122
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Moves one existing block node between parent child lists without changing
|
|
129
|
+
* its identity or descendants. `toIndex` is an insertion slot in the document
|
|
130
|
+
* before removal; same-parent moves adjust it after removing the source.
|
|
131
|
+
*/
|
|
132
|
+
export interface MoveNodeStep {
|
|
133
|
+
readonly type: 'moveNode';
|
|
134
|
+
readonly fromParentPath: readonly BlockId[];
|
|
135
|
+
readonly fromIndex: number;
|
|
136
|
+
readonly toParentPath: readonly BlockId[];
|
|
137
|
+
readonly toIndex: number;
|
|
138
|
+
readonly movedNode: BlockNode;
|
|
139
|
+
}
|
|
123
140
|
export interface SetNodeAttrStep {
|
|
124
141
|
readonly type: 'setNodeAttr';
|
|
125
142
|
readonly path: readonly BlockId[];
|
|
@@ -148,8 +165,23 @@ export interface SetInlineNodeAttrStep {
|
|
|
148
165
|
readonly previousAttrs: Readonly<Record<string, string | number | boolean>>;
|
|
149
166
|
readonly path?: readonly BlockId[];
|
|
150
167
|
}
|
|
151
|
-
export type Step = InsertTextStep | DeleteTextStep | SplitBlockStep | MergeBlocksStep | AddMarkStep | RemoveMarkStep | SetStoredMarksStep | SetBlockTypeStep | InsertNodeStep | RemoveNodeStep | SetNodeAttrStep | InsertInlineNodeStep | RemoveInlineNodeStep | SetInlineNodeAttrStep;
|
|
168
|
+
export type Step = InsertTextStep | DeleteTextStep | SplitBlockStep | MergeBlocksStep | AddMarkStep | RemoveMarkStep | SetStoredMarksStep | SetBlockTypeStep | InsertNodeStep | RemoveNodeStep | MoveNodeStep | SetNodeAttrStep | InsertInlineNodeStep | RemoveInlineNodeStep | SetInlineNodeAttrStep;
|
|
152
169
|
export type TransactionOrigin = 'input' | 'paste' | 'command' | 'history' | 'api';
|
|
170
|
+
/** Returns the moved node's index in its destination parent after removal. */
|
|
171
|
+
export declare function moveNodeDestinationIndex(step: MoveNodeStep): number;
|
|
172
|
+
/** True when a same-parent move leaves the child list unchanged. */
|
|
173
|
+
export declare function isMoveNodeNoOp(step: MoveNodeStep): boolean;
|
|
174
|
+
/** A move resolved and validated against the document it will be applied to. */
|
|
175
|
+
export interface ResolvedMoveNodeStep {
|
|
176
|
+
readonly movedNode: BlockNode;
|
|
177
|
+
readonly destinationIndex: number;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Resolves both sides of a move before any mutation occurs. This is shared by
|
|
181
|
+
* application and StepMap production so an invalid move is consistently an
|
|
182
|
+
* identity operation and can never remove its source without reinserting it.
|
|
183
|
+
*/
|
|
184
|
+
export declare function resolveMoveNodeStep(doc: Document, step: MoveNodeStep): ResolvedMoveNodeStep | null;
|
|
153
185
|
/**
|
|
154
186
|
* Block-space width an {@link InsertTextStep} occupies once applied. When the
|
|
155
187
|
* step carries `segments` (which may include inline nodes, each width 1), the
|