@prosekit/react 0.1.1 → 0.1.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.
@@ -22,7 +22,6 @@ import { Context } from 'react';
22
22
  import { Editor } from '@prosekit/core';
23
23
  import { Extension } from '@prosekit/core';
24
24
  import { ExtensionTyping } from '@prosekit/core';
25
- import type { ForwardRefExoticComponent } from 'react';
26
25
  import { InlinePopover as InlinePopover_2 } from '@prosekit/lit/inline-popover';
27
26
  import { InlinePopoverProps as InlinePopoverProps_2 } from '@prosekit/lit/inline-popover';
28
27
  import { Keymap } from '@prosekit/core';
@@ -31,85 +30,59 @@ import { Options } from 'tsup';
31
30
  import { Popover as Popover_2 } from '@prosekit/lit/popover';
32
31
  import { PopoverOptions } from '@prosekit/lit/autocomplete-popover';
33
32
  import { PopoverProps as PopoverProps_2 } from '@prosekit/lit/popover';
34
- import type { PropsWithoutRef } from 'react';
33
+ import { Priority } from '@prosekit/core';
35
34
  import { default as React_2 } from 'react';
36
- import type { RefAttributes } from 'react';
37
- import type { SimplifyUnion } from '@prosekit/core';
38
35
  import { useNodeViewContext } from '@prosemirror-adapter/react';
39
36
  import { useNodeViewFactory } from '@prosemirror-adapter/react';
40
37
  import { UserProjectConfigExport } from 'vitest/dist/config.js';
41
38
 
42
- declare const AutocompleteEmpty: ForwardRefExoticComponent<PropsWithoutRef<AutocompleteEmptyProps> & RefAttributes<AutocompleteEmpty_2>>;
39
+ declare const AutocompleteEmpty: React_2.ComponentType<AutocompleteEmptyProps & React_2.RefAttributes<AutocompleteEmpty_2>>;
43
40
  export { AutocompleteEmpty }
44
41
  export { AutocompleteEmpty as AutocompleteEmpty_alias_1 }
45
42
 
46
- declare type AutocompleteEmptyProps = SimplifyUnion<{
47
- className?: string;
48
- children?: React_2.ReactNode;
49
- } & AutocompleteEmptyProps_2>;
43
+ declare type AutocompleteEmptyProps = React_2.PropsWithChildren<PropsWithClassName<AutocompleteEmptyProps_2>>;
50
44
  export { AutocompleteEmptyProps }
51
45
  export { AutocompleteEmptyProps as AutocompleteEmptyProps_alias_1 }
52
46
 
53
- declare const AutocompleteItem: ForwardRefExoticComponent<PropsWithoutRef<AutocompleteItemProps> & RefAttributes<AutocompleteItem_2>>;
47
+ declare const AutocompleteItem: React_2.ComponentType<AutocompleteItemProps & React_2.RefAttributes<AutocompleteItem_2>>;
54
48
  export { AutocompleteItem }
55
49
  export { AutocompleteItem as AutocompleteItem_alias_1 }
56
50
 
57
- declare type AutocompleteItemProps = SimplifyUnion<{
58
- className?: string;
59
- children?: React_2.ReactNode;
60
- } & AutocompleteItemProps_2>;
51
+ declare type AutocompleteItemProps = React_2.PropsWithChildren<PropsWithClassName<AutocompleteItemProps_2>>;
61
52
  export { AutocompleteItemProps }
62
53
  export { AutocompleteItemProps as AutocompleteItemProps_alias_1 }
63
54
 
64
- declare const AutocompleteList: ForwardRefExoticComponent<PropsWithoutRef<AutocompleteListProps> & RefAttributes<AutocompleteList_2>>;
55
+ declare const AutocompleteList: React_2.ComponentType<AutocompleteListProps & React_2.RefAttributes<AutocompleteList_2>>;
65
56
  export { AutocompleteList }
66
57
  export { AutocompleteList as AutocompleteList_alias_1 }
67
58
 
68
- declare type AutocompleteListProps = SimplifyUnion<{
69
- className?: string;
70
- children?: React_2.ReactNode;
71
- } & AutocompleteListProps_2>;
59
+ declare type AutocompleteListProps = React_2.PropsWithChildren<PropsWithClassName<AutocompleteListProps_2>>;
72
60
  export { AutocompleteListProps }
73
61
  export { AutocompleteListProps as AutocompleteListProps_alias_1 }
74
62
 
75
- declare const AutocompletePopover: ForwardRefExoticComponent<PropsWithoutRef<AutocompletePopoverProps> & RefAttributes<AutocompletePopover_2>>;
63
+ declare const AutocompletePopover: React_2.ComponentType<AutocompletePopoverProps & React_2.RefAttributes<AutocompletePopover_2>>;
76
64
  export { AutocompletePopover }
77
65
  export { AutocompletePopover as AutocompletePopover_alias_1 }
78
66
 
79
- declare type AutocompletePopoverProps = SimplifyUnion<{
80
- className?: string;
81
- children?: React_2.ReactNode;
82
- } & AutocompletePopoverProps_2>;
67
+ declare type AutocompletePopoverProps = React_2.PropsWithChildren<PropsWithClassName<AutocompletePopoverProps_2>>;
83
68
  export { AutocompletePopoverProps }
84
69
  export { AutocompletePopoverProps as AutocompletePopoverProps_alias_1 }
85
70
 
86
- export declare const ComboBox: ForwardRefExoticComponent<PropsWithoutRef<ComboBoxProps> & RefAttributes<ComboBox_2>>;
71
+ export declare const ComboBox: React_2.ComponentType<ComboBoxProps & React_2.RefAttributes<ComboBox_2>>;
87
72
 
88
- export declare const ComboBoxInput: ForwardRefExoticComponent<PropsWithoutRef<ComboBoxInputProps> & RefAttributes<ComboBoxInput_2>>;
73
+ export declare const ComboBoxInput: React_2.ComponentType<ComboBoxInputProps & React_2.RefAttributes<ComboBoxInput_2>>;
89
74
 
90
- export declare type ComboBoxInputProps = SimplifyUnion<{
91
- className?: string;
92
- children?: React_2.ReactNode;
93
- } & ComboBoxInputProps_2>;
75
+ export declare type ComboBoxInputProps = React_2.PropsWithChildren<PropsWithClassName<ComboBoxInputProps_2>>;
94
76
 
95
- export declare const ComboBoxItem: ForwardRefExoticComponent<PropsWithoutRef<ComboBoxItemProps> & RefAttributes<ComboBoxItem_2>>;
77
+ export declare const ComboBoxItem: React_2.ComponentType<ComboBoxItemProps & React_2.RefAttributes<ComboBoxItem_2>>;
96
78
 
97
- export declare type ComboBoxItemProps = SimplifyUnion<{
98
- className?: string;
99
- children?: React_2.ReactNode;
100
- } & ComboBoxItemProps_2>;
79
+ export declare type ComboBoxItemProps = React_2.PropsWithChildren<PropsWithClassName<ComboBoxItemProps_2>>;
101
80
 
102
- export declare const ComboBoxList: ForwardRefExoticComponent<PropsWithoutRef<ComboBoxListProps> & RefAttributes<ComboBoxList_2>>;
81
+ export declare const ComboBoxList: React_2.ComponentType<ComboBoxListProps & React_2.RefAttributes<ComboBoxList_2>>;
103
82
 
104
- export declare type ComboBoxListProps = SimplifyUnion<{
105
- className?: string;
106
- children?: React_2.ReactNode;
107
- } & ComboBoxListProps_2>;
83
+ export declare type ComboBoxListProps = React_2.PropsWithChildren<PropsWithClassName<ComboBoxListProps_2>>;
108
84
 
109
- export declare type ComboBoxProps = SimplifyUnion<{
110
- className?: string;
111
- children?: React_2.ReactNode;
112
- } & ComboBoxProps_2>;
85
+ export declare type ComboBoxProps = React_2.PropsWithChildren<PropsWithClassName<ComboBoxProps_2>>;
113
86
 
114
87
  export declare const default_alias: Options | Options[] | ((overrideOptions: Options) => Options | Options[] | Promise<Options | Options[]>);
115
88
 
@@ -129,21 +102,24 @@ export declare interface EditorContext {
129
102
 
130
103
  export declare const editorContext: Context<EditorContext | null>;
131
104
 
132
- export declare const InlinePopover: ForwardRefExoticComponent<PropsWithoutRef<InlinePopoverProps> & RefAttributes<InlinePopover_2>>;
105
+ export declare const InlinePopover: React_2.ComponentType<InlinePopoverProps & React_2.RefAttributes<InlinePopover_2>>;
133
106
 
134
- export declare type InlinePopoverProps = SimplifyUnion<{
135
- className?: string;
136
- children?: React_2.ReactNode;
137
- } & InlinePopoverProps_2>;
107
+ export declare type InlinePopoverProps = React_2.PropsWithChildren<PropsWithClassName<InlinePopoverProps_2>>;
138
108
 
139
- export declare const Popover: ForwardRefExoticComponent<PropsWithoutRef<PopoverProps> & RefAttributes<Popover_2>>;
109
+ export declare const Popover: React_2.ComponentType<PopoverProps & React_2.RefAttributes<Popover_2>>;
140
110
 
141
111
  export { PopoverOptions }
142
112
 
143
- export declare type PopoverProps = SimplifyUnion<{
144
- className?: string;
145
- children?: React_2.ReactNode;
146
- } & PopoverProps_2>;
113
+ export declare type PopoverProps = React_2.PropsWithChildren<PropsWithClassName<PopoverProps_2>>;
114
+
115
+ /**
116
+ * @internal
117
+ */
118
+ declare type PropsWithClassName<P = unknown> = P & {
119
+ className?: string | undefined;
120
+ };
121
+ export { PropsWithClassName }
122
+ export { PropsWithClassName as PropsWithClassName_alias_1 }
147
123
 
148
124
  declare const ProseKit: ComponentType<ProseKitProps>;
149
125
  export { ProseKit }
@@ -189,10 +165,14 @@ declare function useExtension<T extends Extension = Extension>(extension: T | nu
189
165
  export { useExtension }
190
166
  export { useExtension as useExtension_alias_1 }
191
167
 
192
- declare function useKeymap(keymap: Keymap): void;
168
+ declare function useKeymap(keymap: Keymap, options?: {
169
+ priority?: Priority;
170
+ }): void;
193
171
  export { useKeymap }
194
172
  export { useKeymap as useKeymap_alias_1 }
195
173
 
196
174
  export { useNodeViewContext }
197
175
 
176
+ export declare function usePriorityExtension<T extends Extension = Extension>(extension: T | null, priority?: Priority | null): void;
177
+
198
178
  export { }
@@ -8,3 +8,4 @@ export { useEditor } from './_tsup-dts-rollup';
8
8
  export { UseEditorOptions } from './_tsup-dts-rollup';
9
9
  export { useExtension } from './_tsup-dts-rollup';
10
10
  export { useKeymap } from './_tsup-dts-rollup';
11
+ export { PropsWithClassName } from './_tsup-dts-rollup';
@@ -120,10 +120,22 @@ var EditorContextProvider = editorContext.Provider;
120
120
 
121
121
  // src/hooks/use-keymap.ts
122
122
  import { defineKeymap } from "@prosekit/core";
123
+ import { useMemo as useMemo3 } from "react";
124
+
125
+ // src/hooks/use-priority-extension.ts
126
+ import { withPriority } from "@prosekit/core";
123
127
  import { useMemo as useMemo2 } from "react";
124
- function useKeymap(keymap) {
125
- const extension = useMemo2(() => defineKeymap(keymap), [keymap]);
126
- useExtension(extension);
128
+ function usePriorityExtension(extension, priority) {
129
+ const extensionWithPriority = useMemo2(() => {
130
+ return extension && priority ? withPriority(extension, priority) : extension;
131
+ }, [extension, priority]);
132
+ return useExtension(extensionWithPriority);
133
+ }
134
+
135
+ // src/hooks/use-keymap.ts
136
+ function useKeymap(keymap, options) {
137
+ const extension = useMemo3(() => defineKeymap(keymap), [keymap]);
138
+ usePriorityExtension(extension, options == null ? void 0 : options.priority);
127
139
  }
128
140
  export {
129
141
  ProseKit,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@prosekit/react",
3
3
  "type": "module",
4
- "version": "0.1.1",
4
+ "version": "0.1.2",
5
5
  "private": false,
6
6
  "author": {
7
7
  "name": "ocavue",
@@ -104,7 +104,7 @@
104
104
  },
105
105
  "devDependencies": {
106
106
  "@prosekit/dev": "*",
107
- "@types/react": "^18.2.38",
107
+ "@types/react": "^18.2.39",
108
108
  "@types/react-dom": "^18.2.17",
109
109
  "react": "^18.2.0",
110
110
  "react-dom": "^18.2.0",
package/src/index.ts CHANGED
@@ -8,3 +8,4 @@ export {
8
8
  export { useEditor, type UseEditorOptions } from './hooks/use-editor'
9
9
  export { useExtension } from './hooks/use-extension'
10
10
  export { useKeymap } from './hooks/use-keymap'
11
+ export { type PropsWithClassName } from './types'