@prosekit/web 0.5.7 → 0.5.8

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,386 +1,277 @@
1
- import {
2
- getStateWithDefaults
3
- } from "./chunk-ZGQ225UP.js";
4
- import {
5
- useEditorExtension
6
- } from "./chunk-WTW6FOH3.js";
7
-
8
- // src/components/autocomplete/autocomplete-empty/element.gen.ts
9
- import { defineCustomElement, registerCustomElement } from "@aria-ui/core";
10
-
11
- // src/components/autocomplete/autocomplete-empty/setup.ts
12
- import { useListboxEmpty } from "@aria-ui/listbox/elements";
13
- var useAutocompleteEmpty = useListboxEmpty;
1
+ import { getStateWithDefaults } from "./get-default-state-CIEy7xrl.js";
2
+ import { useEditorExtension } from "./use-editor-extension-Cc7ZG7uj.js";
3
+ import { createComputed, createContext, createSignal, defineCustomElement, registerCustomElement, useAnimationFrame, useAttribute, useEffect } from "@aria-ui/core";
4
+ import { listboxProps, useListbox, useListboxEmpty as useAutocompleteEmpty, useListboxItem } from "@aria-ui/listbox/elements";
5
+ import { listboxEvents, listboxItemEvents, listboxProps as listboxProps$1 } from "@aria-ui/listbox";
6
+ import { Priority, defineDOMEventHandler, defineKeymap, withPriority } from "@prosekit/core";
7
+ import { overlayPositionerEvents, overlayPositionerProps, useOverlayPositionerState } from "@aria-ui/overlay/elements";
8
+ import { usePresence } from "@aria-ui/presence";
9
+ import { AutocompleteRule, defineAutocomplete } from "@prosekit/extensions/autocomplete";
14
10
 
15
- // src/components/autocomplete/autocomplete-empty/types.ts
16
- var autocompleteEmptyProps = {};
17
- var autocompleteEmptyEvents = {};
11
+ //#region src/components/autocomplete/autocomplete-empty/types.ts
12
+ /** @internal */
13
+ const autocompleteEmptyProps = {};
14
+ /** @internal */
15
+ const autocompleteEmptyEvents = {};
18
16
 
19
- // src/components/autocomplete/autocomplete-empty/element.gen.ts
20
- var AutocompleteEmptyElement = class extends defineCustomElement({
21
- props: autocompleteEmptyProps,
22
- events: autocompleteEmptyEvents,
23
- setup: useAutocompleteEmpty
24
- }) {
25
- };
17
+ //#endregion
18
+ //#region src/components/autocomplete/autocomplete-empty/element.gen.ts
19
+ const AutocompleteEmptyElementBase = defineCustomElement({
20
+ props: autocompleteEmptyProps,
21
+ events: autocompleteEmptyEvents,
22
+ setup: useAutocompleteEmpty
23
+ });
24
+ var AutocompleteEmptyElement = class extends AutocompleteEmptyElementBase {};
26
25
  registerCustomElement("prosekit-autocomplete-empty", AutocompleteEmptyElement);
27
26
 
28
- // src/components/autocomplete/autocomplete-item/element.gen.ts
29
- import { defineCustomElement as defineCustomElement2, registerCustomElement as registerCustomElement2 } from "@aria-ui/core";
27
+ //#endregion
28
+ //#region src/components/autocomplete/context.ts
29
+ const queryContext = createContext("prosekit/autocomplete-popover/query", "");
30
+ const onSubmitContext = createContext("prosekit/autocomplete-popover/onSubmit", null);
31
+ const openContext = createContext("prosekit/autocomplete-popover/open", false);
30
32
 
31
- // src/components/autocomplete/autocomplete-item/setup.ts
32
- import {
33
- useEffect
34
- } from "@aria-ui/core";
35
- import { useListboxItem } from "@aria-ui/listbox/elements";
36
-
37
- // src/components/autocomplete/context.ts
38
- import { createContext } from "@aria-ui/core";
39
- var queryContext = createContext(
40
- "prosekit/autocomplete-popover/query",
41
- ""
42
- );
43
- var onSubmitContext = createContext(
44
- "prosekit/autocomplete-popover/onSubmit",
45
- null
46
- );
47
- var openContext = createContext(
48
- "prosekit/autocomplete-popover/open",
49
- false
50
- );
51
-
52
- // src/components/autocomplete/autocomplete-item/setup.ts
33
+ //#endregion
34
+ //#region src/components/autocomplete/autocomplete-item/setup.ts
53
35
  function useAutocompleteItem(element, { state, emit }) {
54
- useListboxItem(element, { state, emit });
55
- const open = openContext.consume(element);
56
- useEffect(element, () => {
57
- if (!state.value.peek() && open.get()) {
58
- state.value.set(element.textContent ?? "");
59
- }
60
- });
36
+ useListboxItem(element, {
37
+ state,
38
+ emit
39
+ });
40
+ const open = openContext.consume(element);
41
+ useEffect(element, () => {
42
+ if (!state.value.peek() && open.get()) state.value.set(element.textContent ?? "");
43
+ });
61
44
  }
62
45
 
63
- // src/components/autocomplete/autocomplete-item/types.ts
64
- import {
65
- listboxItemEvents
66
- } from "@aria-ui/listbox";
67
- var autocompleteItemProps = {
68
- value: {
69
- default: ""
70
- }
71
- };
72
- var autocompleteItemEvents = listboxItemEvents;
73
-
74
- // src/components/autocomplete/autocomplete-item/element.gen.ts
75
- var AutocompleteItemElement = class extends defineCustomElement2({
76
- props: autocompleteItemProps,
77
- events: autocompleteItemEvents,
78
- setup: useAutocompleteItem
79
- }) {
80
- };
81
- registerCustomElement2("prosekit-autocomplete-item", AutocompleteItemElement);
46
+ //#endregion
47
+ //#region src/components/autocomplete/autocomplete-item/types.ts
48
+ /** @internal */
49
+ const autocompleteItemProps = { value: { default: "" } };
50
+ /** @internal */
51
+ const autocompleteItemEvents = listboxItemEvents;
82
52
 
83
- // src/components/autocomplete/autocomplete-list/element.gen.ts
84
- import { defineCustomElement as defineCustomElement3, registerCustomElement as registerCustomElement3 } from "@aria-ui/core";
53
+ //#endregion
54
+ //#region src/components/autocomplete/autocomplete-item/element.gen.ts
55
+ const AutocompleteItemElementBase = defineCustomElement({
56
+ props: autocompleteItemProps,
57
+ events: autocompleteItemEvents,
58
+ setup: useAutocompleteItem
59
+ });
60
+ var AutocompleteItemElement = class extends AutocompleteItemElementBase {};
61
+ registerCustomElement("prosekit-autocomplete-item", AutocompleteItemElement);
85
62
 
86
- // src/components/autocomplete/autocomplete-list/setup.ts
87
- import {
88
- createSignal,
89
- useEffect as useEffect2
90
- } from "@aria-ui/core";
91
- import {
92
- listboxProps,
93
- useListbox
94
- } from "@aria-ui/listbox/elements";
95
- import {
96
- defineDOMEventHandler,
97
- Priority,
98
- withPriority
99
- } from "@prosekit/core";
63
+ //#endregion
64
+ //#region src/components/autocomplete/autocomplete-list/setup.ts
100
65
  function useAutocompleteList(element, { state, emit }) {
101
- const open = openContext.consume(element);
102
- const query = queryContext.consume(element);
103
- const onSubmit = onSubmitContext.consume(element);
104
- const keydownTarget = useKeyDownTarget(element, open, state.editor);
105
- const listboxState = getStateWithDefaults(
106
- { filter: state.filter, eventTarget: createSignal(keydownTarget) },
107
- listboxProps
108
- );
109
- useEffect2(element, () => {
110
- element.addEventListener("valueChange", () => {
111
- if (onSubmit) {
112
- onSubmit.get()?.();
113
- }
114
- });
115
- });
116
- useListbox(element, { state: listboxState, emit });
117
- useEffect2(element, () => {
118
- listboxState.query.set(query.get());
119
- });
120
- useEffect2(element, () => {
121
- if (!open.get()) {
122
- listboxState.value.set("");
123
- query.set("");
124
- }
125
- });
126
- useEffect2(element, () => {
127
- if (!open.get()) {
128
- listboxState.autoFocus.set(false);
129
- } else {
130
- let canceled = false;
131
- requestAnimationFrame(() => {
132
- if (canceled) return;
133
- listboxState.autoFocus.set(true);
134
- });
135
- return () => {
136
- canceled = true;
137
- };
138
- }
139
- });
140
- useEffect2(element, () => {
141
- element.tabIndex = -1;
142
- });
66
+ const open = openContext.consume(element);
67
+ const query = queryContext.consume(element);
68
+ const onSubmit = onSubmitContext.consume(element);
69
+ const keydownTarget = useKeyDownTarget(element, open, state.editor);
70
+ const listboxState = getStateWithDefaults({
71
+ filter: state.filter,
72
+ eventTarget: createSignal(keydownTarget)
73
+ }, listboxProps);
74
+ useEffect(element, () => {
75
+ element.addEventListener("valueChange", () => {
76
+ if (onSubmit) onSubmit.get()?.();
77
+ });
78
+ });
79
+ useListbox(element, {
80
+ state: listboxState,
81
+ emit
82
+ });
83
+ useEffect(element, () => {
84
+ listboxState.query.set(query.get());
85
+ });
86
+ useEffect(element, () => {
87
+ if (!open.get()) {
88
+ listboxState.value.set("");
89
+ query.set("");
90
+ }
91
+ });
92
+ useEffect(element, () => {
93
+ if (!open.get()) listboxState.autoFocus.set(false);
94
+ else {
95
+ let canceled = false;
96
+ requestAnimationFrame(() => {
97
+ if (canceled) return;
98
+ listboxState.autoFocus.set(true);
99
+ });
100
+ return () => {
101
+ canceled = true;
102
+ };
103
+ }
104
+ });
105
+ useEffect(element, () => {
106
+ element.tabIndex = -1;
107
+ });
143
108
  }
144
109
  function useKeyDownTarget(element, open, editor) {
145
- const keydownHandlers = [];
146
- useEffect2(element, () => {
147
- const editorValue = editor.get();
148
- if (!editorValue) {
149
- return;
150
- }
151
- const extension = defineDOMEventHandler(
152
- "keydown",
153
- (view, event) => {
154
- if (view.composing || event.defaultPrevented || !open.get()) {
155
- return false;
156
- }
157
- keydownHandlers.forEach((handler) => handler(event));
158
- return event.defaultPrevented;
159
- }
160
- );
161
- return editorValue.use(withPriority(extension, Priority.highest));
162
- });
163
- return {
164
- addEventListener: (type, listener) => {
165
- if (type === "keydown") {
166
- keydownHandlers.push(listener);
167
- }
168
- },
169
- removeEventListener: (type, listener) => {
170
- if (type === "keydown") {
171
- const index = keydownHandlers.indexOf(listener);
172
- if (index !== -1) {
173
- keydownHandlers.splice(index, 1);
174
- }
175
- }
176
- }
177
- };
110
+ const keydownHandlers = [];
111
+ useEffect(element, () => {
112
+ const editorValue = editor.get();
113
+ if (!editorValue) return;
114
+ const extension = defineDOMEventHandler("keydown", (view, event) => {
115
+ if (view.composing || event.defaultPrevented || !open.get()) return false;
116
+ keydownHandlers.forEach((handler) => handler(event));
117
+ return event.defaultPrevented;
118
+ });
119
+ return editorValue.use(withPriority(extension, Priority.highest));
120
+ });
121
+ return {
122
+ addEventListener: (type, listener) => {
123
+ if (type === "keydown") keydownHandlers.push(listener);
124
+ },
125
+ removeEventListener: (type, listener) => {
126
+ if (type === "keydown") {
127
+ const index = keydownHandlers.indexOf(listener);
128
+ if (index !== -1) keydownHandlers.splice(index, 1);
129
+ }
130
+ }
131
+ };
178
132
  }
179
133
 
180
- // src/components/autocomplete/autocomplete-list/types.ts
181
- import {
182
- listboxEvents,
183
- listboxProps as listboxProps2
184
- } from "@aria-ui/listbox";
185
- var autocompleteListProps = {
186
- filter: listboxProps2.filter,
187
- editor: { default: null }
188
- };
189
- var autocompleteListEvents = listboxEvents;
190
-
191
- // src/components/autocomplete/autocomplete-list/element.gen.ts
192
- var AutocompleteListElement = class extends defineCustomElement3({
193
- props: autocompleteListProps,
194
- events: autocompleteListEvents,
195
- setup: useAutocompleteList
196
- }) {
134
+ //#endregion
135
+ //#region src/components/autocomplete/autocomplete-list/types.ts
136
+ const autocompleteListProps = {
137
+ filter: listboxProps$1.filter,
138
+ editor: { default: null }
197
139
  };
198
- registerCustomElement3("prosekit-autocomplete-list", AutocompleteListElement);
199
-
200
- // src/components/autocomplete/autocomplete-popover/element.gen.ts
201
- import { defineCustomElement as defineCustomElement4, registerCustomElement as registerCustomElement4 } from "@aria-ui/core";
140
+ const autocompleteListEvents = { ...listboxEvents };
202
141
 
203
- // src/components/autocomplete/autocomplete-popover/setup.ts
204
- import {
205
- createComputed,
206
- createSignal as createSignal3,
207
- useAnimationFrame,
208
- useAttribute,
209
- useEffect as useEffect4
210
- } from "@aria-ui/core";
211
- import { useOverlayPositionerState } from "@aria-ui/overlay/elements";
212
- import { usePresence } from "@aria-ui/presence";
213
- import {
214
- defineKeymap,
215
- Priority as Priority2,
216
- withPriority as withPriority2
217
- } from "@prosekit/core";
218
- import {
219
- AutocompleteRule,
220
- defineAutocomplete
221
- } from "@prosekit/extensions/autocomplete";
142
+ //#endregion
143
+ //#region src/components/autocomplete/autocomplete-list/element.gen.ts
144
+ const AutocompleteListElementBase = defineCustomElement({
145
+ props: autocompleteListProps,
146
+ events: autocompleteListEvents,
147
+ setup: useAutocompleteList
148
+ });
149
+ var AutocompleteListElement = class extends AutocompleteListElementBase {};
150
+ registerCustomElement("prosekit-autocomplete-list", AutocompleteListElement);
222
151
 
223
- // src/hooks/use-first-rendering.ts
224
- import {
225
- createSignal as createSignal2,
226
- useEffect as useEffect3
227
- } from "@aria-ui/core";
152
+ //#endregion
153
+ //#region src/hooks/use-first-rendering.ts
228
154
  function useFirstRendering(host) {
229
- const firstRendering = createSignal2(true);
230
- useEffect3(host, () => {
231
- requestAnimationFrame(() => {
232
- firstRendering.set(false);
233
- });
234
- });
235
- return firstRendering;
155
+ const firstRendering = createSignal(true);
156
+ useEffect(host, () => {
157
+ requestAnimationFrame(() => {
158
+ firstRendering.set(false);
159
+ });
160
+ });
161
+ return firstRendering;
236
162
  }
237
163
 
238
- // src/components/autocomplete/autocomplete-popover/helpers.ts
164
+ //#endregion
165
+ //#region src/components/autocomplete/autocomplete-popover/helpers.ts
239
166
  function defaultQueryBuilder(match) {
240
- return match[0].toLowerCase().replace(/[!"#$%&'()*+,-./:;<=>?@[\\\]^_`{|}~]/g, "").replace(/\s\s+/g, " ").trim();
167
+ return match[0].toLowerCase().replace(/[!"#$%&'()*+,-./:;<=>?@[\\\]^_`{|}~]/g, "").replace(/\s\s+/g, " ").trim();
241
168
  }
242
169
 
243
- // src/components/autocomplete/autocomplete-popover/setup.ts
244
- function useAutocompletePopover(host, {
245
- state,
246
- emit
247
- }) {
248
- const { editor, regex, ...overlayState } = state;
249
- const reference = createSignal3(null);
250
- const query = createSignal3("");
251
- const onDismiss = createSignal3(null);
252
- const onSubmit = createSignal3(null);
253
- const presence = createComputed(() => !!reference.get());
254
- queryContext.provide(host, query);
255
- onSubmitContext.provide(host, onSubmit);
256
- openContext.provide(host, presence);
257
- useEscapeKeydown(host, editor, createKeymapHandler(onDismiss, presence));
258
- useAutocompleteExtension(
259
- host,
260
- editor,
261
- regex,
262
- reference,
263
- query,
264
- onDismiss,
265
- onSubmit
266
- );
267
- useOverlayPositionerState(host, overlayState, { reference });
268
- useAttribute(host, "data-state", () => presence.get() ? "open" : "closed");
269
- usePresence(host, presence);
270
- const firstRendering = useFirstRendering(host);
271
- useEffect4(host, () => {
272
- const queryValue = query.get();
273
- if (!firstRendering.peek()) {
274
- emit("queryChange", queryValue);
275
- }
276
- });
277
- useAnimationFrame(host, () => {
278
- const presenceValue = presence.get();
279
- return () => {
280
- emit("openChange", presenceValue);
281
- };
282
- });
170
+ //#endregion
171
+ //#region src/components/autocomplete/autocomplete-popover/setup.ts
172
+ function useAutocompletePopover(host, { state, emit }) {
173
+ const { editor, regex,...overlayState } = state;
174
+ const reference = createSignal(null);
175
+ const query = createSignal("");
176
+ const onDismiss = createSignal(null);
177
+ const onSubmit = createSignal(null);
178
+ const presence = createComputed(() => !!reference.get());
179
+ queryContext.provide(host, query);
180
+ onSubmitContext.provide(host, onSubmit);
181
+ openContext.provide(host, presence);
182
+ useEscapeKeydown(host, editor, createKeymapHandler(onDismiss, presence));
183
+ useAutocompleteExtension(host, editor, regex, reference, query, onDismiss, onSubmit);
184
+ useOverlayPositionerState(host, overlayState, { reference });
185
+ useAttribute(host, "data-state", () => presence.get() ? "open" : "closed");
186
+ usePresence(host, presence);
187
+ const firstRendering = useFirstRendering(host);
188
+ useEffect(host, () => {
189
+ const queryValue = query.get();
190
+ if (!firstRendering.peek()) emit("queryChange", queryValue);
191
+ });
192
+ useAnimationFrame(host, () => {
193
+ const presenceValue = presence.get();
194
+ return () => {
195
+ emit("openChange", presenceValue);
196
+ };
197
+ });
283
198
  }
284
199
  function useAutocompleteExtension(host, editor, regex, reference, query, onDismiss, onSubmit) {
285
- useEffect4(host, () => {
286
- const editorValue = editor.get();
287
- const regexValue = regex.get();
288
- if (!editorValue || !regexValue) {
289
- return;
290
- }
291
- const rule = createAutocompleteRule(
292
- editorValue,
293
- regexValue,
294
- reference,
295
- query,
296
- onDismiss,
297
- onSubmit
298
- );
299
- const extension = defineAutocomplete(rule);
300
- return editorValue.use(extension);
301
- });
200
+ useEffect(host, () => {
201
+ const editorValue = editor.get();
202
+ const regexValue = regex.get();
203
+ if (!editorValue || !regexValue) return;
204
+ const rule = createAutocompleteRule(editorValue, regexValue, reference, query, onDismiss, onSubmit);
205
+ const extension = defineAutocomplete(rule);
206
+ return editorValue.use(extension);
207
+ });
302
208
  }
303
209
  function createAutocompleteRule(editor, regex, reference, query, onDismiss, onSubmit) {
304
- const handleEnter = (options) => {
305
- const span = editor.view.dom.querySelector(".prosemirror-prediction-match");
306
- if (span) {
307
- reference.set(span);
308
- }
309
- query.set(defaultQueryBuilder(options.match));
310
- onDismiss.set(options.ignoreMatch);
311
- onSubmit.set(options.deleteMatch);
312
- };
313
- const handleLeave = () => {
314
- reference.set(null);
315
- query.set("");
316
- };
317
- return new AutocompleteRule({
318
- regex,
319
- onEnter: handleEnter,
320
- onLeave: handleLeave
321
- });
210
+ const handleEnter = (options) => {
211
+ const span = editor.view.dom.querySelector(".prosemirror-prediction-match");
212
+ if (span) reference.set(span);
213
+ query.set(defaultQueryBuilder(options.match));
214
+ onDismiss.set(options.ignoreMatch);
215
+ onSubmit.set(options.deleteMatch);
216
+ };
217
+ const handleLeave = () => {
218
+ reference.set(null);
219
+ query.set("");
220
+ };
221
+ return new AutocompleteRule({
222
+ regex,
223
+ onEnter: handleEnter,
224
+ onLeave: handleLeave
225
+ });
322
226
  }
323
227
  function createKeymapHandler(handler, enabled) {
324
- return () => {
325
- if (!enabled.get()) {
326
- return false;
327
- }
328
- const fn = handler.peek();
329
- if (!fn) return false;
330
- fn();
331
- return true;
332
- };
228
+ return () => {
229
+ if (!enabled.get()) return false;
230
+ const fn = handler.peek();
231
+ if (!fn) return false;
232
+ fn();
233
+ return true;
234
+ };
333
235
  }
334
236
  function useEscapeKeydown(host, editor, handler) {
335
- const keymap = { Escape: handler };
336
- const extension = withPriority2(defineKeymap(keymap), Priority2.highest);
337
- return useEditorExtension(host, editor, extension);
237
+ const keymap = { Escape: handler };
238
+ const extension = withPriority(defineKeymap(keymap), Priority.highest);
239
+ useEditorExtension(host, editor, extension);
338
240
  }
339
241
 
340
- // src/components/autocomplete/autocomplete-popover/types.ts
341
- import {
342
- overlayPositionerEvents,
343
- overlayPositionerProps
344
- } from "@aria-ui/overlay/elements";
345
- var body = typeof document !== "undefined" && document.querySelector("body");
346
- var defaultBoundary = body || "clippingAncestors";
347
- var autocompletePopoverProps = {
348
- ...overlayPositionerProps,
349
- editor: { default: null },
350
- regex: { default: null },
351
- placement: { default: "bottom-start" },
352
- offset: { default: 4 },
353
- inline: { default: true },
354
- hoist: { default: true },
355
- fitViewport: { default: true },
356
- boundary: { default: defaultBoundary },
357
- overflowPadding: { default: 8 }
242
+ //#endregion
243
+ //#region src/components/autocomplete/autocomplete-popover/types.ts
244
+ const body = typeof document !== "undefined" && document.querySelector("body");
245
+ const defaultBoundary = body || "clippingAncestors";
246
+ /** @internal */
247
+ const autocompletePopoverProps = {
248
+ ...overlayPositionerProps,
249
+ editor: { default: null },
250
+ regex: { default: null },
251
+ placement: { default: "bottom-start" },
252
+ offset: { default: 4 },
253
+ inline: { default: true },
254
+ hoist: { default: true },
255
+ fitViewport: { default: true },
256
+ boundary: { default: defaultBoundary },
257
+ overflowPadding: { default: 8 }
358
258
  };
359
- var autocompletePopoverEvents = {
360
- ...overlayPositionerEvents,
361
- openChange: {},
362
- queryChange: {}
259
+ /** @internal */
260
+ const autocompletePopoverEvents = {
261
+ ...overlayPositionerEvents,
262
+ openChange: {},
263
+ queryChange: {}
363
264
  };
364
265
 
365
- // src/components/autocomplete/autocomplete-popover/element.gen.ts
366
- var AutocompletePopoverElement = class extends defineCustomElement4({
367
- props: autocompletePopoverProps,
368
- events: autocompletePopoverEvents,
369
- setup: useAutocompletePopover
370
- }) {
371
- };
372
- registerCustomElement4("prosekit-autocomplete-popover", AutocompletePopoverElement);
373
- export {
374
- AutocompleteEmptyElement,
375
- AutocompleteItemElement,
376
- AutocompleteListElement,
377
- AutocompletePopoverElement,
378
- autocompleteEmptyEvents,
379
- autocompleteEmptyProps,
380
- autocompleteItemEvents,
381
- autocompleteItemProps,
382
- autocompleteListEvents,
383
- autocompleteListProps,
384
- autocompletePopoverEvents,
385
- autocompletePopoverProps
386
- };
266
+ //#endregion
267
+ //#region src/components/autocomplete/autocomplete-popover/element.gen.ts
268
+ const AutocompletePopoverElementBase = defineCustomElement({
269
+ props: autocompletePopoverProps,
270
+ events: autocompletePopoverEvents,
271
+ setup: useAutocompletePopover
272
+ });
273
+ var AutocompletePopoverElement = class extends AutocompletePopoverElementBase {};
274
+ registerCustomElement("prosekit-autocomplete-popover", AutocompletePopoverElement);
275
+
276
+ //#endregion
277
+ export { AutocompleteEmptyElement, AutocompleteItemElement, AutocompleteListElement, AutocompletePopoverElement, autocompleteEmptyEvents, autocompleteEmptyProps, autocompleteItemEvents, autocompleteItemProps, autocompleteListEvents, autocompleteListProps, autocompletePopoverEvents, autocompletePopoverProps };