@prosekit/preact 0.4.11 → 0.4.13

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.
@@ -1,14 +1,64 @@
1
- export { TableHandleColumnRoot } from './_tsup-dts-rollup.js';
2
- export { TableHandleColumnRootProps } from './_tsup-dts-rollup.js';
3
- export { TableHandleColumnTrigger } from './_tsup-dts-rollup.js';
4
- export { TableHandleColumnTriggerProps } from './_tsup-dts-rollup.js';
5
- export { TableHandlePopoverContent } from './_tsup-dts-rollup.js';
6
- export { TableHandlePopoverContentProps } from './_tsup-dts-rollup.js';
7
- export { TableHandlePopoverItem } from './_tsup-dts-rollup.js';
8
- export { TableHandlePopoverItemProps } from './_tsup-dts-rollup.js';
9
- export { TableHandleRoot } from './_tsup-dts-rollup.js';
10
- export { TableHandleRootProps } from './_tsup-dts-rollup.js';
11
- export { TableHandleRowRoot } from './_tsup-dts-rollup.js';
12
- export { TableHandleRowRootProps } from './_tsup-dts-rollup.js';
13
- export { TableHandleRowTrigger } from './_tsup-dts-rollup.js';
14
- export { TableHandleRowTriggerProps } from './_tsup-dts-rollup.js';
1
+ import { CreateProps } from "./create-props-B_K0wKYy.js";
2
+ import { ForwardRefExoticComponent, HTMLAttributes, RefAttributes } from "preact/compat";
3
+ import { TableHandleColumnRootElement, TableHandleColumnRootEvents, TableHandleColumnRootProps as TableHandleColumnRootProps$1, TableHandleColumnTriggerElement, TableHandleColumnTriggerEvents, TableHandleColumnTriggerProps as TableHandleColumnTriggerProps$1, TableHandlePopoverContentElement, TableHandlePopoverContentEvents, TableHandlePopoverContentProps as TableHandlePopoverContentProps$1, TableHandlePopoverItemElement, TableHandlePopoverItemEvents, TableHandlePopoverItemProps as TableHandlePopoverItemProps$1, TableHandleRootElement, TableHandleRootEvents, TableHandleRootProps as TableHandleRootProps$1, TableHandleRowRootElement, TableHandleRowRootEvents, TableHandleRowRootProps as TableHandleRowRootProps$1, TableHandleRowTriggerElement, TableHandleRowTriggerEvents, TableHandleRowTriggerProps as TableHandleRowTriggerProps$1 } from "@prosekit/web/table-handle";
4
+
5
+ //#region src/components/table-handle/table-handle-column-root.gen.d.ts
6
+ /**
7
+ * Props for the {@link TableHandleColumnRoot} component.
8
+ */
9
+ /**
10
+ * Props for the {@link TableHandleColumnRoot} component.
11
+ */
12
+ interface TableHandleColumnRootProps extends Partial<CreateProps<TableHandleColumnRootProps$1, TableHandleColumnRootEvents>> {}
13
+ declare const TableHandleColumnRoot: ForwardRefExoticComponent<Partial<TableHandleColumnRootProps> & RefAttributes<TableHandleColumnRootElement> & HTMLAttributes<TableHandleColumnRootElement>>;
14
+
15
+ //#endregion
16
+ //#region src/components/table-handle/table-handle-column-trigger.gen.d.ts
17
+ /**
18
+ * Props for the {@link TableHandleColumnTrigger} component.
19
+ */
20
+ interface TableHandleColumnTriggerProps extends Partial<CreateProps<TableHandleColumnTriggerProps$1, TableHandleColumnTriggerEvents>> {}
21
+ declare const TableHandleColumnTrigger: ForwardRefExoticComponent<Partial<TableHandleColumnTriggerProps> & RefAttributes<TableHandleColumnTriggerElement> & HTMLAttributes<TableHandleColumnTriggerElement>>;
22
+
23
+ //#endregion
24
+ //#region src/components/table-handle/table-handle-popover-content.gen.d.ts
25
+ /**
26
+ * Props for the {@link TableHandlePopoverContent} component.
27
+ */
28
+ interface TableHandlePopoverContentProps extends Partial<CreateProps<TableHandlePopoverContentProps$1, TableHandlePopoverContentEvents>> {}
29
+ declare const TableHandlePopoverContent: ForwardRefExoticComponent<Partial<TableHandlePopoverContentProps> & RefAttributes<TableHandlePopoverContentElement> & HTMLAttributes<TableHandlePopoverContentElement>>;
30
+
31
+ //#endregion
32
+ //#region src/components/table-handle/table-handle-popover-item.gen.d.ts
33
+ /**
34
+ * Props for the {@link TableHandlePopoverItem} component.
35
+ */
36
+ interface TableHandlePopoverItemProps extends Partial<CreateProps<TableHandlePopoverItemProps$1, TableHandlePopoverItemEvents>> {}
37
+ declare const TableHandlePopoverItem: ForwardRefExoticComponent<Partial<TableHandlePopoverItemProps> & RefAttributes<TableHandlePopoverItemElement> & HTMLAttributes<TableHandlePopoverItemElement>>;
38
+
39
+ //#endregion
40
+ //#region src/components/table-handle/table-handle-root.gen.d.ts
41
+ /**
42
+ * Props for the {@link TableHandleRoot} component.
43
+ */
44
+ interface TableHandleRootProps extends Partial<CreateProps<TableHandleRootProps$1, TableHandleRootEvents>> {}
45
+ declare const TableHandleRoot: ForwardRefExoticComponent<Partial<TableHandleRootProps> & RefAttributes<TableHandleRootElement> & HTMLAttributes<TableHandleRootElement>>;
46
+
47
+ //#endregion
48
+ //#region src/components/table-handle/table-handle-row-root.gen.d.ts
49
+ /**
50
+ * Props for the {@link TableHandleRowRoot} component.
51
+ */
52
+ interface TableHandleRowRootProps extends Partial<CreateProps<TableHandleRowRootProps$1, TableHandleRowRootEvents>> {}
53
+ declare const TableHandleRowRoot: ForwardRefExoticComponent<Partial<TableHandleRowRootProps> & RefAttributes<TableHandleRowRootElement> & HTMLAttributes<TableHandleRowRootElement>>;
54
+
55
+ //#endregion
56
+ //#region src/components/table-handle/table-handle-row-trigger.gen.d.ts
57
+ /**
58
+ * Props for the {@link TableHandleRowTrigger} component.
59
+ */
60
+ interface TableHandleRowTriggerProps extends Partial<CreateProps<TableHandleRowTriggerProps$1, TableHandleRowTriggerEvents>> {}
61
+ declare const TableHandleRowTrigger: ForwardRefExoticComponent<Partial<TableHandleRowTriggerProps> & RefAttributes<TableHandleRowTriggerElement> & HTMLAttributes<TableHandleRowTriggerElement>>;
62
+
63
+ //#endregion
64
+ export { TableHandleColumnRoot, TableHandleColumnRootProps, TableHandleColumnTrigger, TableHandleColumnTriggerProps, TableHandlePopoverContent, TableHandlePopoverContentProps, TableHandlePopoverItem, TableHandlePopoverItemProps, TableHandleRoot, TableHandleRootProps, TableHandleRowRoot, TableHandleRowRootProps, TableHandleRowTrigger, TableHandleRowTriggerProps };
@@ -1,97 +1,33 @@
1
- import {
2
- createComponent
3
- } from "./chunk-YJQWSMJE.js";
4
- import "./chunk-V253IGNY.js";
1
+ import "./editor-context-imq7MdJr.js";
2
+ import { createComponent } from "./create-component-B23NJ9dW.js";
3
+ import { tableHandleColumnRootEvents, tableHandleColumnRootProps, tableHandleColumnTriggerEvents, tableHandleColumnTriggerProps, tableHandlePopoverContentEvents, tableHandlePopoverContentProps, tableHandlePopoverItemEvents, tableHandlePopoverItemProps, tableHandleRootEvents, tableHandleRootProps, tableHandleRowRootEvents, tableHandleRowRootProps, tableHandleRowTriggerEvents, tableHandleRowTriggerProps } from "@prosekit/web/table-handle";
5
4
 
6
- // src/components/table-handle/table-handle-column-root.gen.ts
7
- import {
8
- tableHandleColumnRootProps,
9
- tableHandleColumnRootEvents
10
- } from "@prosekit/web/table-handle";
11
- var TableHandleColumnRoot = createComponent(
12
- "prosekit-table-handle-column-root",
13
- "TableHandleColumnRoot",
14
- Object.keys(tableHandleColumnRootProps),
15
- Object.keys(tableHandleColumnRootEvents)
16
- );
5
+ //#region src/components/table-handle/table-handle-column-root.gen.ts
6
+ const TableHandleColumnRoot = createComponent("prosekit-table-handle-column-root", "TableHandleColumnRoot", Object.keys(tableHandleColumnRootProps), Object.keys(tableHandleColumnRootEvents));
17
7
 
18
- // src/components/table-handle/table-handle-column-trigger.gen.ts
19
- import {
20
- tableHandleColumnTriggerProps,
21
- tableHandleColumnTriggerEvents
22
- } from "@prosekit/web/table-handle";
23
- var TableHandleColumnTrigger = createComponent(
24
- "prosekit-table-handle-column-trigger",
25
- "TableHandleColumnTrigger",
26
- Object.keys(tableHandleColumnTriggerProps),
27
- Object.keys(tableHandleColumnTriggerEvents)
28
- );
8
+ //#endregion
9
+ //#region src/components/table-handle/table-handle-column-trigger.gen.ts
10
+ const TableHandleColumnTrigger = createComponent("prosekit-table-handle-column-trigger", "TableHandleColumnTrigger", Object.keys(tableHandleColumnTriggerProps), Object.keys(tableHandleColumnTriggerEvents));
29
11
 
30
- // src/components/table-handle/table-handle-popover-content.gen.ts
31
- import {
32
- tableHandlePopoverContentProps,
33
- tableHandlePopoverContentEvents
34
- } from "@prosekit/web/table-handle";
35
- var TableHandlePopoverContent = createComponent(
36
- "prosekit-table-handle-popover-content",
37
- "TableHandlePopoverContent",
38
- Object.keys(tableHandlePopoverContentProps),
39
- Object.keys(tableHandlePopoverContentEvents)
40
- );
12
+ //#endregion
13
+ //#region src/components/table-handle/table-handle-popover-content.gen.ts
14
+ const TableHandlePopoverContent = createComponent("prosekit-table-handle-popover-content", "TableHandlePopoverContent", Object.keys(tableHandlePopoverContentProps), Object.keys(tableHandlePopoverContentEvents));
41
15
 
42
- // src/components/table-handle/table-handle-popover-item.gen.ts
43
- import {
44
- tableHandlePopoverItemProps,
45
- tableHandlePopoverItemEvents
46
- } from "@prosekit/web/table-handle";
47
- var TableHandlePopoverItem = createComponent(
48
- "prosekit-table-handle-popover-item",
49
- "TableHandlePopoverItem",
50
- Object.keys(tableHandlePopoverItemProps),
51
- Object.keys(tableHandlePopoverItemEvents)
52
- );
16
+ //#endregion
17
+ //#region src/components/table-handle/table-handle-popover-item.gen.ts
18
+ const TableHandlePopoverItem = createComponent("prosekit-table-handle-popover-item", "TableHandlePopoverItem", Object.keys(tableHandlePopoverItemProps), Object.keys(tableHandlePopoverItemEvents));
53
19
 
54
- // src/components/table-handle/table-handle-root.gen.ts
55
- import {
56
- tableHandleRootProps,
57
- tableHandleRootEvents
58
- } from "@prosekit/web/table-handle";
59
- var TableHandleRoot = createComponent(
60
- "prosekit-table-handle-root",
61
- "TableHandleRoot",
62
- Object.keys(tableHandleRootProps),
63
- Object.keys(tableHandleRootEvents)
64
- );
20
+ //#endregion
21
+ //#region src/components/table-handle/table-handle-root.gen.ts
22
+ const TableHandleRoot = createComponent("prosekit-table-handle-root", "TableHandleRoot", Object.keys(tableHandleRootProps), Object.keys(tableHandleRootEvents));
65
23
 
66
- // src/components/table-handle/table-handle-row-root.gen.ts
67
- import {
68
- tableHandleRowRootProps,
69
- tableHandleRowRootEvents
70
- } from "@prosekit/web/table-handle";
71
- var TableHandleRowRoot = createComponent(
72
- "prosekit-table-handle-row-root",
73
- "TableHandleRowRoot",
74
- Object.keys(tableHandleRowRootProps),
75
- Object.keys(tableHandleRowRootEvents)
76
- );
24
+ //#endregion
25
+ //#region src/components/table-handle/table-handle-row-root.gen.ts
26
+ const TableHandleRowRoot = createComponent("prosekit-table-handle-row-root", "TableHandleRowRoot", Object.keys(tableHandleRowRootProps), Object.keys(tableHandleRowRootEvents));
77
27
 
78
- // src/components/table-handle/table-handle-row-trigger.gen.ts
79
- import {
80
- tableHandleRowTriggerProps,
81
- tableHandleRowTriggerEvents
82
- } from "@prosekit/web/table-handle";
83
- var TableHandleRowTrigger = createComponent(
84
- "prosekit-table-handle-row-trigger",
85
- "TableHandleRowTrigger",
86
- Object.keys(tableHandleRowTriggerProps),
87
- Object.keys(tableHandleRowTriggerEvents)
88
- );
89
- export {
90
- TableHandleColumnRoot,
91
- TableHandleColumnTrigger,
92
- TableHandlePopoverContent,
93
- TableHandlePopoverItem,
94
- TableHandleRoot,
95
- TableHandleRowRoot,
96
- TableHandleRowTrigger
97
- };
28
+ //#endregion
29
+ //#region src/components/table-handle/table-handle-row-trigger.gen.ts
30
+ const TableHandleRowTrigger = createComponent("prosekit-table-handle-row-trigger", "TableHandleRowTrigger", Object.keys(tableHandleRowTriggerProps), Object.keys(tableHandleRowTriggerEvents));
31
+
32
+ //#endregion
33
+ export { TableHandleColumnRoot, TableHandleColumnTrigger, TableHandlePopoverContent, TableHandlePopoverItem, TableHandleRoot, TableHandleRowRoot, TableHandleRowTrigger };
@@ -1,6 +1,32 @@
1
- export { TooltipContent } from './_tsup-dts-rollup.js';
2
- export { TooltipContentProps } from './_tsup-dts-rollup.js';
3
- export { TooltipRoot } from './_tsup-dts-rollup.js';
4
- export { TooltipRootProps } from './_tsup-dts-rollup.js';
5
- export { TooltipTrigger } from './_tsup-dts-rollup.js';
6
- export { TooltipTriggerProps } from './_tsup-dts-rollup.js';
1
+ import { CreateProps } from "./create-props-B_K0wKYy.js";
2
+ import { ForwardRefExoticComponent, HTMLAttributes, RefAttributes } from "preact/compat";
3
+ import { TooltipContentElement, TooltipContentEvents, TooltipContentProps as TooltipContentProps$1, TooltipRootElement, TooltipRootEvents, TooltipRootProps as TooltipRootProps$1, TooltipTriggerElement, TooltipTriggerEvents, TooltipTriggerProps as TooltipTriggerProps$1 } from "@prosekit/web/tooltip";
4
+
5
+ //#region src/components/tooltip/tooltip-content.gen.d.ts
6
+ /**
7
+ * Props for the {@link TooltipContent} component.
8
+ */
9
+ /**
10
+ * Props for the {@link TooltipContent} component.
11
+ */
12
+ interface TooltipContentProps extends Partial<CreateProps<TooltipContentProps$1, TooltipContentEvents>> {}
13
+ declare const TooltipContent: ForwardRefExoticComponent<Partial<TooltipContentProps> & RefAttributes<TooltipContentElement> & HTMLAttributes<TooltipContentElement>>;
14
+
15
+ //#endregion
16
+ //#region src/components/tooltip/tooltip-root.gen.d.ts
17
+ /**
18
+ * Props for the {@link TooltipRoot} component.
19
+ */
20
+ interface TooltipRootProps extends Partial<CreateProps<TooltipRootProps$1, TooltipRootEvents>> {}
21
+ declare const TooltipRoot: ForwardRefExoticComponent<Partial<TooltipRootProps> & RefAttributes<TooltipRootElement> & HTMLAttributes<TooltipRootElement>>;
22
+
23
+ //#endregion
24
+ //#region src/components/tooltip/tooltip-trigger.gen.d.ts
25
+ /**
26
+ * Props for the {@link TooltipTrigger} component.
27
+ */
28
+ interface TooltipTriggerProps extends Partial<CreateProps<TooltipTriggerProps$1, TooltipTriggerEvents>> {}
29
+ declare const TooltipTrigger: ForwardRefExoticComponent<Partial<TooltipTriggerProps> & RefAttributes<TooltipTriggerElement> & HTMLAttributes<TooltipTriggerElement>>;
30
+
31
+ //#endregion
32
+ export { TooltipContent, TooltipContentProps, TooltipRoot, TooltipRootProps, TooltipTrigger, TooltipTriggerProps };
@@ -1,45 +1,17 @@
1
- import {
2
- createComponent
3
- } from "./chunk-YJQWSMJE.js";
4
- import "./chunk-V253IGNY.js";
1
+ import "./editor-context-imq7MdJr.js";
2
+ import { createComponent } from "./create-component-B23NJ9dW.js";
3
+ import { tooltipContentEvents, tooltipContentProps, tooltipRootEvents, tooltipRootProps, tooltipTriggerEvents, tooltipTriggerProps } from "@prosekit/web/tooltip";
5
4
 
6
- // src/components/tooltip/tooltip-content.gen.ts
7
- import {
8
- tooltipContentProps,
9
- tooltipContentEvents
10
- } from "@prosekit/web/tooltip";
11
- var TooltipContent = createComponent(
12
- "prosekit-tooltip-content",
13
- "TooltipContent",
14
- Object.keys(tooltipContentProps),
15
- Object.keys(tooltipContentEvents)
16
- );
5
+ //#region src/components/tooltip/tooltip-content.gen.ts
6
+ const TooltipContent = createComponent("prosekit-tooltip-content", "TooltipContent", Object.keys(tooltipContentProps), Object.keys(tooltipContentEvents));
17
7
 
18
- // src/components/tooltip/tooltip-root.gen.ts
19
- import {
20
- tooltipRootProps,
21
- tooltipRootEvents
22
- } from "@prosekit/web/tooltip";
23
- var TooltipRoot = createComponent(
24
- "prosekit-tooltip-root",
25
- "TooltipRoot",
26
- Object.keys(tooltipRootProps),
27
- Object.keys(tooltipRootEvents)
28
- );
8
+ //#endregion
9
+ //#region src/components/tooltip/tooltip-root.gen.ts
10
+ const TooltipRoot = createComponent("prosekit-tooltip-root", "TooltipRoot", Object.keys(tooltipRootProps), Object.keys(tooltipRootEvents));
29
11
 
30
- // src/components/tooltip/tooltip-trigger.gen.ts
31
- import {
32
- tooltipTriggerProps,
33
- tooltipTriggerEvents
34
- } from "@prosekit/web/tooltip";
35
- var TooltipTrigger = createComponent(
36
- "prosekit-tooltip-trigger",
37
- "TooltipTrigger",
38
- Object.keys(tooltipTriggerProps),
39
- Object.keys(tooltipTriggerEvents)
40
- );
41
- export {
42
- TooltipContent,
43
- TooltipRoot,
44
- TooltipTrigger
45
- };
12
+ //#endregion
13
+ //#region src/components/tooltip/tooltip-trigger.gen.ts
14
+ const TooltipTrigger = createComponent("prosekit-tooltip-trigger", "TooltipTrigger", Object.keys(tooltipTriggerProps), Object.keys(tooltipTriggerEvents));
15
+
16
+ //#endregion
17
+ export { TooltipContent, TooltipRoot, TooltipTrigger };
@@ -1,10 +1,92 @@
1
- export { ProseKit } from './_tsup-dts-rollup.js';
2
- export { ProseKitProps } from './_tsup-dts-rollup.js';
3
- export { useDocChange } from './_tsup-dts-rollup.js';
4
- export { useEditor } from './_tsup-dts-rollup.js';
5
- export { useExtension } from './_tsup-dts-rollup.js';
6
- export { UseExtensionOptions } from './_tsup-dts-rollup.js';
7
- export { useKeymap } from './_tsup-dts-rollup.js';
8
- export { useStateUpdate } from './_tsup-dts-rollup.js';
9
- export { PropsWithChildren } from './_tsup-dts-rollup.js';
10
- export { PropsWithClass } from './_tsup-dts-rollup.js';
1
+ import { ComponentChildren, ComponentType } from "preact";
2
+ import { Editor, Extension, Keymap, Priority } from "@prosekit/core";
3
+ import { ProseMirrorNode } from "@prosekit/pm/model";
4
+ import { EditorState } from "@prosekit/pm/state";
5
+
6
+ //#region src/components/prosekit.d.ts
7
+ interface ProseKitProps {
8
+ editor: Editor;
9
+ children?: ComponentChildren;
10
+ }
11
+ /**
12
+ * The root component for a ProseKit editor.
13
+ *
14
+ * @public
15
+ */
16
+ declare const ProseKit: ComponentType<ProseKitProps>;
17
+
18
+ //#endregion
19
+ //#region src/hooks/use-extension.d.ts
20
+ interface UseExtensionOptions {
21
+ /**
22
+ * The editor to add the extension to. If not provided, it will use the
23
+ * editor from the nearest `ProseKit` component.
24
+ */
25
+ editor?: Editor;
26
+ /**
27
+ * Optional priority to add the extension with.
28
+ */
29
+ priority?: Priority;
30
+ }
31
+ /**
32
+ * Add an extension to the editor.
33
+ */
34
+ declare function useExtension(extension: Extension | null, options?: UseExtensionOptions): void;
35
+
36
+ //#endregion
37
+ //#region src/hooks/use-doc-change.d.ts
38
+ /**
39
+ * Calls the given handler whenever the editor document changes.
40
+ *
41
+ * @public
42
+ */
43
+ declare function useDocChange(handler: (doc: ProseMirrorNode) => void, options?: UseExtensionOptions): void;
44
+
45
+ //#endregion
46
+ //#region src/hooks/use-editor.d.ts
47
+ /**
48
+ * Retrieves the editor instance from the nearest ProseKit component.
49
+ *
50
+ * @public
51
+ */
52
+ declare function useEditor<E extends Extension = any>(options?: {
53
+ /**
54
+ * Whether to update the component when the editor is mounted or editor state
55
+ * is updated.
56
+ *
57
+ * @default false
58
+ */
59
+ update?: boolean;
60
+ }): Editor<E>;
61
+
62
+ //#endregion
63
+ //#region src/hooks/use-keymap.d.ts
64
+ declare function useKeymap(keymap: Keymap, options?: UseExtensionOptions): void;
65
+
66
+ //#endregion
67
+ //#region src/hooks/use-state-update.d.ts
68
+ /**
69
+ * Calls the given handler whenever the editor state changes.
70
+ *
71
+ * @public
72
+ */
73
+ declare function useStateUpdate(handler: (state: EditorState) => void, options?: UseExtensionOptions): void;
74
+
75
+ //#endregion
76
+ //#region src/types.d.ts
77
+ /**
78
+ * @internal
79
+ */
80
+ type PropsWithClass<P = unknown> = P & {
81
+ class?: string | undefined;
82
+ className?: string | undefined;
83
+ };
84
+ /**
85
+ * @internal
86
+ */
87
+ type PropsWithChildren<P = unknown> = P & {
88
+ children?: ComponentChildren | undefined;
89
+ };
90
+
91
+ //#endregion
92
+ export { PropsWithChildren, PropsWithClass, ProseKit, ProseKitProps, UseExtensionOptions, useDocChange, useEditor, useExtension, useKeymap, useStateUpdate };
@@ -1,127 +1,114 @@
1
- import {
2
- EditorContextProvider,
3
- useEditorContext
4
- } from "./chunk-V253IGNY.js";
1
+ import { EditorContextProvider, useEditorContext } from "./editor-context-imq7MdJr.js";
2
+ import { h } from "preact";
3
+ import { useEffect, useMemo, useReducer } from "preact/hooks";
4
+ import { EditorNotFoundError, ProseKitError, defineDocChangeHandler, defineKeymap, defineMountHandler, defineUpdateHandler, union, withPriority } from "@prosekit/core";
5
5
 
6
- // src/components/prosekit.ts
7
- import {
8
- h
9
- } from "preact";
10
- var ProseKit = (props) => {
11
- const { editor, children } = props;
12
- return h(EditorContextProvider, { value: editor, children });
6
+ //#region src/components/prosekit.ts
7
+ /**
8
+ * The root component for a ProseKit editor.
9
+ *
10
+ * @public
11
+ */
12
+ const ProseKit = (props) => {
13
+ const { editor, children } = props;
14
+ return h(EditorContextProvider, {
15
+ value: editor,
16
+ children
17
+ });
13
18
  };
14
19
 
15
- // src/hooks/use-doc-change.ts
16
- import { defineDocChangeHandler } from "@prosekit/core";
17
- import { useMemo as useMemo2 } from "preact/hooks";
18
-
19
- // src/hooks/use-editor-extension.ts
20
- import {
21
- EditorNotFoundError
22
- } from "@prosekit/core";
23
- import { useEffect } from "preact/hooks";
20
+ //#endregion
21
+ //#region src/hooks/use-editor-extension.ts
22
+ /**
23
+ * @internal
24
+ */
24
25
  function useEditorExtension(editor, extension) {
25
- if (!editor) {
26
- throw new EditorNotFoundError();
27
- }
28
- useEffect(() => {
29
- if (extension) {
30
- return editor.use(extension);
31
- }
32
- }, [editor, extension]);
26
+ if (!editor) throw new EditorNotFoundError();
27
+ useEffect(() => {
28
+ if (extension) return editor.use(extension);
29
+ }, [editor, extension]);
33
30
  }
34
31
 
35
- // src/hooks/use-priority-extension.ts
36
- import {
37
- withPriority
38
- } from "@prosekit/core";
39
- import { useMemo } from "preact/hooks";
32
+ //#endregion
33
+ //#region src/hooks/use-priority-extension.ts
34
+ /**
35
+ * @internal
36
+ */
40
37
  function usePriorityExtension(extension, priority) {
41
- return useMemo(() => {
42
- return extension && priority ? withPriority(extension, priority) : extension;
43
- }, [extension, priority]);
38
+ return useMemo(() => {
39
+ return extension && priority ? withPriority(extension, priority) : extension;
40
+ }, [extension, priority]);
44
41
  }
45
42
 
46
- // src/hooks/use-extension.ts
43
+ //#endregion
44
+ //#region src/hooks/use-extension.ts
45
+ /**
46
+ * Add an extension to the editor.
47
+ */
47
48
  function useExtension(extension, options) {
48
- const editorContext = useEditorContext();
49
- useEditorExtension(
50
- options?.editor || editorContext,
51
- usePriorityExtension(extension, options?.priority)
52
- );
49
+ const editorContext = useEditorContext();
50
+ useEditorExtension(options?.editor || editorContext, usePriorityExtension(extension, options?.priority));
53
51
  }
54
52
 
55
- // src/hooks/use-doc-change.ts
53
+ //#endregion
54
+ //#region src/hooks/use-doc-change.ts
55
+ /**
56
+ * Calls the given handler whenever the editor document changes.
57
+ *
58
+ * @public
59
+ */
56
60
  function useDocChange(handler, options) {
57
- const extension = useMemo2(
58
- () => defineDocChangeHandler((view) => handler(view.state.doc)),
59
- [handler]
60
- );
61
- return useExtension(extension, options);
61
+ const extension = useMemo(() => defineDocChangeHandler((view) => handler(view.state.doc)), [handler]);
62
+ useExtension(extension, options);
62
63
  }
63
64
 
64
- // src/hooks/use-editor.ts
65
- import {
66
- defineMountHandler,
67
- defineUpdateHandler,
68
- ProseKitError,
69
- union
70
- } from "@prosekit/core";
71
- import {
72
- useEffect as useEffect2,
73
- useReducer
74
- } from "preact/hooks";
65
+ //#endregion
66
+ //#region src/hooks/use-editor.ts
67
+ /**
68
+ * Retrieves the editor instance from the nearest ProseKit component.
69
+ *
70
+ * @public
71
+ */
75
72
  function useEditor(options) {
76
- const update = options?.update ?? false;
77
- const editor = useEditorContext();
78
- if (!editor) {
79
- throw new ProseKitError(
80
- "useEditor must be used within the ProseKit component"
81
- );
82
- }
83
- const forceUpdate = useForceUpdate();
84
- useEffect2(() => {
85
- if (update) {
86
- const extension = union(
87
- defineMountHandler(forceUpdate),
88
- defineUpdateHandler(forceUpdate)
89
- );
90
- return editor.use(extension);
91
- }
92
- }, [editor, update, forceUpdate]);
93
- return editor;
73
+ const update = options?.update ?? false;
74
+ const editor = useEditorContext();
75
+ if (!editor) throw new ProseKitError("useEditor must be used within the ProseKit component");
76
+ const forceUpdate = useForceUpdate();
77
+ useEffect(() => {
78
+ if (update) {
79
+ const extension = union(defineMountHandler(forceUpdate), defineUpdateHandler(forceUpdate));
80
+ return editor.use(extension);
81
+ }
82
+ }, [
83
+ editor,
84
+ update,
85
+ forceUpdate
86
+ ]);
87
+ return editor;
94
88
  }
95
89
  function useForceUpdate() {
96
- const [, dispatch] = useReducer((x) => x + 1, 0);
97
- return dispatch;
90
+ const [, dispatch] = useReducer((x) => x + 1, 0);
91
+ return dispatch;
98
92
  }
99
93
 
100
- // src/hooks/use-keymap.ts
101
- import {
102
- defineKeymap
103
- } from "@prosekit/core";
104
- import { useMemo as useMemo3 } from "preact/hooks";
94
+ //#endregion
95
+ //#region src/hooks/use-keymap.ts
105
96
  function useKeymap(keymap, options) {
106
- const extension = useMemo3(() => defineKeymap(keymap), [keymap]);
107
- return useExtension(extension, options);
97
+ const extension = useMemo(() => defineKeymap(keymap), [keymap]);
98
+ useExtension(extension, options);
108
99
  }
109
100
 
110
- // src/hooks/use-state-update.ts
111
- import { defineUpdateHandler as defineUpdateHandler2 } from "@prosekit/core";
112
- import { useMemo as useMemo4 } from "preact/hooks";
101
+ //#endregion
102
+ //#region src/hooks/use-state-update.ts
103
+ /**
104
+ * Calls the given handler whenever the editor state changes.
105
+ *
106
+ * @public
107
+ */
113
108
  function useStateUpdate(handler, options) {
114
- const extension = useMemo4(
115
- () => defineUpdateHandler2((view) => handler(view.state)),
116
- [handler]
117
- );
118
- return useExtension(extension, options);
109
+ const extension = useMemo(() => defineUpdateHandler((view) => handler(view.state)), [handler]);
110
+ useExtension(extension, options);
119
111
  }
120
- export {
121
- ProseKit,
122
- useDocChange,
123
- useEditor,
124
- useExtension,
125
- useKeymap,
126
- useStateUpdate
127
- };
112
+
113
+ //#endregion
114
+ export { ProseKit, useDocChange, useEditor, useExtension, useKeymap, useStateUpdate };