@prosekit/core 0.9.0 → 0.11.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 (143) hide show
  1. package/dist/{editor-4lgGc3CY.d.ts → editor.d.ts} +58 -18
  2. package/dist/editor.d.ts.map +1 -0
  3. package/dist/{editor-DGNUXn-u.js → editor.js} +40 -81
  4. package/dist/editor.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 +2 -4
  8. package/dist/prosekit-core-test.js.map +1 -1
  9. package/dist/prosekit-core.d.ts +148 -68
  10. package/dist/prosekit-core.d.ts.map +1 -1
  11. package/dist/prosekit-core.js +184 -138
  12. package/dist/prosekit-core.js.map +1 -1
  13. package/package.json +9 -9
  14. package/src/commands/add-mark.ts +3 -6
  15. package/src/commands/expand-mark.ts +4 -11
  16. package/src/commands/insert-default-block.spec.ts +4 -8
  17. package/src/commands/insert-default-block.ts +2 -5
  18. package/src/commands/insert-node.ts +7 -11
  19. package/src/commands/remove-mark.ts +3 -6
  20. package/src/commands/remove-node.ts +4 -4
  21. package/src/commands/select-block.spec.ts +6 -8
  22. package/src/commands/select-block.ts +2 -5
  23. package/src/commands/set-block-type.ts +3 -6
  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 +26 -27
  28. package/src/commands/toggle-mark.ts +3 -6
  29. package/src/commands/toggle-node.ts +4 -7
  30. package/src/commands/toggle-wrap.spec.ts +2 -6
  31. package/src/commands/toggle-wrap.ts +3 -6
  32. package/src/commands/unset-block-type.spec.ts +2 -6
  33. package/src/commands/unset-block-type.ts +3 -9
  34. package/src/commands/unset-mark.spec.ts +2 -6
  35. package/src/commands/unset-mark.ts +1 -1
  36. package/src/commands/wrap.ts +2 -5
  37. package/src/editor/action.spec.ts +5 -9
  38. package/src/editor/action.ts +7 -14
  39. package/src/editor/editor.spec.ts +8 -15
  40. package/src/editor/editor.ts +18 -52
  41. package/src/editor/union.spec.ts +8 -12
  42. package/src/editor/union.ts +4 -7
  43. package/src/editor/with-priority.ts +3 -3
  44. package/src/error.ts +8 -1
  45. package/src/extensions/clipboard-serializer.ts +22 -26
  46. package/src/extensions/command.ts +22 -54
  47. package/src/extensions/default-state.spec.ts +4 -8
  48. package/src/extensions/default-state.ts +6 -12
  49. package/src/extensions/events/doc-change.ts +2 -2
  50. package/src/extensions/events/dom-event.spec.ts +4 -9
  51. package/src/extensions/events/dom-event.ts +9 -21
  52. package/src/extensions/events/editor-event.ts +8 -20
  53. package/src/extensions/events/focus.spec.ts +7 -12
  54. package/src/extensions/events/focus.ts +2 -2
  55. package/src/extensions/events/plugin-view.ts +5 -12
  56. package/src/extensions/history.ts +7 -14
  57. package/src/extensions/keymap-base.spec.ts +6 -15
  58. package/src/extensions/keymap-base.ts +6 -9
  59. package/src/extensions/keymap.spec.ts +10 -24
  60. package/src/extensions/keymap.ts +5 -15
  61. package/src/extensions/mark-spec.spec.ts +6 -21
  62. package/src/extensions/mark-spec.ts +10 -21
  63. package/src/extensions/mark-view-effect.ts +6 -12
  64. package/src/extensions/mark-view.ts +5 -11
  65. package/src/extensions/node-spec.spec.ts +10 -26
  66. package/src/extensions/node-spec.ts +10 -21
  67. package/src/extensions/node-view-effect.ts +6 -12
  68. package/src/extensions/node-view.ts +5 -11
  69. package/src/extensions/plugin.spec.ts +9 -22
  70. package/src/extensions/plugin.ts +6 -15
  71. package/src/facets/base-extension.ts +7 -10
  72. package/src/facets/command.ts +3 -9
  73. package/src/facets/facet-extension.spec.ts +10 -21
  74. package/src/facets/facet-extension.ts +12 -8
  75. package/src/facets/facet-node.spec.ts +4 -11
  76. package/src/facets/facet-node.ts +27 -22
  77. package/src/facets/facet.spec.ts +2 -5
  78. package/src/facets/facet.ts +14 -7
  79. package/src/facets/root.ts +2 -2
  80. package/src/facets/schema-spec.ts +3 -10
  81. package/src/facets/schema.ts +4 -13
  82. package/src/facets/state.spec.ts +8 -15
  83. package/src/facets/state.ts +5 -19
  84. package/src/facets/union-extension.ts +10 -13
  85. package/src/index.ts +74 -200
  86. package/src/test/index.ts +1 -4
  87. package/src/test/test-builder.ts +2 -5
  88. package/src/test/test-editor.spec.ts +2 -6
  89. package/src/test/test-editor.ts +7 -26
  90. package/src/testing/index.ts +26 -22
  91. package/src/types/extension-mark.ts +1 -1
  92. package/src/types/extension-node.ts +1 -1
  93. package/src/types/extension.spec.ts +2 -5
  94. package/src/types/extension.ts +8 -18
  95. package/src/types/pick-string-literal.spec.ts +2 -2
  96. package/src/types/pick-string-literal.ts +1 -1
  97. package/src/types/pick-sub-type.spec.ts +2 -2
  98. package/src/types/priority.ts +50 -7
  99. package/src/types/simplify-deeper.spec.ts +2 -2
  100. package/src/types/simplify-union.spec.ts +2 -2
  101. package/src/types/simplify-union.ts +1 -4
  102. package/src/utils/array-grouping.spec.ts +2 -5
  103. package/src/utils/assert.ts +1 -1
  104. package/src/utils/attrs-match.ts +1 -5
  105. package/src/utils/can-use-regex-lookbehind.ts +2 -8
  106. package/src/utils/clsx.spec.ts +2 -5
  107. package/src/utils/combine-event-handlers.spec.ts +2 -6
  108. package/src/utils/default-block-at.ts +1 -4
  109. package/src/utils/editor-content.spec.ts +3 -6
  110. package/src/utils/editor-content.ts +5 -17
  111. package/src/utils/find-node.ts +65 -0
  112. package/src/utils/find-parent-node-of-type.ts +6 -12
  113. package/src/utils/find-parent-node.spec.ts +3 -7
  114. package/src/utils/find-parent-node.ts +1 -4
  115. package/src/utils/get-custom-selection.ts +1 -5
  116. package/src/utils/get-dom-api.ts +1 -1
  117. package/src/utils/get-mark-type.ts +2 -5
  118. package/src/utils/get-node-type.ts +2 -5
  119. package/src/utils/get-node-types.ts +2 -5
  120. package/src/utils/includes-mark.ts +2 -6
  121. package/src/utils/is-at-block-start.ts +1 -4
  122. package/src/utils/is-mark-absent.spec.ts +3 -6
  123. package/src/utils/is-mark-absent.ts +2 -6
  124. package/src/utils/is-mark-active.ts +4 -7
  125. package/src/utils/is-node-active.spec.ts +109 -0
  126. package/src/utils/is-node-active.ts +19 -10
  127. package/src/utils/is-subset.spec.ts +2 -5
  128. package/src/utils/maybe-run.spec.ts +2 -6
  129. package/src/utils/merge-objects.spec.ts +2 -5
  130. package/src/utils/merge-objects.ts +3 -2
  131. package/src/utils/merge-specs.ts +2 -5
  132. package/src/utils/object-equal.spec.ts +2 -5
  133. package/src/utils/output-spec.test.ts +2 -6
  134. package/src/utils/output-spec.ts +2 -10
  135. package/src/utils/parse.spec.ts +6 -15
  136. package/src/utils/parse.ts +4 -16
  137. package/src/utils/remove-undefined-values.spec.ts +2 -5
  138. package/src/utils/set-selection-around.ts +1 -4
  139. package/src/utils/type-assertion.ts +2 -21
  140. package/src/utils/unicode.spec.ts +2 -5
  141. package/src/utils/with-skip-code-block.ts +1 -1
  142. package/dist/editor-4lgGc3CY.d.ts.map +0 -1
  143. 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.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
  }
@@ -187,6 +187,38 @@ interface SetBlockTypeOptions {
187
187
  */
188
188
  declare function setBlockType(options: SetBlockTypeOptions): Command;
189
189
  //#endregion
190
+ //#region src/commands/set-node-attrs-between.d.ts
191
+ /**
192
+ * @public
193
+ */
194
+ interface SetNodeAttrsBetweenOptions {
195
+ /**
196
+ * The type of node to set the attributes of.
197
+ */
198
+ type: string | NodeType | string[] | NodeType[];
199
+ /**
200
+ * The attributes to set.
201
+ */
202
+ attrs: Attrs;
203
+ /**
204
+ * The position to start searching for nodes. By default, the selection from position will be used.
205
+ */
206
+ from?: number;
207
+ /**
208
+ * The position to end searching for nodes. By default, the selection to position will be used.
209
+ */
210
+ to?: number;
211
+ }
212
+ /**
213
+ * Returns a command that sets the attributes of all matching nodes between the
214
+ * `from` and `to` positions.
215
+ *
216
+ * @param options
217
+ *
218
+ * @public
219
+ */
220
+ declare function setNodeAttrsBetween(options: SetNodeAttrsBetweenOptions): Command;
221
+ //#endregion
190
222
  //#region src/commands/set-node-attrs.d.ts
191
223
  /**
192
224
  * @public
@@ -194,8 +226,6 @@ declare function setBlockType(options: SetBlockTypeOptions): Command;
194
226
  interface SetNodeAttrsOptions {
195
227
  /**
196
228
  * 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
229
  */
200
230
  type: string | NodeType | string[] | NodeType[];
201
231
  /**
@@ -203,17 +233,24 @@ interface SetNodeAttrsOptions {
203
233
  */
204
234
  attrs: Attrs;
205
235
  /**
206
- * The position of the node. Defaults to the position of the wrapping node
207
- * containing the current selection.
236
+ * The document position of the node to update. If not provided, the command
237
+ * will find the closest ancestor node that matches the type based on the
238
+ * anchor position of the selection.
208
239
  */
209
240
  pos?: number;
210
241
  }
211
242
  /**
212
- * Returns a command that set the attributes of the current node.
243
+ * Returns a command that sets the attributes of the current node.
244
+ *
245
+ * @param options
213
246
  *
214
247
  * @public
215
248
  */
216
- declare function setNodeAttrs(options: SetNodeAttrsOptions): Command;
249
+ declare function setNodeAttrs({
250
+ type,
251
+ attrs,
252
+ pos
253
+ }: SetNodeAttrsOptions): 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
@@ -430,7 +467,9 @@ declare function withPriority<T extends Extension>(extension: T, priority: Prior
430
467
  *
431
468
  * @internal
432
469
  */
433
- declare class ProseKitError extends Error {}
470
+ declare class ProseKitError extends Error {
471
+ constructor(message?: string, options?: ErrorOptions);
472
+ }
434
473
  /**
435
474
  * @internal
436
475
  */
@@ -490,6 +529,7 @@ type BaseCommandsExtension = Extension<{
490
529
  toggleWrap: [options: ToggleWrapOptions];
491
530
  setBlockType: [options: SetBlockTypeOptions];
492
531
  setNodeAttrs: [options: SetNodeAttrsOptions];
532
+ setNodeAttrsBetween: [options: SetNodeAttrsBetweenOptions];
493
533
  insertDefaultBlock: [options?: InsertDefaultBlockOptions];
494
534
  selectAll: [];
495
535
  selectBlock: [];
@@ -579,8 +619,6 @@ type FacetReducer<Input, Output> = (input: Input[]) => Output;
579
619
  * @internal
580
620
  */
581
621
  declare class Facet<Input, Output> {
582
- private _reducer?;
583
- private _reduce?;
584
622
  /**
585
623
  * @internal
586
624
  */
@@ -599,10 +637,11 @@ declare class Facet<Input, Output> {
599
637
  * @internal
600
638
  */
601
639
  readonly path: number[];
640
+ private reduce;
602
641
  /**
603
642
  * @internal
604
643
  */
605
- constructor(parent: Facet<Output, any> | null, singleton: boolean, _reducer?: FacetReducer<Input, Output> | undefined, _reduce?: (() => FacetReducer<Input, Output>) | undefined);
644
+ constructor(parent: Facet<Output, any> | null, singleton: boolean, reducer?: FacetReducer<Input, Output>, reduce?: () => FacetReducer<Input, Output>);
606
645
  get reducer(): FacetReducer<Input, Output>;
607
646
  }
608
647
  /**
@@ -868,32 +907,6 @@ declare function defineHistory({
868
907
  newGroupDelay
869
908
  }?: HistoryOptions): HistoryExtension;
870
909
  //#endregion
871
- //#region src/extensions/keymap.d.ts
872
- /**
873
- * A set of keybindings. Please read the
874
- * [documentation](https://prosemirror.net/docs/ref/#keymap) for more details.
875
- *
876
- * @public
877
- */
878
- interface Keymap {
879
- [key: string]: Command;
880
- }
881
- /**
882
- * Adds a set of keybindings to the editor. Please read the
883
- * [documentation](https://prosemirror.net/docs/ref/#keymap) for more details.
884
- *
885
- * @public
886
- */
887
- declare function defineKeymap(keymap: Keymap): PlainExtension;
888
- /**
889
- * @internal
890
- */
891
- type KeymapPayload = Keymap;
892
- /**
893
- * @internal
894
- */
895
- declare const keymapFacet: Facet<KeymapPayload, PluginPayload>;
896
- //#endregion
897
910
  //#region src/extensions/keymap-base.d.ts
898
911
  /**
899
912
  * @internal
@@ -931,11 +944,37 @@ declare function defineBaseKeymap({
931
944
  preferBlockSelection
932
945
  }?: BaseKeymapOptions): BaseKeymapExtension;
933
946
  //#endregion
947
+ //#region src/extensions/keymap.d.ts
948
+ /**
949
+ * A set of keybindings. Please read the
950
+ * [documentation](https://prosemirror.net/docs/ref/#keymap) for more details.
951
+ *
952
+ * @public
953
+ */
954
+ interface Keymap {
955
+ [key: string]: Command;
956
+ }
957
+ /**
958
+ * Adds a set of keybindings to the editor. Please read the
959
+ * [documentation](https://prosemirror.net/docs/ref/#keymap) for more details.
960
+ *
961
+ * @public
962
+ */
963
+ declare function defineKeymap(keymap: Keymap): PlainExtension;
964
+ /**
965
+ * @internal
966
+ */
967
+ type KeymapPayload = Keymap;
968
+ /**
969
+ * @internal
970
+ */
971
+ declare const keymapFacet: Facet<KeymapPayload, PluginPayload>;
972
+ //#endregion
934
973
  //#region src/extensions/mark-spec.d.ts
935
974
  /**
936
975
  * @public
937
976
  */
938
- interface MarkSpecOptions<MarkName extends string = string, Attrs$1 extends AnyAttrs = AnyAttrs> extends MarkSpec {
977
+ interface MarkSpecOptions<MarkName extends string = string, Attrs extends AnyAttrs = AnyAttrs> extends MarkSpec {
939
978
  /**
940
979
  * The name of the mark type.
941
980
  */
@@ -943,7 +982,7 @@ interface MarkSpecOptions<MarkName extends string = string, Attrs$1 extends AnyA
943
982
  /**
944
983
  * The attributes that marks of this type get.
945
984
  */
946
- attrs?: { [K in keyof Attrs$1]: AttrSpec<Attrs$1[K]> };
985
+ attrs?: { [K in keyof Attrs]: AttrSpec<Attrs[K]> };
947
986
  }
948
987
  /**
949
988
  * @public
@@ -991,23 +1030,16 @@ interface MarkAttrOptions<MarkName extends string = string, AttrName extends str
991
1030
  * })
992
1031
  * ```
993
1032
  */
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 };
1033
+ declare function defineMarkSpec<Mark extends string, Attrs extends AnyAttrs = AnyAttrs>(options: MarkSpecOptions<Mark, Attrs>): Extension<{
1034
+ Marks: { [K in Mark]: Attrs };
996
1035
  }>;
997
1036
  /**
998
1037
  * @public
999
1038
  */
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 };
1039
+ declare function defineMarkAttr<MarkType extends string = string, AttrName extends string = string, AttrType = any>(options: MarkAttrOptions<MarkType, AttrName, AttrType>): Extension<{
1040
+ Marks: { [K in MarkType]: AttrType };
1002
1041
  }>;
1003
1042
  //#endregion
1004
- //#region src/extensions/mark-view.d.ts
1005
- interface MarkViewOptions {
1006
- name: string;
1007
- constructor: MarkViewConstructor;
1008
- }
1009
- declare function defineMarkView(options: MarkViewOptions): Extension;
1010
- //#endregion
1011
1043
  //#region src/extensions/mark-view-effect.d.ts
1012
1044
  /**
1013
1045
  * @internal
@@ -1033,11 +1065,18 @@ declare function defineMarkViewFactory<T>(options: MarkViewFactoryOptions<T>): E
1033
1065
  */
1034
1066
  declare function defineMarkViewComponent<T>(options: MarkViewComponentOptions<T>): Extension;
1035
1067
  //#endregion
1068
+ //#region src/extensions/mark-view.d.ts
1069
+ interface MarkViewOptions {
1070
+ name: string;
1071
+ constructor: MarkViewConstructor;
1072
+ }
1073
+ declare function defineMarkView(options: MarkViewOptions): Extension;
1074
+ //#endregion
1036
1075
  //#region src/extensions/node-spec.d.ts
1037
1076
  /**
1038
1077
  * @public
1039
1078
  */
1040
- interface NodeSpecOptions<NodeName extends string = string, Attrs$1 extends AnyAttrs = AnyAttrs> extends NodeSpec {
1079
+ interface NodeSpecOptions<NodeName extends string = string, Attrs extends AnyAttrs = AnyAttrs> extends NodeSpec {
1041
1080
  /**
1042
1081
  * The name of the node type.
1043
1082
  */
@@ -1050,7 +1089,7 @@ interface NodeSpecOptions<NodeName extends string = string, Attrs$1 extends AnyA
1050
1089
  /**
1051
1090
  * The attributes that nodes of this type get.
1052
1091
  */
1053
- attrs?: { [key in keyof Attrs$1]: AttrSpec<Attrs$1[key]> };
1092
+ attrs?: { [key in keyof Attrs]: AttrSpec<Attrs[key]> };
1054
1093
  }
1055
1094
  /**
1056
1095
  * @public
@@ -1105,25 +1144,18 @@ interface NodeAttrOptions<NodeName extends string = string, AttrName extends str
1105
1144
  * })
1106
1145
  * ```
1107
1146
  */
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 };
1147
+ declare function defineNodeSpec<Node extends string, Attrs extends AnyAttrs = AnyAttrs>(options: NodeSpecOptions<Node, Attrs>): Extension<{
1148
+ Nodes: { [K in Node]: Attrs };
1110
1149
  }>;
1111
1150
  /**
1112
1151
  * Defines an attribute for a node type.
1113
1152
  *
1114
1153
  * @public
1115
1154
  */
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 } };
1155
+ declare function defineNodeAttr<NodeType extends string = string, AttrName extends string = string, AttrType = any>(options: NodeAttrOptions<NodeType, AttrName, AttrType>): Extension<{
1156
+ Nodes: { [K in NodeType]: { [K in AttrName]: AttrType } };
1118
1157
  }>;
1119
1158
  //#endregion
1120
- //#region src/extensions/node-view.d.ts
1121
- interface NodeViewOptions {
1122
- name: string;
1123
- constructor: NodeViewConstructor;
1124
- }
1125
- declare function defineNodeView(options: NodeViewOptions): Extension;
1126
- //#endregion
1127
1159
  //#region src/extensions/node-view-effect.d.ts
1128
1160
  /**
1129
1161
  * @internal
@@ -1149,6 +1181,13 @@ declare function defineNodeViewFactory<T>(options: NodeViewFactoryOptions<T>): E
1149
1181
  */
1150
1182
  declare function defineNodeViewComponent<T>(options: NodeViewComponentOptions<T>): Extension;
1151
1183
  //#endregion
1184
+ //#region src/extensions/node-view.d.ts
1185
+ interface NodeViewOptions {
1186
+ name: string;
1187
+ constructor: NodeViewConstructor;
1188
+ }
1189
+ declare function defineNodeView(options: NodeViewOptions): Extension;
1190
+ //#endregion
1152
1191
  //#region src/facets/facet-extension.d.ts
1153
1192
  /**
1154
1193
  * @internal
@@ -1197,6 +1236,43 @@ declare function defaultBlockAt(match: ContentMatch): NodeType | null;
1197
1236
  */
1198
1237
  declare const isApple: boolean;
1199
1238
  //#endregion
1239
+ //#region src/utils/find-node.d.ts
1240
+ /**
1241
+ * Finds the first node that satisfies the predicate from the given document.
1242
+ *
1243
+ * @internal
1244
+ */
1245
+ declare function findNode(doc: ProseMirrorNode, predicate: (node: ProseMirrorNode) => boolean): FindNodeResult | undefined;
1246
+ /**
1247
+ * Finds all nodes that satisfy the predicate from the given document.
1248
+ *
1249
+ * @internal
1250
+ */
1251
+ declare function findNodes(doc: ProseMirrorNode, predicate: (node: ProseMirrorNode) => boolean): FindNodeResult[];
1252
+ /**
1253
+ * The result of the {@link findNode} function.
1254
+ *
1255
+ * @internal
1256
+ */
1257
+ interface FindNodeResult {
1258
+ /**
1259
+ * The node that satisfies the predicate.
1260
+ */
1261
+ node: ProseMirrorNode;
1262
+ /**
1263
+ * The position of the node.
1264
+ */
1265
+ pos: number;
1266
+ /**
1267
+ * The parent of the node.
1268
+ */
1269
+ parent: ProseMirrorNode | null;
1270
+ /**
1271
+ * The index of the node in the parent.
1272
+ */
1273
+ index: number;
1274
+ }
1275
+ //#endregion
1200
1276
  //#region src/utils/find-parent-node.d.ts
1201
1277
  /**
1202
1278
  * @public
@@ -1228,10 +1304,12 @@ declare function findParentNode(
1228
1304
  /**
1229
1305
  * The predicate to test the parent node.
1230
1306
  */
1307
+
1231
1308
  predicate: (node: ProseMirrorNode) => boolean,
1232
1309
  /**
1233
1310
  * The position to start searching from.
1234
1311
  */
1312
+
1235
1313
  $pos: ResolvedPos): FindParentNodeResult | undefined;
1236
1314
  //#endregion
1237
1315
  //#region src/utils/find-parent-node-of-type.d.ts
@@ -1244,10 +1322,12 @@ declare function findParentNodeOfType(
1244
1322
  /**
1245
1323
  * The type of the node to find.
1246
1324
  */
1247
- type: NodeType | string,
1325
+
1326
+ type: string | NodeType | string[] | NodeType[],
1248
1327
  /**
1249
1328
  * The position to start searching from.
1250
1329
  */
1330
+
1251
1331
  $pos: ResolvedPos): FindParentNodeResult | undefined;
1252
1332
  //#endregion
1253
1333
  //#region src/utils/get-mark-type.d.ts
@@ -1363,5 +1443,5 @@ declare const OBJECT_REPLACEMENT_CHARACTER = "\uFFFC";
1363
1443
  */
1364
1444
  declare function withSkipCodeBlock(command: Command): Command;
1365
1445
  //#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 };
1446
+ 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
1447
  //# 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-between.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-base.ts","../src/extensions/keymap.ts","../src/extensions/mark-spec.ts","../src/extensions/mark-view-effect.ts","../src/extensions/mark-view.ts","../src/extensions/node-spec.ts","../src/extensions/node-view-effect.ts","../src/extensions/node-view.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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"}