@prosekit/preact 0.6.8 → 0.7.0-beta.1
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.
- package/dist/prosekit-preact-autocomplete.d.ts +226 -18
- package/dist/prosekit-preact-autocomplete.d.ts.map +1 -1
- package/dist/prosekit-preact-autocomplete.js +218 -9
- package/dist/prosekit-preact-autocomplete.js.map +1 -1
- package/dist/prosekit-preact-block-handle.d.ts +210 -14
- package/dist/prosekit-preact-block-handle.d.ts.map +1 -1
- package/dist/prosekit-preact-block-handle.js +184 -7
- package/dist/prosekit-preact-block-handle.js.map +1 -1
- package/dist/prosekit-preact-drop-indicator.d.ts +27 -6
- package/dist/prosekit-preact-drop-indicator.d.ts.map +1 -1
- package/dist/prosekit-preact-drop-indicator.js +38 -3
- package/dist/prosekit-preact-drop-indicator.js.map +1 -1
- package/dist/prosekit-preact-inline-popover.d.ts +204 -8
- package/dist/prosekit-preact-inline-popover.d.ts.map +1 -1
- package/dist/prosekit-preact-inline-popover.js +130 -5
- package/dist/prosekit-preact-inline-popover.js.map +1 -1
- package/dist/prosekit-preact-menu.d.ts +288 -0
- package/dist/prosekit-preact-menu.d.ts.map +1 -0
- package/dist/prosekit-preact-menu.js +274 -0
- package/dist/prosekit-preact-menu.js.map +1 -0
- package/dist/prosekit-preact-popover.d.ts +227 -14
- package/dist/prosekit-preact-popover.d.ts.map +1 -1
- package/dist/prosekit-preact-popover.js +170 -7
- package/dist/prosekit-preact-popover.js.map +1 -1
- package/dist/prosekit-preact-resizable.d.ts +56 -12
- package/dist/prosekit-preact-resizable.d.ts.map +1 -1
- package/dist/prosekit-preact-resizable.js +80 -7
- package/dist/prosekit-preact-resizable.js.map +1 -1
- package/dist/prosekit-preact-table-handle.d.ts +447 -38
- package/dist/prosekit-preact-table-handle.d.ts.map +1 -1
- package/dist/prosekit-preact-table-handle.js +381 -19
- package/dist/prosekit-preact-table-handle.js.map +1 -1
- package/dist/prosekit-preact-tooltip.d.ts +211 -14
- package/dist/prosekit-preact-tooltip.d.ts.map +1 -1
- package/dist/prosekit-preact-tooltip.js +157 -7
- package/dist/prosekit-preact-tooltip.js.map +1 -1
- package/package.json +27 -16
- package/src/components/autocomplete/autocomplete-empty.gen.ts +41 -31
- package/src/components/autocomplete/autocomplete-item.gen.ts +84 -31
- package/src/components/autocomplete/autocomplete-popup.gen.ts +80 -0
- package/src/components/autocomplete/autocomplete-positioner.gen.ts +153 -0
- package/src/components/autocomplete/autocomplete-root.gen.ts +109 -0
- package/src/components/autocomplete/index.gen.ts +12 -4
- package/src/components/autocomplete/index.ts +27 -0
- package/src/components/block-handle/block-handle-add.gen.ts +59 -31
- package/src/components/block-handle/block-handle-draggable.gen.ts +59 -31
- package/src/components/block-handle/block-handle-popup.gen.ts +44 -0
- package/src/components/block-handle/block-handle-positioner.gen.ts +171 -0
- package/src/components/block-handle/block-handle-root.gen.ts +84 -0
- package/src/components/block-handle/index.gen.ts +13 -3
- package/src/components/block-handle/index.ts +27 -0
- package/src/components/drop-indicator/drop-indicator.gen.ts +65 -31
- package/src/components/drop-indicator/index.gen.ts +5 -1
- package/src/components/drop-indicator/index.ts +14 -0
- package/src/components/inline-popover/index.gen.ts +11 -1
- package/src/components/inline-popover/index.ts +22 -0
- package/src/components/inline-popover/inline-popover-popup.gen.ts +44 -0
- package/src/components/inline-popover/inline-popover-positioner.gen.ts +177 -0
- package/src/components/inline-popover/inline-popover-root.gen.ts +108 -0
- package/src/components/menu/index.gen.ts +19 -0
- package/src/components/menu/index.ts +37 -0
- package/src/components/menu/menu-item.gen.ts +91 -0
- package/src/components/menu/menu-popup.gen.ts +58 -0
- package/src/components/menu/menu-positioner.gen.ts +178 -0
- package/src/components/menu/menu-root.gen.ts +88 -0
- package/src/components/menu/menu-submenu-root.gen.ts +44 -0
- package/src/components/menu/menu-submenu-trigger.gen.ts +44 -0
- package/src/components/menu/menu-trigger.gen.ts +79 -0
- package/src/components/popover/index.gen.ts +11 -3
- package/src/components/popover/index.ts +24 -0
- package/src/components/popover/popover-popup.gen.ts +44 -0
- package/src/components/popover/popover-positioner.gen.ts +178 -0
- package/src/components/popover/popover-root.gen.ts +92 -31
- package/src/components/popover/popover-trigger.gen.ts +92 -31
- package/src/components/resizable/index.gen.ts +8 -2
- package/src/components/resizable/index.ts +20 -0
- package/src/components/resizable/resizable-handle.gen.ts +54 -31
- package/src/components/resizable/resizable-root.gen.ts +90 -31
- package/src/components/table-handle/index.gen.ts +17 -9
- package/src/components/table-handle/index.ts +58 -0
- package/src/components/table-handle/table-handle-column-menu-root.gen.ts +66 -0
- package/src/components/table-handle/table-handle-column-menu-trigger.gen.ts +60 -0
- package/src/components/table-handle/table-handle-column-popup.gen.ts +44 -0
- package/src/components/table-handle/table-handle-column-positioner.gen.ts +201 -0
- package/src/components/table-handle/table-handle-drag-preview.gen.ts +57 -31
- package/src/components/table-handle/table-handle-drop-indicator.gen.ts +57 -31
- package/src/components/table-handle/table-handle-root.gen.ts +59 -31
- package/src/components/table-handle/table-handle-row-menu-root.gen.ts +66 -0
- package/src/components/table-handle/table-handle-row-menu-trigger.gen.ts +60 -0
- package/src/components/table-handle/table-handle-row-popup.gen.ts +44 -0
- package/src/components/table-handle/table-handle-row-positioner.gen.ts +201 -0
- package/src/components/tooltip/index.gen.ts +11 -3
- package/src/components/tooltip/index.ts +24 -0
- package/src/components/tooltip/tooltip-popup.gen.ts +44 -0
- package/src/components/tooltip/tooltip-positioner.gen.ts +178 -0
- package/src/components/tooltip/tooltip-root.gen.ts +85 -31
- package/src/components/tooltip/tooltip-trigger.gen.ts +63 -31
- package/src/extensions/preact-node-view.spec.ts +151 -0
- package/dist/create-component.js +0 -95
- package/dist/create-component.js.map +0 -1
- package/dist/create-props.d.ts +0 -6
- package/dist/create-props.d.ts.map +0 -1
- package/src/components/autocomplete/autocomplete-list.gen.ts +0 -34
- package/src/components/autocomplete/autocomplete-popover.gen.ts +0 -34
- package/src/components/block-handle/block-handle-popover.gen.ts +0 -34
- package/src/components/create-component.ts +0 -123
- package/src/components/create-props.ts +0 -13
- package/src/components/inline-popover/inline-popover.gen.ts +0 -34
- package/src/components/merge-refs.ts +0 -35
- package/src/components/popover/popover-content.gen.ts +0 -34
- package/src/components/table-handle/table-handle-column-root.gen.ts +0 -34
- package/src/components/table-handle/table-handle-column-trigger.gen.ts +0 -34
- package/src/components/table-handle/table-handle-popover-content.gen.ts +0 -34
- package/src/components/table-handle/table-handle-popover-item.gen.ts +0 -34
- package/src/components/table-handle/table-handle-row-root.gen.ts +0 -34
- package/src/components/table-handle/table-handle-row-trigger.gen.ts +0 -34
- package/src/components/tooltip/tooltip-content.gen.ts +0 -34
|
@@ -1,34 +1,95 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
} from '
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
/**
|
|
2
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { registerPopoverTriggerElement, type PopoverTriggerElement, type PopoverTriggerProps as PopoverTriggerElementProps, type PopoverTriggerEvents } from '@prosekit/web/popover';
|
|
6
|
+
import { createElement, type HTMLAttributes, type Ref } from 'preact';
|
|
7
|
+
import { forwardRef, type ForwardRefExoticComponent, type RefAttributes } from 'preact/compat';
|
|
8
|
+
import { useCallback, useRef, useLayoutEffect } from 'preact/hooks';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Props for the {@link PopoverTrigger} Preact component.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export interface PopoverTriggerProps extends HTMLAttributes<PopoverTriggerElement> {
|
|
16
|
+
/**
|
|
17
|
+
* Whether the component should ignore user interaction.
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
20
|
+
disabled?: PopoverTriggerElementProps['disabled'];
|
|
21
|
+
/**
|
|
22
|
+
* Whether the popover should also open when the trigger is hovered.
|
|
23
|
+
* @default false
|
|
24
|
+
*/
|
|
25
|
+
openOnHover?: PopoverTriggerElementProps['openOnHover'];
|
|
26
|
+
/**
|
|
27
|
+
* The delay in milliseconds before opening the popover when hovering.
|
|
28
|
+
* Only applies when `openOnHover` is true.
|
|
29
|
+
* @default 300
|
|
30
|
+
*/
|
|
31
|
+
delay?: PopoverTriggerElementProps['delay'];
|
|
32
|
+
/**
|
|
33
|
+
* The delay in milliseconds before closing the popover when hover ends.
|
|
34
|
+
* Only applies when `openOnHover` is true.
|
|
35
|
+
* @default 0
|
|
36
|
+
*/
|
|
37
|
+
closeDelay?: PopoverTriggerElementProps['closeDelay'];
|
|
38
|
+
/** Emitted when the popover is opened or closed. */
|
|
39
|
+
onOpenChange?: (event: PopoverTriggerEvents['openChange']) => void;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function PopoverTriggerComponent(props: PopoverTriggerProps, forwardedRef: Ref<PopoverTriggerElement>) {
|
|
43
|
+
registerPopoverTriggerElement();
|
|
44
|
+
|
|
45
|
+
const elementRef = useRef<PopoverTriggerElement>(null);
|
|
46
|
+
const handlersRef = useRef<Array<((event: Event) => void) | undefined>>([]);
|
|
47
|
+
|
|
48
|
+
const { closeDelay: p0, delay: p1, disabled: p2, openOnHover: p3, onOpenChange: e0, ...restProps } = props;
|
|
49
|
+
|
|
50
|
+
useLayoutEffect(() => {
|
|
51
|
+
const element = elementRef.current as Record<string, unknown> | null;
|
|
52
|
+
if (!element) return;
|
|
53
|
+
Object.assign(element, { closeDelay: p0, delay: p1, disabled: p2, openOnHover: p3 });
|
|
54
|
+
handlersRef.current = [e0] as Array<((event: Event) => void) | undefined>;
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
useLayoutEffect(() => {
|
|
58
|
+
const element = elementRef.current;
|
|
59
|
+
if (!element) return;
|
|
60
|
+
const ac = new AbortController();
|
|
61
|
+
for (const [index, eventName] of ['openChange'].entries()) {
|
|
62
|
+
element.addEventListener(
|
|
63
|
+
eventName,
|
|
64
|
+
(event: Event) => {
|
|
65
|
+
handlersRef.current[index]?.(event);
|
|
66
|
+
},
|
|
67
|
+
{ signal: ac.signal },
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
return () => ac.abort();
|
|
71
|
+
}, []);
|
|
72
|
+
|
|
73
|
+
const mergedRef = useCallback(
|
|
74
|
+
(element: PopoverTriggerElement | null) => {
|
|
75
|
+
elementRef.current = element;
|
|
76
|
+
if (typeof forwardedRef === 'function') {
|
|
77
|
+
forwardedRef(element);
|
|
78
|
+
} else if (forwardedRef) {
|
|
79
|
+
forwardedRef.current = element;
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
[forwardedRef],
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
return createElement('prosekit-popover-trigger', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
|
|
86
|
+
}
|
|
16
87
|
|
|
17
88
|
/**
|
|
18
|
-
*
|
|
89
|
+
* A Preact component that renders an `prosekit-popover-trigger` custom element.
|
|
90
|
+
*
|
|
91
|
+
* @public
|
|
19
92
|
*/
|
|
20
|
-
export
|
|
21
|
-
|
|
22
|
-
export
|
|
23
|
-
Partial<PopoverTriggerProps> &
|
|
24
|
-
RefAttributes<PopoverTriggerElement> &
|
|
25
|
-
HTMLAttributes<PopoverTriggerElement>
|
|
26
|
-
> = createComponent<
|
|
27
|
-
PopoverTriggerProps,
|
|
28
|
-
PopoverTriggerElement
|
|
29
|
-
>(
|
|
30
|
-
'prosekit-popover-trigger',
|
|
31
|
-
'PopoverTrigger',
|
|
32
|
-
Object.keys(popoverTriggerProps),
|
|
33
|
-
Object.keys(popoverTriggerEvents),
|
|
34
|
-
)
|
|
93
|
+
export const PopoverTrigger: ForwardRefExoticComponent<PopoverTriggerProps & RefAttributes<PopoverTriggerElement>> = /* @__PURE__ */ forwardRef(PopoverTriggerComponent);
|
|
94
|
+
|
|
95
|
+
export type { PopoverTriggerEvents };
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
3
|
+
*/
|
|
2
4
|
|
|
3
|
-
export { ResizableRoot, type ResizableRootProps } from './resizable-root.gen.ts'
|
|
5
|
+
export { ResizableRoot, type ResizableRootProps, type ResizableRootEvents } from './resizable-root.gen.ts';
|
|
6
|
+
|
|
7
|
+
export { ResizableHandle, type ResizableHandleProps } from './resizable-handle.gen.ts';
|
|
8
|
+
|
|
9
|
+
export { ResizeEndEvent, ResizeStartEvent } from '@prosekit/web/resizable';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
|
|
3
|
+
@module
|
|
4
|
+
|
|
5
|
+
## Anatomy
|
|
6
|
+
|
|
7
|
+
```jsx
|
|
8
|
+
import {
|
|
9
|
+
ResizableHandle,
|
|
10
|
+
ResizableRoot,
|
|
11
|
+
} from 'prosekit/preact/resizable'
|
|
12
|
+
|
|
13
|
+
<ResizableRoot>
|
|
14
|
+
<img src="..." />
|
|
15
|
+
<ResizableHandle>...</ResizableHandle>
|
|
16
|
+
</ResizableRoot>
|
|
17
|
+
```
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
export * from './index.gen.ts'
|
|
@@ -1,34 +1,57 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
} from '
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
/**
|
|
2
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { registerResizableHandleElement, type ResizableHandleElement, type ResizableHandleProps as ResizableHandleElementProps } from '@prosekit/web/resizable';
|
|
6
|
+
import { createElement, type HTMLAttributes, type Ref } from 'preact';
|
|
7
|
+
import { forwardRef, type ForwardRefExoticComponent, type RefAttributes } from 'preact/compat';
|
|
8
|
+
import { useCallback, useRef, useLayoutEffect } from 'preact/hooks';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Props for the {@link ResizableHandle} Preact component.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export interface ResizableHandleProps extends HTMLAttributes<ResizableHandleElement> {
|
|
16
|
+
/**
|
|
17
|
+
* The position of the handle.
|
|
18
|
+
*
|
|
19
|
+
* @default "bottom-right"
|
|
20
|
+
*/
|
|
21
|
+
position?: ResizableHandleElementProps['position'];
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function ResizableHandleComponent(props: ResizableHandleProps, forwardedRef: Ref<ResizableHandleElement>) {
|
|
25
|
+
registerResizableHandleElement();
|
|
26
|
+
|
|
27
|
+
const elementRef = useRef<ResizableHandleElement>(null);
|
|
28
|
+
|
|
29
|
+
const { position: p0, ...restProps } = props;
|
|
30
|
+
|
|
31
|
+
useLayoutEffect(() => {
|
|
32
|
+
const element = elementRef.current as Record<string, unknown> | null;
|
|
33
|
+
if (!element) return;
|
|
34
|
+
Object.assign(element, { position: p0 });
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
const mergedRef = useCallback(
|
|
38
|
+
(element: ResizableHandleElement | null) => {
|
|
39
|
+
elementRef.current = element;
|
|
40
|
+
if (typeof forwardedRef === 'function') {
|
|
41
|
+
forwardedRef(element);
|
|
42
|
+
} else if (forwardedRef) {
|
|
43
|
+
forwardedRef.current = element;
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
[forwardedRef],
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
return createElement('prosekit-resizable-handle', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
|
|
50
|
+
}
|
|
16
51
|
|
|
17
52
|
/**
|
|
18
|
-
*
|
|
53
|
+
* A Preact component that renders an `prosekit-resizable-handle` custom element.
|
|
54
|
+
*
|
|
55
|
+
* @public
|
|
19
56
|
*/
|
|
20
|
-
export
|
|
21
|
-
|
|
22
|
-
export const ResizableHandle: ForwardRefExoticComponent<
|
|
23
|
-
Partial<ResizableHandleProps> &
|
|
24
|
-
RefAttributes<ResizableHandleElement> &
|
|
25
|
-
HTMLAttributes<ResizableHandleElement>
|
|
26
|
-
> = createComponent<
|
|
27
|
-
ResizableHandleProps,
|
|
28
|
-
ResizableHandleElement
|
|
29
|
-
>(
|
|
30
|
-
'prosekit-resizable-handle',
|
|
31
|
-
'ResizableHandle',
|
|
32
|
-
Object.keys(resizableHandleProps),
|
|
33
|
-
Object.keys(resizableHandleEvents),
|
|
34
|
-
)
|
|
57
|
+
export const ResizableHandle: ForwardRefExoticComponent<ResizableHandleProps & RefAttributes<ResizableHandleElement>> = /* @__PURE__ */ forwardRef(ResizableHandleComponent);
|
|
@@ -1,34 +1,93 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
} from '
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
/**
|
|
2
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { registerResizableRootElement, type ResizableRootElement, type ResizableRootProps as ResizableRootElementProps, type ResizableRootEvents } from '@prosekit/web/resizable';
|
|
6
|
+
import { createElement, type HTMLAttributes, type Ref } from 'preact';
|
|
7
|
+
import { forwardRef, type ForwardRefExoticComponent, type RefAttributes } from 'preact/compat';
|
|
8
|
+
import { useCallback, useRef, useLayoutEffect } from 'preact/hooks';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Props for the {@link ResizableRoot} Preact component.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export interface ResizableRootProps extends HTMLAttributes<ResizableRootElement> {
|
|
16
|
+
/**
|
|
17
|
+
* The width of the resizable element.
|
|
18
|
+
*
|
|
19
|
+
* @default null
|
|
20
|
+
*/
|
|
21
|
+
width?: ResizableRootElementProps['width'];
|
|
22
|
+
/**
|
|
23
|
+
* The height of the resizable element.
|
|
24
|
+
*
|
|
25
|
+
* @default null
|
|
26
|
+
*/
|
|
27
|
+
height?: ResizableRootElementProps['height'];
|
|
28
|
+
/**
|
|
29
|
+
* The aspect ratio of the resizable element.
|
|
30
|
+
*
|
|
31
|
+
* @default null
|
|
32
|
+
*/
|
|
33
|
+
aspectRatio?: ResizableRootElementProps['aspectRatio'];
|
|
34
|
+
/** Emitted when a resize operation starts. */
|
|
35
|
+
onResizeStart?: (event: ResizableRootEvents['resizeStart']) => void;
|
|
36
|
+
/** Emitted when a resize operation ends. */
|
|
37
|
+
onResizeEnd?: (event: ResizableRootEvents['resizeEnd']) => void;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function ResizableRootComponent(props: ResizableRootProps, forwardedRef: Ref<ResizableRootElement>) {
|
|
41
|
+
registerResizableRootElement();
|
|
42
|
+
|
|
43
|
+
const elementRef = useRef<ResizableRootElement>(null);
|
|
44
|
+
const handlersRef = useRef<Array<((event: Event) => void) | undefined>>([]);
|
|
45
|
+
|
|
46
|
+
const { aspectRatio: p0, height: p1, width: p2, onResizeEnd: e0, onResizeStart: e1, ...restProps } = props;
|
|
47
|
+
|
|
48
|
+
useLayoutEffect(() => {
|
|
49
|
+
const element = elementRef.current as Record<string, unknown> | null;
|
|
50
|
+
if (!element) return;
|
|
51
|
+
Object.assign(element, { aspectRatio: p0, height: p1, width: p2 });
|
|
52
|
+
handlersRef.current = [e0, e1] as Array<((event: Event) => void) | undefined>;
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
useLayoutEffect(() => {
|
|
56
|
+
const element = elementRef.current;
|
|
57
|
+
if (!element) return;
|
|
58
|
+
const ac = new AbortController();
|
|
59
|
+
for (const [index, eventName] of ['resizeEnd', 'resizeStart'].entries()) {
|
|
60
|
+
element.addEventListener(
|
|
61
|
+
eventName,
|
|
62
|
+
(event: Event) => {
|
|
63
|
+
handlersRef.current[index]?.(event);
|
|
64
|
+
},
|
|
65
|
+
{ signal: ac.signal },
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
return () => ac.abort();
|
|
69
|
+
}, []);
|
|
70
|
+
|
|
71
|
+
const mergedRef = useCallback(
|
|
72
|
+
(element: ResizableRootElement | null) => {
|
|
73
|
+
elementRef.current = element;
|
|
74
|
+
if (typeof forwardedRef === 'function') {
|
|
75
|
+
forwardedRef(element);
|
|
76
|
+
} else if (forwardedRef) {
|
|
77
|
+
forwardedRef.current = element;
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
[forwardedRef],
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
return createElement('prosekit-resizable-root', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
|
|
84
|
+
}
|
|
16
85
|
|
|
17
86
|
/**
|
|
18
|
-
*
|
|
87
|
+
* A Preact component that renders an `prosekit-resizable-root` custom element.
|
|
88
|
+
*
|
|
89
|
+
* @public
|
|
19
90
|
*/
|
|
20
|
-
export
|
|
21
|
-
|
|
22
|
-
export
|
|
23
|
-
Partial<ResizableRootProps> &
|
|
24
|
-
RefAttributes<ResizableRootElement> &
|
|
25
|
-
HTMLAttributes<ResizableRootElement>
|
|
26
|
-
> = createComponent<
|
|
27
|
-
ResizableRootProps,
|
|
28
|
-
ResizableRootElement
|
|
29
|
-
>(
|
|
30
|
-
'prosekit-resizable-root',
|
|
31
|
-
'ResizableRoot',
|
|
32
|
-
Object.keys(resizableRootProps),
|
|
33
|
-
Object.keys(resizableRootEvents),
|
|
34
|
-
)
|
|
91
|
+
export const ResizableRoot: ForwardRefExoticComponent<ResizableRootProps & RefAttributes<ResizableRootElement>> = /* @__PURE__ */ forwardRef(ResizableRootComponent);
|
|
92
|
+
|
|
93
|
+
export type { ResizableRootEvents };
|
|
@@ -1,17 +1,25 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
3
|
+
*/
|
|
2
4
|
|
|
3
|
-
export {
|
|
5
|
+
export { TableHandleColumnPopup, type TableHandleColumnPopupProps } from './table-handle-column-popup.gen.ts';
|
|
4
6
|
|
|
5
|
-
export {
|
|
7
|
+
export { TableHandleColumnPositioner, type TableHandleColumnPositionerProps } from './table-handle-column-positioner.gen.ts';
|
|
6
8
|
|
|
7
|
-
export {
|
|
9
|
+
export { TableHandleColumnMenuRoot, type TableHandleColumnMenuRootProps } from './table-handle-column-menu-root.gen.ts';
|
|
8
10
|
|
|
9
|
-
export {
|
|
11
|
+
export { TableHandleColumnMenuTrigger, type TableHandleColumnMenuTriggerProps } from './table-handle-column-menu-trigger.gen.ts';
|
|
10
12
|
|
|
11
|
-
export {
|
|
13
|
+
export { TableHandleDragPreview, type TableHandleDragPreviewProps } from './table-handle-drag-preview.gen.ts';
|
|
12
14
|
|
|
13
|
-
export {
|
|
15
|
+
export { TableHandleDropIndicator, type TableHandleDropIndicatorProps } from './table-handle-drop-indicator.gen.ts';
|
|
14
16
|
|
|
15
|
-
export {
|
|
17
|
+
export { TableHandleRoot, type TableHandleRootProps } from './table-handle-root.gen.ts';
|
|
16
18
|
|
|
17
|
-
export {
|
|
19
|
+
export { TableHandleRowPopup, type TableHandleRowPopupProps } from './table-handle-row-popup.gen.ts';
|
|
20
|
+
|
|
21
|
+
export { TableHandleRowPositioner, type TableHandleRowPositionerProps } from './table-handle-row-positioner.gen.ts';
|
|
22
|
+
|
|
23
|
+
export { TableHandleRowMenuRoot, type TableHandleRowMenuRootProps } from './table-handle-row-menu-root.gen.ts';
|
|
24
|
+
|
|
25
|
+
export { TableHandleRowMenuTrigger, type TableHandleRowMenuTriggerProps } from './table-handle-row-menu-trigger.gen.ts';
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
|
|
3
|
+
@module
|
|
4
|
+
|
|
5
|
+
## Anatomy
|
|
6
|
+
|
|
7
|
+
```jsx
|
|
8
|
+
import {
|
|
9
|
+
TableHandleColumnMenuRoot,
|
|
10
|
+
TableHandleColumnMenuTrigger,
|
|
11
|
+
TableHandleColumnPopup,
|
|
12
|
+
TableHandleColumnPositioner,
|
|
13
|
+
TableHandleDragPreview,
|
|
14
|
+
TableHandleDropIndicator,
|
|
15
|
+
TableHandleRoot,
|
|
16
|
+
TableHandleRowMenuRoot,
|
|
17
|
+
TableHandleRowMenuTrigger,
|
|
18
|
+
TableHandleRowPopup,
|
|
19
|
+
TableHandleRowPositioner,
|
|
20
|
+
} from 'prosekit/preact/table-handle'
|
|
21
|
+
import {
|
|
22
|
+
MenuItem,
|
|
23
|
+
MenuPopup,
|
|
24
|
+
MenuPositioner,
|
|
25
|
+
} from 'prosekit/preact/menu'
|
|
26
|
+
|
|
27
|
+
<TableHandleRoot>
|
|
28
|
+
<TableHandleDragPreview />
|
|
29
|
+
<TableHandleDropIndicator />
|
|
30
|
+
<TableHandleColumnPositioner>
|
|
31
|
+
<TableHandleColumnPopup>
|
|
32
|
+
<TableHandleColumnMenuRoot>
|
|
33
|
+
<TableHandleColumnMenuTrigger>...</TableHandleColumnMenuTrigger>
|
|
34
|
+
<MenuPositioner>
|
|
35
|
+
<MenuPopup>
|
|
36
|
+
<MenuItem>...</MenuItem>
|
|
37
|
+
</MenuPopup>
|
|
38
|
+
</MenuPositioner>
|
|
39
|
+
</TableHandleColumnMenuRoot>
|
|
40
|
+
</TableHandleColumnPopup>
|
|
41
|
+
</TableHandleColumnPositioner>
|
|
42
|
+
<TableHandleRowPositioner>
|
|
43
|
+
<TableHandleRowPopup>
|
|
44
|
+
<TableHandleRowMenuRoot>
|
|
45
|
+
<TableHandleRowMenuTrigger>...</TableHandleRowMenuTrigger>
|
|
46
|
+
<MenuPositioner>
|
|
47
|
+
<MenuPopup>
|
|
48
|
+
<MenuItem>...</MenuItem>
|
|
49
|
+
</MenuPopup>
|
|
50
|
+
</MenuPositioner>
|
|
51
|
+
</TableHandleRowMenuRoot>
|
|
52
|
+
</TableHandleRowPopup>
|
|
53
|
+
</TableHandleRowPositioner>
|
|
54
|
+
</TableHandleRoot>
|
|
55
|
+
```
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
export * from './index.gen.ts'
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { registerTableHandleColumnMenuRootElement, type TableHandleColumnMenuRootElement, type TableHandleColumnMenuRootProps as TableHandleColumnMenuRootElementProps } from '@prosekit/web/table-handle';
|
|
6
|
+
import { createElement, type HTMLAttributes, type Ref } from 'preact';
|
|
7
|
+
import { forwardRef, type ForwardRefExoticComponent, type RefAttributes } from 'preact/compat';
|
|
8
|
+
import { useCallback, useRef, useLayoutEffect } from 'preact/hooks';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Props for the {@link TableHandleColumnMenuRoot} Preact component.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export interface TableHandleColumnMenuRootProps extends HTMLAttributes<TableHandleColumnMenuRootElement> {
|
|
16
|
+
/**
|
|
17
|
+
* Whether the overlay is initially open.
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
20
|
+
defaultOpen?: TableHandleColumnMenuRootElementProps['defaultOpen'];
|
|
21
|
+
/**
|
|
22
|
+
* Whether the overlay is currently open.
|
|
23
|
+
* @default null
|
|
24
|
+
*/
|
|
25
|
+
open?: TableHandleColumnMenuRootElementProps['open'];
|
|
26
|
+
/**
|
|
27
|
+
* Whether the component should ignore user interaction.
|
|
28
|
+
* @default false
|
|
29
|
+
*/
|
|
30
|
+
disabled?: TableHandleColumnMenuRootElementProps['disabled'];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function TableHandleColumnMenuRootComponent(props: TableHandleColumnMenuRootProps, forwardedRef: Ref<TableHandleColumnMenuRootElement>) {
|
|
34
|
+
registerTableHandleColumnMenuRootElement();
|
|
35
|
+
|
|
36
|
+
const elementRef = useRef<TableHandleColumnMenuRootElement>(null);
|
|
37
|
+
|
|
38
|
+
const { defaultOpen: p0, disabled: p1, open: p2, ...restProps } = props;
|
|
39
|
+
|
|
40
|
+
useLayoutEffect(() => {
|
|
41
|
+
const element = elementRef.current as Record<string, unknown> | null;
|
|
42
|
+
if (!element) return;
|
|
43
|
+
Object.assign(element, { defaultOpen: p0, disabled: p1, open: p2 });
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
const mergedRef = useCallback(
|
|
47
|
+
(element: TableHandleColumnMenuRootElement | null) => {
|
|
48
|
+
elementRef.current = element;
|
|
49
|
+
if (typeof forwardedRef === 'function') {
|
|
50
|
+
forwardedRef(element);
|
|
51
|
+
} else if (forwardedRef) {
|
|
52
|
+
forwardedRef.current = element;
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
[forwardedRef],
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
return createElement('prosekit-table-handle-column-menu-root', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* A Preact component that renders an `prosekit-table-handle-column-menu-root` custom element.
|
|
63
|
+
*
|
|
64
|
+
* @public
|
|
65
|
+
*/
|
|
66
|
+
export const TableHandleColumnMenuRoot: ForwardRefExoticComponent<TableHandleColumnMenuRootProps & RefAttributes<TableHandleColumnMenuRootElement>> = /* @__PURE__ */ forwardRef(TableHandleColumnMenuRootComponent);
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { registerTableHandleColumnMenuTriggerElement, type TableHandleColumnMenuTriggerElement, type TableHandleColumnMenuTriggerProps as TableHandleColumnMenuTriggerElementProps } from '@prosekit/web/table-handle';
|
|
6
|
+
import { createElement, type HTMLAttributes, type Ref } from 'preact';
|
|
7
|
+
import { forwardRef, type ForwardRefExoticComponent, type RefAttributes } from 'preact/compat';
|
|
8
|
+
import { useCallback, useRef, useLayoutEffect } from 'preact/hooks';
|
|
9
|
+
|
|
10
|
+
import { useEditorContext } from '../../contexts/editor-context.ts';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Props for the {@link TableHandleColumnMenuTrigger} Preact component.
|
|
14
|
+
*
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export interface TableHandleColumnMenuTriggerProps extends HTMLAttributes<TableHandleColumnMenuTriggerElement> {
|
|
18
|
+
/**
|
|
19
|
+
* @default null
|
|
20
|
+
* @hidden
|
|
21
|
+
*/
|
|
22
|
+
editor?: TableHandleColumnMenuTriggerElementProps['editor'];
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function TableHandleColumnMenuTriggerComponent(props: TableHandleColumnMenuTriggerProps, forwardedRef: Ref<TableHandleColumnMenuTriggerElement>) {
|
|
26
|
+
registerTableHandleColumnMenuTriggerElement();
|
|
27
|
+
|
|
28
|
+
const elementRef = useRef<TableHandleColumnMenuTriggerElement>(null);
|
|
29
|
+
|
|
30
|
+
const p0Fallback = useEditorContext();
|
|
31
|
+
|
|
32
|
+
const { editor: p0, ...restProps } = props;
|
|
33
|
+
|
|
34
|
+
useLayoutEffect(() => {
|
|
35
|
+
const element = elementRef.current as Record<string, unknown> | null;
|
|
36
|
+
if (!element) return;
|
|
37
|
+
Object.assign(element, { editor: p0 ?? p0Fallback });
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
const mergedRef = useCallback(
|
|
41
|
+
(element: TableHandleColumnMenuTriggerElement | null) => {
|
|
42
|
+
elementRef.current = element;
|
|
43
|
+
if (typeof forwardedRef === 'function') {
|
|
44
|
+
forwardedRef(element);
|
|
45
|
+
} else if (forwardedRef) {
|
|
46
|
+
forwardedRef.current = element;
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
[forwardedRef],
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
return createElement('prosekit-table-handle-column-menu-trigger', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* A Preact component that renders an `prosekit-table-handle-column-menu-trigger` custom element.
|
|
57
|
+
*
|
|
58
|
+
* @public
|
|
59
|
+
*/
|
|
60
|
+
export const TableHandleColumnMenuTrigger: ForwardRefExoticComponent<TableHandleColumnMenuTriggerProps & RefAttributes<TableHandleColumnMenuTriggerElement>> = /* @__PURE__ */ forwardRef(TableHandleColumnMenuTriggerComponent);
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { registerTableHandleColumnPopupElement, type TableHandleColumnPopupElement } from '@prosekit/web/table-handle';
|
|
6
|
+
import { createElement, type HTMLAttributes, type Ref } from 'preact';
|
|
7
|
+
import { forwardRef, type ForwardRefExoticComponent, type RefAttributes } from 'preact/compat';
|
|
8
|
+
import { useCallback, useRef } from 'preact/hooks';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Props for the {@link TableHandleColumnPopup} Preact component.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export interface TableHandleColumnPopupProps extends HTMLAttributes<TableHandleColumnPopupElement> {}
|
|
16
|
+
|
|
17
|
+
function TableHandleColumnPopupComponent(props: TableHandleColumnPopupProps, forwardedRef: Ref<TableHandleColumnPopupElement>) {
|
|
18
|
+
registerTableHandleColumnPopupElement();
|
|
19
|
+
|
|
20
|
+
const elementRef = useRef<TableHandleColumnPopupElement>(null);
|
|
21
|
+
|
|
22
|
+
const { ...restProps } = props;
|
|
23
|
+
|
|
24
|
+
const mergedRef = useCallback(
|
|
25
|
+
(element: TableHandleColumnPopupElement | null) => {
|
|
26
|
+
elementRef.current = element;
|
|
27
|
+
if (typeof forwardedRef === 'function') {
|
|
28
|
+
forwardedRef(element);
|
|
29
|
+
} else if (forwardedRef) {
|
|
30
|
+
forwardedRef.current = element;
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
[forwardedRef],
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
return createElement('prosekit-table-handle-column-popup', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* A Preact component that renders an `prosekit-table-handle-column-popup` custom element.
|
|
41
|
+
*
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
export const TableHandleColumnPopup: ForwardRefExoticComponent<TableHandleColumnPopupProps & RefAttributes<TableHandleColumnPopupElement>> = /* @__PURE__ */ forwardRef(TableHandleColumnPopupComponent);
|