@prosekit/vue 0.2.1 → 0.2.2

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.
@@ -18,6 +18,7 @@ import type { Decoration } from '@prosekit/pm/view';
18
18
  import type { DecorationSource } from '@prosekit/pm/view';
19
19
  import { DefineComponent } from 'vue';
20
20
  import { Editor } from '@prosekit/core';
21
+ import type { EditorState } from '@prosekit/pm/state';
21
22
  import type { EditorView } from '@prosekit/pm/view';
22
23
  import { Extension } from '@prosekit/core';
23
24
  import { ExtensionTyping } from '@prosekit/core';
@@ -262,6 +263,15 @@ export declare function useNodeViewFactory(): NodeViewFactory;
262
263
  */
263
264
  export declare function usePriorityExtension<T extends Extension = Extension>(extension: MaybeRefOrGetter<T | null>, priority: Priority | null | undefined): ComputedRef<T | null>;
264
265
 
266
+ /**
267
+ * Calls the given handler whenever the editor state changes.
268
+ *
269
+ * @public
270
+ */
271
+ declare function useStateUpdate(handler: (state: EditorState) => void, options?: UseExtensionOptions): void;
272
+ export { useStateUpdate }
273
+ export { useStateUpdate as useStateUpdate_alias_1 }
274
+
265
275
  export declare function useVueNodeViewCreator(renderVueRenderer: VueRendererResult['renderVueRenderer'], removeVueRenderer: VueRendererResult['removeVueRenderer']): NodeViewFactory;
266
276
 
267
277
  export declare function useVueRenderer(): VueRendererResult;
@@ -6,5 +6,6 @@ export { useEditor } from './_tsup-dts-rollup';
6
6
  export { useExtension } from './_tsup-dts-rollup';
7
7
  export { UseExtensionOptions } from './_tsup-dts-rollup';
8
8
  export { useKeymap } from './_tsup-dts-rollup';
9
+ export { useStateUpdate } from './_tsup-dts-rollup';
9
10
  export { VueNodeViewComponent } from './_tsup-dts-rollup';
10
11
  export { VueNodeViewProps } from './_tsup-dts-rollup';
@@ -313,10 +313,18 @@ function useKeymap(keymap, options) {
313
313
  const extension = computed3(() => defineKeymap(toValue3(keymap)));
314
314
  return useExtension(extension, options);
315
315
  }
316
+
317
+ // src/hooks/use-state-update.ts
318
+ import { defineUpdateHandler as defineUpdateHandler2 } from "@prosekit/core";
319
+ function useStateUpdate(handler, options) {
320
+ const extension = defineUpdateHandler2((view) => handler(view.state));
321
+ return useExtension(extension, options);
322
+ }
316
323
  export {
317
324
  ProseKit,
318
325
  defineVueNodeView,
319
326
  useEditor,
320
327
  useExtension,
321
- useKeymap
328
+ useKeymap,
329
+ useStateUpdate
322
330
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@prosekit/vue",
3
3
  "type": "module",
4
- "version": "0.2.1",
4
+ "version": "0.2.2",
5
5
  "private": false,
6
6
  "author": {
7
7
  "name": "ocavue",