@prosekit/solid 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.
Files changed (119) hide show
  1. package/dist/prosekit-solid-autocomplete.d.ts +225 -19
  2. package/dist/prosekit-solid-autocomplete.d.ts.map +1 -1
  3. package/dist/prosekit-solid-autocomplete.js +204 -9
  4. package/dist/prosekit-solid-autocomplete.js.map +1 -1
  5. package/dist/prosekit-solid-block-handle.d.ts +209 -15
  6. package/dist/prosekit-solid-block-handle.d.ts.map +1 -1
  7. package/dist/prosekit-solid-block-handle.js +160 -7
  8. package/dist/prosekit-solid-block-handle.js.map +1 -1
  9. package/dist/prosekit-solid-drop-indicator.d.ts +26 -7
  10. package/dist/prosekit-solid-drop-indicator.d.ts.map +1 -1
  11. package/dist/prosekit-solid-drop-indicator.js +29 -3
  12. package/dist/prosekit-solid-drop-indicator.js.map +1 -1
  13. package/dist/prosekit-solid-inline-popover.d.ts +203 -9
  14. package/dist/prosekit-solid-inline-popover.d.ts.map +1 -1
  15. package/dist/prosekit-solid-inline-popover.js +128 -5
  16. package/dist/prosekit-solid-inline-popover.js.map +1 -1
  17. package/dist/prosekit-solid-menu.d.ts +287 -0
  18. package/dist/prosekit-solid-menu.d.ts.map +1 -0
  19. package/dist/prosekit-solid-menu.js +241 -0
  20. package/dist/prosekit-solid-menu.js.map +1 -0
  21. package/dist/prosekit-solid-popover.d.ts +226 -15
  22. package/dist/prosekit-solid-popover.d.ts.map +1 -1
  23. package/dist/prosekit-solid-popover.js +165 -7
  24. package/dist/prosekit-solid-popover.js.map +1 -1
  25. package/dist/prosekit-solid-resizable.d.ts +55 -13
  26. package/dist/prosekit-solid-resizable.d.ts.map +1 -1
  27. package/dist/prosekit-solid-resizable.js +69 -7
  28. package/dist/prosekit-solid-resizable.js.map +1 -1
  29. package/dist/prosekit-solid-table-handle.d.ts +446 -39
  30. package/dist/prosekit-solid-table-handle.d.ts.map +1 -1
  31. package/dist/prosekit-solid-table-handle.js +334 -19
  32. package/dist/prosekit-solid-table-handle.js.map +1 -1
  33. package/dist/prosekit-solid-tooltip.d.ts +210 -15
  34. package/dist/prosekit-solid-tooltip.d.ts.map +1 -1
  35. package/dist/prosekit-solid-tooltip.js +149 -7
  36. package/dist/prosekit-solid-tooltip.js.map +1 -1
  37. package/dist/prosekit-solid.d.ts +23 -2
  38. package/dist/prosekit-solid.d.ts.map +1 -1
  39. package/package.json +26 -18
  40. package/src/components/autocomplete/autocomplete-empty.gen.ts +22 -24
  41. package/src/components/autocomplete/autocomplete-item.gen.ts +82 -26
  42. package/src/components/autocomplete/autocomplete-popup.gen.ts +78 -0
  43. package/src/components/autocomplete/autocomplete-positioner.gen.ts +167 -0
  44. package/src/components/autocomplete/autocomplete-root.gen.ts +110 -0
  45. package/src/components/autocomplete/index.gen.ts +12 -4
  46. package/src/components/autocomplete/index.ts +27 -0
  47. package/src/components/block-handle/block-handle-add.gen.ts +54 -26
  48. package/src/components/block-handle/block-handle-draggable.gen.ts +54 -26
  49. package/src/components/block-handle/block-handle-popup.gen.ts +27 -0
  50. package/src/components/block-handle/block-handle-positioner.gen.ts +185 -0
  51. package/src/components/block-handle/block-handle-root.gen.ts +82 -0
  52. package/src/components/block-handle/index.gen.ts +13 -3
  53. package/src/components/block-handle/index.ts +27 -0
  54. package/src/components/drop-indicator/drop-indicator.gen.ts +60 -26
  55. package/src/components/drop-indicator/index.gen.ts +5 -1
  56. package/src/components/drop-indicator/index.ts +14 -0
  57. package/src/components/inline-popover/index.gen.ts +11 -1
  58. package/src/components/inline-popover/index.ts +22 -0
  59. package/src/components/inline-popover/inline-popover-popup.gen.ts +27 -0
  60. package/src/components/inline-popover/inline-popover-positioner.gen.ts +191 -0
  61. package/src/components/inline-popover/inline-popover-root.gen.ts +106 -0
  62. package/src/components/menu/index.gen.ts +19 -0
  63. package/src/components/menu/index.ts +37 -0
  64. package/src/components/menu/menu-item.gen.ts +89 -0
  65. package/src/components/menu/menu-popup.gen.ts +53 -0
  66. package/src/components/menu/menu-positioner.gen.ts +192 -0
  67. package/src/components/menu/menu-root.gen.ts +86 -0
  68. package/src/components/menu/menu-submenu-root.gen.ts +27 -0
  69. package/src/components/menu/menu-submenu-trigger.gen.ts +27 -0
  70. package/src/components/menu/menu-trigger.gen.ts +77 -0
  71. package/src/components/popover/index.gen.ts +11 -3
  72. package/src/components/popover/index.ts +24 -0
  73. package/src/components/popover/popover-popup.gen.ts +27 -0
  74. package/src/components/popover/popover-positioner.gen.ts +192 -0
  75. package/src/components/popover/popover-root.gen.ts +90 -26
  76. package/src/components/popover/popover-trigger.gen.ts +90 -26
  77. package/src/components/resizable/index.gen.ts +8 -2
  78. package/src/components/resizable/index.ts +20 -0
  79. package/src/components/resizable/resizable-handle.gen.ts +49 -26
  80. package/src/components/resizable/resizable-root.gen.ts +89 -26
  81. package/src/components/table-handle/index.gen.ts +17 -9
  82. package/src/components/table-handle/index.ts +58 -0
  83. package/src/components/table-handle/table-handle-column-menu-root.gen.ts +61 -0
  84. package/src/components/table-handle/table-handle-column-menu-trigger.gen.ts +55 -0
  85. package/src/components/table-handle/table-handle-column-popup.gen.ts +27 -0
  86. package/src/components/table-handle/table-handle-column-positioner.gen.ts +196 -0
  87. package/src/components/table-handle/table-handle-drag-preview.gen.ts +52 -26
  88. package/src/components/table-handle/table-handle-drop-indicator.gen.ts +52 -26
  89. package/src/components/table-handle/table-handle-root.gen.ts +54 -26
  90. package/src/components/table-handle/table-handle-row-menu-root.gen.ts +61 -0
  91. package/src/components/table-handle/table-handle-row-menu-trigger.gen.ts +55 -0
  92. package/src/components/table-handle/table-handle-row-popup.gen.ts +27 -0
  93. package/src/components/table-handle/table-handle-row-positioner.gen.ts +196 -0
  94. package/src/components/tooltip/index.gen.ts +11 -3
  95. package/src/components/tooltip/index.ts +24 -0
  96. package/src/components/tooltip/tooltip-popup.gen.ts +27 -0
  97. package/src/components/tooltip/tooltip-positioner.gen.ts +192 -0
  98. package/src/components/tooltip/tooltip-root.gen.ts +83 -26
  99. package/src/components/tooltip/tooltip-trigger.gen.ts +58 -26
  100. package/dist/create-component.js +0 -41
  101. package/dist/create-component.js.map +0 -1
  102. package/dist/create-props.d.ts +0 -6
  103. package/dist/create-props.d.ts.map +0 -1
  104. package/dist/types.d.ts +0 -26
  105. package/dist/types.d.ts.map +0 -1
  106. package/src/components/autocomplete/autocomplete-list.gen.ts +0 -29
  107. package/src/components/autocomplete/autocomplete-popover.gen.ts +0 -29
  108. package/src/components/block-handle/block-handle-popover.gen.ts +0 -29
  109. package/src/components/create-component.ts +0 -60
  110. package/src/components/create-props.ts +0 -13
  111. package/src/components/inline-popover/inline-popover.gen.ts +0 -29
  112. package/src/components/popover/popover-content.gen.ts +0 -29
  113. package/src/components/table-handle/table-handle-column-root.gen.ts +0 -29
  114. package/src/components/table-handle/table-handle-column-trigger.gen.ts +0 -29
  115. package/src/components/table-handle/table-handle-popover-content.gen.ts +0 -29
  116. package/src/components/table-handle/table-handle-popover-item.gen.ts +0 -29
  117. package/src/components/table-handle/table-handle-row-root.gen.ts +0 -29
  118. package/src/components/table-handle/table-handle-row-trigger.gen.ts +0 -29
  119. package/src/components/tooltip/tooltip-content.gen.ts +0 -29
@@ -1,29 +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 { Component } from 'solid-js'
9
-
10
- import type { PropsWithElement } from '../../types.ts'
11
- import { createComponent } from '../create-component.ts'
12
- 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 PopoverTriggerEvents, type PopoverTriggerProps as PopoverTriggerElementProps } from '@prosekit/web/popover';
6
+ import { createEffect, createSignal, mergeProps, splitProps } from 'solid-js';
7
+ import type { Component, JSX } from 'solid-js';
8
+ import h from 'solid-js/h';
9
+
10
+ /**
11
+ * Props for the {@link PopoverTrigger} Solid component.
12
+ *
13
+ * @public
14
+ */
15
+ export interface PopoverTriggerProps extends JSX.HTMLAttributes<PopoverTriggerElement> {
16
+ /**
17
+ * Whether the component should ignore user interaction.
18
+ * @default false
19
+ */
20
+ disabled?: PopoverTriggerElementProps['disabled'];
21
+ /**
22
+ * Whether the popover should also open when the trigger is hovered.
23
+ * @default false
24
+ */
25
+ openOnHover?: PopoverTriggerElementProps['openOnHover'];
26
+ /**
27
+ * The delay in milliseconds before opening the popover when hovering.
28
+ * Only applies when `openOnHover` is true.
29
+ * @default 300
30
+ */
31
+ delay?: PopoverTriggerElementProps['delay'];
32
+ /**
33
+ * The delay in milliseconds before closing the popover when hover ends.
34
+ * Only applies when `openOnHover` is true.
35
+ * @default 0
36
+ */
37
+ closeDelay?: PopoverTriggerElementProps['closeDelay'];
38
+ /** Emitted when the popover is opened or closed. */
39
+ onOpenChange?: (event: PopoverTriggerEvents['openChange']) => void;
40
+ }
13
41
 
14
42
  /**
15
- * Props for the {@link PopoverTrigger} component.
43
+ * A Solid component that renders an `prosekit-popover-trigger` custom element.
44
+ *
45
+ * @public
16
46
  */
17
- export interface PopoverTriggerProps extends Partial<CreateProps<Props, Events>> {}
18
-
19
- export const PopoverTrigger: Component<PropsWithElement<
20
- PopoverTriggerProps,
21
- PopoverTriggerElement
22
- >> = createComponent<
23
- PopoverTriggerProps,
24
- PopoverTriggerElement
25
- >(
26
- 'prosekit-popover-trigger',
27
- Object.keys(popoverTriggerProps),
28
- Object.keys(popoverTriggerEvents),
29
- )
47
+ export const PopoverTrigger: Component<PopoverTriggerProps> = (props): any => {
48
+ registerPopoverTriggerElement();
49
+
50
+ const [getElement, setElement] = createSignal<PopoverTriggerElement | null>(null);
51
+ const handlers: Array<((event: any) => void) | undefined> = [];
52
+
53
+ const [elementProps, eventHandlers, restProps] = splitProps(props, ['closeDelay', 'delay', 'disabled', 'openOnHover'], ['onOpenChange']);
54
+
55
+ createEffect(() => {
56
+ const element = getElement();
57
+ if (!element) return;
58
+
59
+ Object.assign(element, { closeDelay: elementProps.closeDelay, delay: elementProps.delay, disabled: elementProps.disabled, openOnHover: elementProps.openOnHover });
60
+
61
+ handlers.length = 0;
62
+ handlers.push(eventHandlers.onOpenChange);
63
+ });
64
+
65
+ createEffect(() => {
66
+ const element = getElement();
67
+ if (!element) return;
68
+
69
+ const ac = new AbortController();
70
+ for (const [index, eventName] of ['openChange'].entries()) {
71
+ element.addEventListener(
72
+ eventName,
73
+ (event) => {
74
+ handlers[index]?.(event);
75
+ },
76
+ { signal: ac.signal },
77
+ );
78
+ }
79
+ return () => ac.abort();
80
+ });
81
+
82
+ return () =>
83
+ h(
84
+ 'prosekit-popover-trigger',
85
+ mergeProps(restProps, {
86
+ ref: (el: PopoverTriggerElement | null) => {
87
+ setElement(el);
88
+ },
89
+ }),
90
+ );
91
+ };
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/solid/resizable'
12
+
13
+ <ResizableRoot>
14
+ <img src="..." />
15
+ <ResizableHandle>...</ResizableHandle>
16
+ </ResizableRoot>
17
+ ```
18
+ */
19
+
20
+ export * from './index.gen.ts'
@@ -1,29 +1,52 @@
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 { Component } from 'solid-js'
9
-
10
- import type { PropsWithElement } from '../../types.ts'
11
- import { createComponent } from '../create-component.ts'
12
- 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 { createEffect, createSignal, mergeProps, splitProps } from 'solid-js';
7
+ import type { Component, JSX } from 'solid-js';
8
+ import h from 'solid-js/h';
9
+
10
+ /**
11
+ * Props for the {@link ResizableHandle} Solid component.
12
+ *
13
+ * @public
14
+ */
15
+ export interface ResizableHandleProps extends JSX.HTMLAttributes<ResizableHandleElement> {
16
+ /**
17
+ * The position of the handle.
18
+ *
19
+ * @default "bottom-right"
20
+ */
21
+ position?: ResizableHandleElementProps['position'];
22
+ }
13
23
 
14
24
  /**
15
- * Props for the {@link ResizableHandle} component.
25
+ * A Solid component that renders an `prosekit-resizable-handle` custom element.
26
+ *
27
+ * @public
16
28
  */
17
- export interface ResizableHandleProps extends Partial<CreateProps<Props, Events>> {}
18
-
19
- export const ResizableHandle: Component<PropsWithElement<
20
- ResizableHandleProps,
21
- ResizableHandleElement
22
- >> = createComponent<
23
- ResizableHandleProps,
24
- ResizableHandleElement
25
- >(
26
- 'prosekit-resizable-handle',
27
- Object.keys(resizableHandleProps),
28
- Object.keys(resizableHandleEvents),
29
- )
29
+ export const ResizableHandle: Component<ResizableHandleProps> = (props): any => {
30
+ registerResizableHandleElement();
31
+
32
+ const [getElement, setElement] = createSignal<ResizableHandleElement | null>(null);
33
+
34
+ const [elementProps, restProps] = splitProps(props, ['position']);
35
+
36
+ createEffect(() => {
37
+ const element = getElement();
38
+ if (!element) return;
39
+
40
+ Object.assign(element, { position: elementProps.position });
41
+ });
42
+
43
+ return () =>
44
+ h(
45
+ 'prosekit-resizable-handle',
46
+ mergeProps(restProps, {
47
+ ref: (el: ResizableHandleElement | null) => {
48
+ setElement(el);
49
+ },
50
+ }),
51
+ );
52
+ };
@@ -1,29 +1,92 @@
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 { Component } from 'solid-js'
9
-
10
- import type { PropsWithElement } from '../../types.ts'
11
- import { createComponent } from '../create-component.ts'
12
- 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 ResizableRootEvents, type ResizableRootProps as ResizableRootElementProps } from '@prosekit/web/resizable';
6
+ import { createEffect, createSignal, mergeProps, splitProps } from 'solid-js';
7
+ import type { Component, JSX } from 'solid-js';
8
+ import h from 'solid-js/h';
9
+
10
+ /**
11
+ * Props for the {@link ResizableRoot} Solid component.
12
+ *
13
+ * @public
14
+ */
15
+ export interface ResizableRootProps extends JSX.HTMLAttributes<ResizableRootElement> {
16
+ /**
17
+ * The width of the resizable element.
18
+ *
19
+ * @default null
20
+ */
21
+ width?: ResizableRootElementProps['width'];
22
+ /**
23
+ * The height of the resizable element.
24
+ *
25
+ * @default null
26
+ */
27
+ height?: ResizableRootElementProps['height'];
28
+ /**
29
+ * The aspect ratio of the resizable element.
30
+ *
31
+ * @default null
32
+ */
33
+ aspectRatio?: ResizableRootElementProps['aspectRatio'];
34
+ /** Emitted when a resize operation starts. */
35
+ onResizeStart?: (event: ResizableRootEvents['resizeStart']) => void;
36
+ /** Emitted when a resize operation ends. */
37
+ onResizeEnd?: (event: ResizableRootEvents['resizeEnd']) => void;
38
+ }
13
39
 
14
40
  /**
15
- * Props for the {@link ResizableRoot} component.
41
+ * A Solid component that renders an `prosekit-resizable-root` custom element.
42
+ *
43
+ * @public
16
44
  */
17
- export interface ResizableRootProps extends Partial<CreateProps<Props, Events>> {}
18
-
19
- export const ResizableRoot: Component<PropsWithElement<
20
- ResizableRootProps,
21
- ResizableRootElement
22
- >> = createComponent<
23
- ResizableRootProps,
24
- ResizableRootElement
25
- >(
26
- 'prosekit-resizable-root',
27
- Object.keys(resizableRootProps),
28
- Object.keys(resizableRootEvents),
29
- )
45
+ export const ResizableRoot: Component<ResizableRootProps> = (props): any => {
46
+ registerResizableRootElement();
47
+
48
+ const [getElement, setElement] = createSignal<ResizableRootElement | null>(null);
49
+ const handlers: Array<((event: any) => void) | undefined> = [];
50
+
51
+ const [elementProps, eventHandlers, restProps] = splitProps(props, ['aspectRatio', 'height', 'width'], ['onResizeEnd', 'onResizeStart']);
52
+
53
+ createEffect(() => {
54
+ const element = getElement();
55
+ if (!element) return;
56
+
57
+ Object.assign(element, { aspectRatio: elementProps.aspectRatio, height: elementProps.height, width: elementProps.width });
58
+
59
+ handlers.length = 0;
60
+ handlers.push(eventHandlers.onResizeEnd);
61
+ handlers.push(eventHandlers.onResizeStart);
62
+ });
63
+
64
+ createEffect(() => {
65
+ const element = getElement();
66
+ if (!element) return;
67
+
68
+ const ac = new AbortController();
69
+ for (const [index, eventName] of ['resizeEnd', 'resizeStart'].entries()) {
70
+ element.addEventListener(
71
+ eventName,
72
+ (event) => {
73
+ handlers[index]?.(event);
74
+ },
75
+ { signal: ac.signal },
76
+ );
77
+ }
78
+ return () => ac.abort();
79
+ });
80
+
81
+ return () =>
82
+ h(
83
+ 'prosekit-resizable-root',
84
+ mergeProps(restProps, {
85
+ ref: (el: ResizableRootElement | null) => {
86
+ setElement(el);
87
+ },
88
+ }),
89
+ );
90
+ };
91
+
92
+ 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/solid/table-handle'
21
+ import {
22
+ MenuItem,
23
+ MenuPopup,
24
+ MenuPositioner,
25
+ } from 'prosekit/solid/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,61 @@
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 { createEffect, createSignal, mergeProps, splitProps } from 'solid-js';
7
+ import type { Component, JSX } from 'solid-js';
8
+ import h from 'solid-js/h';
9
+
10
+ /**
11
+ * Props for the {@link TableHandleColumnMenuRoot} Solid component.
12
+ *
13
+ * @public
14
+ */
15
+ export interface TableHandleColumnMenuRootProps extends JSX.HTMLAttributes<TableHandleColumnMenuRootElement> {
16
+ /**
17
+ * Whether the overlay is initially open.
18
+ * @default false
19
+ */
20
+ defaultOpen?: TableHandleColumnMenuRootElementProps['defaultOpen'];
21
+ /**
22
+ * Whether the overlay is currently open.
23
+ * @default null
24
+ */
25
+ open?: TableHandleColumnMenuRootElementProps['open'];
26
+ /**
27
+ * Whether the component should ignore user interaction.
28
+ * @default false
29
+ */
30
+ disabled?: TableHandleColumnMenuRootElementProps['disabled'];
31
+ }
32
+
33
+ /**
34
+ * A Solid component that renders an `prosekit-table-handle-column-menu-root` custom element.
35
+ *
36
+ * @public
37
+ */
38
+ export const TableHandleColumnMenuRoot: Component<TableHandleColumnMenuRootProps> = (props): any => {
39
+ registerTableHandleColumnMenuRootElement();
40
+
41
+ const [getElement, setElement] = createSignal<TableHandleColumnMenuRootElement | null>(null);
42
+
43
+ const [elementProps, restProps] = splitProps(props, ['defaultOpen', 'disabled', 'open']);
44
+
45
+ createEffect(() => {
46
+ const element = getElement();
47
+ if (!element) return;
48
+
49
+ Object.assign(element, { defaultOpen: elementProps.defaultOpen, disabled: elementProps.disabled, open: elementProps.open });
50
+ });
51
+
52
+ return () =>
53
+ h(
54
+ 'prosekit-table-handle-column-menu-root',
55
+ mergeProps(restProps, {
56
+ ref: (el: TableHandleColumnMenuRootElement | null) => {
57
+ setElement(el);
58
+ },
59
+ }),
60
+ );
61
+ };
@@ -0,0 +1,55 @@
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 { createEffect, createSignal, mergeProps, splitProps } from 'solid-js';
7
+ import type { Component, JSX } from 'solid-js';
8
+ import h from 'solid-js/h';
9
+
10
+ import { useEditorContext } from '../../contexts/editor-context.ts';
11
+
12
+ /**
13
+ * Props for the {@link TableHandleColumnMenuTrigger} Solid component.
14
+ *
15
+ * @public
16
+ */
17
+ export interface TableHandleColumnMenuTriggerProps extends JSX.HTMLAttributes<TableHandleColumnMenuTriggerElement> {
18
+ /**
19
+ * @default null
20
+ * @hidden
21
+ */
22
+ editor?: TableHandleColumnMenuTriggerElementProps['editor'];
23
+ }
24
+
25
+ /**
26
+ * A Solid component that renders an `prosekit-table-handle-column-menu-trigger` custom element.
27
+ *
28
+ * @public
29
+ */
30
+ export const TableHandleColumnMenuTrigger: Component<TableHandleColumnMenuTriggerProps> = (props): any => {
31
+ registerTableHandleColumnMenuTriggerElement();
32
+
33
+ const [getElement, setElement] = createSignal<TableHandleColumnMenuTriggerElement | null>(null);
34
+
35
+ const [elementProps, restProps] = splitProps(props, ['editor']);
36
+
37
+ const p0Fallback = useEditorContext();
38
+
39
+ createEffect(() => {
40
+ const element = getElement();
41
+ if (!element) return;
42
+
43
+ Object.assign(element, { editor: elementProps.editor ?? p0Fallback });
44
+ });
45
+
46
+ return () =>
47
+ h(
48
+ 'prosekit-table-handle-column-menu-trigger',
49
+ mergeProps(restProps, {
50
+ ref: (el: TableHandleColumnMenuTriggerElement | null) => {
51
+ setElement(el);
52
+ },
53
+ }),
54
+ );
55
+ };
@@ -0,0 +1,27 @@
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 type { Component, JSX } from 'solid-js';
7
+ import h from 'solid-js/h';
8
+
9
+ /**
10
+ * Props for the {@link TableHandleColumnPopup} Solid component.
11
+ *
12
+ * @public
13
+ */
14
+ export interface TableHandleColumnPopupProps extends JSX.HTMLAttributes<TableHandleColumnPopupElement> {}
15
+
16
+ /**
17
+ * A Solid component that renders an `prosekit-table-handle-column-popup` custom element.
18
+ *
19
+ * @public
20
+ */
21
+ export const TableHandleColumnPopup: Component<TableHandleColumnPopupProps> = (props): any => {
22
+ registerTableHandleColumnPopupElement();
23
+
24
+ const restProps = props;
25
+
26
+ return () => h('prosekit-table-handle-column-popup', restProps);
27
+ };