@prosekit/vue 0.7.0-beta.1 → 0.7.0-beta.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.
- package/dist/prosekit-vue-autocomplete.d.ts +216 -25
- package/dist/prosekit-vue-autocomplete.d.ts.map +1 -1
- package/dist/prosekit-vue-autocomplete.js +270 -9
- package/dist/prosekit-vue-autocomplete.js.map +1 -1
- package/dist/prosekit-vue-block-handle.d.ts +202 -19
- package/dist/prosekit-vue-block-handle.d.ts.map +1 -1
- package/dist/prosekit-vue-block-handle.js +211 -7
- package/dist/prosekit-vue-block-handle.js.map +1 -1
- package/dist/prosekit-vue-drop-indicator.d.ts +24 -8
- package/dist/prosekit-vue-drop-indicator.d.ts.map +1 -1
- package/dist/prosekit-vue-drop-indicator.js +36 -3
- package/dist/prosekit-vue-drop-indicator.js.map +1 -1
- package/dist/prosekit-vue-inline-popover.d.ts +200 -9
- package/dist/prosekit-vue-inline-popover.d.ts.map +1 -1
- package/dist/prosekit-vue-inline-popover.js +171 -5
- package/dist/prosekit-vue-inline-popover.js.map +1 -1
- package/dist/prosekit-vue-menu.d.ts +287 -0
- package/dist/prosekit-vue-menu.d.ts.map +1 -0
- package/dist/prosekit-vue-menu.js +313 -0
- package/dist/prosekit-vue-menu.js.map +1 -0
- package/dist/prosekit-vue-popover.d.ts +219 -19
- package/dist/prosekit-vue-popover.d.ts.map +1 -1
- package/dist/prosekit-vue-popover.js +222 -7
- package/dist/prosekit-vue-popover.js.map +1 -1
- package/dist/prosekit-vue-resizable.d.ts +50 -15
- package/dist/prosekit-vue-resizable.d.ts.map +1 -1
- package/dist/prosekit-vue-resizable.js +92 -7
- package/dist/prosekit-vue-resizable.js.map +1 -1
- package/dist/prosekit-vue-table-handle.d.ts +427 -55
- package/dist/prosekit-vue-table-handle.d.ts.map +1 -1
- package/dist/prosekit-vue-table-handle.js +455 -19
- package/dist/prosekit-vue-table-handle.js.map +1 -1
- package/dist/prosekit-vue-tooltip.d.ts +203 -19
- package/dist/prosekit-vue-tooltip.d.ts.map +1 -1
- package/dist/prosekit-vue-tooltip.js +202 -7
- package/dist/prosekit-vue-tooltip.js.map +1 -1
- package/package.json +24 -16
- package/src/components/autocomplete/autocomplete-empty.gen.ts +21 -25
- package/src/components/autocomplete/autocomplete-item.gen.ts +80 -26
- package/src/components/autocomplete/autocomplete-popup.gen.ts +80 -0
- package/src/components/autocomplete/autocomplete-positioner.gen.ts +149 -0
- package/src/components/autocomplete/autocomplete-root.gen.ts +112 -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 +51 -26
- package/src/components/block-handle/block-handle-draggable.gen.ts +51 -26
- package/src/components/block-handle/block-handle-popup.gen.ts +29 -0
- package/src/components/block-handle/block-handle-positioner.gen.ts +167 -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 +57 -26
- 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 +29 -0
- package/src/components/inline-popover/inline-popover-positioner.gen.ts +173 -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 +54 -0
- package/src/components/menu/menu-positioner.gen.ts +174 -0
- package/src/components/menu/menu-root.gen.ts +88 -0
- package/src/components/menu/menu-submenu-root.gen.ts +29 -0
- package/src/components/menu/menu-submenu-trigger.gen.ts +29 -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 +29 -0
- package/src/components/popover/popover-positioner.gen.ts +174 -0
- package/src/components/popover/popover-root.gen.ts +88 -26
- package/src/components/popover/popover-trigger.gen.ts +88 -26
- 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 +46 -26
- package/src/components/resizable/resizable-root.gen.ts +87 -26
- 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 +62 -0
- package/src/components/table-handle/table-handle-column-menu-trigger.gen.ts +56 -0
- package/src/components/table-handle/table-handle-column-popup.gen.ts +29 -0
- package/src/components/table-handle/table-handle-column-positioner.gen.ts +197 -0
- package/src/components/table-handle/table-handle-drag-preview.gen.ts +49 -26
- package/src/components/table-handle/table-handle-drop-indicator.gen.ts +49 -26
- package/src/components/table-handle/table-handle-root.gen.ts +51 -26
- package/src/components/table-handle/table-handle-row-menu-root.gen.ts +62 -0
- package/src/components/table-handle/table-handle-row-menu-trigger.gen.ts +56 -0
- package/src/components/table-handle/table-handle-row-popup.gen.ts +29 -0
- package/src/components/table-handle/table-handle-row-positioner.gen.ts +197 -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 +29 -0
- package/src/components/tooltip/tooltip-positioner.gen.ts +174 -0
- package/src/components/tooltip/tooltip-root.gen.ts +81 -26
- package/src/components/tooltip/tooltip-trigger.gen.ts +55 -26
- package/dist/create-component.js +0 -45
- package/dist/create-component.js.map +0 -1
- package/dist/create-emits.d.ts +0 -5
- package/dist/create-emits.d.ts.map +0 -1
- package/src/components/autocomplete/autocomplete-list.gen.ts +0 -33
- package/src/components/autocomplete/autocomplete-popover.gen.ts +0 -33
- package/src/components/block-handle/block-handle-popover.gen.ts +0 -33
- package/src/components/create-component.ts +0 -84
- package/src/components/create-emits.ts +0 -8
- package/src/components/inline-popover/inline-popover.gen.ts +0 -33
- package/src/components/popover/popover-content.gen.ts +0 -33
- package/src/components/table-handle/table-handle-column-root.gen.ts +0 -33
- package/src/components/table-handle/table-handle-column-trigger.gen.ts +0 -33
- package/src/components/table-handle/table-handle-popover-content.gen.ts +0 -33
- package/src/components/table-handle/table-handle-popover-item.gen.ts +0 -33
- package/src/components/table-handle/table-handle-row-root.gen.ts +0 -33
- package/src/components/table-handle/table-handle-row-trigger.gen.ts +0 -33
- package/src/components/tooltip/tooltip-content.gen.ts +0 -33
|
@@ -1,33 +1,94 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
type ResizableRootProps as Props,
|
|
5
|
-
type ResizableRootEvents as Events,
|
|
6
|
-
} from '@prosekit/web/resizable'
|
|
7
|
-
import type { DefineSetupFnComponent, HTMLAttributes } from 'vue'
|
|
1
|
+
/**
|
|
2
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
3
|
+
*/
|
|
8
4
|
|
|
9
|
-
import {
|
|
10
|
-
import type
|
|
5
|
+
import { registerResizableRootElement, type ResizableRootEvents, type ResizableRootProps as ResizableRootElementProps } from '@prosekit/web/resizable';
|
|
6
|
+
import { defineComponent, h, type DefineSetupFnComponent, type HTMLAttributes, shallowRef, computed, watchEffect } from 'vue';
|
|
11
7
|
|
|
12
8
|
/**
|
|
13
|
-
* Props for the {@link ResizableRoot} component.
|
|
9
|
+
* Props for the {@link ResizableRoot} Vue component.
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
14
12
|
*/
|
|
15
|
-
export interface ResizableRootProps
|
|
13
|
+
export interface ResizableRootProps {
|
|
14
|
+
/**
|
|
15
|
+
* The width of the resizable element.
|
|
16
|
+
*
|
|
17
|
+
* @default null
|
|
18
|
+
*/
|
|
19
|
+
width?: ResizableRootElementProps['width'];
|
|
20
|
+
/**
|
|
21
|
+
* The height of the resizable element.
|
|
22
|
+
*
|
|
23
|
+
* @default null
|
|
24
|
+
*/
|
|
25
|
+
height?: ResizableRootElementProps['height'];
|
|
26
|
+
/**
|
|
27
|
+
* The aspect ratio of the resizable element.
|
|
28
|
+
*
|
|
29
|
+
* @default null
|
|
30
|
+
*/
|
|
31
|
+
aspectRatio?: ResizableRootElementProps['aspectRatio'];
|
|
32
|
+
/** Emitted when a resize operation starts. */
|
|
33
|
+
onResizeStart?: (event: ResizableRootEvents['resizeStart']) => void;
|
|
34
|
+
/** Emitted when a resize operation ends. */
|
|
35
|
+
onResizeEnd?: (event: ResizableRootEvents['resizeEnd']) => void;
|
|
36
|
+
}
|
|
16
37
|
|
|
17
38
|
/**
|
|
18
|
-
*
|
|
39
|
+
* A Vue component that renders an `prosekit-resizable-root` custom element.
|
|
40
|
+
*
|
|
41
|
+
* @public
|
|
19
42
|
*/
|
|
20
|
-
export
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
)
|
|
43
|
+
export const ResizableRoot: DefineSetupFnComponent<ResizableRootProps & HTMLAttributes> = /* @__PURE__ */ defineComponent<ResizableRootProps & HTMLAttributes>(
|
|
44
|
+
(props, { slots }) => {
|
|
45
|
+
registerResizableRootElement();
|
|
46
|
+
|
|
47
|
+
const elementRef = shallowRef<HTMLElement | null>(null);
|
|
48
|
+
|
|
49
|
+
const splittedProps = computed(() => {
|
|
50
|
+
const { aspectRatio: p0, height: p1, width: p2, onResizeEnd: e0, onResizeStart: e1, ...restProps } = props;
|
|
51
|
+
return [[p0, p1, p2, e0, e1], restProps] as const;
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
const handlers: Array<((event: any) => void) | undefined> = [];
|
|
55
|
+
|
|
56
|
+
watchEffect(() => {
|
|
57
|
+
const element = elementRef.value;
|
|
58
|
+
if (!element) return;
|
|
59
|
+
|
|
60
|
+
const [p0, p1, p2, e0, e1] = splittedProps.value[0];
|
|
61
|
+
|
|
62
|
+
Object.assign(element, { aspectRatio: p0, height: p1, width: p2 });
|
|
63
|
+
|
|
64
|
+
handlers.length = 0;
|
|
65
|
+
handlers.push(e0);
|
|
66
|
+
handlers.push(e1);
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
watchEffect(() => {
|
|
70
|
+
const element = elementRef.value;
|
|
71
|
+
if (!element) return;
|
|
72
|
+
|
|
73
|
+
const ac = new AbortController();
|
|
74
|
+
for (const [index, eventName] of ['resizeEnd', 'resizeStart'].entries()) {
|
|
75
|
+
element.addEventListener(
|
|
76
|
+
eventName,
|
|
77
|
+
(event: Event) => {
|
|
78
|
+
handlers[index]?.(event);
|
|
79
|
+
},
|
|
80
|
+
{ signal: ac.signal },
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
return () => ac.abort();
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
return () => {
|
|
87
|
+
const restProps = splittedProps.value[1];
|
|
88
|
+
return h('prosekit-resizable-root', { ...restProps, ref: elementRef }, slots.default?.());
|
|
89
|
+
};
|
|
90
|
+
},
|
|
91
|
+
{ props: ['aspectRatio', 'height', 'width', 'onResizeEnd', 'onResizeStart'] },
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
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/vue/table-handle'
|
|
21
|
+
import {
|
|
22
|
+
MenuItem,
|
|
23
|
+
MenuPopup,
|
|
24
|
+
MenuPositioner,
|
|
25
|
+
} from 'prosekit/vue/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,62 @@
|
|
|
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 TableHandleColumnMenuRootProps as TableHandleColumnMenuRootElementProps } from '@prosekit/web/table-handle';
|
|
6
|
+
import { defineComponent, h, type DefineSetupFnComponent, type HTMLAttributes, shallowRef, computed, watchEffect } from 'vue';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Props for the {@link TableHandleColumnMenuRoot} Vue component.
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export interface TableHandleColumnMenuRootProps {
|
|
14
|
+
/**
|
|
15
|
+
* Whether the overlay is initially open.
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
defaultOpen?: TableHandleColumnMenuRootElementProps['defaultOpen'];
|
|
19
|
+
/**
|
|
20
|
+
* Whether the overlay is currently open.
|
|
21
|
+
* @default null
|
|
22
|
+
*/
|
|
23
|
+
open?: TableHandleColumnMenuRootElementProps['open'];
|
|
24
|
+
/**
|
|
25
|
+
* Whether the component should ignore user interaction.
|
|
26
|
+
* @default false
|
|
27
|
+
*/
|
|
28
|
+
disabled?: TableHandleColumnMenuRootElementProps['disabled'];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* A Vue component that renders an `prosekit-table-handle-column-menu-root` custom element.
|
|
33
|
+
*
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
export const TableHandleColumnMenuRoot: DefineSetupFnComponent<TableHandleColumnMenuRootProps & HTMLAttributes> = /* @__PURE__ */ defineComponent<TableHandleColumnMenuRootProps & HTMLAttributes>(
|
|
37
|
+
(props, { slots }) => {
|
|
38
|
+
registerTableHandleColumnMenuRootElement();
|
|
39
|
+
|
|
40
|
+
const elementRef = shallowRef<HTMLElement | null>(null);
|
|
41
|
+
|
|
42
|
+
const splittedProps = computed(() => {
|
|
43
|
+
const { defaultOpen: p0, disabled: p1, open: p2, ...restProps } = props;
|
|
44
|
+
return [[p0, p1, p2], restProps] as const;
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
watchEffect(() => {
|
|
48
|
+
const element = elementRef.value;
|
|
49
|
+
if (!element) return;
|
|
50
|
+
|
|
51
|
+
const [p0, p1, p2] = splittedProps.value[0];
|
|
52
|
+
|
|
53
|
+
Object.assign(element, { defaultOpen: p0, disabled: p1, open: p2 });
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
return () => {
|
|
57
|
+
const restProps = splittedProps.value[1];
|
|
58
|
+
return h('prosekit-table-handle-column-menu-root', { ...restProps, ref: elementRef }, slots.default?.());
|
|
59
|
+
};
|
|
60
|
+
},
|
|
61
|
+
{ props: ['defaultOpen', 'disabled', 'open'] },
|
|
62
|
+
);
|
|
@@ -0,0 +1,56 @@
|
|
|
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 TableHandleColumnMenuTriggerProps as TableHandleColumnMenuTriggerElementProps } from '@prosekit/web/table-handle';
|
|
6
|
+
import { defineComponent, h, type DefineSetupFnComponent, type HTMLAttributes, shallowRef, computed, watchEffect } from 'vue';
|
|
7
|
+
|
|
8
|
+
import { useEditorContext } from '../../injection/editor-context.ts';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Props for the {@link TableHandleColumnMenuTrigger} Vue component.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export interface TableHandleColumnMenuTriggerProps {
|
|
16
|
+
/**
|
|
17
|
+
* @default null
|
|
18
|
+
* @hidden
|
|
19
|
+
*/
|
|
20
|
+
editor?: TableHandleColumnMenuTriggerElementProps['editor'];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* A Vue component that renders an `prosekit-table-handle-column-menu-trigger` custom element.
|
|
25
|
+
*
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
export const TableHandleColumnMenuTrigger: DefineSetupFnComponent<TableHandleColumnMenuTriggerProps & HTMLAttributes> = /* @__PURE__ */ defineComponent<TableHandleColumnMenuTriggerProps & HTMLAttributes>(
|
|
29
|
+
(props, { slots }) => {
|
|
30
|
+
registerTableHandleColumnMenuTriggerElement();
|
|
31
|
+
|
|
32
|
+
const elementRef = shallowRef<HTMLElement | null>(null);
|
|
33
|
+
|
|
34
|
+
const p0Fallback = useEditorContext();
|
|
35
|
+
|
|
36
|
+
const splittedProps = computed(() => {
|
|
37
|
+
const { editor: p0, ...restProps } = props;
|
|
38
|
+
return [[p0], restProps] as const;
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
watchEffect(() => {
|
|
42
|
+
const element = elementRef.value;
|
|
43
|
+
if (!element) return;
|
|
44
|
+
|
|
45
|
+
const [p0] = splittedProps.value[0];
|
|
46
|
+
|
|
47
|
+
Object.assign(element, { editor: p0 ?? p0Fallback });
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
return () => {
|
|
51
|
+
const restProps = splittedProps.value[1];
|
|
52
|
+
return h('prosekit-table-handle-column-menu-trigger', { ...restProps, ref: elementRef }, slots.default?.());
|
|
53
|
+
};
|
|
54
|
+
},
|
|
55
|
+
{ props: ['editor'] },
|
|
56
|
+
);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { registerTableHandleColumnPopupElement } from '@prosekit/web/table-handle';
|
|
6
|
+
import { defineComponent, h, type DefineSetupFnComponent, type HTMLAttributes } from 'vue';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Props for the {@link TableHandleColumnPopup} Vue component.
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export interface TableHandleColumnPopupProps {}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* A Vue component that renders an `prosekit-table-handle-column-popup` custom element.
|
|
17
|
+
*
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
export const TableHandleColumnPopup: DefineSetupFnComponent<TableHandleColumnPopupProps & HTMLAttributes> = /* @__PURE__ */ defineComponent<TableHandleColumnPopupProps & HTMLAttributes>(
|
|
21
|
+
(props, { slots }) => {
|
|
22
|
+
registerTableHandleColumnPopupElement();
|
|
23
|
+
|
|
24
|
+
return () => {
|
|
25
|
+
return h('prosekit-table-handle-column-popup', props, slots.default?.());
|
|
26
|
+
};
|
|
27
|
+
},
|
|
28
|
+
{ props: [] },
|
|
29
|
+
);
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { registerTableHandleColumnPositionerElement, type TableHandleColumnPositionerProps as TableHandleColumnPositionerElementProps } from '@prosekit/web/table-handle';
|
|
6
|
+
import { defineComponent, h, type DefineSetupFnComponent, type HTMLAttributes, shallowRef, computed, watchEffect } from 'vue';
|
|
7
|
+
|
|
8
|
+
import { useEditorContext } from '../../injection/editor-context.ts';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Props for the {@link TableHandleColumnPositioner} Vue component.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export interface TableHandleColumnPositionerProps {
|
|
16
|
+
/**
|
|
17
|
+
* The placement of the popover, relative to the hovered table cell.
|
|
18
|
+
*
|
|
19
|
+
* @default "top"
|
|
20
|
+
*/
|
|
21
|
+
placement?: TableHandleColumnPositionerElementProps['placement'];
|
|
22
|
+
/**
|
|
23
|
+
* The strategy to use for positioning
|
|
24
|
+
*
|
|
25
|
+
* @default "absolute"
|
|
26
|
+
*/
|
|
27
|
+
strategy?: TableHandleColumnPositionerElementProps['strategy'];
|
|
28
|
+
/**
|
|
29
|
+
* Options to activate auto-update listeners
|
|
30
|
+
*
|
|
31
|
+
* @see https://floating-ui.com/docs/autoUpdate
|
|
32
|
+
*
|
|
33
|
+
* @default true
|
|
34
|
+
*/
|
|
35
|
+
autoUpdate?: TableHandleColumnPositionerElementProps['autoUpdate'];
|
|
36
|
+
/**
|
|
37
|
+
* Whether to use the browser [Popover API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API)
|
|
38
|
+
* to place the floating element on top of other page content.
|
|
39
|
+
*
|
|
40
|
+
* @default false
|
|
41
|
+
*/
|
|
42
|
+
hoist?: TableHandleColumnPositionerElementProps['hoist'];
|
|
43
|
+
/**
|
|
44
|
+
* @default 0
|
|
45
|
+
* @hidden
|
|
46
|
+
*/
|
|
47
|
+
offset?: TableHandleColumnPositionerElementProps['offset'];
|
|
48
|
+
/**
|
|
49
|
+
* @default false
|
|
50
|
+
* @hidden
|
|
51
|
+
*/
|
|
52
|
+
flip?: TableHandleColumnPositionerElementProps['flip'];
|
|
53
|
+
/**
|
|
54
|
+
* @default false
|
|
55
|
+
* @hidden
|
|
56
|
+
*/
|
|
57
|
+
shift?: TableHandleColumnPositionerElementProps['shift'];
|
|
58
|
+
/**
|
|
59
|
+
* Whether the floating element can overlap the reference element to keep it
|
|
60
|
+
* in view.
|
|
61
|
+
*
|
|
62
|
+
* @default false
|
|
63
|
+
*/
|
|
64
|
+
overlap?: TableHandleColumnPositionerElementProps['overlap'];
|
|
65
|
+
/**
|
|
66
|
+
* Whether to constrain the floating element's width and height to not exceed
|
|
67
|
+
* the viewport.
|
|
68
|
+
*
|
|
69
|
+
* @default false
|
|
70
|
+
*/
|
|
71
|
+
fitViewport?: TableHandleColumnPositionerElementProps['fitViewport'];
|
|
72
|
+
/**
|
|
73
|
+
* Whether to constrain the floating element's width so that it matches the
|
|
74
|
+
* reference element.
|
|
75
|
+
*
|
|
76
|
+
* @default false
|
|
77
|
+
*/
|
|
78
|
+
sameWidth?: TableHandleColumnPositionerElementProps['sameWidth'];
|
|
79
|
+
/**
|
|
80
|
+
* Whether to constrain the floating element's height so that it matches the
|
|
81
|
+
* reference element.
|
|
82
|
+
*
|
|
83
|
+
* @default false
|
|
84
|
+
*/
|
|
85
|
+
sameHeight?: TableHandleColumnPositionerElementProps['sameHeight'];
|
|
86
|
+
/**
|
|
87
|
+
* Whether to improve positioning for inline reference elements that span over
|
|
88
|
+
* multiple lines.
|
|
89
|
+
*
|
|
90
|
+
* @default false
|
|
91
|
+
*/
|
|
92
|
+
inline?: TableHandleColumnPositionerElementProps['inline'];
|
|
93
|
+
/**
|
|
94
|
+
* @default true
|
|
95
|
+
* @hidden
|
|
96
|
+
*/
|
|
97
|
+
hide?: TableHandleColumnPositionerElementProps['hide'];
|
|
98
|
+
/**
|
|
99
|
+
* Describes the clipping element(s) or area that overflow will be checked relative to.
|
|
100
|
+
* Please see https://floating-ui.com/docs/detectoverflow#boundary for more information.
|
|
101
|
+
*
|
|
102
|
+
* @default 'clippingAncestors'
|
|
103
|
+
*/
|
|
104
|
+
boundary?: TableHandleColumnPositionerElementProps['boundary'];
|
|
105
|
+
/**
|
|
106
|
+
* Describes the root boundary that the element will be checked for overflow relative to.
|
|
107
|
+
* Please see https://floating-ui.com/docs/detectoverflow#rootboundary for more information.
|
|
108
|
+
*
|
|
109
|
+
* @default 'viewport'
|
|
110
|
+
*/
|
|
111
|
+
rootBoundary?: TableHandleColumnPositionerElementProps['rootBoundary'];
|
|
112
|
+
/**
|
|
113
|
+
* Describes the virtual padding around the boundary to check for overflow.
|
|
114
|
+
* Please see https://floating-ui.com/docs/detectoverflow#padding for more information.
|
|
115
|
+
*
|
|
116
|
+
* @default 4
|
|
117
|
+
*/
|
|
118
|
+
overflowPadding?: TableHandleColumnPositionerElementProps['overflowPadding'];
|
|
119
|
+
/**
|
|
120
|
+
* The element that will be used to check for overflow. Please see
|
|
121
|
+
* https://floating-ui.com/docs/detectoverflow#elementcontext for more
|
|
122
|
+
* information.
|
|
123
|
+
*
|
|
124
|
+
* @default 'floating'
|
|
125
|
+
*/
|
|
126
|
+
elementContext?: TableHandleColumnPositionerElementProps['elementContext'];
|
|
127
|
+
/**
|
|
128
|
+
* Whether to check the alternate elementContext's boundary. Please see
|
|
129
|
+
* https://floating-ui.com/docs/detectoverflow#altboundary for more
|
|
130
|
+
* information.
|
|
131
|
+
*
|
|
132
|
+
* @default false
|
|
133
|
+
*/
|
|
134
|
+
altBoundary?: TableHandleColumnPositionerElementProps['altBoundary'];
|
|
135
|
+
/**
|
|
136
|
+
* The ProseKit editor instance.
|
|
137
|
+
*
|
|
138
|
+
* @default null
|
|
139
|
+
* @hidden
|
|
140
|
+
*/
|
|
141
|
+
editor?: TableHandleColumnPositionerElementProps['editor'];
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* A Vue component that renders an `prosekit-table-handle-column-positioner` custom element.
|
|
146
|
+
*
|
|
147
|
+
* @public
|
|
148
|
+
*/
|
|
149
|
+
export const TableHandleColumnPositioner: DefineSetupFnComponent<TableHandleColumnPositionerProps & HTMLAttributes> = /* @__PURE__ */ defineComponent<TableHandleColumnPositionerProps & HTMLAttributes>(
|
|
150
|
+
(props, { slots }) => {
|
|
151
|
+
registerTableHandleColumnPositionerElement();
|
|
152
|
+
|
|
153
|
+
const elementRef = shallowRef<HTMLElement | null>(null);
|
|
154
|
+
|
|
155
|
+
const p3Fallback = useEditorContext();
|
|
156
|
+
|
|
157
|
+
const splittedProps = computed(() => {
|
|
158
|
+
const { altBoundary: p0, autoUpdate: p1, boundary: p2, editor: p3, elementContext: p4, fitViewport: p5, flip: p6, hide: p7, hoist: p8, inline: p9, offset: p10, overflowPadding: p11, overlap: p12, placement: p13, rootBoundary: p14, sameHeight: p15, sameWidth: p16, shift: p17, strategy: p18, ...restProps } = props;
|
|
159
|
+
return [[p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18], restProps] as const;
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
watchEffect(() => {
|
|
163
|
+
const element = elementRef.value;
|
|
164
|
+
if (!element) return;
|
|
165
|
+
|
|
166
|
+
const [p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18] = splittedProps.value[0];
|
|
167
|
+
|
|
168
|
+
Object.assign(element, {
|
|
169
|
+
altBoundary: p0,
|
|
170
|
+
autoUpdate: p1,
|
|
171
|
+
boundary: p2,
|
|
172
|
+
editor: p3 ?? p3Fallback,
|
|
173
|
+
elementContext: p4,
|
|
174
|
+
fitViewport: p5,
|
|
175
|
+
flip: p6,
|
|
176
|
+
hide: p7,
|
|
177
|
+
hoist: p8,
|
|
178
|
+
inline: p9,
|
|
179
|
+
offset: p10,
|
|
180
|
+
overflowPadding: p11,
|
|
181
|
+
overlap: p12,
|
|
182
|
+
placement: p13,
|
|
183
|
+
rootBoundary: p14,
|
|
184
|
+
sameHeight: p15,
|
|
185
|
+
sameWidth: p16,
|
|
186
|
+
shift: p17,
|
|
187
|
+
strategy: p18,
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
return () => {
|
|
192
|
+
const restProps = splittedProps.value[1];
|
|
193
|
+
return h('prosekit-table-handle-column-positioner', { ...restProps, ref: elementRef }, slots.default?.());
|
|
194
|
+
};
|
|
195
|
+
},
|
|
196
|
+
{ props: ['altBoundary', 'autoUpdate', 'boundary', 'editor', 'elementContext', 'fitViewport', 'flip', 'hide', 'hoist', 'inline', 'offset', 'overflowPadding', 'overlap', 'placement', 'rootBoundary', 'sameHeight', 'sameWidth', 'shift', 'strategy'] },
|
|
197
|
+
);
|
|
@@ -1,33 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
} from '
|
|
7
|
-
import type { DefineSetupFnComponent, HTMLAttributes } from 'vue'
|
|
1
|
+
/**
|
|
2
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { registerTableHandleDragPreviewElement, type TableHandleDragPreviewProps as TableHandleDragPreviewElementProps } from '@prosekit/web/table-handle';
|
|
6
|
+
import { defineComponent, h, type DefineSetupFnComponent, type HTMLAttributes, shallowRef, computed, watchEffect } from 'vue';
|
|
8
7
|
|
|
9
|
-
import {
|
|
10
|
-
import type { CreateEmits } from '../create-emits.ts'
|
|
8
|
+
import { useEditorContext } from '../../injection/editor-context.ts';
|
|
11
9
|
|
|
12
10
|
/**
|
|
13
|
-
* Props for the {@link TableHandleDragPreview} component.
|
|
11
|
+
* Props for the {@link TableHandleDragPreview} Vue component.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
14
|
*/
|
|
15
|
-
export interface TableHandleDragPreviewProps
|
|
15
|
+
export interface TableHandleDragPreviewProps {
|
|
16
|
+
/**
|
|
17
|
+
* @default null
|
|
18
|
+
* @hidden
|
|
19
|
+
*/
|
|
20
|
+
editor?: TableHandleDragPreviewElementProps['editor'];
|
|
21
|
+
}
|
|
16
22
|
|
|
17
23
|
/**
|
|
18
|
-
*
|
|
24
|
+
* A Vue component that renders an `prosekit-table-handle-drag-preview` custom element.
|
|
25
|
+
*
|
|
26
|
+
* @public
|
|
19
27
|
*/
|
|
20
|
-
export
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
)
|
|
28
|
+
export const TableHandleDragPreview: DefineSetupFnComponent<TableHandleDragPreviewProps & HTMLAttributes> = /* @__PURE__ */ defineComponent<TableHandleDragPreviewProps & HTMLAttributes>(
|
|
29
|
+
(props, { slots }) => {
|
|
30
|
+
registerTableHandleDragPreviewElement();
|
|
31
|
+
|
|
32
|
+
const elementRef = shallowRef<HTMLElement | null>(null);
|
|
33
|
+
|
|
34
|
+
const p0Fallback = useEditorContext();
|
|
35
|
+
|
|
36
|
+
const splittedProps = computed(() => {
|
|
37
|
+
const { editor: p0, ...restProps } = props;
|
|
38
|
+
return [[p0], restProps] as const;
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
watchEffect(() => {
|
|
42
|
+
const element = elementRef.value;
|
|
43
|
+
if (!element) return;
|
|
44
|
+
|
|
45
|
+
const [p0] = splittedProps.value[0];
|
|
46
|
+
|
|
47
|
+
Object.assign(element, { editor: p0 ?? p0Fallback });
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
return () => {
|
|
51
|
+
const restProps = splittedProps.value[1];
|
|
52
|
+
return h('prosekit-table-handle-drag-preview', { ...restProps, ref: elementRef }, slots.default?.());
|
|
53
|
+
};
|
|
54
|
+
},
|
|
55
|
+
{ props: ['editor'] },
|
|
56
|
+
);
|