@notectl/core 1.0.9 → 1.6.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/{AttrRegistry-D-przlzb.mjs → AttrRegistry-I-VdmRnN.mjs} +2 -2
- package/dist/chunks/{AttrRegistry-D-przlzb.mjs.map → AttrRegistry-I-VdmRnN.mjs.map} +1 -1
- package/dist/chunks/CaretNavigation-CAJXoaae.mjs +311 -0
- package/dist/chunks/CaretNavigation-CAJXoaae.mjs.map +1 -0
- package/dist/chunks/ColorNames-BdsHwA2f.mjs +59 -0
- package/dist/chunks/ColorNames-BdsHwA2f.mjs.map +1 -0
- package/dist/chunks/ColorPickerPopup-xL8ZUfpB.mjs +125 -0
- package/dist/chunks/ColorPickerPopup-xL8ZUfpB.mjs.map +1 -0
- package/dist/chunks/Commands-CicwYoTQ.mjs +286 -0
- package/dist/chunks/Commands-CicwYoTQ.mjs.map +1 -0
- package/dist/chunks/{Document-CI3iCwEP.mjs → Document-CuwE73FF.mjs} +35 -22
- package/dist/chunks/{Document-CI3iCwEP.mjs.map → Document-CuwE73FF.mjs.map} +1 -1
- package/dist/chunks/HTMLUtils-DTqQzcKR.mjs +35 -0
- package/dist/chunks/HTMLUtils-DTqQzcKR.mjs.map +1 -0
- package/dist/chunks/MarkCommands-CC37WA7Z.mjs +94 -0
- package/dist/chunks/MarkCommands-CC37WA7Z.mjs.map +1 -0
- package/dist/chunks/NavigationUtils-CyW0Vo8A.mjs +47 -0
- package/dist/chunks/NavigationUtils-CyW0Vo8A.mjs.map +1 -0
- package/dist/chunks/{NodeResolver-D68ZLXti.mjs → NodeResolver-B-wzthAQ.mjs} +2 -2
- package/dist/chunks/{NodeResolver-D68ZLXti.mjs.map → NodeResolver-B-wzthAQ.mjs.map} +1 -1
- package/dist/chunks/Platform-S_xqIqcM.mjs +26 -0
- package/dist/chunks/Platform-S_xqIqcM.mjs.map +1 -0
- package/dist/chunks/Selection-DmFDwiPJ.mjs +52 -0
- package/dist/chunks/Selection-DmFDwiPJ.mjs.map +1 -0
- package/dist/chunks/ToolbarItem-BpZggUGo.mjs +8 -0
- package/dist/chunks/ToolbarItem-BpZggUGo.mjs.map +1 -0
- package/dist/chunks/{ToolbarPlugin-DFkl1uYO.mjs → ToolbarPlugin-B6JETWaw.mjs} +3 -3
- package/dist/chunks/{ToolbarPlugin-DFkl1uYO.mjs.map → ToolbarPlugin-B6JETWaw.mjs.map} +1 -1
- package/dist/chunks/index--z_Txzej.mjs +467 -0
- package/dist/chunks/index--z_Txzej.mjs.map +1 -0
- package/dist/chunks/{index-o6hDR07y.mjs → index-83QoUENW.mjs} +25 -20
- package/dist/chunks/index-83QoUENW.mjs.map +1 -0
- package/dist/chunks/{index-DfO_fKw6.mjs → index-B0UFAfyb.mjs} +15 -15
- package/dist/chunks/{index-DfO_fKw6.mjs.map → index-B0UFAfyb.mjs.map} +1 -1
- package/dist/chunks/{index-BFsYGsBR.mjs → index-BDMP86F4.mjs} +39 -39
- package/dist/chunks/{index-BFsYGsBR.mjs.map → index-BDMP86F4.mjs.map} +1 -1
- package/dist/chunks/{index-Bsp4LC5t.mjs → index-BWXkaC2Z.mjs} +36 -36
- package/dist/chunks/index-BWXkaC2Z.mjs.map +1 -0
- package/dist/chunks/{index-DAFCISBN.mjs → index-BigJ0z6n.mjs} +3 -3
- package/dist/chunks/{index-DAFCISBN.mjs.map → index-BigJ0z6n.mjs.map} +1 -1
- package/dist/chunks/{index-uTnc9y7M.mjs → index-CPjf45-o.mjs} +28 -28
- package/dist/chunks/index-CPjf45-o.mjs.map +1 -0
- package/dist/chunks/{index-DGrRWMlW.mjs → index-CPyHuEzh.mjs} +105 -105
- package/dist/chunks/index-CPyHuEzh.mjs.map +1 -0
- package/dist/chunks/{index-BL56fbXt.mjs → index-D4GKlc-A.mjs} +89 -87
- package/dist/chunks/index-D4GKlc-A.mjs.map +1 -0
- package/dist/chunks/{index-BRYzYOYC.mjs → index-D67mP19g.mjs} +29 -29
- package/dist/chunks/index-D67mP19g.mjs.map +1 -0
- package/dist/chunks/{index-BIL37LSL.mjs → index-D8tbbW97.mjs} +18 -18
- package/dist/chunks/{index-BIL37LSL.mjs.map → index-D8tbbW97.mjs.map} +1 -1
- package/dist/chunks/{index-DC1EK22F.mjs → index-DIAXWwgJ.mjs} +24 -19
- package/dist/chunks/index-DIAXWwgJ.mjs.map +1 -0
- package/dist/chunks/{index-BSFLNveF.mjs → index-DQryjfJs.mjs} +352 -341
- package/dist/chunks/index-DQryjfJs.mjs.map +1 -0
- package/dist/chunks/{index-BTJfyJlJ.mjs → index-DRZwd-1W.mjs} +104 -104
- package/dist/chunks/index-DRZwd-1W.mjs.map +1 -0
- package/dist/chunks/{index-BQ8iIYLn.mjs → index-DUC1X43Z.mjs} +54 -54
- package/dist/chunks/index-DUC1X43Z.mjs.map +1 -0
- package/dist/chunks/{index-BCvuDpVr.mjs → index-DipAT_Q9.mjs} +31 -31
- package/dist/chunks/index-DipAT_Q9.mjs.map +1 -0
- package/dist/chunks/{index-DA8TG2S8.mjs → index-tBDVaSjG.mjs} +56 -56
- package/dist/chunks/index-tBDVaSjG.mjs.map +1 -0
- package/dist/chunks/resolvePluginLocale-B4w1OkPy.mjs.map +1 -1
- package/dist/commands/Commands.d.ts +13 -45
- package/dist/commands/Commands.d.ts.map +1 -1
- package/dist/commands/DeleteCommands.d.ts +15 -0
- package/dist/commands/DeleteCommands.d.ts.map +1 -0
- package/dist/commands/GapCursorCommands.d.ts +24 -0
- package/dist/commands/GapCursorCommands.d.ts.map +1 -0
- package/dist/commands/MarkCommands.d.ts +19 -0
- package/dist/commands/MarkCommands.d.ts.map +1 -0
- package/dist/commands/MovementCommands.d.ts +27 -0
- package/dist/commands/MovementCommands.d.ts.map +1 -0
- package/dist/commands/NodeSelectionCommands.d.ts +24 -0
- package/dist/commands/NodeSelectionCommands.d.ts.map +1 -0
- package/dist/commands/PasteCommand.d.ts.map +1 -1
- package/dist/commands/WordBoundary.d.ts +12 -0
- package/dist/commands/WordBoundary.d.ts.map +1 -0
- package/dist/editor/DocumentSerializer.d.ts.map +1 -1
- package/dist/editor/NotectlEditor.d.ts +7 -1
- package/dist/editor/NotectlEditor.d.ts.map +1 -1
- package/dist/index.d.ts +25 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/input/ClipboardHandler.d.ts.map +1 -1
- package/dist/input/CompositionTracker.d.ts +14 -0
- package/dist/input/CompositionTracker.d.ts.map +1 -0
- package/dist/input/FileHandlerRegistry.d.ts +16 -0
- package/dist/input/FileHandlerRegistry.d.ts.map +1 -0
- package/dist/input/InputHandler.d.ts +6 -4
- package/dist/input/InputHandler.d.ts.map +1 -1
- package/dist/input/InputRuleRegistry.d.ts +9 -0
- package/dist/input/InputRuleRegistry.d.ts.map +1 -0
- package/dist/input/KeyboardHandler.d.ts +20 -5
- package/dist/input/KeyboardHandler.d.ts.map +1 -1
- package/dist/input/Keymap.d.ts +11 -0
- package/dist/input/Keymap.d.ts.map +1 -1
- package/dist/input/KeymapRegistry.d.ts +19 -0
- package/dist/input/KeymapRegistry.d.ts.map +1 -0
- package/dist/input/PasteHandler.d.ts +3 -0
- package/dist/input/PasteHandler.d.ts.map +1 -1
- package/dist/model/Document.d.ts +8 -0
- package/dist/model/Document.d.ts.map +1 -1
- package/dist/model/GraphemeUtils.d.ts +20 -0
- package/dist/model/GraphemeUtils.d.ts.map +1 -0
- package/dist/model/HTMLUtils.d.ts +6 -1
- package/dist/model/HTMLUtils.d.ts.map +1 -1
- package/dist/model/NavigationUtils.d.ts +16 -0
- package/dist/model/NavigationUtils.d.ts.map +1 -0
- package/dist/model/SchemaRegistry.d.ts +0 -39
- package/dist/model/SchemaRegistry.d.ts.map +1 -1
- package/dist/model/Selection.d.ts +14 -3
- package/dist/model/Selection.d.ts.map +1 -1
- package/dist/notectl-core.mjs +2755 -2496
- package/dist/notectl-core.mjs.map +1 -1
- package/dist/notectl-core.umd.js +2672 -1680
- package/dist/notectl-core.umd.js.map +1 -1
- package/dist/plugins/Plugin.d.ts +17 -3
- package/dist/plugins/Plugin.d.ts.map +1 -1
- package/dist/plugins/PluginManager.d.ts +14 -0
- package/dist/plugins/PluginManager.d.ts.map +1 -1
- package/dist/plugins/alignment.mjs +1 -1
- package/dist/plugins/blockquote.mjs +1 -1
- package/dist/plugins/caret-navigation/CaretNavigationPlugin.d.ts +35 -0
- package/dist/plugins/caret-navigation/CaretNavigationPlugin.d.ts.map +1 -0
- package/dist/plugins/caret-navigation/index.d.ts +2 -0
- package/dist/plugins/caret-navigation/index.d.ts.map +1 -0
- package/dist/plugins/caret-navigation.mjs +5 -0
- package/dist/plugins/caret-navigation.mjs.map +1 -0
- package/dist/plugins/code-block/CodeBlockKeyboardHandlers.d.ts.map +1 -1
- package/dist/plugins/code-block/CodeBlockPlugin.d.ts.map +1 -1
- package/dist/plugins/code-block.mjs +1 -1
- package/dist/plugins/font/FontPlugin.d.ts.map +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/gap-cursor/GapCursorPlugin.d.ts +15 -0
- package/dist/plugins/gap-cursor/GapCursorPlugin.d.ts.map +1 -0
- package/dist/plugins/gap-cursor/index.d.ts +2 -0
- package/dist/plugins/gap-cursor/index.d.ts.map +1 -0
- package/dist/plugins/gap-cursor.mjs +65 -0
- package/dist/plugins/gap-cursor.mjs.map +1 -0
- package/dist/plugins/hard-break.mjs +1 -1
- package/dist/plugins/heading/BlockTypePickerRegistry.d.ts +9 -0
- package/dist/plugins/heading/BlockTypePickerRegistry.d.ts.map +1 -0
- package/dist/plugins/heading/HeadingInputRules.d.ts.map +1 -1
- package/dist/plugins/heading/HeadingKeyboardHandlers.d.ts.map +1 -1
- package/dist/plugins/heading.mjs +1 -1
- package/dist/plugins/highlight/HighlightPlugin.d.ts.map +1 -1
- package/dist/plugins/highlight.mjs +1 -1
- package/dist/plugins/horizontal-rule/HorizontalRulePlugin.d.ts.map +1 -1
- package/dist/plugins/horizontal-rule.mjs +1 -1
- package/dist/plugins/image/ImageCommands.d.ts.map +1 -1
- package/dist/plugins/image.mjs +1 -1
- package/dist/plugins/link/LinkPlugin.d.ts.map +1 -1
- package/dist/plugins/link.mjs +1 -1
- package/dist/plugins/list/ListPlugin.d.ts.map +1 -1
- package/dist/plugins/list.mjs +1 -1
- package/dist/plugins/print/PrintStyleCollector.d.ts.map +1 -1
- package/dist/plugins/print/PrintTypes.d.ts +5 -1
- package/dist/plugins/print/PrintTypes.d.ts.map +1 -1
- package/dist/plugins/shared/ColorMarkOperations.d.ts.map +1 -1
- package/dist/plugins/shared/ColorValidation.d.ts +7 -0
- package/dist/plugins/shared/ColorValidation.d.ts.map +1 -1
- package/dist/plugins/strikethrough.mjs +1 -1
- package/dist/plugins/super-sub.mjs +1 -1
- package/dist/plugins/table/TableCommands.d.ts.map +1 -1
- package/dist/plugins/table/TableNavigation.d.ts.map +1 -1
- package/dist/plugins/table/TablePlugin.d.ts.map +1 -1
- package/dist/plugins/table.mjs +1 -1
- package/dist/plugins/text-color/TextColorPlugin.d.ts.map +1 -1
- package/dist/plugins/text-color.mjs +1 -1
- package/dist/plugins/text-formatting.mjs +1 -1
- package/dist/plugins/toolbar/ToolbarItem.d.ts.map +1 -1
- package/dist/plugins/toolbar/ToolbarRegistry.d.ts +12 -0
- package/dist/plugins/toolbar/ToolbarRegistry.d.ts.map +1 -0
- package/dist/plugins/toolbar.mjs +2 -2
- package/dist/state/EditorState.d.ts.map +1 -1
- package/dist/state/History.d.ts.map +1 -1
- package/dist/state/SelectionTransactions.d.ts +10 -0
- package/dist/state/SelectionTransactions.d.ts.map +1 -0
- package/dist/test/TestUtils.d.ts +23 -0
- package/dist/test/TestUtils.d.ts.map +1 -1
- package/dist/view/CaretNavigation.d.ts +48 -0
- package/dist/view/CaretNavigation.d.ts.map +1 -0
- package/dist/view/CursorWrapper.d.ts +19 -0
- package/dist/view/CursorWrapper.d.ts.map +1 -0
- package/dist/view/DomPointUtils.d.ts +20 -0
- package/dist/view/DomPointUtils.d.ts.map +1 -0
- package/dist/view/EditorView.d.ts +43 -0
- package/dist/view/EditorView.d.ts.map +1 -1
- package/dist/view/MarkRendering.d.ts +7 -0
- package/dist/view/MarkRendering.d.ts.map +1 -0
- package/dist/view/NodeViewRegistry.d.ts +9 -0
- package/dist/view/NodeViewRegistry.d.ts.map +1 -0
- package/dist/view/Platform.d.ts +29 -0
- package/dist/view/Platform.d.ts.map +1 -0
- package/dist/view/Reconciler.d.ts +4 -0
- package/dist/view/Reconciler.d.ts.map +1 -1
- package/dist/view/SelectionSync.d.ts +2 -0
- package/dist/view/SelectionSync.d.ts.map +1 -1
- package/dist/view/ViewMovementCommands.d.ts +40 -0
- package/dist/view/ViewMovementCommands.d.ts.map +1 -0
- package/package.json +10 -2
- package/dist/chunks/ColorNames-iaWsSZx1.mjs +0 -35
- package/dist/chunks/ColorNames-iaWsSZx1.mjs.map +0 -1
- package/dist/chunks/ColorValidation-Dyy4Bye8.mjs +0 -140
- package/dist/chunks/ColorValidation-Dyy4Bye8.mjs.map +0 -1
- package/dist/chunks/Commands-CSpSwGXv.mjs +0 -461
- package/dist/chunks/Commands-CSpSwGXv.mjs.map +0 -1
- package/dist/chunks/HTMLUtils-0wvCRvJc.mjs +0 -7
- package/dist/chunks/HTMLUtils-0wvCRvJc.mjs.map +0 -1
- package/dist/chunks/Selection-D5ZjXoB7.mjs +0 -44
- package/dist/chunks/Selection-D5ZjXoB7.mjs.map +0 -1
- package/dist/chunks/ToolbarItem-ugDymuXi.mjs +0 -7
- package/dist/chunks/ToolbarItem-ugDymuXi.mjs.map +0 -1
- package/dist/chunks/index-BCvuDpVr.mjs.map +0 -1
- package/dist/chunks/index-BL56fbXt.mjs.map +0 -1
- package/dist/chunks/index-BQ8iIYLn.mjs.map +0 -1
- package/dist/chunks/index-BRYzYOYC.mjs.map +0 -1
- package/dist/chunks/index-BSFLNveF.mjs.map +0 -1
- package/dist/chunks/index-BTJfyJlJ.mjs.map +0 -1
- package/dist/chunks/index-Bsp4LC5t.mjs.map +0 -1
- package/dist/chunks/index-DA8TG2S8.mjs.map +0 -1
- package/dist/chunks/index-DC1EK22F.mjs.map +0 -1
- package/dist/chunks/index-DGrRWMlW.mjs.map +0 -1
- package/dist/chunks/index-o6hDR07y.mjs.map +0 -1
- package/dist/chunks/index-uTnc9y7M.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TablePlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/table/TablePlugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"TablePlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/table/TablePlugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAK1D,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAenE,OAAO,QAAQ,6BAA6B,CAAC;IAC5C,UAAU,gBAAgB;QACzB,KAAK,EAAE;YAAE,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACjC,UAAU,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACnD;CACD;AAID,MAAM,WAAW,WAAW;IAC3B,kDAAkD;IAClD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,qDAAqD;IACrD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,uEAAuE;IACvE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC9B;AAoCD,qBAAa,WAAY,YAAW,MAAM;IACzC,QAAQ,CAAC,EAAE,WAAW;IACtB,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,QAAQ,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,gBAAgB,CAAsC;IAC9D,OAAO,CAAC,qBAAqB,CAA6B;IAC1D,OAAO,CAAC,OAAO,CAA8B;gBAEjC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAIzC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAgBlC,OAAO,IAAI,IAAI;IAMf,OAAO,IAAI,IAAI;IAOf,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI;IAcpF,OAAO,CAAC,iBAAiB;IA8DzB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,mBAAmB;CA2B3B"}
|
package/dist/plugins/table.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextColorPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/text-color/TextColorPlugin.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"TextColorPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/text-color/TextColorPlugin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI1D,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIhF,OAAO,QAAQ,6BAA6B,CAAC;IAC5C,UAAU,gBAAgB;QACzB,SAAS,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7B;CACD;AAID,MAAM,WAAW,eAAe;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;CAClC;AAsFD,qBAAa,eAAgB,YAAW,MAAM;IAC7C,QAAQ,CAAC,EAAE,eAAe;IAC1B,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,QAAQ,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAK7C,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IASlC,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,mBAAmB;CAoC3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarItem.d.ts","sourceRoot":"","sources":["../../../src/plugins/toolbar/ToolbarItem.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolbarItem.d.ts","sourceRoot":"","sources":["../../../src/plugins/toolbar/ToolbarItem.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7E;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AACzE,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE7D,UAAU,eAAe;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC;IACvC,SAAS,CAAC,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC;CACxC;AAED,UAAU,kBAAmB,SAAQ,eAAe;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,UAAU,qBAAsB,SAAQ,eAAe;IACtD,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;CACvC;AAED,UAAU,mBAAoB,SAAQ,eAAe;IACpD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;CACrC;AAED,UAAU,sBAAuB,SAAQ,eAAe;IACvD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CACvF;AAED,MAAM,MAAM,WAAW,GACpB,kBAAkB,GAClB,qBAAqB,GACrB,mBAAmB,GACnB,sBAAsB,CAAC;AAE1B;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAStD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ToolbarItem } from './ToolbarItem.js';
|
|
2
|
+
export declare class ToolbarRegistry {
|
|
3
|
+
private readonly _toolbarItems;
|
|
4
|
+
private readonly _toolbarItemPluginMap;
|
|
5
|
+
registerToolbarItem(item: ToolbarItem, pluginId?: string): void;
|
|
6
|
+
getToolbarItemsByPlugin(pluginId: string): ToolbarItem[];
|
|
7
|
+
getToolbarItem(id: string): ToolbarItem | undefined;
|
|
8
|
+
getToolbarItems(): ToolbarItem[];
|
|
9
|
+
removeToolbarItem(id: string): void;
|
|
10
|
+
clear(): void;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=ToolbarRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarRegistry.d.ts","sourceRoot":"","sources":["../../../src/plugins/toolbar/ToolbarRegistry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAChE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA+B;IAErE,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAY/D,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE;IAUxD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAInD,eAAe,IAAI,WAAW,EAAE;IAIhC,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAYnC,KAAK,IAAI,IAAI;CAIb"}
|
package/dist/plugins/toolbar.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { T, a } from "../chunks/ToolbarPlugin-
|
|
2
|
-
import { f } from "../chunks/ToolbarItem-
|
|
1
|
+
import { T, a } from "../chunks/ToolbarPlugin-B6JETWaw.mjs";
|
|
2
|
+
import { f } from "../chunks/ToolbarItem-BpZggUGo.mjs";
|
|
3
3
|
export {
|
|
4
4
|
T as ToolbarPlugin,
|
|
5
5
|
a as ToolbarServiceKey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorState.d.ts","sourceRoot":"","sources":["../../src/state/EditorState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,IAAI,EAKT,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"EditorState.d.ts","sourceRoot":"","sources":["../../src/state/EditorState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,IAAI,EAKT,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,uBAAuB,CAAC;AAQvE,OAAO,EAAE,KAAK,OAAO,EAAW,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,qBAAa,WAAW;IACvB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,SAAS,IAAI,EAAE,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,WAAW,CAAmC;IAEtD,OAAO;IAYP,uDAAuD;IACvD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QACvB,GAAG,CAAC,EAAE,QAAQ,CAAC;QACf,SAAS,CAAC,EAAE,eAAe,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,WAAW;IAUf,oDAAoD;IACpD,WAAW,CACV,MAAM,GAAE,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,KAAa,GAC/D,kBAAkB;IAIrB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,EAAE,WAAW,GAAG,WAAW;IAWnC,2FAA2F;IAC3F,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS;IAKjD,4EAA4E;IAC5E,aAAa,IAAI,SAAS,OAAO,EAAE;IAKnC,uDAAuD;IACvD,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS;IAInD,iFAAiF;IACjF,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS;IAQjD,oCAAoC;IACpC,MAAM,IAAI;QAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;KAAE;IAOzE,sCAAsC;IACtC,MAAM,CAAC,QAAQ,CACd,IAAI,EAAE;QAAE,GAAG,EAAE,QAAQ,CAAC;QAAC,SAAS,EAAE,eAAe,CAAA;KAAE,EACnD,MAAM,CAAC,EAAE,MAAM,GACb,WAAW;CAGd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"History.d.ts","sourceRoot":"","sources":["../../src/state/History.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAQ,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG1D,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CAClC;AAUD,qBAAa,cAAc;IAC1B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,UAAU,CAAuB;gBAE7B,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAKpE;;;OAGG;IACH,IAAI,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"History.d.ts","sourceRoot":"","sources":["../../src/state/History.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAQ,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG1D,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CAClC;AAUD,qBAAa,cAAc;IAC1B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,UAAU,CAAuB;gBAE7B,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAKpE;;;OAGG;IACH,IAAI,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IA6C3B,oGAAoG;IACpG,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa,GAAG,IAAI;IAmC9C,2GAA2G;IAC3G,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa,GAAG,IAAI;IAgC9C,iDAAiD;IACjD,OAAO,IAAI,OAAO;IAIlB,iDAAiD;IACjD,OAAO,IAAI,OAAO;IAIlB,0BAA0B;IAC1B,KAAK,IAAI,IAAI;IAMb;;;OAGG;IACH,OAAO,CAAC,eAAe;CAUvB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BlockId } from '../model/TypeBrands.js';
|
|
2
|
+
import { EditorState } from './EditorState.js';
|
|
3
|
+
import { Transaction } from './Transaction.js';
|
|
4
|
+
/** Builds a collapsed-cursor transaction that clears storedMarks. */
|
|
5
|
+
export declare function moveTx(state: EditorState, blockId: BlockId, offset: number): Transaction;
|
|
6
|
+
/** Builds a NodeSelection transaction that clears storedMarks. */
|
|
7
|
+
export declare function nodeSelTx(state: EditorState, targetId: BlockId): Transaction;
|
|
8
|
+
/** Builds a range-selection transaction that clears storedMarks. */
|
|
9
|
+
export declare function extendTx(state: EditorState, anchorBlockId: BlockId, anchorOffset: number, headBlockId: BlockId, headOffset: number): Transaction;
|
|
10
|
+
//# sourceMappingURL=SelectionTransactions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectionTransactions.d.ts","sourceRoot":"","sources":["../../src/state/SelectionTransactions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,qEAAqE;AACrE,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAMxF;AAED,kEAAkE;AAClE,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,WAAW,CAO5E;AAED,oEAAoE;AACpE,wBAAgB,QAAQ,CACvB,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,OAAO,EACtB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,OAAO,EACpB,UAAU,EAAE,MAAM,GAChB,WAAW,CAWb"}
|
package/dist/test/TestUtils.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { PluginManager, PluginManagerInitOptions } from '../plugins/PluginManage
|
|
|
10
10
|
import { BlockTypePickerEntry } from '../plugins/heading/BlockTypePickerEntry.js';
|
|
11
11
|
import { ToolbarItem } from '../plugins/toolbar/ToolbarItem.js';
|
|
12
12
|
import { EditorState } from '../state/EditorState.js';
|
|
13
|
+
import { Transaction } from '../state/Transaction.js';
|
|
13
14
|
/**
|
|
14
15
|
* Fluent builder for constructing EditorState instances with minimal boilerplate.
|
|
15
16
|
*
|
|
@@ -56,6 +57,8 @@ export declare class StateBuilder {
|
|
|
56
57
|
}): this;
|
|
57
58
|
/** Set a node selection (for void/selectable blocks). */
|
|
58
59
|
nodeSelection(nodeId: string, path?: readonly string[]): this;
|
|
60
|
+
/** Set a gap cursor selection (before or after a void block). */
|
|
61
|
+
gapCursor(blockId: string, side: 'before' | 'after', path?: readonly string[]): this;
|
|
59
62
|
/** Configure schema node types and mark types. */
|
|
60
63
|
schema(nodeTypes: string[], markTypes: string[], getNodeSpec?: Schema['getNodeSpec']): this;
|
|
61
64
|
/** Build the EditorState. */
|
|
@@ -150,4 +153,24 @@ export declare function mockPluginContext(overrides?: Partial<PluginContext>): P
|
|
|
150
153
|
* Provides type narrowing for subsequent code.
|
|
151
154
|
*/
|
|
152
155
|
export declare function assertDefined<T>(value: T | undefined | null, msg?: string): asserts value is T;
|
|
156
|
+
/**
|
|
157
|
+
* Applies a command that returns `Transaction | null` to state.
|
|
158
|
+
* Throws if the command returns null (failed guard).
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```ts
|
|
162
|
+
* const next = applyCommand(state, moveCharacterForward);
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
165
|
+
export declare function applyCommand(state: EditorState, command: (s: EditorState) => Transaction | null): EditorState;
|
|
166
|
+
/**
|
|
167
|
+
* Asserts the state has a collapsed cursor at the given block and offset.
|
|
168
|
+
* Combines isCollapsed + anchor.blockId + anchor.offset checks.
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```ts
|
|
172
|
+
* expectCursorAt(state, 'b1', 3);
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
export declare function expectCursorAt(state: EditorState, blockId: string, offset: number): void;
|
|
153
176
|
//# sourceMappingURL=TestUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestUtils.d.ts","sourceRoot":"","sources":["../../src/test/TestUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"TestUtils.d.ts","sourceRoot":"","sources":["../../src/test/TestUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { EditorState } from '../state/EditorState.js';
|
|
2
|
+
import { Transaction } from '../state/Transaction.js';
|
|
3
|
+
export type CaretDirection = 'left' | 'right' | 'up' | 'down';
|
|
4
|
+
/**
|
|
5
|
+
* Checks whether the cursor is at the visual edge of its text block.
|
|
6
|
+
*
|
|
7
|
+
* For horizontal directions (left/right), uses a pure offset check.
|
|
8
|
+
* For vertical directions (up/down), tries `Selection.modify` probing
|
|
9
|
+
* to detect visual line boundaries, falling back to offset heuristic.
|
|
10
|
+
*
|
|
11
|
+
* An optional `caretRect` parameter avoids redundant `getBoundingClientRect`
|
|
12
|
+
* calls when the caller already measured the caret position.
|
|
13
|
+
*/
|
|
14
|
+
export declare function endOfTextblock(container: HTMLElement, state: EditorState, direction: CaretDirection, caretRect?: DOMRect | null): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Creates a transaction to move the cursor to an adjacent block.
|
|
17
|
+
*
|
|
18
|
+
* Returns `null` if navigation is not possible (document boundary,
|
|
19
|
+
* isolating boundary, or no adjacent block).
|
|
20
|
+
*/
|
|
21
|
+
export declare function navigateAcrossBlocks(state: EditorState, direction: CaretDirection): Transaction | null;
|
|
22
|
+
/**
|
|
23
|
+
* Navigates vertically using a goal column for visual column preservation.
|
|
24
|
+
*
|
|
25
|
+
* Uses `caretPositionFromPoint` / `caretRangeFromPoint` to find the offset
|
|
26
|
+
* in the target block that is closest to the given goalColumn X coordinate.
|
|
27
|
+
* Falls back to start/end offset when goal column positioning is unavailable.
|
|
28
|
+
*/
|
|
29
|
+
export declare function navigateVerticalWithGoalColumn(container: HTMLElement, state: EditorState, direction: 'up' | 'down', goalColumn: number | null): Transaction | null;
|
|
30
|
+
/**
|
|
31
|
+
* Skips over an InlineNode atomically when arrowing left/right.
|
|
32
|
+
*
|
|
33
|
+
* Returns a transaction moving the cursor past the InlineNode,
|
|
34
|
+
* or `null` if the adjacent content is not an InlineNode (or
|
|
35
|
+
* the direction is vertical).
|
|
36
|
+
*/
|
|
37
|
+
export declare function skipInlineNode(state: EditorState, direction: CaretDirection): Transaction | null;
|
|
38
|
+
/**
|
|
39
|
+
* Navigates from a GapCursor position.
|
|
40
|
+
*
|
|
41
|
+
* - Arrow toward the adjacent void block → NodeSelection of that block.
|
|
42
|
+
* - Arrow away from the void block → find next block: void → NodeSelection,
|
|
43
|
+
* text → TextSelection, document boundary → no-op.
|
|
44
|
+
*/
|
|
45
|
+
export declare function navigateFromGapCursor(state: EditorState, direction: CaretDirection): Transaction | null;
|
|
46
|
+
/** Returns the bounding rect of the current caret position, or null. */
|
|
47
|
+
export declare function getCaretRectFromSelection(domSel: globalThis.Selection): DOMRect | null;
|
|
48
|
+
//# sourceMappingURL=CaretNavigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CaretNavigation.d.ts","sourceRoot":"","sources":["../../src/view/CaretNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAW3D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AAQ9D;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC7B,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,cAAc,EACzB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,GACxB,OAAO,CAiCT;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,cAAc,GACvB,WAAW,GAAG,IAAI,CAcpB;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC7C,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,IAAI,GAAG,MAAM,EACxB,UAAU,EAAE,MAAM,GAAG,IAAI,GACvB,WAAW,GAAG,IAAI,CAoBpB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,GAAG,WAAW,GAAG,IAAI,CAgBhG;AAyBD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,cAAc,GACvB,WAAW,GAAG,IAAI,CAgCpB;AAED,wEAAwE;AACxE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,GAAG,OAAO,GAAG,IAAI,CAMtF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SchemaRegistry } from '../model/SchemaRegistry.js';
|
|
2
|
+
import { EditorState } from '../state/EditorState.js';
|
|
3
|
+
export declare class CursorWrapper {
|
|
4
|
+
private wrapperElement;
|
|
5
|
+
private readonly container;
|
|
6
|
+
private readonly registry;
|
|
7
|
+
constructor(container: HTMLElement, registry?: SchemaRegistry);
|
|
8
|
+
/** Whether a cursor wrapper is currently in the DOM. */
|
|
9
|
+
get isActive(): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Creates a mark-wrapped cursor element if storedMarks are present.
|
|
12
|
+
* Places the browser cursor inside the ZWS text node so that IME
|
|
13
|
+
* composition inherits the mark formatting.
|
|
14
|
+
*/
|
|
15
|
+
onCompositionStart(state: EditorState): void;
|
|
16
|
+
/** Removes the wrapper element from the DOM. */
|
|
17
|
+
cleanup(): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=CursorWrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CursorWrapper.d.ts","sourceRoot":"","sources":["../../src/view/CursorWrapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAO3D,qBAAa,aAAa;IACzB,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;gBAE1C,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,cAAc;IAK7D,wDAAwD;IACxD,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAgD5C,gDAAgD;IAChD,OAAO,IAAI,IAAI;CAKf"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities for resolving a DOM position from screen coordinates.
|
|
3
|
+
*
|
|
4
|
+
* Provides a fallback chain: `caretPositionFromPoint` → `caretRangeFromPoint`
|
|
5
|
+
* → document fallback (when root is a ShadowRoot).
|
|
6
|
+
*/
|
|
7
|
+
/** Result of resolving a DOM position from screen coordinates. */
|
|
8
|
+
export interface DomPoint {
|
|
9
|
+
readonly node: Node;
|
|
10
|
+
readonly offset: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Resolves a DOM position from screen coordinates using the best available API.
|
|
14
|
+
*
|
|
15
|
+
* Tries `caretPositionFromPoint` first (standard), then `caretRangeFromPoint`
|
|
16
|
+
* (WebKit fallback), and finally tries the ownerDocument when the root is
|
|
17
|
+
* a ShadowRoot and the first two returned nothing.
|
|
18
|
+
*/
|
|
19
|
+
export declare function domPositionFromPoint(root: Document | ShadowRoot, x: number, y: number, ownerDoc?: Document): DomPoint | null;
|
|
20
|
+
//# sourceMappingURL=DomPointUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DomPointUtils.d.ts","sourceRoot":"","sources":["../../src/view/DomPointUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kEAAkE;AAClE,MAAM,WAAW,QAAQ;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAC3B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,CAAC,EAAE,QAAQ,GACjB,QAAQ,GAAG,IAAI,CAmCjB"}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
import { DecorationSet } from '../decorations/Decoration.js';
|
|
2
|
+
import { CompositionTracker } from '../input/CompositionTracker.js';
|
|
3
|
+
import { FileHandlerRegistry } from '../input/FileHandlerRegistry.js';
|
|
4
|
+
import { InputRuleRegistry } from '../input/InputRuleRegistry.js';
|
|
5
|
+
import { KeymapRegistry } from '../input/KeymapRegistry.js';
|
|
2
6
|
import { SchemaRegistry } from '../model/SchemaRegistry.js';
|
|
3
7
|
import { EditorState } from '../state/EditorState.js';
|
|
4
8
|
import { HistoryManager } from '../state/History.js';
|
|
5
9
|
import { Transaction } from '../state/Transaction.js';
|
|
10
|
+
import { NodeViewRegistry } from './NodeViewRegistry.js';
|
|
6
11
|
export type StateChangeCallback = (oldState: EditorState, newState: EditorState, tr: Transaction) => void;
|
|
7
12
|
export interface EditorViewOptions {
|
|
8
13
|
state: EditorState;
|
|
9
14
|
schemaRegistry?: SchemaRegistry;
|
|
15
|
+
keymapRegistry?: KeymapRegistry;
|
|
16
|
+
inputRuleRegistry?: InputRuleRegistry;
|
|
17
|
+
fileHandlerRegistry?: FileHandlerRegistry;
|
|
18
|
+
nodeViewRegistry?: NodeViewRegistry;
|
|
10
19
|
maxHistoryDepth?: number;
|
|
11
20
|
onStateChange?: StateChangeCallback;
|
|
12
21
|
getDecorations?: (state: EditorState, tr?: Transaction) => DecorationSet;
|
|
@@ -25,13 +34,24 @@ export declare class EditorView {
|
|
|
25
34
|
private readonly handleMousedown;
|
|
26
35
|
private readonly handleDragover;
|
|
27
36
|
private readonly handleDrop;
|
|
37
|
+
private readonly handleCompositionStartForWrapper;
|
|
38
|
+
private readonly handleCompositionEndForWrapper;
|
|
28
39
|
private isUpdating;
|
|
29
40
|
private pendingNodeSelectionClear;
|
|
41
|
+
private pendingGapCursorClear;
|
|
30
42
|
private readonly schemaRegistry?;
|
|
43
|
+
private readonly keymapRegistry?;
|
|
44
|
+
private readonly fileHandlerRegistry?;
|
|
45
|
+
private readonly nodeViewRegistry?;
|
|
31
46
|
private readonly nodeViews;
|
|
32
47
|
private decorations;
|
|
33
48
|
private readonly getDecorations?;
|
|
34
49
|
private readonly isReadOnly;
|
|
50
|
+
private navigationKeymap;
|
|
51
|
+
readonly compositionTracker: CompositionTracker;
|
|
52
|
+
private readonly cursorWrapper;
|
|
53
|
+
private goalColumn;
|
|
54
|
+
private preserveGoalColumn;
|
|
35
55
|
constructor(contentElement: HTMLElement, options: EditorViewOptions);
|
|
36
56
|
/** Returns the current editor state. */
|
|
37
57
|
getState(): EditorState;
|
|
@@ -70,6 +90,29 @@ export declare class EditorView {
|
|
|
70
90
|
/** Handles DOM selection changes (clicks, arrow keys). */
|
|
71
91
|
private onSelectionChange;
|
|
72
92
|
private reconcileOptions;
|
|
93
|
+
/** Registers arrow-key keymaps with navigation priority for cross-block movement. */
|
|
94
|
+
private registerNavigationKeymaps;
|
|
95
|
+
/** Handles a navigation arrow key: cross-block movement if at textblock boundary. */
|
|
96
|
+
private handleNavigationArrow;
|
|
97
|
+
/** Handles horizontal arrow navigation: InlineNode skip + cross-block. */
|
|
98
|
+
private handleHorizontalArrow;
|
|
99
|
+
/**
|
|
100
|
+
* Maps visual horizontal arrow intent (left/right key) to logical movement
|
|
101
|
+
* direction in offset space for the current block direction.
|
|
102
|
+
*/
|
|
103
|
+
private resolveLogicalHorizontalDirection;
|
|
104
|
+
/** Handles vertical arrow navigation with goalColumn preservation. */
|
|
105
|
+
private handleVerticalArrow;
|
|
106
|
+
/**
|
|
107
|
+
* Validates the DOM cursor position after an InlineNode skip.
|
|
108
|
+
*
|
|
109
|
+
* Chrome can place the cursor inside a `contenteditable="false"` element
|
|
110
|
+
* (phantom position), and Firefox may lose the cursor entirely next to such
|
|
111
|
+
* elements. This read-back roundtrip detects drift between the model
|
|
112
|
+
* selection and the actual DOM selection. If they diverge, we force
|
|
113
|
+
* `syncSelectionToDOM()` a second time to correct the position.
|
|
114
|
+
*/
|
|
115
|
+
private validateSelectionAfterInlineSkip;
|
|
73
116
|
/** Cleans up all event listeners and handlers. */
|
|
74
117
|
destroy(): void;
|
|
75
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorView.d.ts","sourceRoot":"","sources":["../../src/view/EditorView.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"EditorView.d.ts","sourceRoot":"","sources":["../../src/view/EditorView.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Mark } from '../model/Document.js';
|
|
2
|
+
import { SchemaRegistry } from '../model/SchemaRegistry.js';
|
|
3
|
+
/** Returns the rank for a mark (lower = outermost in the DOM nesting). */
|
|
4
|
+
export declare function getMarkRank(mark: Mark, registry?: SchemaRegistry): number;
|
|
5
|
+
/** Creates a DOM element for a mark, using the registry spec or a built-in fallback. */
|
|
6
|
+
export declare function createMarkElement(mark: Mark, registry?: SchemaRegistry): HTMLElement;
|
|
7
|
+
//# sourceMappingURL=MarkRendering.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkRendering.d.ts","sourceRoot":"","sources":["../../src/view/MarkRendering.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,CAezE;AAED,wFAAwF;AACxF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,WAAW,CAiBpF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NodeViewFactory } from './NodeView.js';
|
|
2
|
+
export declare class NodeViewRegistry {
|
|
3
|
+
private readonly _nodeViews;
|
|
4
|
+
registerNodeView(type: string, factory: NodeViewFactory): void;
|
|
5
|
+
getNodeViewFactory(type: string): NodeViewFactory | undefined;
|
|
6
|
+
removeNodeView(type: string): void;
|
|
7
|
+
clear(): void;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=NodeViewRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeViewRegistry.d.ts","sourceRoot":"","sources":["../../src/view/NodeViewRegistry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IAEjE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI;IAO9D,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAI7D,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC,KAAK,IAAI,IAAI;CAGb"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform and browser detection utilities.
|
|
3
|
+
*
|
|
4
|
+
* Determines the current platform (macOS/iOS) and browser engine, which
|
|
5
|
+
* affects keyboard shortcut bindings and browser-specific workarounds.
|
|
6
|
+
* Also provides BiDi text direction detection.
|
|
7
|
+
*
|
|
8
|
+
* All detection results are cached after first evaluation for performance.
|
|
9
|
+
*/
|
|
10
|
+
/** Returns `true` when running on macOS or iOS. */
|
|
11
|
+
export declare function isMac(): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Returns `true` when running on Firefox (Gecko engine).
|
|
14
|
+
* Only use for genuine browser workarounds, not feature detection.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isFirefox(): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Returns `true` when running on WebKit (Safari engine).
|
|
19
|
+
* Only use for genuine browser workarounds, not feature detection.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isWebKit(): boolean;
|
|
22
|
+
/** Returns the computed text direction of the given element. */
|
|
23
|
+
export declare function getTextDirection(element: HTMLElement): 'ltr' | 'rtl';
|
|
24
|
+
/**
|
|
25
|
+
* Resets cached detection results.
|
|
26
|
+
* Only intended for use in tests.
|
|
27
|
+
*/
|
|
28
|
+
export declare function resetPlatformCache(): void;
|
|
29
|
+
//# sourceMappingURL=Platform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Platform.d.ts","sourceRoot":"","sources":["../../src/view/Platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,mDAAmD;AACnD,wBAAgB,KAAK,IAAI,OAAO,CAe/B;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAQnC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CASlC;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,KAAK,GAAG,KAAK,CAGpE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAIzC"}
|
|
@@ -4,8 +4,10 @@ import { SchemaRegistry } from '../model/SchemaRegistry.js';
|
|
|
4
4
|
import { BlockId } from '../model/TypeBrands.js';
|
|
5
5
|
import { EditorState } from '../state/EditorState.js';
|
|
6
6
|
import { NodeView } from './NodeView.js';
|
|
7
|
+
import { NodeViewRegistry } from './NodeViewRegistry.js';
|
|
7
8
|
export interface ReconcileOptions {
|
|
8
9
|
registry?: SchemaRegistry;
|
|
10
|
+
nodeViewRegistry?: NodeViewRegistry;
|
|
9
11
|
nodeViews?: Map<string, NodeView>;
|
|
10
12
|
getState?: () => EditorState;
|
|
11
13
|
dispatch?: (tr: import('../state/Transaction.js').Transaction) => void;
|
|
@@ -13,6 +15,8 @@ export interface ReconcileOptions {
|
|
|
13
15
|
oldDecorations?: DecorationSet;
|
|
14
16
|
selectedNodeId?: BlockId;
|
|
15
17
|
previousSelectedNodeId?: BlockId;
|
|
18
|
+
/** When set, the block with this ID is skipped during reconciliation to preserve IME composition. */
|
|
19
|
+
compositionBlockId?: BlockId;
|
|
16
20
|
}
|
|
17
21
|
/** Reconciles the DOM container to match the new state. */
|
|
18
22
|
export declare function reconcile(container: HTMLElement, oldState: EditorState | null, newState: EditorState, options?: ReconcileOptions): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reconciler.d.ts","sourceRoot":"","sources":["../../src/view/Reconciler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAA+B,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAClG,OAAO,EAAE,KAAK,aAAa,EAAyB,MAAM,8BAA8B,CAAC;AAEzF,OAAO,KAAK,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"Reconciler.d.ts","sourceRoot":"","sources":["../../src/view/Reconciler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAA+B,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAClG,OAAO,EAAE,KAAK,aAAa,EAAyB,MAAM,8BAA8B,CAAC;AAEzF,OAAO,KAAK,EAAE,SAAS,EAAwB,MAAM,sBAAsB,CAAC;AAW5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,WAAW,CAAC;IAC7B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,yBAAyB,EAAE,WAAW,KAAK,IAAI,CAAC;IACvE,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,qGAAqG;IACrG,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,2DAA2D;AAC3D,wBAAgB,SAAS,CACxB,SAAS,EAAE,WAAW,EACtB,QAAQ,EAAE,WAAW,GAAG,IAAI,EAC5B,QAAQ,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE,gBAAgB,GACxB,IAAI,CA4IN;AA0DD,gFAAgF;AAChF,wBAAgB,WAAW,CAC1B,KAAK,EAAE,SAAS,EAChB,QAAQ,CAAC,EAAE,cAAc,EACzB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACjC,OAAO,CAAC,EAAE,gBAAgB,GACxB,WAAW,CA6Fb;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CACjC,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,SAAS,EAChB,QAAQ,CAAC,EAAE,cAAc,EACzB,WAAW,CAAC,EAAE,SAAS,gBAAgB,EAAE,GACvC,IAAI,CAyCN"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { EditorSelection, Position, Selection } from '../model/Selection.js';
|
|
2
|
+
/** Gets the selection object, preferring shadow root's selection for Shadow DOM. */
|
|
3
|
+
export declare function getSelection(container: HTMLElement): globalThis.Selection | null;
|
|
2
4
|
/** Syncs the editor state selection to the DOM. */
|
|
3
5
|
export declare function syncSelectionToDOM(container: HTMLElement, selection: EditorSelection): void;
|
|
4
6
|
/** Reads the current DOM selection and converts it to a state selection. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionSync.d.ts","sourceRoot":"","sources":["../../src/view/SelectionSync.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"SelectionSync.d.ts","sourceRoot":"","sources":["../../src/view/SelectionSync.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAelF,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,SAAS,EAAE,WAAW,GAAG,UAAU,CAAC,SAAS,GAAG,IAAI,CAMhF;AAED,mDAAmD;AACnD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,GAAG,IAAI,CAmC3F;AAED,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAgB7E;AAsED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CACjC,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,GACf,QAAQ,GAAG,IAAI,CAwEjB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { EditorState } from '../state/EditorState.js';
|
|
2
|
+
import { Transaction } from '../state/Transaction.js';
|
|
3
|
+
type Direction = 'forward' | 'backward';
|
|
4
|
+
type Granularity = 'word' | 'lineboundary' | 'line';
|
|
5
|
+
/**
|
|
6
|
+
* Moves the cursor using `Selection.modify('move', direction, granularity)`.
|
|
7
|
+
* Falls back to model-based movement when the API is unavailable.
|
|
8
|
+
*/
|
|
9
|
+
export declare function viewMove(container: HTMLElement, state: EditorState, direction: Direction, granularity: Granularity): Transaction | null;
|
|
10
|
+
/**
|
|
11
|
+
* Extends the selection using `Selection.modify('extend', direction, granularity)`.
|
|
12
|
+
* Falls back to model-based extension when the API is unavailable.
|
|
13
|
+
*/
|
|
14
|
+
export declare function viewExtend(container: HTMLElement, state: EditorState, direction: Direction, granularity: Granularity): Transaction | null;
|
|
15
|
+
/** Moves the cursor one word forward. */
|
|
16
|
+
export declare function moveWordForward(container: HTMLElement, state: EditorState): Transaction | null;
|
|
17
|
+
/** Moves the cursor one word backward. */
|
|
18
|
+
export declare function moveWordBackward(container: HTMLElement, state: EditorState): Transaction | null;
|
|
19
|
+
/** Moves the cursor to the start of the line (visual). */
|
|
20
|
+
export declare function moveToLineStart(container: HTMLElement, state: EditorState): Transaction | null;
|
|
21
|
+
/** Moves the cursor to the end of the line (visual). */
|
|
22
|
+
export declare function moveToLineEnd(container: HTMLElement, state: EditorState): Transaction | null;
|
|
23
|
+
/** Moves the cursor one visual line up. */
|
|
24
|
+
export declare function moveLineUp(container: HTMLElement, state: EditorState): Transaction | null;
|
|
25
|
+
/** Moves the cursor one visual line down. */
|
|
26
|
+
export declare function moveLineDown(container: HTMLElement, state: EditorState): Transaction | null;
|
|
27
|
+
/** Extends the selection one word forward. */
|
|
28
|
+
export declare function extendWordForward(container: HTMLElement, state: EditorState): Transaction | null;
|
|
29
|
+
/** Extends the selection one word backward. */
|
|
30
|
+
export declare function extendWordBackward(container: HTMLElement, state: EditorState): Transaction | null;
|
|
31
|
+
/** Extends the selection to the start of the line. */
|
|
32
|
+
export declare function extendToLineStart(container: HTMLElement, state: EditorState): Transaction | null;
|
|
33
|
+
/** Extends the selection to the end of the line. */
|
|
34
|
+
export declare function extendToLineEnd(container: HTMLElement, state: EditorState): Transaction | null;
|
|
35
|
+
/** Extends the selection one visual line up. */
|
|
36
|
+
export declare function extendLineUp(container: HTMLElement, state: EditorState): Transaction | null;
|
|
37
|
+
/** Extends the selection one visual line down. */
|
|
38
|
+
export declare function extendLineDown(container: HTMLElement, state: EditorState): Transaction | null;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=ViewMovementCommands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewMovementCommands.d.ts","sourceRoot":"","sources":["../../src/view/ViewMovementCommands.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,KAAK,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AACxC,KAAK,WAAW,GAAG,MAAM,GAAG,cAAc,GAAG,MAAM,CAAC;AAMpD;;;GAGG;AACH,wBAAgB,QAAQ,CACvB,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,GACtB,WAAW,GAAG,IAAI,CAwDpB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACzB,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,GACtB,WAAW,GAAG,IAAI,CA2DpB;AA4HD,yCAAyC;AACzC,wBAAgB,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAE9F;AAED,0CAA0C;AAC1C,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAE/F;AAED,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAE9F;AAED,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAE5F;AAED,2CAA2C;AAC3C,wBAAgB,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAEzF;AAED,6CAA6C;AAC7C,wBAAgB,YAAY,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAE3F;AAED,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAEhG;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAEjG;AAED,sDAAsD;AACtD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAEhG;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAE9F;AAED,gDAAgD;AAChD,wBAAgB,YAAY,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAE3F;AAED,kDAAkD;AAClD,wBAAgB,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAE7F"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@notectl/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.1",
|
|
4
4
|
"description": "A modern and accessable rich text editor shipped as a single Web Component. Immutable state, transaction-based architecture, and a plugin system that powers every feature.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -89,6 +89,14 @@
|
|
|
89
89
|
"./plugins/hard-break": {
|
|
90
90
|
"types": "./dist/plugins/hard-break/index.d.ts",
|
|
91
91
|
"import": "./dist/plugins/hard-break.mjs"
|
|
92
|
+
},
|
|
93
|
+
"./plugins/gap-cursor": {
|
|
94
|
+
"types": "./dist/plugins/gap-cursor/index.d.ts",
|
|
95
|
+
"import": "./dist/plugins/gap-cursor.mjs"
|
|
96
|
+
},
|
|
97
|
+
"./plugins/caret-navigation": {
|
|
98
|
+
"types": "./dist/plugins/caret-navigation/index.d.ts",
|
|
99
|
+
"import": "./dist/plugins/caret-navigation.mjs"
|
|
92
100
|
}
|
|
93
101
|
},
|
|
94
102
|
"customElements": "custom-elements.json",
|
|
@@ -150,7 +158,7 @@
|
|
|
150
158
|
"devDependencies": {
|
|
151
159
|
"@rollup/plugin-terser": "^0.4.4",
|
|
152
160
|
"@size-limit/preset-small-lib": "^12.0.0",
|
|
153
|
-
"happy-dom": "^20.
|
|
161
|
+
"happy-dom": "^20.7.0",
|
|
154
162
|
"size-limit": "^12.0.0",
|
|
155
163
|
"vite": "^7.3.1",
|
|
156
164
|
"vite-plugin-dts": "^4.5.4",
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
const e = /* @__PURE__ */ new Map([["#000000", "Black"], ["#434343", "Dark Gray 4"], ["#666666", "Dark Gray 3"], ["#999999", "Dark Gray 2"], ["#b7b7b7", "Dark Gray 1"], ["#cccccc", "Light Gray 3"], ["#d9d9d9", "Light Gray 2"], ["#efefef", "Light Gray 1"], ["#f3f3f3", "Near White"], ["#ffffff", "White"], ["#980000", "Dark Red Berry"], ["#ff0000", "Red"], ["#ff9900", "Orange"], ["#ffff00", "Yellow"], ["#00ff00", "Green"], ["#00ffff", "Cyan"], ["#4a86e8", "Cornflower Blue"], ["#0000ff", "Blue"], ["#9900ff", "Purple"], ["#ff00ff", "Magenta"], ["#e6b8af", "Light Red Berry 3"], ["#f4cccc", "Light Red 3"], ["#fce5cd", "Light Orange 3"], ["#fff2cc", "Light Yellow 3"], ["#d9ead3", "Light Green 3"], ["#d0e0e3", "Light Cyan 3"], ["#c9daf8", "Light Cornflower Blue 3"], ["#cfe2f3", "Light Blue 3"], ["#d9d2e9", "Light Purple 3"], ["#ead1dc", "Light Magenta 3"], ["#dd7e6b", "Light Red Berry 2"], ["#ea9999", "Light Red 2"], ["#f9cb9c", "Light Orange 2"], ["#ffe599", "Light Yellow 2"], ["#b6d7a8", "Light Green 2"], ["#a2c4c9", "Light Cyan 2"], ["#a4c2f4", "Light Cornflower Blue 2"], ["#9fc5e8", "Light Blue 2"], ["#b4a7d6", "Light Purple 2"], ["#d5a6bd", "Light Magenta 2"], ["#cc4125", "Light Red Berry 1"], ["#e06666", "Light Red 1"], ["#f6b26b", "Light Orange 1"], ["#ffd966", "Light Yellow 1"], ["#93c47d", "Light Green 1"], ["#76a5af", "Light Cyan 1"], ["#6d9eeb", "Light Cornflower Blue 1"], ["#6fa8dc", "Light Blue 1"], ["#8e7cc3", "Light Purple 1"], ["#c27ba0", "Light Magenta 1"], ["#a61c00", "Dark Red Berry 1"], ["#cc0000", "Dark Red 1"], ["#e69138", "Dark Orange 1"], ["#f1c232", "Dark Yellow 1"], ["#6aa84f", "Dark Green 1"], ["#45818e", "Dark Cyan 1"], ["#3c78d8", "Dark Cornflower Blue 1"], ["#3d85c6", "Dark Blue 1"], ["#674ea7", "Dark Purple 1"], ["#a64d79", "Dark Magenta 1"], ["#85200c", "Dark Red Berry 2"], ["#990000", "Dark Red 2"], ["#b45f06", "Dark Orange 2"], ["#bf9000", "Dark Yellow 2"], ["#38761d", "Dark Green 2"], ["#134f5c", "Dark Cyan 2"], ["#1155cc", "Dark Cornflower Blue 2"], ["#0b5394", "Dark Blue 2"], ["#351c75", "Dark Purple 2"], ["#741b47", "Dark Magenta 2"], ["#fff176", "Bright Yellow"], ["#aed581", "Light Green"], ["#4dd0e1", "Bright Cyan"], ["#64b5f6", "Sky Blue"], ["#ce93d8", "Lavender"], ["#f48fb1", "Pink"], ["#ffab91", "Peach"], ["#ff8a65", "Coral"], ["#e6ee9c", "Lime"], ["#80cbc4", "Teal"], ["#fff9c4", "Pale Yellow"], ["#dcedc8", "Pale Green"], ["#e0f7fa", "Pale Cyan"], ["#e3f2fd", "Pale Blue"], ["#f3e5f5", "Pale Purple"], ["#fce4ec", "Pale Pink"], ["#fff3e0", "Pale Orange"], ["#fbe9e7", "Pale Red"], ["#f9fbe7", "Pale Lime"], ["#e0f2f1", "Pale Teal"], ["#fff59d", "Soft Yellow"], ["#c5e1a5", "Soft Green"], ["#80deea", "Soft Cyan"], ["#90caf9", "Soft Blue"], ["#e1bee7", "Soft Purple"], ["#f8bbd0", "Soft Pink"], ["#ffcc80", "Soft Orange"], ["#a5d6a7", "Mint"], ["#ffee58", "Vivid Yellow"], ["#9ccc65", "Vivid Green"], ["#26c6da", "Vivid Cyan"], ["#42a5f5", "Vivid Blue"], ["#ab47bc", "Vivid Purple"], ["#ec407a", "Vivid Pink"], ["#ffa726", "Vivid Orange"], ["#ff7043", "Red Orange"], ["#d4e157", "Vivid Lime"], ["#66bb6a", "Emerald"], ["#fafafa", "Almost White"], ["#f5f5f5", "Lightest Gray"], ["#eeeeee", "Very Light Gray"], ["#e0e0e0", "Silver"], ["#bdbdbd", "Medium Gray"], ["#e8eaf6", "Lavender Gray"], ["#efebe9", "Warm Gray"], ["#eceff1", "Cool Gray"]]);
|
|
2
|
-
function a(a2) {
|
|
3
|
-
return e.get(a2.toLowerCase()) || (function(e2) {
|
|
4
|
-
const a3 = f(e2), r2 = Number.parseInt(a3.slice(1, 3), 16) / 255, t2 = Number.parseInt(a3.slice(3, 5), 16) / 255, n = Number.parseInt(a3.slice(5, 7), 16) / 255, c = Math.max(r2, t2, n), l = Math.min(r2, t2, n), d = (c + l) / 2, g = c - l;
|
|
5
|
-
if (g < 0.05) return d < 0.15 ? "Black" : d < 0.35 ? "Dark Gray" : d < 0.65 ? "Gray" : d < 0.85 ? "Light Gray" : "Near White";
|
|
6
|
-
let o = 0;
|
|
7
|
-
o = c === r2 ? 60 * ((t2 - n) / g + (t2 < n ? 6 : 0)) : c === t2 ? 60 * ((n - r2) / g + 2) : 60 * ((r2 - t2) / g + 4);
|
|
8
|
-
let h = "Red";
|
|
9
|
-
for (const [e3, a4] of i) if (o < e3) {
|
|
10
|
-
h = a4;
|
|
11
|
-
break;
|
|
12
|
-
}
|
|
13
|
-
return d < 0.25 ? `Very Dark ${h}` : d < 0.4 ? `Dark ${h}` : d > 0.8 ? `Very Light ${h}` : d > 0.65 ? `Light ${h}` : h;
|
|
14
|
-
})(a2);
|
|
15
|
-
}
|
|
16
|
-
function r(e2) {
|
|
17
|
-
const a2 = (function(e3) {
|
|
18
|
-
const a3 = f(e3);
|
|
19
|
-
return 0.2126 * t(Number.parseInt(a3.slice(1, 3), 16) / 255) + 0.7152 * t(Number.parseInt(a3.slice(3, 5), 16) / 255) + 0.0722 * t(Number.parseInt(a3.slice(5, 7), 16) / 255);
|
|
20
|
-
})(e2);
|
|
21
|
-
return a2 > 0.3;
|
|
22
|
-
}
|
|
23
|
-
function f(e2) {
|
|
24
|
-
const a2 = e2.toLowerCase();
|
|
25
|
-
return 4 === a2.length ? `#${a2[1]}${a2[1]}${a2[2]}${a2[2]}${a2[3]}${a2[3]}` : a2;
|
|
26
|
-
}
|
|
27
|
-
function t(e2) {
|
|
28
|
-
return e2 <= 0.03928 ? e2 / 12.92 : ((e2 + 0.055) / 1.055) ** 2.4;
|
|
29
|
-
}
|
|
30
|
-
const i = [[15, "Red"], [45, "Orange"], [65, "Yellow"], [150, "Green"], [190, "Cyan"], [250, "Blue"], [290, "Purple"], [330, "Pink"], [361, "Red"]];
|
|
31
|
-
export {
|
|
32
|
-
a as g,
|
|
33
|
-
r as i
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=ColorNames-iaWsSZx1.mjs.map
|