@prosekit/core 0.9.0 → 0.10.0

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.
Files changed (123) hide show
  1. package/dist/{editor-4lgGc3CY.d.ts → editor-BULC1zqX.d.ts} +12 -12
  2. package/dist/editor-BULC1zqX.d.ts.map +1 -0
  3. package/dist/{editor-DGNUXn-u.js → editor-g-Rqn-ZE.js} +30 -30
  4. package/dist/editor-g-Rqn-ZE.js.map +1 -0
  5. package/dist/prosekit-core-test.d.ts +1 -2
  6. package/dist/prosekit-core-test.d.ts.map +1 -1
  7. package/dist/prosekit-core-test.js +1 -1
  8. package/dist/prosekit-core-test.js.map +1 -1
  9. package/dist/prosekit-core.d.ts +103 -24
  10. package/dist/prosekit-core.d.ts.map +1 -1
  11. package/dist/prosekit-core.js +116 -35
  12. package/dist/prosekit-core.js.map +1 -1
  13. package/package.json +6 -7
  14. package/src/commands/add-mark.ts +1 -4
  15. package/src/commands/expand-mark.ts +2 -9
  16. package/src/commands/insert-default-block.spec.ts +1 -5
  17. package/src/commands/insert-default-block.ts +1 -4
  18. package/src/commands/insert-node.ts +4 -8
  19. package/src/commands/remove-mark.ts +1 -4
  20. package/src/commands/remove-node.ts +2 -2
  21. package/src/commands/select-block.spec.ts +4 -6
  22. package/src/commands/select-block.ts +1 -4
  23. package/src/commands/set-block-type.ts +1 -4
  24. package/src/commands/set-node-attrs-between.spec.ts +221 -0
  25. package/src/commands/set-node-attrs-between.ts +77 -0
  26. package/src/commands/set-node-attrs.spec.ts +129 -0
  27. package/src/commands/set-node-attrs.ts +25 -26
  28. package/src/commands/toggle-mark.ts +1 -4
  29. package/src/commands/toggle-node.ts +2 -5
  30. package/src/commands/toggle-wrap.spec.ts +1 -5
  31. package/src/commands/toggle-wrap.ts +1 -4
  32. package/src/commands/unset-block-type.spec.ts +1 -5
  33. package/src/commands/unset-block-type.ts +2 -8
  34. package/src/commands/unset-mark.spec.ts +1 -5
  35. package/src/commands/wrap.ts +1 -4
  36. package/src/editor/action.spec.ts +2 -6
  37. package/src/editor/action.ts +1 -8
  38. package/src/editor/editor.spec.ts +2 -9
  39. package/src/editor/editor.ts +11 -45
  40. package/src/editor/union.spec.ts +1 -5
  41. package/src/editor/union.ts +1 -4
  42. package/src/extensions/clipboard-serializer.ts +4 -16
  43. package/src/extensions/command.ts +16 -48
  44. package/src/extensions/default-state.spec.ts +1 -5
  45. package/src/extensions/default-state.ts +2 -8
  46. package/src/extensions/events/dom-event.spec.ts +1 -6
  47. package/src/extensions/events/dom-event.ts +4 -16
  48. package/src/extensions/events/editor-event.ts +4 -16
  49. package/src/extensions/events/focus.spec.ts +1 -6
  50. package/src/extensions/events/plugin-view.ts +2 -9
  51. package/src/extensions/history.ts +2 -9
  52. package/src/extensions/keymap-base.spec.ts +2 -11
  53. package/src/extensions/keymap-base.ts +1 -4
  54. package/src/extensions/keymap.spec.ts +6 -20
  55. package/src/extensions/keymap.ts +3 -13
  56. package/src/extensions/mark-spec.spec.ts +5 -20
  57. package/src/extensions/mark-spec.ts +4 -15
  58. package/src/extensions/mark-view-effect.ts +3 -9
  59. package/src/extensions/mark-view.ts +2 -8
  60. package/src/extensions/node-spec.spec.ts +5 -21
  61. package/src/extensions/node-spec.ts +4 -15
  62. package/src/extensions/node-view-effect.ts +3 -9
  63. package/src/extensions/node-view.ts +2 -8
  64. package/src/extensions/plugin.spec.ts +3 -16
  65. package/src/extensions/plugin.ts +3 -12
  66. package/src/facets/base-extension.ts +1 -4
  67. package/src/facets/command.ts +2 -8
  68. package/src/facets/facet-extension.spec.ts +4 -15
  69. package/src/facets/facet-node.spec.ts +2 -9
  70. package/src/facets/facet-node.ts +4 -9
  71. package/src/facets/facet.spec.ts +1 -4
  72. package/src/facets/schema-spec.ts +2 -9
  73. package/src/facets/schema.ts +3 -12
  74. package/src/facets/state.spec.ts +2 -9
  75. package/src/facets/state.ts +4 -18
  76. package/src/facets/union-extension.ts +2 -8
  77. package/src/index.ts +40 -166
  78. package/src/test/index.ts +1 -4
  79. package/src/test/test-builder.ts +1 -4
  80. package/src/test/test-editor.spec.ts +1 -5
  81. package/src/test/test-editor.ts +5 -24
  82. package/src/testing/index.ts +18 -14
  83. package/src/types/extension.spec.ts +1 -4
  84. package/src/types/extension.ts +3 -13
  85. package/src/types/simplify-union.ts +1 -4
  86. package/src/utils/array-grouping.spec.ts +1 -4
  87. package/src/utils/attrs-match.ts +1 -5
  88. package/src/utils/clsx.spec.ts +1 -4
  89. package/src/utils/combine-event-handlers.spec.ts +1 -5
  90. package/src/utils/default-block-at.ts +1 -4
  91. package/src/utils/editor-content.spec.ts +1 -4
  92. package/src/utils/editor-content.ts +4 -16
  93. package/src/utils/find-node.ts +65 -0
  94. package/src/utils/find-parent-node-of-type.ts +6 -12
  95. package/src/utils/find-parent-node.spec.ts +1 -5
  96. package/src/utils/find-parent-node.ts +1 -4
  97. package/src/utils/get-custom-selection.ts +1 -5
  98. package/src/utils/get-mark-type.ts +1 -4
  99. package/src/utils/get-node-type.ts +1 -4
  100. package/src/utils/get-node-types.ts +1 -4
  101. package/src/utils/includes-mark.ts +1 -5
  102. package/src/utils/is-at-block-start.ts +1 -4
  103. package/src/utils/is-mark-absent.spec.ts +1 -4
  104. package/src/utils/is-mark-absent.ts +1 -5
  105. package/src/utils/is-mark-active.ts +1 -4
  106. package/src/utils/is-node-active.spec.ts +109 -0
  107. package/src/utils/is-node-active.ts +17 -8
  108. package/src/utils/is-subset.spec.ts +1 -4
  109. package/src/utils/maybe-run.spec.ts +1 -5
  110. package/src/utils/merge-objects.spec.ts +1 -4
  111. package/src/utils/merge-objects.ts +2 -1
  112. package/src/utils/merge-specs.ts +1 -4
  113. package/src/utils/object-equal.spec.ts +1 -4
  114. package/src/utils/output-spec.test.ts +1 -5
  115. package/src/utils/output-spec.ts +2 -10
  116. package/src/utils/parse.spec.ts +2 -11
  117. package/src/utils/parse.ts +3 -15
  118. package/src/utils/remove-undefined-values.spec.ts +1 -4
  119. package/src/utils/set-selection-around.ts +1 -4
  120. package/src/utils/type-assertion.ts +2 -21
  121. package/src/utils/unicode.spec.ts +1 -4
  122. package/dist/editor-4lgGc3CY.d.ts.map +0 -1
  123. package/dist/editor-DGNUXn-u.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { A as ExtractMarks, B as NodeTyping, C as StepJSON, D as ExtractCommandCreators, E as ExtractCommandActions, F as Union, G as CommandCreator, H as MarkTyping, I as SimplifyUnion, J as NodeAction, K as CommandTyping, L as SimplifyDeeper, M as ExtractNodes, N as ExtractTyping, O as ExtractCommands, P as PlainExtension, R as Priority, S as StateJSON, T as ExtensionTyping, U as ToMarkAction, V as ToNodeAction, W as CommandAction, X as AnyAttrs, Y as NodeChild, Z as AttrSpec, _ as nodeFromHTML, a as DOMDocumentOptions, b as NodeJSON, c as JSONParserOptions, d as htmlFromJSON, f as htmlFromNode, g as nodeFromElement, h as jsonFromState, i as createEditor, j as ExtractNodeActions, k as ExtractMarkActions, l as elementFromJSON, m as jsonFromNode, o as DOMParserOptions, p as jsonFromHTML, q as MarkAction, r as EditorOptions, s as DOMSerializerOptions, t as Editor, u as elementFromNode, v as nodeFromJSON, w as Extension, x as SelectionJSON, y as stateFromJSON, z as PickSubType } from "./editor-4lgGc3CY.js";
1
+ import { A as ExtractMarks, B as NodeTyping, C as StepJSON, D as ExtractCommandCreators, E as ExtractCommandActions, F as Union, G as CommandCreator, H as MarkTyping, I as SimplifyUnion, J as NodeAction, K as CommandTyping, L as SimplifyDeeper, M as ExtractNodes, N as ExtractTyping, O as ExtractCommands, P as PlainExtension, R as Priority, S as StateJSON, T as ExtensionTyping, U as ToMarkAction, V as ToNodeAction, W as CommandAction, X as AnyAttrs, Y as NodeChild, Z as AttrSpec, _ as nodeFromHTML, a as DOMDocumentOptions, b as NodeJSON, c as JSONParserOptions, d as htmlFromJSON, f as htmlFromNode, g as nodeFromElement, h as jsonFromState, i as createEditor, j as ExtractNodeActions, k as ExtractMarkActions, l as elementFromJSON, m as jsonFromNode, o as DOMParserOptions, p as jsonFromHTML, q as MarkAction, r as EditorOptions, s as DOMSerializerOptions, t as Editor, u as elementFromNode, v as nodeFromJSON, w as Extension, x as SelectionJSON, y as stateFromJSON, z as PickSubType } from "./editor-BULC1zqX.js";
2
2
  import { AllSelection, Command, EditorState, EditorStateConfig, NodeSelection, Plugin, Selection, TextSelection, Transaction } from "@prosekit/pm/state";
3
3
  import { Attrs, ContentMatch, DOMSerializer, Fragment, Mark, MarkSpec, MarkType, Node, NodeSpec, NodeType, ProseMirrorNode, ResolvedPos, Schema, Slice } from "@prosekit/pm/model";
4
4
  import { ObjectEntries } from "@ocavue/utils";
@@ -139,8 +139,8 @@ interface RemoveNodeOptions {
139
139
  */
140
140
  type: string | NodeType;
141
141
  /**
142
- * The document position to start searching node. By default it will be the
143
- * anchor position of current selection.
142
+ * The document position to start searching for the node. By default, it will
143
+ * use the anchor position of current selection.
144
144
  */
145
145
  pos?: number;
146
146
  }
@@ -194,8 +194,6 @@ declare function setBlockType(options: SetBlockTypeOptions): Command;
194
194
  interface SetNodeAttrsOptions {
195
195
  /**
196
196
  * The type of node to set the attributes of.
197
- *
198
- * If current node is not of this type, the command will do nothing.
199
197
  */
200
198
  type: string | NodeType | string[] | NodeType[];
201
199
  /**
@@ -203,17 +201,56 @@ interface SetNodeAttrsOptions {
203
201
  */
204
202
  attrs: Attrs;
205
203
  /**
206
- * The position of the node. Defaults to the position of the wrapping node
207
- * containing the current selection.
204
+ * The document position of the node to update. If not provided, the command
205
+ * will find the closest ancestor node that matches the type based on the
206
+ * anchor position of the selection.
208
207
  */
209
208
  pos?: number;
210
209
  }
211
210
  /**
212
- * Returns a command that set the attributes of the current node.
211
+ * Returns a command that sets the attributes of the current node.
212
+ *
213
+ * @param options
214
+ *
215
+ * @public
216
+ */
217
+ declare function setNodeAttrs({
218
+ type,
219
+ attrs,
220
+ pos
221
+ }: SetNodeAttrsOptions): Command;
222
+ //#endregion
223
+ //#region src/commands/set-node-attrs-between.d.ts
224
+ /**
225
+ * @public
226
+ */
227
+ interface SetNodeAttrsBetweenOptions {
228
+ /**
229
+ * The type of node to set the attributes of.
230
+ */
231
+ type: string | NodeType | string[] | NodeType[];
232
+ /**
233
+ * The attributes to set.
234
+ */
235
+ attrs: Attrs;
236
+ /**
237
+ * The position to start searching for nodes. By default, the selection from position will be used.
238
+ */
239
+ from?: number;
240
+ /**
241
+ * The position to end searching for nodes. By default, the selection to position will be used.
242
+ */
243
+ to?: number;
244
+ }
245
+ /**
246
+ * Returns a command that sets the attributes of all matching nodes between the
247
+ * `from` and `to` positions.
248
+ *
249
+ * @param options
213
250
  *
214
251
  * @public
215
252
  */
216
- declare function setNodeAttrs(options: SetNodeAttrsOptions): Command;
253
+ declare function setNodeAttrsBetween(options: SetNodeAttrsBetweenOptions): Command;
217
254
  //#endregion
218
255
  //#region src/commands/toggle-mark.d.ts
219
256
  /**
@@ -274,7 +311,7 @@ interface ToggleNodeOptions {
274
311
  attrs?: Attrs | null;
275
312
  }
276
313
  /**
277
- * Returns a command that set the selected textblocks to the given node type
314
+ * Returns a command that sets the selected textblocks to the given node type
278
315
  * with the given attributes.
279
316
  *
280
317
  * @param options
@@ -490,6 +527,7 @@ type BaseCommandsExtension = Extension<{
490
527
  toggleWrap: [options: ToggleWrapOptions];
491
528
  setBlockType: [options: SetBlockTypeOptions];
492
529
  setNodeAttrs: [options: SetNodeAttrsOptions];
530
+ setNodeAttrsBetween: [options: SetNodeAttrsBetweenOptions];
493
531
  insertDefaultBlock: [options?: InsertDefaultBlockOptions];
494
532
  selectAll: [];
495
533
  selectBlock: [];
@@ -935,7 +973,7 @@ declare function defineBaseKeymap({
935
973
  /**
936
974
  * @public
937
975
  */
938
- interface MarkSpecOptions<MarkName extends string = string, Attrs$1 extends AnyAttrs = AnyAttrs> extends MarkSpec {
976
+ interface MarkSpecOptions<MarkName extends string = string, Attrs extends AnyAttrs = AnyAttrs> extends MarkSpec {
939
977
  /**
940
978
  * The name of the mark type.
941
979
  */
@@ -943,7 +981,7 @@ interface MarkSpecOptions<MarkName extends string = string, Attrs$1 extends AnyA
943
981
  /**
944
982
  * The attributes that marks of this type get.
945
983
  */
946
- attrs?: { [K in keyof Attrs$1]: AttrSpec<Attrs$1[K]> };
984
+ attrs?: { [K in keyof Attrs]: AttrSpec<Attrs[K]> };
947
985
  }
948
986
  /**
949
987
  * @public
@@ -991,14 +1029,14 @@ interface MarkAttrOptions<MarkName extends string = string, AttrName extends str
991
1029
  * })
992
1030
  * ```
993
1031
  */
994
- declare function defineMarkSpec<Mark$1 extends string, Attrs$1 extends AnyAttrs = AnyAttrs>(options: MarkSpecOptions<Mark$1, Attrs$1>): Extension<{
995
- Marks: { [K in Mark$1]: Attrs$1 };
1032
+ declare function defineMarkSpec<Mark extends string, Attrs extends AnyAttrs = AnyAttrs>(options: MarkSpecOptions<Mark, Attrs>): Extension<{
1033
+ Marks: { [K in Mark]: Attrs };
996
1034
  }>;
997
1035
  /**
998
1036
  * @public
999
1037
  */
1000
- declare function defineMarkAttr<MarkType$1 extends string = string, AttrName extends string = string, AttrType = any>(options: MarkAttrOptions<MarkType$1, AttrName, AttrType>): Extension<{
1001
- Marks: { [K in MarkType$1]: AttrType };
1038
+ declare function defineMarkAttr<MarkType extends string = string, AttrName extends string = string, AttrType = any>(options: MarkAttrOptions<MarkType, AttrName, AttrType>): Extension<{
1039
+ Marks: { [K in MarkType]: AttrType };
1002
1040
  }>;
1003
1041
  //#endregion
1004
1042
  //#region src/extensions/mark-view.d.ts
@@ -1037,7 +1075,7 @@ declare function defineMarkViewComponent<T>(options: MarkViewComponentOptions<T>
1037
1075
  /**
1038
1076
  * @public
1039
1077
  */
1040
- interface NodeSpecOptions<NodeName extends string = string, Attrs$1 extends AnyAttrs = AnyAttrs> extends NodeSpec {
1078
+ interface NodeSpecOptions<NodeName extends string = string, Attrs extends AnyAttrs = AnyAttrs> extends NodeSpec {
1041
1079
  /**
1042
1080
  * The name of the node type.
1043
1081
  */
@@ -1050,7 +1088,7 @@ interface NodeSpecOptions<NodeName extends string = string, Attrs$1 extends AnyA
1050
1088
  /**
1051
1089
  * The attributes that nodes of this type get.
1052
1090
  */
1053
- attrs?: { [key in keyof Attrs$1]: AttrSpec<Attrs$1[key]> };
1091
+ attrs?: { [key in keyof Attrs]: AttrSpec<Attrs[key]> };
1054
1092
  }
1055
1093
  /**
1056
1094
  * @public
@@ -1105,16 +1143,16 @@ interface NodeAttrOptions<NodeName extends string = string, AttrName extends str
1105
1143
  * })
1106
1144
  * ```
1107
1145
  */
1108
- declare function defineNodeSpec<Node$1 extends string, Attrs$1 extends AnyAttrs = AnyAttrs>(options: NodeSpecOptions<Node$1, Attrs$1>): Extension<{
1109
- Nodes: { [K in Node$1]: Attrs$1 };
1146
+ declare function defineNodeSpec<Node extends string, Attrs extends AnyAttrs = AnyAttrs>(options: NodeSpecOptions<Node, Attrs>): Extension<{
1147
+ Nodes: { [K in Node]: Attrs };
1110
1148
  }>;
1111
1149
  /**
1112
1150
  * Defines an attribute for a node type.
1113
1151
  *
1114
1152
  * @public
1115
1153
  */
1116
- declare function defineNodeAttr<NodeType$1 extends string = string, AttrName extends string = string, AttrType = any>(options: NodeAttrOptions<NodeType$1, AttrName, AttrType>): Extension<{
1117
- Nodes: { [K in NodeType$1]: { [K in AttrName]: AttrType } };
1154
+ declare function defineNodeAttr<NodeType extends string = string, AttrName extends string = string, AttrType = any>(options: NodeAttrOptions<NodeType, AttrName, AttrType>): Extension<{
1155
+ Nodes: { [K in NodeType]: { [K in AttrName]: AttrType } };
1118
1156
  }>;
1119
1157
  //#endregion
1120
1158
  //#region src/extensions/node-view.d.ts
@@ -1197,6 +1235,43 @@ declare function defaultBlockAt(match: ContentMatch): NodeType | null;
1197
1235
  */
1198
1236
  declare const isApple: boolean;
1199
1237
  //#endregion
1238
+ //#region src/utils/find-node.d.ts
1239
+ /**
1240
+ * Finds the first node that satisfies the predicate from the given document.
1241
+ *
1242
+ * @internal
1243
+ */
1244
+ declare function findNode(doc: ProseMirrorNode, predicate: (node: ProseMirrorNode) => boolean): FindNodeResult | undefined;
1245
+ /**
1246
+ * Finds all nodes that satisfy the predicate from the given document.
1247
+ *
1248
+ * @internal
1249
+ */
1250
+ declare function findNodes(doc: ProseMirrorNode, predicate: (node: ProseMirrorNode) => boolean): FindNodeResult[];
1251
+ /**
1252
+ * The result of the {@link findNode} function.
1253
+ *
1254
+ * @internal
1255
+ */
1256
+ interface FindNodeResult {
1257
+ /**
1258
+ * The node that satisfies the predicate.
1259
+ */
1260
+ node: ProseMirrorNode;
1261
+ /**
1262
+ * The position of the node.
1263
+ */
1264
+ pos: number;
1265
+ /**
1266
+ * The parent of the node.
1267
+ */
1268
+ parent: ProseMirrorNode | null;
1269
+ /**
1270
+ * The index of the node in the parent.
1271
+ */
1272
+ index: number;
1273
+ }
1274
+ //#endregion
1200
1275
  //#region src/utils/find-parent-node.d.ts
1201
1276
  /**
1202
1277
  * @public
@@ -1228,10 +1303,12 @@ declare function findParentNode(
1228
1303
  /**
1229
1304
  * The predicate to test the parent node.
1230
1305
  */
1306
+
1231
1307
  predicate: (node: ProseMirrorNode) => boolean,
1232
1308
  /**
1233
1309
  * The position to start searching from.
1234
1310
  */
1311
+
1235
1312
  $pos: ResolvedPos): FindParentNodeResult | undefined;
1236
1313
  //#endregion
1237
1314
  //#region src/utils/find-parent-node-of-type.d.ts
@@ -1244,10 +1321,12 @@ declare function findParentNodeOfType(
1244
1321
  /**
1245
1322
  * The type of the node to find.
1246
1323
  */
1247
- type: NodeType | string,
1324
+
1325
+ type: string | NodeType | string[] | NodeType[],
1248
1326
  /**
1249
1327
  * The position to start searching from.
1250
1328
  */
1329
+
1251
1330
  $pos: ResolvedPos): FindParentNodeResult | undefined;
1252
1331
  //#endregion
1253
1332
  //#region src/utils/get-mark-type.d.ts
@@ -1363,5 +1442,5 @@ declare const OBJECT_REPLACEMENT_CHARACTER = "\uFFFC";
1363
1442
  */
1364
1443
  declare function withSkipCodeBlock(command: Command): Command;
1365
1444
  //#endregion
1366
- export { type AddMarkOptions, type AnyAttrs, type AnyFunction, type AttrSpec, type BaseCommandsExtension, type BaseKeymapExtension, type BaseKeymapOptions, type ClickHandler, type ClickOnHandler, type ClipboardSerializerOptions, type CommandAction, type CommandTyping, type DOMDocumentOptions, type DOMEventHandler, type DOMParserOptions, type DOMSerializerOptions, type DefaultStateOptions, type DocChangeHandler, type DoubleClickHandler, type DoubleClickOnHandler, type DropHandler, Editor, type EditorEventPayload, EditorNotFoundError, type EditorOptions, type ExpandMarkOptions, type Extension, type ExtensionTyping, type ExtractCommandActions, type ExtractCommandCreators, type ExtractCommands, type ExtractMarkActions, type ExtractMarks, type ExtractNodeActions, type ExtractNodes, type ExtractTyping, type Facet, type FindParentNodeResult, type FocusChangeHandler, type HistoryExtension, type HistoryOptions, type InsertDefaultBlockOptions, type InsertNodeOptions, type JSONParserOptions, type KeyDownHandler, type KeyPressHandler, type Keymap, type KeymapPayload, type MarkAction, type MarkAttrOptions, type MarkSpecOptions, type MarkTyping, type MarkViewComponentOptions, type MarkViewFactoryOptions, type MarkViewOptions, type MountHandler, type NodeAction, type NodeAttrOptions, type NodeChild, type NodeJSON, type NodeSpecOptions, type NodeTyping, type NodeViewComponentOptions, type NodeViewFactoryOptions, type NodeViewOptions, OBJECT_REPLACEMENT_CHARACTER, type PasteHandler, type PickSubType, type PlainExtension, type PluginPayload, Priority, ProseKitError, type RemoveMarkOptions, type RemoveNodeOptions, type ScrollToSelectionHandler, type SelectionJSON, type SetBlockTypeOptions, type SetNodeAttrsOptions, type SimplifyDeeper, type SimplifyUnion, type StateJSON, type StepJSON, type TextInputHandler, type ToMarkAction, type ToNodeAction, type ToggleMarkOptions, type ToggleNodeOptions, type ToggleWrapOptions, type TripleClickHandler, type TripleClickOnHandler, type Union, type UnmountHandler, type UnsetBlockTypeOptions, type UnsetMarkOptions, type UpdateHandler, type WrapOptions, addMark, assert, canUseRegexLookbehind, clsx, containsInlineNode, createEditor, defaultBlockAt, defineBaseCommands, defineBaseKeymap, defineClickHandler, defineClickOnHandler, defineClipboardSerializer, defineCommands, defineDOMEventHandler, defineDefaultState, defineDocChangeHandler, defineDoubleClickHandler, defineDoubleClickOnHandler, defineDropHandler, defineFacet, defineFacetPayload, defineFocusChangeHandler, defineHistory, defineKeyDownHandler, defineKeyPressHandler, defineKeymap, defineMarkAttr, defineMarkSpec, defineMarkView, defineMarkViewComponent, defineMarkViewFactory, defineMountHandler, defineNodeAttr, defineNodeSpec, defineNodeView, defineNodeViewComponent, defineNodeViewFactory, definePasteHandler, definePlugin, defineScrollToSelectionHandler, defineTextInputHandler, defineTripleClickHandler, defineTripleClickOnHandler, defineUnmountHandler, defineUpdateHandler, editorEventFacet, elementFromJSON, elementFromNode, expandMark, findParentNode, findParentNodeOfType, getMarkType, getNodeType, htmlFromJSON, htmlFromNode, insertDefaultBlock, insertNode, isAllSelection, isApple, isAtBlockStart, isFragment, isInCodeBlock, isMark, isMarkAbsent, isMarkActive, isNodeSelection, isProseMirrorNode, isSelection, isSlice, isTextSelection, jsonFromHTML, jsonFromNode, jsonFromState, keymapFacet, maybeRun, nodeFromElement, nodeFromHTML, nodeFromJSON, pluginFacet, removeMark, removeNode, selectAll, selectBlock, setBlockType, setNodeAttrs, setSelectionAround, stateFromJSON, toggleMark, toggleNode, toggleWrap, union, unsetBlockType, unsetMark, withPriority, withSkipCodeBlock, wrap };
1445
+ export { type AddMarkOptions, type AnyAttrs, type AnyFunction, type AttrSpec, type BaseCommandsExtension, type BaseKeymapExtension, type BaseKeymapOptions, type ClickHandler, type ClickOnHandler, type ClipboardSerializerOptions, type CommandAction, type CommandTyping, type DOMDocumentOptions, type DOMEventHandler, type DOMParserOptions, type DOMSerializerOptions, type DefaultStateOptions, type DocChangeHandler, type DoubleClickHandler, type DoubleClickOnHandler, type DropHandler, Editor, type EditorEventPayload, EditorNotFoundError, type EditorOptions, type ExpandMarkOptions, type Extension, type ExtensionTyping, type ExtractCommandActions, type ExtractCommandCreators, type ExtractCommands, type ExtractMarkActions, type ExtractMarks, type ExtractNodeActions, type ExtractNodes, type ExtractTyping, type Facet, type FindNodeResult, type FindParentNodeResult, type FocusChangeHandler, type HistoryExtension, type HistoryOptions, type InsertDefaultBlockOptions, type InsertNodeOptions, type JSONParserOptions, type KeyDownHandler, type KeyPressHandler, type Keymap, type KeymapPayload, type MarkAction, type MarkAttrOptions, type MarkSpecOptions, type MarkTyping, type MarkViewComponentOptions, type MarkViewFactoryOptions, type MarkViewOptions, type MountHandler, type NodeAction, type NodeAttrOptions, type NodeChild, type NodeJSON, type NodeSpecOptions, type NodeTyping, type NodeViewComponentOptions, type NodeViewFactoryOptions, type NodeViewOptions, OBJECT_REPLACEMENT_CHARACTER, type PasteHandler, type PickSubType, type PlainExtension, type PluginPayload, Priority, ProseKitError, type RemoveMarkOptions, type RemoveNodeOptions, type ScrollToSelectionHandler, type SelectionJSON, type SetBlockTypeOptions, type SetNodeAttrsBetweenOptions, type SetNodeAttrsOptions, type SimplifyDeeper, type SimplifyUnion, type StateJSON, type StepJSON, type TextInputHandler, type ToMarkAction, type ToNodeAction, type ToggleMarkOptions, type ToggleNodeOptions, type ToggleWrapOptions, type TripleClickHandler, type TripleClickOnHandler, type Union, type UnmountHandler, type UnsetBlockTypeOptions, type UnsetMarkOptions, type UpdateHandler, type WrapOptions, addMark, assert, canUseRegexLookbehind, clsx, containsInlineNode, createEditor, defaultBlockAt, defineBaseCommands, defineBaseKeymap, defineClickHandler, defineClickOnHandler, defineClipboardSerializer, defineCommands, defineDOMEventHandler, defineDefaultState, defineDocChangeHandler, defineDoubleClickHandler, defineDoubleClickOnHandler, defineDropHandler, defineFacet, defineFacetPayload, defineFocusChangeHandler, defineHistory, defineKeyDownHandler, defineKeyPressHandler, defineKeymap, defineMarkAttr, defineMarkSpec, defineMarkView, defineMarkViewComponent, defineMarkViewFactory, defineMountHandler, defineNodeAttr, defineNodeSpec, defineNodeView, defineNodeViewComponent, defineNodeViewFactory, definePasteHandler, definePlugin, defineScrollToSelectionHandler, defineTextInputHandler, defineTripleClickHandler, defineTripleClickOnHandler, defineUnmountHandler, defineUpdateHandler, editorEventFacet, elementFromJSON, elementFromNode, expandMark, findNode, findNodes, findParentNode, findParentNodeOfType, getMarkType, getNodeType, htmlFromJSON, htmlFromNode, insertDefaultBlock, insertNode, isAllSelection, isApple, isAtBlockStart, isFragment, isInCodeBlock, isMark, isMarkAbsent, isMarkActive, isNodeSelection, isProseMirrorNode, isSelection, isSlice, isTextSelection, jsonFromHTML, jsonFromNode, jsonFromState, keymapFacet, maybeRun, nodeFromElement, nodeFromHTML, nodeFromJSON, pluginFacet, removeMark, removeNode, selectAll, selectBlock, setBlockType, setNodeAttrs, setNodeAttrsBetween, setSelectionAround, stateFromJSON, toggleMark, toggleNode, toggleWrap, union, unsetBlockType, unsetMark, withPriority, withSkipCodeBlock, wrap };
1367
1446
  //# sourceMappingURL=prosekit-core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prosekit-core.d.ts","names":[],"sources":["../src/commands/add-mark.ts","../src/commands/expand-mark.ts","../src/commands/insert-default-block.ts","../src/commands/insert-node.ts","../src/commands/remove-mark.ts","../src/commands/remove-node.ts","../src/commands/select-all.ts","../src/commands/select-block.ts","../src/commands/set-block-type.ts","../src/commands/set-node-attrs.ts","../src/commands/toggle-mark.ts","../src/commands/toggle-node.ts","../src/commands/toggle-wrap.ts","../src/commands/unset-block-type.ts","../src/commands/unset-mark.ts","../src/commands/wrap.ts","../src/editor/union.ts","../src/editor/with-priority.ts","../src/error.ts","../src/types/any-function.ts","../src/extensions/clipboard-serializer.ts","../src/commands/insert-text.ts","../src/extensions/command.ts","../src/extensions/default-state.ts","../src/extensions/events/doc-change.ts","../src/extensions/events/dom-event.ts","../src/facets/facet-types.ts","../src/facets/facet.ts","../src/facets/state.ts","../src/extensions/plugin.ts","../src/extensions/events/editor-event.ts","../src/extensions/events/focus.ts","../src/extensions/events/plugin-view.ts","../src/extensions/history.ts","../src/extensions/keymap.ts","../src/extensions/keymap-base.ts","../src/extensions/mark-spec.ts","../src/extensions/mark-view.ts","../src/extensions/mark-view-effect.ts","../src/extensions/node-spec.ts","../src/extensions/node-view.ts","../src/extensions/node-view-effect.ts","../src/facets/facet-extension.ts","../src/utils/assert.ts","../src/utils/can-use-regex-lookbehind.ts","../src/utils/clsx.ts","../src/utils/contains-inline-node.ts","../src/utils/default-block-at.ts","../src/utils/env.ts","../src/utils/find-parent-node.ts","../src/utils/find-parent-node-of-type.ts","../src/utils/get-mark-type.ts","../src/utils/get-node-type.ts","../src/utils/is-at-block-start.ts","../src/utils/is-in-code-block.ts","../src/utils/is-mark-absent.ts","../src/utils/is-mark-active.ts","../src/utils/maybe-run.ts","../src/utils/set-selection-around.ts","../src/utils/type-assertion.ts","../src/utils/unicode.ts","../src/utils/with-skip-code-block.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"prosekit-core.d.ts","names":[],"sources":["../src/commands/add-mark.ts","../src/commands/expand-mark.ts","../src/commands/insert-default-block.ts","../src/commands/insert-node.ts","../src/commands/remove-mark.ts","../src/commands/remove-node.ts","../src/commands/select-all.ts","../src/commands/select-block.ts","../src/commands/set-block-type.ts","../src/commands/set-node-attrs.ts","../src/commands/set-node-attrs-between.ts","../src/commands/toggle-mark.ts","../src/commands/toggle-node.ts","../src/commands/toggle-wrap.ts","../src/commands/unset-block-type.ts","../src/commands/unset-mark.ts","../src/commands/wrap.ts","../src/editor/union.ts","../src/editor/with-priority.ts","../src/error.ts","../src/types/any-function.ts","../src/extensions/clipboard-serializer.ts","../src/commands/insert-text.ts","../src/extensions/command.ts","../src/extensions/default-state.ts","../src/extensions/events/doc-change.ts","../src/extensions/events/dom-event.ts","../src/facets/facet-types.ts","../src/facets/facet.ts","../src/facets/state.ts","../src/extensions/plugin.ts","../src/extensions/events/editor-event.ts","../src/extensions/events/focus.ts","../src/extensions/events/plugin-view.ts","../src/extensions/history.ts","../src/extensions/keymap.ts","../src/extensions/keymap-base.ts","../src/extensions/mark-spec.ts","../src/extensions/mark-view.ts","../src/extensions/mark-view-effect.ts","../src/extensions/node-spec.ts","../src/extensions/node-view.ts","../src/extensions/node-view-effect.ts","../src/facets/facet-extension.ts","../src/utils/assert.ts","../src/utils/can-use-regex-lookbehind.ts","../src/utils/clsx.ts","../src/utils/contains-inline-node.ts","../src/utils/default-block-at.ts","../src/utils/env.ts","../src/utils/find-node.ts","../src/utils/find-parent-node.ts","../src/utils/find-parent-node-of-type.ts","../src/utils/get-mark-type.ts","../src/utils/get-node-type.ts","../src/utils/is-at-block-start.ts","../src/utils/is-in-code-block.ts","../src/utils/is-mark-absent.ts","../src/utils/is-mark-active.ts","../src/utils/maybe-run.ts","../src/utils/set-selection-around.ts","../src/utils/type-assertion.ts","../src/utils/unicode.ts","../src/utils/with-skip-code-block.ts"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { A as isFragment, B as getMarkType, C as defineFacetPayload, D as Priority, E as defineFacet, F as isSelection, H as ProseKitError, I as isSlice, L as isTextSelection, M as isNodeSelection, N as isNotNullish, O as isNodeActive, P as isProseMirrorNode, R as getNodeType, S as stateFacet, T as rootFacet, V as EditorNotFoundError, _ as jsonFromState, a as union, b as nodeFromJSON, c as isMarkActive, d as elementFromJSON, f as elementFromNode, g as jsonFromNode, h as jsonFromHTML, j as isMark, k as isAllSelection, l as isMarkAbsent, m as htmlFromNode, p as htmlFromJSON, r as createEditor, t as Editor, u as defineDefaultState, v as nodeFromElement, w as schemaFacet, x as stateFromJSON, y as nodeFromHTML, z as assert } from "./editor-DGNUXn-u.js";
1
+ import { A as isFragment, B as EditorNotFoundError, C as defineFacetPayload, D as Priority, E as defineFacet, F as isSlice, I as isTextSelection, L as getNodeType, M as isNodeSelection, N as isProseMirrorNode, O as isNodeActive, P as isSelection, R as assert, S as stateFacet, T as rootFacet, V as ProseKitError, _ as jsonFromState, a as union, b as nodeFromJSON, c as isMarkActive, d as elementFromJSON, f as elementFromNode, g as jsonFromNode, h as jsonFromHTML, j as isMark, k as isAllSelection, l as isMarkAbsent, m as htmlFromNode, p as htmlFromJSON, r as createEditor, t as Editor, u as defineDefaultState, v as nodeFromElement, w as schemaFacet, x as stateFromJSON, y as nodeFromHTML, z as getMarkType } from "./editor-g-Rqn-ZE.js";
2
2
  import { Plugin, PluginKey, ProseMirrorPlugin, TextSelection } from "@prosekit/pm/state";
3
- import { ReplaceAroundStep, findWrapping, insertPoint } from "@prosekit/pm/transform";
4
- import { baseKeymap, chainCommands, createParagraphNear, deleteSelection, joinTextblockBackward, lift, liftEmptyBlock, newlineInCode, selectAll as selectAll$1, selectNodeBackward, setBlockType as setBlockType$1, toggleMark as toggleMark$1 } from "@prosekit/pm/commands";
5
3
  import { DOMSerializer, Fragment, Slice } from "@prosekit/pm/model";
6
- import { isElementLike, mapGroupBy, once } from "@ocavue/utils";
4
+ import { ReplaceAroundStep, dropPoint, findWrapping } from "@prosekit/pm/transform";
5
+ import { baseKeymap, chainCommands, createParagraphNear, deleteSelection, joinTextblockBackward, lift, liftEmptyBlock, newlineInCode, selectAll as selectAll$1, selectNodeBackward, setBlockType as setBlockType$1, toggleMark as toggleMark$1 } from "@prosekit/pm/commands";
6
+ import { isElementLike, isNotNullish, mapGroupBy, once } from "@ocavue/utils";
7
7
  import { history, redo, undo } from "@prosekit/pm/history";
8
8
  import { keydownHandler } from "@prosekit/pm/keymap";
9
9
  import { splitSplittableBlock } from "prosemirror-splittable";
@@ -129,7 +129,7 @@ function insertNode(options) {
129
129
  return (state, dispatch) => {
130
130
  const node = options.node ? options.node : options.type ? getNodeType(state.schema, options.type).createAndFill(options.attrs) : null;
131
131
  assert(node, "You must provide either a node or a type");
132
- const insertPos = insertPoint(state.doc, options.pos ?? state.selection.anchor, node.type);
132
+ const insertPos = dropPoint(state.doc, options.pos ?? state.selection.anchor, new Slice(Fragment.from([node]), 0, 0));
133
133
  if (insertPos == null) return false;
134
134
  if (dispatch) {
135
135
  const tr = state.tr.insert(insertPos, node);
@@ -178,6 +178,16 @@ function findParentNode(predicate, $pos) {
178
178
  }
179
179
  }
180
180
 
181
+ //#endregion
182
+ //#region src/utils/get-node-types.ts
183
+ /**
184
+ * @internal
185
+ */
186
+ function getNodeTypes(schema, types) {
187
+ if (Array.isArray(types)) return types.map((type) => getNodeType(schema, type));
188
+ return [getNodeType(schema, types)];
189
+ }
190
+
181
191
  //#endregion
182
192
  //#region src/utils/find-parent-node-of-type.ts
183
193
  /**
@@ -186,8 +196,8 @@ function findParentNode(predicate, $pos) {
186
196
  * @public
187
197
  */
188
198
  function findParentNodeOfType(type, $pos) {
189
- const nodeType = getNodeType($pos.doc.type.schema, type);
190
- return findParentNode((node) => node.type === nodeType, $pos);
199
+ const nodeTypes = getNodeTypes($pos.doc.type.schema, type);
200
+ return findParentNode((node) => nodeTypes.includes(node.type), $pos);
191
201
  }
192
202
 
193
203
  //#endregion
@@ -310,36 +320,65 @@ function setBlockType(options) {
310
320
  }
311
321
 
312
322
  //#endregion
313
- //#region src/utils/get-node-types.ts
323
+ //#region src/commands/set-node-attrs.ts
314
324
  /**
315
- * @internal
325
+ * Returns a command that sets the attributes of the current node.
326
+ *
327
+ * @param options
328
+ *
329
+ * @public
316
330
  */
317
- function getNodeTypes(schema, types) {
318
- if (Array.isArray(types)) return types.map((type) => getNodeType(schema, type));
319
- return [getNodeType(schema, types)];
331
+ function setNodeAttrs({ type, attrs, pos }) {
332
+ return (state, dispatch) => {
333
+ let updatePos;
334
+ if (pos == null) {
335
+ const found = findParentNodeOfType(type, state.selection.$anchor);
336
+ if (!found) return false;
337
+ updatePos = found.pos;
338
+ } else {
339
+ const found = state.doc.nodeAt(pos);
340
+ if (!found) return false;
341
+ if (!getNodeTypes(state.schema, type).includes(found.type)) return false;
342
+ updatePos = pos;
343
+ }
344
+ if (dispatch) {
345
+ const { tr } = state;
346
+ for (const [key, value] of Object.entries(attrs)) tr.setNodeAttribute(updatePos, key, value);
347
+ dispatch(tr);
348
+ }
349
+ return true;
350
+ };
320
351
  }
321
352
 
322
353
  //#endregion
323
- //#region src/commands/set-node-attrs.ts
354
+ //#region src/commands/set-node-attrs-between.ts
324
355
  /**
325
- * Returns a command that set the attributes of the current node.
356
+ * Returns a command that sets the attributes of all matching nodes between the
357
+ * `from` and `to` positions.
358
+ *
359
+ * @param options
326
360
  *
327
361
  * @public
328
362
  */
329
- function setNodeAttrs(options) {
363
+ function setNodeAttrsBetween(options) {
330
364
  return (state, dispatch) => {
365
+ const from = options.from ?? state.selection.from;
366
+ const to = options.to ?? state.selection.to;
367
+ if (from > to) return false;
331
368
  const nodeTypes = getNodeTypes(state.schema, options.type);
332
- const from = options.pos ?? state.selection.from;
333
- const to = options.pos ?? state.selection.to;
334
369
  const positions = [];
370
+ let found = false;
335
371
  state.doc.nodesBetween(from, to, (node, pos) => {
336
- if (nodeTypes.includes(node.type)) positions.push(pos);
337
- if (!dispatch && positions.length > 0) return false;
372
+ if (nodeTypes.includes(node.type)) {
373
+ positions.push(pos);
374
+ found = true;
375
+ }
376
+ if (!dispatch && found) return false;
338
377
  });
339
- if (positions.length === 0) return false;
378
+ if (!found) return false;
340
379
  if (dispatch) {
341
380
  const { tr } = state;
342
- for (const pos of positions) for (const [key, value] of Object.entries(options.attrs)) tr.setNodeAttribute(pos, key, value);
381
+ for (const [key, value] of Object.entries(options.attrs)) for (const pos of positions) tr.setNodeAttribute(pos, key, value);
343
382
  dispatch(tr);
344
383
  }
345
384
  return true;
@@ -367,7 +406,7 @@ function toggleMark({ type, attrs, removeWhenPresent = false, enterInlineAtoms =
367
406
  //#endregion
368
407
  //#region src/commands/toggle-node.ts
369
408
  /**
370
- * Returns a command that set the selected textblocks to the given node type
409
+ * Returns a command that sets the selected textblocks to the given node type
371
410
  * with the given attributes.
372
411
  *
373
412
  * @param options
@@ -537,7 +576,7 @@ const pluginFacet = defineFacet({
537
576
  //#endregion
538
577
  //#region src/extensions/clipboard-serializer.ts
539
578
  function mergeWrappers(wrappers) {
540
- return (fn) => wrappers.filter(isNotNullish).reduce((fn$1, wrapper) => wrapper(fn$1), fn);
579
+ return (fn) => wrappers.filter(isNotNullish).reduce((fn, wrapper) => wrapper(fn), fn);
541
580
  }
542
581
  function wrapFunction(fn, wrapper) {
543
582
  return wrapper ? wrapper(fn) : fn;
@@ -549,11 +588,11 @@ var CustomDOMSerializer = class extends DOMSerializer {
549
588
  this.serializeNodeWrapper = serializeNodeWrapper;
550
589
  }
551
590
  serializeFragment(...args) {
552
- const fn = (...args$1) => super.serializeFragment(...args$1);
591
+ const fn = (...args) => super.serializeFragment(...args);
553
592
  return wrapFunction(fn, this.serializeFragmentWrapper)(...args);
554
593
  }
555
594
  serializeNode(...args) {
556
- const fn = (...args$1) => super.serializeNode(...args$1);
595
+ const fn = (...args) => super.serializeNode(...args);
557
596
  return wrapFunction(fn, this.serializeNodeWrapper)(...args);
558
597
  }
559
598
  };
@@ -618,8 +657,8 @@ const commandFacet = defineFacet({
618
657
 
619
658
  //#endregion
620
659
  //#region src/extensions/command.ts
621
- function defineCommands(commands$1) {
622
- return defineFacetPayload(commandFacet, [commands$1]);
660
+ function defineCommands(commands) {
661
+ return defineFacetPayload(commandFacet, [commands]);
623
662
  }
624
663
  /**
625
664
  * Add some base commands
@@ -635,6 +674,7 @@ function defineBaseCommands() {
635
674
  toggleWrap,
636
675
  setBlockType,
637
676
  setNodeAttrs,
677
+ setNodeAttrsBetween,
638
678
  insertDefaultBlock,
639
679
  selectAll,
640
680
  selectBlock,
@@ -684,8 +724,8 @@ const pluginViewFacet = defineFacet({
684
724
  view: (view) => {
685
725
  mountHandlers.forEach((fn) => fn(view));
686
726
  return {
687
- update: (view$1, prevState) => {
688
- updateHandlers.forEach((fn) => fn(view$1, prevState));
727
+ update: (view, prevState) => {
728
+ updateHandlers.forEach((fn) => fn(view, prevState));
689
729
  },
690
730
  destroy: () => {
691
731
  unmountHandlers.forEach((fn) => fn());
@@ -994,8 +1034,8 @@ const isApple = typeof navigator !== "undefined" ? /Mac|iP(hone|[ao]d)/.test(nav
994
1034
  *
995
1035
  * @public
996
1036
  */
997
- function defineKeymap(keymap$1) {
998
- return defineFacetPayload(keymapFacet, [keymap$1]);
1037
+ function defineKeymap(keymap) {
1038
+ return defineFacetPayload(keymapFacet, [keymap]);
999
1039
  }
1000
1040
  /**
1001
1041
  * @internal
@@ -1297,7 +1337,7 @@ const markViewFactoryFacet = defineFacet({
1297
1337
  const factories = inputs.map((x) => x[0]).filter(isNotNullish);
1298
1338
  const options = inputs.map((x) => x[1]).filter(isNotNullish);
1299
1339
  for (const { group, name, args } of options) {
1300
- const factory = factories.find((factory$1) => factory$1.group === group);
1340
+ const factory = factories.find((factory) => factory.group === group);
1301
1341
  if (!factory) continue;
1302
1342
  markViews[name] = factory.factory(args);
1303
1343
  }
@@ -1419,7 +1459,7 @@ const nodeViewFactoryFacet = defineFacet({
1419
1459
  const factories = inputs.map((x) => x[0]).filter(isNotNullish);
1420
1460
  const options = inputs.map((x) => x[1]).filter(isNotNullish);
1421
1461
  for (const { group, name, args } of options) {
1422
- const factory = factories.find((factory$1) => factory$1.group === group);
1462
+ const factory = factories.find((factory) => factory.group === group);
1423
1463
  if (!factory) continue;
1424
1464
  nodeViews[name] = factory.factory(args);
1425
1465
  }
@@ -1438,7 +1478,7 @@ const nodeViewFactoryFacet = defineFacet({
1438
1478
  */
1439
1479
  const canUseRegexLookbehind = once(() => {
1440
1480
  try {
1441
- return "ab".replace(new RegExp("(?<=a)b", "g"), "c") === "ac";
1481
+ return "ab".replace(/* @__PURE__ */ new RegExp("(?<=a)b", "g"), "c") === "ac";
1442
1482
  } catch {
1443
1483
  return false;
1444
1484
  }
@@ -1469,6 +1509,47 @@ function containsInlineNode(doc, from, to) {
1469
1509
  return found;
1470
1510
  }
1471
1511
 
1512
+ //#endregion
1513
+ //#region src/utils/find-node.ts
1514
+ /**
1515
+ * Finds the first node that satisfies the predicate from the given document.
1516
+ *
1517
+ * @internal
1518
+ */
1519
+ function findNode(doc, predicate) {
1520
+ let found;
1521
+ doc.descendants((node, pos, parent, index) => {
1522
+ if (found) return false;
1523
+ if (predicate(node)) {
1524
+ found = {
1525
+ node,
1526
+ pos,
1527
+ parent,
1528
+ index
1529
+ };
1530
+ return false;
1531
+ }
1532
+ });
1533
+ return found;
1534
+ }
1535
+ /**
1536
+ * Finds all nodes that satisfy the predicate from the given document.
1537
+ *
1538
+ * @internal
1539
+ */
1540
+ function findNodes(doc, predicate) {
1541
+ const results = [];
1542
+ doc.descendants((node, pos, parent, index) => {
1543
+ if (predicate(node)) results.push({
1544
+ node,
1545
+ pos,
1546
+ parent,
1547
+ index
1548
+ });
1549
+ });
1550
+ return results;
1551
+ }
1552
+
1472
1553
  //#endregion
1473
1554
  //#region src/utils/is-at-block-start.ts
1474
1555
  /**
@@ -1525,5 +1606,5 @@ function withSkipCodeBlock(command) {
1525
1606
  }
1526
1607
 
1527
1608
  //#endregion
1528
- export { Editor, EditorNotFoundError, OBJECT_REPLACEMENT_CHARACTER, Priority, ProseKitError, addMark, assert, canUseRegexLookbehind, clsx, containsInlineNode, createEditor, defaultBlockAt, defineBaseCommands, defineBaseKeymap, defineClickHandler, defineClickOnHandler, defineClipboardSerializer, defineCommands, defineDOMEventHandler, defineDefaultState, defineDocChangeHandler, defineDoubleClickHandler, defineDoubleClickOnHandler, defineDropHandler, defineFacet, defineFacetPayload, defineFocusChangeHandler, defineHistory, defineKeyDownHandler, defineKeyPressHandler, defineKeymap, defineMarkAttr, defineMarkSpec, defineMarkView, defineMarkViewComponent, defineMarkViewFactory, defineMountHandler, defineNodeAttr, defineNodeSpec, defineNodeView, defineNodeViewComponent, defineNodeViewFactory, definePasteHandler, definePlugin, defineScrollToSelectionHandler, defineTextInputHandler, defineTripleClickHandler, defineTripleClickOnHandler, defineUnmountHandler, defineUpdateHandler, editorEventFacet, elementFromJSON, elementFromNode, expandMark, findParentNode, findParentNodeOfType, getMarkType, getNodeType, htmlFromJSON, htmlFromNode, insertDefaultBlock, insertNode, isAllSelection, isApple, isAtBlockStart, isFragment, isInCodeBlock, isMark, isMarkAbsent, isMarkActive, isNodeSelection, isProseMirrorNode, isSelection, isSlice, isTextSelection, jsonFromHTML, jsonFromNode, jsonFromState, keymapFacet, maybeRun, nodeFromElement, nodeFromHTML, nodeFromJSON, pluginFacet, removeMark, removeNode, selectAll, selectBlock, setBlockType, setNodeAttrs, setSelectionAround, stateFromJSON, toggleMark, toggleNode, toggleWrap, union, unsetBlockType, unsetMark, withPriority, withSkipCodeBlock, wrap };
1609
+ export { Editor, EditorNotFoundError, OBJECT_REPLACEMENT_CHARACTER, Priority, ProseKitError, addMark, assert, canUseRegexLookbehind, clsx, containsInlineNode, createEditor, defaultBlockAt, defineBaseCommands, defineBaseKeymap, defineClickHandler, defineClickOnHandler, defineClipboardSerializer, defineCommands, defineDOMEventHandler, defineDefaultState, defineDocChangeHandler, defineDoubleClickHandler, defineDoubleClickOnHandler, defineDropHandler, defineFacet, defineFacetPayload, defineFocusChangeHandler, defineHistory, defineKeyDownHandler, defineKeyPressHandler, defineKeymap, defineMarkAttr, defineMarkSpec, defineMarkView, defineMarkViewComponent, defineMarkViewFactory, defineMountHandler, defineNodeAttr, defineNodeSpec, defineNodeView, defineNodeViewComponent, defineNodeViewFactory, definePasteHandler, definePlugin, defineScrollToSelectionHandler, defineTextInputHandler, defineTripleClickHandler, defineTripleClickOnHandler, defineUnmountHandler, defineUpdateHandler, editorEventFacet, elementFromJSON, elementFromNode, expandMark, findNode, findNodes, findParentNode, findParentNodeOfType, getMarkType, getNodeType, htmlFromJSON, htmlFromNode, insertDefaultBlock, insertNode, isAllSelection, isApple, isAtBlockStart, isFragment, isInCodeBlock, isMark, isMarkAbsent, isMarkActive, isNodeSelection, isProseMirrorNode, isSelection, isSlice, isTextSelection, jsonFromHTML, jsonFromNode, jsonFromState, keymapFacet, maybeRun, nodeFromElement, nodeFromHTML, nodeFromJSON, pluginFacet, removeMark, removeNode, selectAll, selectBlock, setBlockType, setNodeAttrs, setNodeAttrsBetween, setSelectionAround, stateFromJSON, toggleMark, toggleNode, toggleWrap, union, unsetBlockType, unsetMark, withPriority, withSkipCodeBlock, wrap };
1529
1610
  //# sourceMappingURL=prosekit-core.js.map