@prosekit/react 0.7.0-beta.0 → 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.
Files changed (117) hide show
  1. package/dist/prosekit-react-autocomplete.d.ts +224 -17
  2. package/dist/prosekit-react-autocomplete.d.ts.map +1 -1
  3. package/dist/prosekit-react-autocomplete.js +216 -9
  4. package/dist/prosekit-react-autocomplete.js.map +1 -1
  5. package/dist/prosekit-react-block-handle.d.ts +208 -13
  6. package/dist/prosekit-react-block-handle.d.ts.map +1 -1
  7. package/dist/prosekit-react-block-handle.js +182 -7
  8. package/dist/prosekit-react-block-handle.js.map +1 -1
  9. package/dist/prosekit-react-drop-indicator.d.ts +25 -5
  10. package/dist/prosekit-react-drop-indicator.d.ts.map +1 -1
  11. package/dist/prosekit-react-drop-indicator.js +36 -3
  12. package/dist/prosekit-react-drop-indicator.js.map +1 -1
  13. package/dist/prosekit-react-inline-popover.d.ts +202 -7
  14. package/dist/prosekit-react-inline-popover.d.ts.map +1 -1
  15. package/dist/prosekit-react-inline-popover.js +128 -5
  16. package/dist/prosekit-react-inline-popover.js.map +1 -1
  17. package/dist/prosekit-react-menu.d.ts +287 -0
  18. package/dist/prosekit-react-menu.d.ts.map +1 -0
  19. package/dist/prosekit-react-menu.js +272 -0
  20. package/dist/prosekit-react-menu.js.map +1 -0
  21. package/dist/prosekit-react-popover.d.ts +225 -13
  22. package/dist/prosekit-react-popover.d.ts.map +1 -1
  23. package/dist/prosekit-react-popover.js +168 -7
  24. package/dist/prosekit-react-popover.js.map +1 -1
  25. package/dist/prosekit-react-resizable.d.ts +54 -11
  26. package/dist/prosekit-react-resizable.d.ts.map +1 -1
  27. package/dist/prosekit-react-resizable.js +78 -7
  28. package/dist/prosekit-react-resizable.js.map +1 -1
  29. package/dist/prosekit-react-table-handle.d.ts +445 -37
  30. package/dist/prosekit-react-table-handle.d.ts.map +1 -1
  31. package/dist/prosekit-react-table-handle.js +379 -19
  32. package/dist/prosekit-react-table-handle.js.map +1 -1
  33. package/dist/prosekit-react-tooltip.d.ts +209 -13
  34. package/dist/prosekit-react-tooltip.d.ts.map +1 -1
  35. package/dist/prosekit-react-tooltip.js +155 -7
  36. package/dist/prosekit-react-tooltip.js.map +1 -1
  37. package/package.json +28 -17
  38. package/src/components/autocomplete/autocomplete-empty.gen.ts +39 -31
  39. package/src/components/autocomplete/autocomplete-item.gen.ts +82 -31
  40. package/src/components/autocomplete/autocomplete-popup.gen.ts +78 -0
  41. package/src/components/autocomplete/autocomplete-positioner.gen.ts +151 -0
  42. package/src/components/autocomplete/autocomplete-root.gen.ts +107 -0
  43. package/src/components/autocomplete/index.gen.ts +12 -4
  44. package/src/components/autocomplete/index.ts +27 -0
  45. package/src/components/block-handle/block-handle-add.gen.ts +57 -31
  46. package/src/components/block-handle/block-handle-draggable.gen.ts +57 -31
  47. package/src/components/block-handle/block-handle-popup.gen.ts +42 -0
  48. package/src/components/block-handle/block-handle-positioner.gen.ts +169 -0
  49. package/src/components/block-handle/block-handle-root.gen.ts +82 -0
  50. package/src/components/block-handle/index.gen.ts +13 -3
  51. package/src/components/block-handle/index.ts +27 -0
  52. package/src/components/drop-indicator/drop-indicator.gen.ts +63 -31
  53. package/src/components/drop-indicator/index.gen.ts +5 -1
  54. package/src/components/drop-indicator/index.ts +14 -0
  55. package/src/components/inline-popover/index.gen.ts +11 -1
  56. package/src/components/inline-popover/index.ts +22 -0
  57. package/src/components/inline-popover/inline-popover-popup.gen.ts +42 -0
  58. package/src/components/inline-popover/inline-popover-positioner.gen.ts +175 -0
  59. package/src/components/inline-popover/inline-popover-root.gen.ts +106 -0
  60. package/src/components/menu/index.gen.ts +19 -0
  61. package/src/components/menu/index.ts +37 -0
  62. package/src/components/menu/menu-item.gen.ts +89 -0
  63. package/src/components/menu/menu-popup.gen.ts +56 -0
  64. package/src/components/menu/menu-positioner.gen.ts +176 -0
  65. package/src/components/menu/menu-root.gen.ts +86 -0
  66. package/src/components/menu/menu-submenu-root.gen.ts +42 -0
  67. package/src/components/menu/menu-submenu-trigger.gen.ts +42 -0
  68. package/src/components/menu/menu-trigger.gen.ts +77 -0
  69. package/src/components/popover/index.gen.ts +11 -3
  70. package/src/components/popover/index.ts +24 -0
  71. package/src/components/popover/popover-popup.gen.ts +42 -0
  72. package/src/components/popover/popover-positioner.gen.ts +176 -0
  73. package/src/components/popover/popover-root.gen.ts +90 -31
  74. package/src/components/popover/popover-trigger.gen.ts +90 -31
  75. package/src/components/resizable/index.gen.ts +8 -2
  76. package/src/components/resizable/index.ts +20 -0
  77. package/src/components/resizable/resizable-handle.gen.ts +52 -31
  78. package/src/components/resizable/resizable-root.gen.ts +88 -31
  79. package/src/components/table-handle/index.gen.ts +17 -9
  80. package/src/components/table-handle/index.ts +58 -0
  81. package/src/components/table-handle/table-handle-column-menu-root.gen.ts +64 -0
  82. package/src/components/table-handle/table-handle-column-menu-trigger.gen.ts +58 -0
  83. package/src/components/table-handle/table-handle-column-popup.gen.ts +42 -0
  84. package/src/components/table-handle/table-handle-column-positioner.gen.ts +199 -0
  85. package/src/components/table-handle/table-handle-drag-preview.gen.ts +55 -31
  86. package/src/components/table-handle/table-handle-drop-indicator.gen.ts +55 -31
  87. package/src/components/table-handle/table-handle-root.gen.ts +57 -31
  88. package/src/components/table-handle/table-handle-row-menu-root.gen.ts +64 -0
  89. package/src/components/table-handle/table-handle-row-menu-trigger.gen.ts +58 -0
  90. package/src/components/table-handle/table-handle-row-popup.gen.ts +42 -0
  91. package/src/components/table-handle/table-handle-row-positioner.gen.ts +199 -0
  92. package/src/components/tooltip/index.gen.ts +11 -3
  93. package/src/components/tooltip/index.ts +24 -0
  94. package/src/components/tooltip/tooltip-popup.gen.ts +42 -0
  95. package/src/components/tooltip/tooltip-positioner.gen.ts +176 -0
  96. package/src/components/tooltip/tooltip-root.gen.ts +83 -31
  97. package/src/components/tooltip/tooltip-trigger.gen.ts +61 -31
  98. package/src/extensions/react-node-view.spec.ts +150 -0
  99. package/dist/create-component.js +0 -94
  100. package/dist/create-component.js.map +0 -1
  101. package/dist/create-props.d.ts +0 -6
  102. package/dist/create-props.d.ts.map +0 -1
  103. package/src/components/autocomplete/autocomplete-list.gen.ts +0 -34
  104. package/src/components/autocomplete/autocomplete-popover.gen.ts +0 -34
  105. package/src/components/block-handle/block-handle-popover.gen.ts +0 -34
  106. package/src/components/create-component.ts +0 -137
  107. package/src/components/create-props.ts +0 -13
  108. package/src/components/inline-popover/inline-popover.gen.ts +0 -34
  109. package/src/components/merge-refs.ts +0 -35
  110. package/src/components/popover/popover-content.gen.ts +0 -34
  111. package/src/components/table-handle/table-handle-column-root.gen.ts +0 -34
  112. package/src/components/table-handle/table-handle-column-trigger.gen.ts +0 -34
  113. package/src/components/table-handle/table-handle-popover-content.gen.ts +0 -34
  114. package/src/components/table-handle/table-handle-popover-item.gen.ts +0 -34
  115. package/src/components/table-handle/table-handle-row-root.gen.ts +0 -34
  116. package/src/components/table-handle/table-handle-row-trigger.gen.ts +0 -34
  117. package/src/components/tooltip/tooltip-content.gen.ts +0 -34
@@ -1,34 +1,93 @@
1
- import {
2
- type PopoverTriggerElement,
3
- type PopoverTriggerProps as Props,
4
- type PopoverTriggerEvents as Events,
5
- popoverTriggerProps,
6
- popoverTriggerEvents,
7
- } from '@prosekit/web/popover'
8
- import type {
9
- ForwardRefExoticComponent,
10
- HTMLAttributes,
11
- RefAttributes,
12
- } from 'react'
13
-
14
- import { createComponent } from '../create-component.ts'
15
- import type { CreateProps } from '../create-props.ts'
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, forwardRef, useCallback, useRef, type ForwardedRef, type ForwardRefExoticComponent, type HTMLAttributes, type RefAttributes, useLayoutEffect } from 'react';
7
+
8
+ /**
9
+ * Props for the {@link PopoverTrigger} React component.
10
+ *
11
+ * @public
12
+ */
13
+ export interface PopoverTriggerProps extends HTMLAttributes<PopoverTriggerElement> {
14
+ /**
15
+ * Whether the component should ignore user interaction.
16
+ * @default false
17
+ */
18
+ disabled?: PopoverTriggerElementProps['disabled'];
19
+ /**
20
+ * Whether the popover should also open when the trigger is hovered.
21
+ * @default false
22
+ */
23
+ openOnHover?: PopoverTriggerElementProps['openOnHover'];
24
+ /**
25
+ * The delay in milliseconds before opening the popover when hovering.
26
+ * Only applies when `openOnHover` is true.
27
+ * @default 300
28
+ */
29
+ delay?: PopoverTriggerElementProps['delay'];
30
+ /**
31
+ * The delay in milliseconds before closing the popover when hover ends.
32
+ * Only applies when `openOnHover` is true.
33
+ * @default 0
34
+ */
35
+ closeDelay?: PopoverTriggerElementProps['closeDelay'];
36
+ /** Emitted when the popover is opened or closed. */
37
+ onOpenChange?: (event: PopoverTriggerEvents['openChange']) => void;
38
+ }
39
+
40
+ function PopoverTriggerComponent(props: PopoverTriggerProps, forwardedRef: ForwardedRef<PopoverTriggerElement>) {
41
+ registerPopoverTriggerElement();
42
+
43
+ const elementRef = useRef<PopoverTriggerElement>(null);
44
+ const handlersRef = useRef<Array<((event: Event) => void) | undefined>>([]);
45
+
46
+ const { closeDelay: p0, delay: p1, disabled: p2, openOnHover: p3, onOpenChange: e0, ...restProps } = props;
47
+
48
+ useLayoutEffect(() => {
49
+ const element = elementRef.current as Record<string, unknown> | null;
50
+ if (!element) return;
51
+ Object.assign(element, { closeDelay: p0, delay: p1, disabled: p2, openOnHover: p3 });
52
+ handlersRef.current = [e0] 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 ['openChange'].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: PopoverTriggerElement | 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-popover-trigger', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
84
+ }
16
85
 
17
86
  /**
18
- * Props for the {@link PopoverTrigger} component.
87
+ * A React component that renders an `prosekit-popover-trigger` custom element.
88
+ *
89
+ * @public
19
90
  */
20
- export interface PopoverTriggerProps extends Partial<CreateProps<Props, Events>> {}
21
-
22
- export const PopoverTrigger: ForwardRefExoticComponent<
23
- 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
- )
91
+ export const PopoverTrigger: ForwardRefExoticComponent<PopoverTriggerProps & RefAttributes<PopoverTriggerElement>> = /* @__PURE__ */ forwardRef(PopoverTriggerComponent);
92
+
93
+ export type { PopoverTriggerEvents };
@@ -1,3 +1,9 @@
1
- export { ResizableHandle, type ResizableHandleProps } from './resizable-handle.gen.ts'
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/react/resizable'
12
+
13
+ <ResizableRoot>
14
+ <img src="..." />
15
+ <ResizableHandle>...</ResizableHandle>
16
+ </ResizableRoot>
17
+ ```
18
+ */
19
+
20
+ export * from './index.gen.ts'
@@ -1,34 +1,55 @@
1
- import {
2
- type ResizableHandleElement,
3
- type ResizableHandleProps as Props,
4
- type ResizableHandleEvents as Events,
5
- resizableHandleProps,
6
- resizableHandleEvents,
7
- } from '@prosekit/web/resizable'
8
- import type {
9
- ForwardRefExoticComponent,
10
- HTMLAttributes,
11
- RefAttributes,
12
- } from 'react'
13
-
14
- import { createComponent } from '../create-component.ts'
15
- import type { CreateProps } from '../create-props.ts'
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, forwardRef, useCallback, useRef, type ForwardedRef, type ForwardRefExoticComponent, type HTMLAttributes, type RefAttributes, useLayoutEffect } from 'react';
7
+
8
+ /**
9
+ * Props for the {@link ResizableHandle} React component.
10
+ *
11
+ * @public
12
+ */
13
+ export interface ResizableHandleProps extends HTMLAttributes<ResizableHandleElement> {
14
+ /**
15
+ * The position of the handle.
16
+ *
17
+ * @default "bottom-right"
18
+ */
19
+ position?: ResizableHandleElementProps['position'];
20
+ }
21
+
22
+ function ResizableHandleComponent(props: ResizableHandleProps, forwardedRef: ForwardedRef<ResizableHandleElement>) {
23
+ registerResizableHandleElement();
24
+
25
+ const elementRef = useRef<ResizableHandleElement>(null);
26
+
27
+ const { position: p0, ...restProps } = props;
28
+
29
+ useLayoutEffect(() => {
30
+ const element = elementRef.current as Record<string, unknown> | null;
31
+ if (!element) return;
32
+ Object.assign(element, { position: p0 });
33
+ });
34
+
35
+ const mergedRef = useCallback(
36
+ (element: ResizableHandleElement | null) => {
37
+ elementRef.current = element;
38
+ if (typeof forwardedRef === 'function') {
39
+ forwardedRef(element);
40
+ } else if (forwardedRef) {
41
+ forwardedRef.current = element;
42
+ }
43
+ },
44
+ [forwardedRef],
45
+ );
46
+
47
+ return createElement('prosekit-resizable-handle', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
48
+ }
16
49
 
17
50
  /**
18
- * Props for the {@link ResizableHandle} component.
51
+ * A React component that renders an `prosekit-resizable-handle` custom element.
52
+ *
53
+ * @public
19
54
  */
20
- export interface ResizableHandleProps extends Partial<CreateProps<Props, Events>> {}
21
-
22
- export const ResizableHandle: ForwardRefExoticComponent<
23
- 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
- )
55
+ export const ResizableHandle: ForwardRefExoticComponent<ResizableHandleProps & RefAttributes<ResizableHandleElement>> = /* @__PURE__ */ forwardRef(ResizableHandleComponent);
@@ -1,34 +1,91 @@
1
- import {
2
- type ResizableRootElement,
3
- type ResizableRootProps as Props,
4
- type ResizableRootEvents as Events,
5
- resizableRootProps,
6
- resizableRootEvents,
7
- } from '@prosekit/web/resizable'
8
- import type {
9
- ForwardRefExoticComponent,
10
- HTMLAttributes,
11
- RefAttributes,
12
- } from 'react'
13
-
14
- import { createComponent } from '../create-component.ts'
15
- import type { CreateProps } from '../create-props.ts'
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, forwardRef, useCallback, useRef, type ForwardedRef, type ForwardRefExoticComponent, type HTMLAttributes, type RefAttributes, useLayoutEffect } from 'react';
7
+
8
+ /**
9
+ * Props for the {@link ResizableRoot} React component.
10
+ *
11
+ * @public
12
+ */
13
+ export interface ResizableRootProps extends HTMLAttributes<ResizableRootElement> {
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
+ }
37
+
38
+ function ResizableRootComponent(props: ResizableRootProps, forwardedRef: ForwardedRef<ResizableRootElement>) {
39
+ registerResizableRootElement();
40
+
41
+ const elementRef = useRef<ResizableRootElement>(null);
42
+ const handlersRef = useRef<Array<((event: Event) => void) | undefined>>([]);
43
+
44
+ const { aspectRatio: p0, height: p1, width: p2, onResizeEnd: e0, onResizeStart: e1, ...restProps } = props;
45
+
46
+ useLayoutEffect(() => {
47
+ const element = elementRef.current as Record<string, unknown> | null;
48
+ if (!element) return;
49
+ Object.assign(element, { aspectRatio: p0, height: p1, width: p2 });
50
+ handlersRef.current = [e0, e1] as Array<((event: Event) => void) | undefined>;
51
+ });
52
+
53
+ useLayoutEffect(() => {
54
+ const element = elementRef.current;
55
+ if (!element) return;
56
+ const ac = new AbortController();
57
+ for (const [index, eventName] of ['resizeEnd', 'resizeStart'].entries()) {
58
+ element.addEventListener(
59
+ eventName,
60
+ (event: Event) => {
61
+ handlersRef.current[index]?.(event);
62
+ },
63
+ { signal: ac.signal },
64
+ );
65
+ }
66
+ return () => ac.abort();
67
+ }, []);
68
+
69
+ const mergedRef = useCallback(
70
+ (element: ResizableRootElement | null) => {
71
+ elementRef.current = element;
72
+ if (typeof forwardedRef === 'function') {
73
+ forwardedRef(element);
74
+ } else if (forwardedRef) {
75
+ forwardedRef.current = element;
76
+ }
77
+ },
78
+ [forwardedRef],
79
+ );
80
+
81
+ return createElement('prosekit-resizable-root', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
82
+ }
16
83
 
17
84
  /**
18
- * Props for the {@link ResizableRoot} component.
85
+ * A React component that renders an `prosekit-resizable-root` custom element.
86
+ *
87
+ * @public
19
88
  */
20
- export interface ResizableRootProps extends Partial<CreateProps<Props, Events>> {}
21
-
22
- export const ResizableRoot: ForwardRefExoticComponent<
23
- 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
- )
89
+ export const ResizableRoot: ForwardRefExoticComponent<ResizableRootProps & RefAttributes<ResizableRootElement>> = /* @__PURE__ */ forwardRef(ResizableRootComponent);
90
+
91
+ export type { ResizableRootEvents };
@@ -1,17 +1,25 @@
1
- export { TableHandleColumnRoot, type TableHandleColumnRootProps } from './table-handle-column-root.gen.ts'
1
+ /**
2
+ * This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
3
+ */
2
4
 
3
- export { TableHandleColumnTrigger, type TableHandleColumnTriggerProps } from './table-handle-column-trigger.gen.ts'
5
+ export { TableHandleColumnPopup, type TableHandleColumnPopupProps } from './table-handle-column-popup.gen.ts';
4
6
 
5
- export { TableHandleDragPreview, type TableHandleDragPreviewProps } from './table-handle-drag-preview.gen.ts'
7
+ export { TableHandleColumnPositioner, type TableHandleColumnPositionerProps } from './table-handle-column-positioner.gen.ts';
6
8
 
7
- export { TableHandleDropIndicator, type TableHandleDropIndicatorProps } from './table-handle-drop-indicator.gen.ts'
9
+ export { TableHandleColumnMenuRoot, type TableHandleColumnMenuRootProps } from './table-handle-column-menu-root.gen.ts';
8
10
 
9
- export { TableHandlePopoverContent, type TableHandlePopoverContentProps } from './table-handle-popover-content.gen.ts'
11
+ export { TableHandleColumnMenuTrigger, type TableHandleColumnMenuTriggerProps } from './table-handle-column-menu-trigger.gen.ts';
10
12
 
11
- export { TableHandlePopoverItem, type TableHandlePopoverItemProps } from './table-handle-popover-item.gen.ts'
13
+ export { TableHandleDragPreview, type TableHandleDragPreviewProps } from './table-handle-drag-preview.gen.ts';
12
14
 
13
- export { TableHandleRoot, type TableHandleRootProps } from './table-handle-root.gen.ts'
15
+ export { TableHandleDropIndicator, type TableHandleDropIndicatorProps } from './table-handle-drop-indicator.gen.ts';
14
16
 
15
- export { TableHandleRowRoot, type TableHandleRowRootProps } from './table-handle-row-root.gen.ts'
17
+ export { TableHandleRoot, type TableHandleRootProps } from './table-handle-root.gen.ts';
16
18
 
17
- export { TableHandleRowTrigger, type TableHandleRowTriggerProps } from './table-handle-row-trigger.gen.ts'
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/react/table-handle'
21
+ import {
22
+ MenuItem,
23
+ MenuPopup,
24
+ MenuPositioner,
25
+ } from 'prosekit/react/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,64 @@
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, forwardRef, useCallback, useRef, type ForwardedRef, type ForwardRefExoticComponent, type HTMLAttributes, type RefAttributes, useLayoutEffect } from 'react';
7
+
8
+ /**
9
+ * Props for the {@link TableHandleColumnMenuRoot} React component.
10
+ *
11
+ * @public
12
+ */
13
+ export interface TableHandleColumnMenuRootProps extends HTMLAttributes<TableHandleColumnMenuRootElement> {
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
+ function TableHandleColumnMenuRootComponent(props: TableHandleColumnMenuRootProps, forwardedRef: ForwardedRef<TableHandleColumnMenuRootElement>) {
32
+ registerTableHandleColumnMenuRootElement();
33
+
34
+ const elementRef = useRef<TableHandleColumnMenuRootElement>(null);
35
+
36
+ const { defaultOpen: p0, disabled: p1, open: p2, ...restProps } = props;
37
+
38
+ useLayoutEffect(() => {
39
+ const element = elementRef.current as Record<string, unknown> | null;
40
+ if (!element) return;
41
+ Object.assign(element, { defaultOpen: p0, disabled: p1, open: p2 });
42
+ });
43
+
44
+ const mergedRef = useCallback(
45
+ (element: TableHandleColumnMenuRootElement | null) => {
46
+ elementRef.current = element;
47
+ if (typeof forwardedRef === 'function') {
48
+ forwardedRef(element);
49
+ } else if (forwardedRef) {
50
+ forwardedRef.current = element;
51
+ }
52
+ },
53
+ [forwardedRef],
54
+ );
55
+
56
+ return createElement('prosekit-table-handle-column-menu-root', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
57
+ }
58
+
59
+ /**
60
+ * A React component that renders an `prosekit-table-handle-column-menu-root` custom element.
61
+ *
62
+ * @public
63
+ */
64
+ export const TableHandleColumnMenuRoot: ForwardRefExoticComponent<TableHandleColumnMenuRootProps & RefAttributes<TableHandleColumnMenuRootElement>> = /* @__PURE__ */ forwardRef(TableHandleColumnMenuRootComponent);
@@ -0,0 +1,58 @@
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, forwardRef, useCallback, useRef, type ForwardedRef, type ForwardRefExoticComponent, type HTMLAttributes, type RefAttributes, useLayoutEffect } from 'react';
7
+
8
+ import { useEditorContext } from '../../contexts/editor-context.ts';
9
+
10
+ /**
11
+ * Props for the {@link TableHandleColumnMenuTrigger} React component.
12
+ *
13
+ * @public
14
+ */
15
+ export interface TableHandleColumnMenuTriggerProps extends HTMLAttributes<TableHandleColumnMenuTriggerElement> {
16
+ /**
17
+ * @default null
18
+ * @hidden
19
+ */
20
+ editor?: TableHandleColumnMenuTriggerElementProps['editor'];
21
+ }
22
+
23
+ function TableHandleColumnMenuTriggerComponent(props: TableHandleColumnMenuTriggerProps, forwardedRef: ForwardedRef<TableHandleColumnMenuTriggerElement>) {
24
+ registerTableHandleColumnMenuTriggerElement();
25
+
26
+ const elementRef = useRef<TableHandleColumnMenuTriggerElement>(null);
27
+
28
+ const p0Fallback = useEditorContext();
29
+
30
+ const { editor: p0, ...restProps } = props;
31
+
32
+ useLayoutEffect(() => {
33
+ const element = elementRef.current as Record<string, unknown> | null;
34
+ if (!element) return;
35
+ Object.assign(element, { editor: p0 ?? p0Fallback });
36
+ });
37
+
38
+ const mergedRef = useCallback(
39
+ (element: TableHandleColumnMenuTriggerElement | null) => {
40
+ elementRef.current = element;
41
+ if (typeof forwardedRef === 'function') {
42
+ forwardedRef(element);
43
+ } else if (forwardedRef) {
44
+ forwardedRef.current = element;
45
+ }
46
+ },
47
+ [forwardedRef],
48
+ );
49
+
50
+ return createElement('prosekit-table-handle-column-menu-trigger', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
51
+ }
52
+
53
+ /**
54
+ * A React component that renders an `prosekit-table-handle-column-menu-trigger` custom element.
55
+ *
56
+ * @public
57
+ */
58
+ export const TableHandleColumnMenuTrigger: ForwardRefExoticComponent<TableHandleColumnMenuTriggerProps & RefAttributes<TableHandleColumnMenuTriggerElement>> = /* @__PURE__ */ forwardRef(TableHandleColumnMenuTriggerComponent);
@@ -0,0 +1,42 @@
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, forwardRef, useCallback, useRef, type ForwardedRef, type ForwardRefExoticComponent, type HTMLAttributes, type RefAttributes } from 'react';
7
+
8
+ /**
9
+ * Props for the {@link TableHandleColumnPopup} React component.
10
+ *
11
+ * @public
12
+ */
13
+ export interface TableHandleColumnPopupProps extends HTMLAttributes<TableHandleColumnPopupElement> {}
14
+
15
+ function TableHandleColumnPopupComponent(props: TableHandleColumnPopupProps, forwardedRef: ForwardedRef<TableHandleColumnPopupElement>) {
16
+ registerTableHandleColumnPopupElement();
17
+
18
+ const elementRef = useRef<TableHandleColumnPopupElement>(null);
19
+
20
+ const { ...restProps } = props;
21
+
22
+ const mergedRef = useCallback(
23
+ (element: TableHandleColumnPopupElement | null) => {
24
+ elementRef.current = element;
25
+ if (typeof forwardedRef === 'function') {
26
+ forwardedRef(element);
27
+ } else if (forwardedRef) {
28
+ forwardedRef.current = element;
29
+ }
30
+ },
31
+ [forwardedRef],
32
+ );
33
+
34
+ return createElement('prosekit-table-handle-column-popup', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
35
+ }
36
+
37
+ /**
38
+ * A React component that renders an `prosekit-table-handle-column-popup` custom element.
39
+ *
40
+ * @public
41
+ */
42
+ export const TableHandleColumnPopup: ForwardRefExoticComponent<TableHandleColumnPopupProps & RefAttributes<TableHandleColumnPopupElement>> = /* @__PURE__ */ forwardRef(TableHandleColumnPopupComponent);