@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
@@ -0,0 +1,199 @@
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 TableHandleColumnPositionerElement, type TableHandleColumnPositionerProps as TableHandleColumnPositionerElementProps } 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 TableHandleColumnPositioner} React component.
12
+ *
13
+ * @public
14
+ */
15
+ export interface TableHandleColumnPositionerProps extends HTMLAttributes<TableHandleColumnPositionerElement> {
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
+ function TableHandleColumnPositionerComponent(props: TableHandleColumnPositionerProps, forwardedRef: ForwardedRef<TableHandleColumnPositionerElement>) {
145
+ registerTableHandleColumnPositionerElement();
146
+
147
+ const elementRef = useRef<TableHandleColumnPositionerElement>(null);
148
+
149
+ const p3Fallback = useEditorContext();
150
+
151
+ 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;
152
+
153
+ useLayoutEffect(() => {
154
+ const element = elementRef.current as Record<string, unknown> | null;
155
+ if (!element) return;
156
+ Object.assign(element, {
157
+ altBoundary: p0,
158
+ autoUpdate: p1,
159
+ boundary: p2,
160
+ editor: p3 ?? p3Fallback,
161
+ elementContext: p4,
162
+ fitViewport: p5,
163
+ flip: p6,
164
+ hide: p7,
165
+ hoist: p8,
166
+ inline: p9,
167
+ offset: p10,
168
+ overflowPadding: p11,
169
+ overlap: p12,
170
+ placement: p13,
171
+ rootBoundary: p14,
172
+ sameHeight: p15,
173
+ sameWidth: p16,
174
+ shift: p17,
175
+ strategy: p18,
176
+ });
177
+ });
178
+
179
+ const mergedRef = useCallback(
180
+ (element: TableHandleColumnPositionerElement | null) => {
181
+ elementRef.current = element;
182
+ if (typeof forwardedRef === 'function') {
183
+ forwardedRef(element);
184
+ } else if (forwardedRef) {
185
+ forwardedRef.current = element;
186
+ }
187
+ },
188
+ [forwardedRef],
189
+ );
190
+
191
+ return createElement('prosekit-table-handle-column-positioner', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
192
+ }
193
+
194
+ /**
195
+ * A React component that renders an `prosekit-table-handle-column-positioner` custom element.
196
+ *
197
+ * @public
198
+ */
199
+ export const TableHandleColumnPositioner: ForwardRefExoticComponent<TableHandleColumnPositionerProps & RefAttributes<TableHandleColumnPositionerElement>> = /* @__PURE__ */ forwardRef(TableHandleColumnPositionerComponent);
@@ -1,34 +1,58 @@
1
- import {
2
- type TableHandleDragPreviewElement,
3
- type TableHandleDragPreviewProps as Props,
4
- type TableHandleDragPreviewEvents as Events,
5
- tableHandleDragPreviewProps,
6
- tableHandleDragPreviewEvents,
7
- } from '@prosekit/web/table-handle'
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 { registerTableHandleDragPreviewElement, type TableHandleDragPreviewElement, type TableHandleDragPreviewProps as TableHandleDragPreviewElementProps } 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 TableHandleDragPreview} React component.
12
+ *
13
+ * @public
14
+ */
15
+ export interface TableHandleDragPreviewProps extends HTMLAttributes<TableHandleDragPreviewElement> {
16
+ /**
17
+ * @default null
18
+ * @hidden
19
+ */
20
+ editor?: TableHandleDragPreviewElementProps['editor'];
21
+ }
22
+
23
+ function TableHandleDragPreviewComponent(props: TableHandleDragPreviewProps, forwardedRef: ForwardedRef<TableHandleDragPreviewElement>) {
24
+ registerTableHandleDragPreviewElement();
25
+
26
+ const elementRef = useRef<TableHandleDragPreviewElement>(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: TableHandleDragPreviewElement | 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-drag-preview', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
51
+ }
16
52
 
17
53
  /**
18
- * Props for the {@link TableHandleDragPreview} component.
54
+ * A React component that renders an `prosekit-table-handle-drag-preview` custom element.
55
+ *
56
+ * @public
19
57
  */
20
- export interface TableHandleDragPreviewProps extends Partial<CreateProps<Props, Events>> {}
21
-
22
- export const TableHandleDragPreview: ForwardRefExoticComponent<
23
- TableHandleDragPreviewProps &
24
- RefAttributes<TableHandleDragPreviewElement> &
25
- HTMLAttributes<TableHandleDragPreviewElement>
26
- > = createComponent<
27
- TableHandleDragPreviewProps,
28
- TableHandleDragPreviewElement
29
- >(
30
- 'prosekit-table-handle-drag-preview',
31
- 'TableHandleDragPreview',
32
- Object.keys(tableHandleDragPreviewProps),
33
- Object.keys(tableHandleDragPreviewEvents),
34
- )
58
+ export const TableHandleDragPreview: ForwardRefExoticComponent<TableHandleDragPreviewProps & RefAttributes<TableHandleDragPreviewElement>> = /* @__PURE__ */ forwardRef(TableHandleDragPreviewComponent);
@@ -1,34 +1,58 @@
1
- import {
2
- type TableHandleDropIndicatorElement,
3
- type TableHandleDropIndicatorProps as Props,
4
- type TableHandleDropIndicatorEvents as Events,
5
- tableHandleDropIndicatorProps,
6
- tableHandleDropIndicatorEvents,
7
- } from '@prosekit/web/table-handle'
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 { registerTableHandleDropIndicatorElement, type TableHandleDropIndicatorElement, type TableHandleDropIndicatorProps as TableHandleDropIndicatorElementProps } 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 TableHandleDropIndicator} React component.
12
+ *
13
+ * @public
14
+ */
15
+ export interface TableHandleDropIndicatorProps extends HTMLAttributes<TableHandleDropIndicatorElement> {
16
+ /**
17
+ * @default null
18
+ * @hidden
19
+ */
20
+ editor?: TableHandleDropIndicatorElementProps['editor'];
21
+ }
22
+
23
+ function TableHandleDropIndicatorComponent(props: TableHandleDropIndicatorProps, forwardedRef: ForwardedRef<TableHandleDropIndicatorElement>) {
24
+ registerTableHandleDropIndicatorElement();
25
+
26
+ const elementRef = useRef<TableHandleDropIndicatorElement>(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: TableHandleDropIndicatorElement | 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-drop-indicator', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
51
+ }
16
52
 
17
53
  /**
18
- * Props for the {@link TableHandleDropIndicator} component.
54
+ * A React component that renders an `prosekit-table-handle-drop-indicator` custom element.
55
+ *
56
+ * @public
19
57
  */
20
- export interface TableHandleDropIndicatorProps extends Partial<CreateProps<Props, Events>> {}
21
-
22
- export const TableHandleDropIndicator: ForwardRefExoticComponent<
23
- TableHandleDropIndicatorProps &
24
- RefAttributes<TableHandleDropIndicatorElement> &
25
- HTMLAttributes<TableHandleDropIndicatorElement>
26
- > = createComponent<
27
- TableHandleDropIndicatorProps,
28
- TableHandleDropIndicatorElement
29
- >(
30
- 'prosekit-table-handle-drop-indicator',
31
- 'TableHandleDropIndicator',
32
- Object.keys(tableHandleDropIndicatorProps),
33
- Object.keys(tableHandleDropIndicatorEvents),
34
- )
58
+ export const TableHandleDropIndicator: ForwardRefExoticComponent<TableHandleDropIndicatorProps & RefAttributes<TableHandleDropIndicatorElement>> = /* @__PURE__ */ forwardRef(TableHandleDropIndicatorComponent);
@@ -1,34 +1,60 @@
1
- import {
2
- type TableHandleRootElement,
3
- type TableHandleRootProps as Props,
4
- type TableHandleRootEvents as Events,
5
- tableHandleRootProps,
6
- tableHandleRootEvents,
7
- } from '@prosekit/web/table-handle'
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 { registerTableHandleRootElement, type TableHandleRootElement, type TableHandleRootProps as TableHandleRootElementProps } 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 TableHandleRoot} React component.
12
+ *
13
+ * @public
14
+ */
15
+ export interface TableHandleRootProps extends HTMLAttributes<TableHandleRootElement> {
16
+ /**
17
+ * The ProseKit editor instance.
18
+ *
19
+ * @default null
20
+ * @hidden
21
+ */
22
+ editor?: TableHandleRootElementProps['editor'];
23
+ }
24
+
25
+ function TableHandleRootComponent(props: TableHandleRootProps, forwardedRef: ForwardedRef<TableHandleRootElement>) {
26
+ registerTableHandleRootElement();
27
+
28
+ const elementRef = useRef<TableHandleRootElement>(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: TableHandleRootElement | 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-root', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
53
+ }
16
54
 
17
55
  /**
18
- * Props for the {@link TableHandleRoot} component.
56
+ * A React component that renders an `prosekit-table-handle-root` custom element.
57
+ *
58
+ * @public
19
59
  */
20
- export interface TableHandleRootProps extends Partial<CreateProps<Props, Events>> {}
21
-
22
- export const TableHandleRoot: ForwardRefExoticComponent<
23
- TableHandleRootProps &
24
- RefAttributes<TableHandleRootElement> &
25
- HTMLAttributes<TableHandleRootElement>
26
- > = createComponent<
27
- TableHandleRootProps,
28
- TableHandleRootElement
29
- >(
30
- 'prosekit-table-handle-root',
31
- 'TableHandleRoot',
32
- Object.keys(tableHandleRootProps),
33
- Object.keys(tableHandleRootEvents),
34
- )
60
+ export const TableHandleRoot: ForwardRefExoticComponent<TableHandleRootProps & RefAttributes<TableHandleRootElement>> = /* @__PURE__ */ forwardRef(TableHandleRootComponent);
@@ -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 { registerTableHandleRowMenuRootElement, type TableHandleRowMenuRootElement, type TableHandleRowMenuRootProps as TableHandleRowMenuRootElementProps } 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 TableHandleRowMenuRoot} React component.
10
+ *
11
+ * @public
12
+ */
13
+ export interface TableHandleRowMenuRootProps extends HTMLAttributes<TableHandleRowMenuRootElement> {
14
+ /**
15
+ * Whether the overlay is initially open.
16
+ * @default false
17
+ */
18
+ defaultOpen?: TableHandleRowMenuRootElementProps['defaultOpen'];
19
+ /**
20
+ * Whether the overlay is currently open.
21
+ * @default null
22
+ */
23
+ open?: TableHandleRowMenuRootElementProps['open'];
24
+ /**
25
+ * Whether the component should ignore user interaction.
26
+ * @default false
27
+ */
28
+ disabled?: TableHandleRowMenuRootElementProps['disabled'];
29
+ }
30
+
31
+ function TableHandleRowMenuRootComponent(props: TableHandleRowMenuRootProps, forwardedRef: ForwardedRef<TableHandleRowMenuRootElement>) {
32
+ registerTableHandleRowMenuRootElement();
33
+
34
+ const elementRef = useRef<TableHandleRowMenuRootElement>(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: TableHandleRowMenuRootElement | 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-row-menu-root', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
57
+ }
58
+
59
+ /**
60
+ * A React component that renders an `prosekit-table-handle-row-menu-root` custom element.
61
+ *
62
+ * @public
63
+ */
64
+ export const TableHandleRowMenuRoot: ForwardRefExoticComponent<TableHandleRowMenuRootProps & RefAttributes<TableHandleRowMenuRootElement>> = /* @__PURE__ */ forwardRef(TableHandleRowMenuRootComponent);
@@ -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 { registerTableHandleRowMenuTriggerElement, type TableHandleRowMenuTriggerElement, type TableHandleRowMenuTriggerProps as TableHandleRowMenuTriggerElementProps } 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 TableHandleRowMenuTrigger} React component.
12
+ *
13
+ * @public
14
+ */
15
+ export interface TableHandleRowMenuTriggerProps extends HTMLAttributes<TableHandleRowMenuTriggerElement> {
16
+ /**
17
+ * @default null
18
+ * @hidden
19
+ */
20
+ editor?: TableHandleRowMenuTriggerElementProps['editor'];
21
+ }
22
+
23
+ function TableHandleRowMenuTriggerComponent(props: TableHandleRowMenuTriggerProps, forwardedRef: ForwardedRef<TableHandleRowMenuTriggerElement>) {
24
+ registerTableHandleRowMenuTriggerElement();
25
+
26
+ const elementRef = useRef<TableHandleRowMenuTriggerElement>(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: TableHandleRowMenuTriggerElement | 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-row-menu-trigger', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
51
+ }
52
+
53
+ /**
54
+ * A React component that renders an `prosekit-table-handle-row-menu-trigger` custom element.
55
+ *
56
+ * @public
57
+ */
58
+ export const TableHandleRowMenuTrigger: ForwardRefExoticComponent<TableHandleRowMenuTriggerProps & RefAttributes<TableHandleRowMenuTriggerElement>> = /* @__PURE__ */ forwardRef(TableHandleRowMenuTriggerComponent);
@@ -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 { registerTableHandleRowPopupElement, type TableHandleRowPopupElement } 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 TableHandleRowPopup} React component.
10
+ *
11
+ * @public
12
+ */
13
+ export interface TableHandleRowPopupProps extends HTMLAttributes<TableHandleRowPopupElement> {}
14
+
15
+ function TableHandleRowPopupComponent(props: TableHandleRowPopupProps, forwardedRef: ForwardedRef<TableHandleRowPopupElement>) {
16
+ registerTableHandleRowPopupElement();
17
+
18
+ const elementRef = useRef<TableHandleRowPopupElement>(null);
19
+
20
+ const { ...restProps } = props;
21
+
22
+ const mergedRef = useCallback(
23
+ (element: TableHandleRowPopupElement | 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-row-popup', { ...restProps, ref: mergedRef, suppressHydrationWarning: true });
35
+ }
36
+
37
+ /**
38
+ * A React component that renders an `prosekit-table-handle-row-popup` custom element.
39
+ *
40
+ * @public
41
+ */
42
+ export const TableHandleRowPopup: ForwardRefExoticComponent<TableHandleRowPopupProps & RefAttributes<TableHandleRowPopupElement>> = /* @__PURE__ */ forwardRef(TableHandleRowPopupComponent);