@prosekit/web 0.1.6 → 0.1.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.
@@ -4,8 +4,8 @@ import { Context } from '@aria-ui/core';
4
4
  import { defaultPopoverContentProps } from '@aria-ui/popover';
5
5
  import { defaultPopoverRootProps } from '@aria-ui/popover';
6
6
  import { defaultPopoverTriggerProps } from '@aria-ui/popover';
7
- import { defaultTooltipContentProps } from '@aria-ui/tooltip';
8
7
  import { defaultTooltipRootProps } from '@aria-ui/tooltip';
8
+ import { defaultTooltipTriggerProps } from '@aria-ui/tooltip';
9
9
  import { Editor } from '@prosekit/core';
10
10
  import type { EditorView } from '@prosekit/pm/view';
11
11
  import { Extension } from '@prosekit/core';
@@ -22,13 +22,13 @@ import { ReadonlySignal } from '@aria-ui/core';
22
22
  import type { ReferenceElement } from '@floating-ui/dom';
23
23
  import type { Selection as Selection_2 } from '@prosekit/pm/state';
24
24
  import { SignalState } from '@aria-ui/core';
25
- import { TooltipContentProps } from '@aria-ui/tooltip';
25
+ import type { TooltipContentProps } from '@aria-ui/tooltip';
26
26
  import { TooltipRootProps } from '@aria-ui/tooltip';
27
+ import { TooltipTriggerProps } from '@aria-ui/tooltip';
27
28
  import { UpdateHandler } from '@prosekit/core';
28
29
  import { usePopoverContent } from '@aria-ui/popover';
29
30
  import { usePopoverRoot } from '@aria-ui/popover';
30
31
  import { usePopoverTrigger } from '@aria-ui/popover';
31
- import { useTooltipContent } from '@aria-ui/tooltip';
32
32
  import { useTooltipRoot } from '@aria-ui/tooltip';
33
33
  import { useTooltipTrigger } from '@aria-ui/tooltip';
34
34
  import type { VirtualElement } from '@floating-ui/dom';
@@ -324,21 +324,21 @@ declare const defaultInlinePopoverProps: Readonly<{
324
324
  onOpenChange: null;
325
325
  placement: "top";
326
326
  offset: 12;
327
+ shift: true;
327
328
  flip: true;
328
329
  hide: true;
329
330
  overlap: true;
330
331
  inline: true;
332
+ overflowPadding: 8;
331
333
  hoist: true;
334
+ boundary: never[];
332
335
  strategy: "absolute";
333
336
  autoUpdate: true;
334
337
  transform: false;
335
- shift: false;
336
338
  fitViewport: false;
337
339
  sameWidth: false;
338
340
  sameHeight: false;
339
- boundary: "clippingAncestors";
340
341
  rootBoundary: "viewport";
341
- overflowPadding: 0;
342
342
  elementContext: "floating";
343
343
  altBoundary: true;
344
344
  }>;
@@ -373,19 +373,45 @@ declare const defaultResizableRootProps: {
373
373
  export { defaultResizableRootProps }
374
374
  export { defaultResizableRootProps as defaultResizableRootProps_alias_1 }
375
375
 
376
+ declare const defaultTooltipContentProps: {
377
+ shift: true;
378
+ flip: true;
379
+ offset: number;
380
+ overflowPadding: number;
381
+ hoist: true;
382
+ boundary: never[];
383
+ strategy: "absolute";
384
+ placement: "top";
385
+ autoUpdate: true;
386
+ transform: false;
387
+ overlap: false;
388
+ fitViewport: false;
389
+ sameWidth: false;
390
+ sameHeight: false;
391
+ inline: false;
392
+ hide: false;
393
+ rootBoundary: "viewport";
394
+ elementContext: "floating";
395
+ altBoundary: true;
396
+ };
376
397
  export { defaultTooltipContentProps }
377
398
  export { defaultTooltipContentProps as defaultTooltipContentProps_alias_1 }
378
399
 
379
400
  export { defaultTooltipRootProps }
380
401
  export { defaultTooltipRootProps as defaultTooltipRootProps_alias_1 }
381
402
 
382
- declare const defaultTooltipTriggerProps: {};
383
403
  export { defaultTooltipTriggerProps }
384
404
  export { defaultTooltipTriggerProps as defaultTooltipTriggerProps_alias_1 }
385
405
 
386
406
  export declare function defineCustomElement(name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions): void;
387
407
 
388
- export declare function defineElementHoverHandler(handler: ElementHoverHandler): Extension< {}>;
408
+ export declare function defineElementHoverHandler(handler: ElementHoverHandler): Extension< {
409
+ Nodes: any;
410
+ Marks: any;
411
+ Commands: {
412
+ [x: string]: any;
413
+ };
414
+ }>;
389
415
 
390
416
  export declare type ElementHoverHandler = (reference: VirtualElement | null, element: HTMLElement | null, node: ProseMirrorNode | null, pos: number | null) => void;
391
417
 
@@ -627,8 +653,6 @@ declare const TooltipTriggerElement_base: {
627
653
  prototype: HTMLElement;
628
654
  };
629
655
 
630
- declare interface TooltipTriggerProps {
631
- }
632
656
  export { TooltipTriggerProps }
633
657
  export { TooltipTriggerProps as TooltipTriggerProps_alias_1 }
634
658
 
@@ -670,7 +694,7 @@ export declare function useResizableHandle(host: ConnectableElement, props?: Par
670
694
 
671
695
  export declare function useResizableRoot(host: ConnectableElement, props?: Partial<ResizableRootProps>): SignalState<Readonly<ResizableRootProps>>;
672
696
 
673
- export { useTooltipContent }
697
+ export declare function useTooltipContent(element: ConnectableElement, props?: Partial<TooltipContentProps>): SignalState<TooltipContentProps>;
674
698
 
675
699
  export { useTooltipRoot }
676
700
 
@@ -1,3 +1,6 @@
1
+ import {
2
+ useEditorExtension
3
+ } from "./chunk-VJEVDINM.js";
1
4
  import {
2
5
  defineCustomElement
3
6
  } from "./chunk-LCDA7GFP.js";
@@ -138,6 +141,9 @@ function useAutocompleteList(element, props) {
138
141
  };
139
142
  }
140
143
  });
144
+ useEffect2(element, () => {
145
+ element.tabIndex = -1;
146
+ });
141
147
  return { editor, filter };
142
148
  }
143
149
  function useKeyboardHandler(element, open, editor) {
@@ -208,10 +214,16 @@ import {
208
214
  createComputed,
209
215
  createSignal as createSignal3,
210
216
  mapSignals,
217
+ useAnimationFrame,
211
218
  useEffect as useEffect4
212
219
  } from "@aria-ui/core";
213
220
  import { useOverlayPositionerState } from "@aria-ui/overlay";
214
221
  import { usePresence } from "@aria-ui/presence";
222
+ import {
223
+ Priority as Priority2,
224
+ defineKeymap,
225
+ withPriority as withPriority2
226
+ } from "@prosekit/core";
215
227
  import {
216
228
  AutocompleteRule,
217
229
  defineAutocomplete
@@ -253,7 +265,7 @@ function useAutocompletePopoverState(host, state) {
253
265
  queryContext.provide(host, query);
254
266
  onSubmitContext.provide(host, onSubmit);
255
267
  openContext.provide(host, presence);
256
- useEscapeKeydown(host, createKeymapHandler(onDismiss, presence));
268
+ useEscapeKeydown(host, editor, createKeymapHandler(onDismiss, presence));
257
269
  useAutocompleteExtension(
258
270
  host,
259
271
  editor,
@@ -273,10 +285,15 @@ function useAutocompletePopoverState(host, state) {
273
285
  (_a = state.onQueryChange.peek()) == null ? void 0 : _a(queryValue);
274
286
  }
275
287
  });
276
- useEffect4(host, () => {
277
- var _a;
288
+ useAnimationFrame(host, () => {
278
289
  const presenceValue = presence.value;
279
- (_a = state.onOpenChange.peek()) == null ? void 0 : _a(presenceValue);
290
+ const onOpenChangeValue = state.onOpenChange.peek();
291
+ if (!onOpenChangeValue) {
292
+ return;
293
+ }
294
+ return () => {
295
+ onOpenChangeValue(presenceValue);
296
+ };
280
297
  });
281
298
  }
282
299
  function useAutocompleteExtension(host, editor, regex, reference, query, onDismiss, onSubmit) {
@@ -332,19 +349,10 @@ function createKeymapHandler(handler, enabled) {
332
349
  return true;
333
350
  };
334
351
  }
335
- function useEscapeKeydown(host, handler) {
336
- useEffect4(host, () => {
337
- const handleKeyDown = (event) => {
338
- if (event.key !== "Escape") {
339
- return;
340
- }
341
- if (handler()) {
342
- event.preventDefault();
343
- }
344
- };
345
- document.addEventListener("keydown", handleKeyDown);
346
- return () => document.removeEventListener("keydown", handleKeyDown);
347
- });
352
+ function useEscapeKeydown(host, editor, handler) {
353
+ const keymap = { Escape: handler };
354
+ const extension = withPriority2(defineKeymap(keymap), Priority2.highest);
355
+ return useEditorExtension(host, editor, extension);
348
356
  }
349
357
 
350
358
  // src/components/autocomplete/autocomplete-popover/element.gen.ts
@@ -17,11 +17,15 @@ var defaultInlinePopoverProps = Object.freeze({
17
17
  onOpenChange: null,
18
18
  placement: "top",
19
19
  offset: 12,
20
+ shift: true,
20
21
  flip: true,
21
22
  hide: true,
22
23
  overlap: true,
23
24
  inline: true,
24
- hoist: true
25
+ overflowPadding: 8,
26
+ // Don't need boundary when hoist is true.
27
+ hoist: true,
28
+ boundary: []
25
29
  });
26
30
 
27
31
  // src/components/inline-popover/inline-popover/state.ts
@@ -6,10 +6,24 @@ import {
6
6
  import { ElementMixin } from "@aria-ui/core";
7
7
 
8
8
  // src/components/tooltip/tooltip-content/props.ts
9
- import { defaultTooltipContentProps } from "@aria-ui/tooltip";
9
+ import { defaultTooltipContentProps as defaultProps } from "@aria-ui/tooltip";
10
+ var defaultTooltipContentProps = {
11
+ ...defaultProps,
12
+ shift: true,
13
+ flip: true,
14
+ offset: 6,
15
+ overflowPadding: 4,
16
+ // Don't need boundary when hoist is true.
17
+ hoist: true,
18
+ boundary: []
19
+ };
10
20
 
11
21
  // src/components/tooltip/tooltip-content/state.ts
12
- import { useTooltipContent } from "@aria-ui/tooltip";
22
+ import { assignProps } from "@aria-ui/core";
23
+ import { useTooltipContent as useElement } from "@aria-ui/tooltip";
24
+ function useTooltipContent(element, props) {
25
+ return useElement(element, assignProps(defaultTooltipContentProps, props));
26
+ }
13
27
 
14
28
  // src/components/tooltip/tooltip-content/element.gen.ts
15
29
  var TooltipContentElement = class extends ElementMixin(useTooltipContent, defaultTooltipContentProps) {
@@ -34,7 +48,7 @@ defineCustomElement("prosekit-tooltip-root", TooltipRootElement);
34
48
  import { ElementMixin as ElementMixin3 } from "@aria-ui/core";
35
49
 
36
50
  // src/components/tooltip/tooltip-trigger/props.ts
37
- var defaultTooltipTriggerProps = {};
51
+ import { defaultTooltipTriggerProps } from "@aria-ui/tooltip";
38
52
 
39
53
  // src/components/tooltip/tooltip-trigger/state.ts
40
54
  import { useTooltipTrigger } from "@aria-ui/tooltip";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@prosekit/web",
3
3
  "type": "module",
4
- "version": "0.1.6",
4
+ "version": "0.1.8",
5
5
  "private": false,
6
6
  "author": {
7
7
  "name": "ocavue",
@@ -68,21 +68,21 @@
68
68
  "@aria-ui/collection": "^0.0.3",
69
69
  "@aria-ui/core": "^0.0.14",
70
70
  "@aria-ui/listbox": "^0.0.13",
71
- "@aria-ui/overlay": "^0.0.14",
72
- "@aria-ui/popover": "^0.0.13",
71
+ "@aria-ui/overlay": "^0.0.15",
72
+ "@aria-ui/popover": "^0.0.14",
73
73
  "@aria-ui/presence": "^0.0.9",
74
- "@aria-ui/tooltip": "^0.0.15",
74
+ "@aria-ui/tooltip": "^0.0.16",
75
75
  "@floating-ui/dom": "^1.6.5",
76
- "@prosekit/core": "^0.5.0",
77
- "@prosekit/extensions": "^0.5.0",
78
- "@prosekit/pm": "^0.1.3",
79
- "@zag-js/dom-query": "^0.49.0"
76
+ "@prosekit/core": "^0.5.2",
77
+ "@prosekit/extensions": "^0.5.1",
78
+ "@prosekit/pm": "^0.1.4",
79
+ "@zag-js/dom-query": "^0.51.2"
80
80
  },
81
81
  "devDependencies": {
82
- "@prosekit/dev": "*",
83
82
  "tsup": "^8.0.2",
84
83
  "typescript": "^5.4.5",
85
- "vitest": "^1.6.0"
84
+ "vitest": "^1.6.0",
85
+ "@prosekit/dev": "0.0.0"
86
86
  },
87
87
  "scripts": {
88
88
  "build:tsup": "tsup",