@prosekit/svelte 0.8.8 → 0.8.10

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 (92) hide show
  1. package/dist/build/components/autocomplete/autocomplete-empty.gen.svelte +3 -3
  2. package/dist/build/components/autocomplete/autocomplete-item.gen.svelte +3 -3
  3. package/dist/build/components/autocomplete/autocomplete-list.gen.svelte +3 -3
  4. package/dist/build/components/autocomplete/autocomplete-popover.gen.svelte +3 -3
  5. package/dist/build/components/autocomplete/index.gen.js +4 -4
  6. package/dist/build/components/block-handle/block-handle-add.gen.svelte +3 -3
  7. package/dist/build/components/block-handle/block-handle-draggable.gen.svelte +3 -3
  8. package/dist/build/components/block-handle/block-handle-popover.gen.svelte +3 -3
  9. package/dist/build/components/block-handle/index.gen.js +3 -3
  10. package/dist/build/components/drop-indicator/drop-indicator.gen.svelte +3 -3
  11. package/dist/build/components/drop-indicator/index.gen.js +1 -1
  12. package/dist/build/components/inline-popover/index.gen.js +1 -1
  13. package/dist/build/components/inline-popover/inline-popover.gen.svelte +3 -3
  14. package/dist/build/components/popover/index.gen.js +3 -3
  15. package/dist/build/components/popover/popover-content.gen.svelte +3 -3
  16. package/dist/build/components/popover/popover-root.gen.svelte +3 -3
  17. package/dist/build/components/popover/popover-trigger.gen.svelte +3 -3
  18. package/dist/build/components/prosekit/prosekit.svelte +5 -8
  19. package/dist/build/components/resizable/index.gen.js +2 -2
  20. package/dist/build/components/resizable/resizable-handle.gen.svelte +3 -3
  21. package/dist/build/components/resizable/resizable-root.gen.svelte +3 -3
  22. package/dist/build/components/table-handle/index.gen.js +9 -9
  23. package/dist/build/components/table-handle/table-handle-column-root.gen.svelte +3 -3
  24. package/dist/build/components/table-handle/table-handle-column-trigger.gen.svelte +3 -3
  25. package/dist/build/components/table-handle/table-handle-drag-preview.gen.svelte +3 -3
  26. package/dist/build/components/table-handle/table-handle-drop-indicator.gen.svelte +3 -3
  27. package/dist/build/components/table-handle/table-handle-popover-content.gen.svelte +3 -3
  28. package/dist/build/components/table-handle/table-handle-popover-item.gen.svelte +3 -3
  29. package/dist/build/components/table-handle/table-handle-root.gen.svelte +3 -3
  30. package/dist/build/components/table-handle/table-handle-row-root.gen.svelte +3 -3
  31. package/dist/build/components/table-handle/table-handle-row-trigger.gen.svelte +3 -3
  32. package/dist/build/components/tooltip/index.gen.js +3 -3
  33. package/dist/build/components/tooltip/tooltip-content.gen.svelte +3 -3
  34. package/dist/build/components/tooltip/tooltip-root.gen.svelte +3 -3
  35. package/dist/build/components/tooltip/tooltip-trigger.gen.svelte +3 -3
  36. package/dist/build/components/use-component.js +1 -1
  37. package/dist/build/components/view-renderer/index.d.ts +2 -0
  38. package/dist/build/components/view-renderer/index.d.ts.map +1 -0
  39. package/dist/build/components/view-renderer/index.js +1 -0
  40. package/dist/build/components/view-renderer/view-renderer.svelte +23 -0
  41. package/dist/build/extensions/svelte-mark-view.d.ts +6 -4
  42. package/dist/build/extensions/svelte-mark-view.d.ts.map +1 -1
  43. package/dist/build/extensions/svelte-mark-view.js +30 -24
  44. package/dist/build/extensions/svelte-node-view.d.ts +6 -4
  45. package/dist/build/extensions/svelte-node-view.d.ts.map +1 -1
  46. package/dist/build/extensions/svelte-node-view.js +30 -24
  47. package/dist/build/hooks/use-doc-change.js +1 -1
  48. package/dist/build/hooks/use-editor-derived-value.js +1 -1
  49. package/dist/build/hooks/use-editor-extension.js +1 -1
  50. package/dist/build/hooks/use-editor.js +1 -1
  51. package/dist/build/hooks/use-extension.js +2 -2
  52. package/dist/build/hooks/use-keymap.js +1 -1
  53. package/dist/build/hooks/use-state-update.js +1 -1
  54. package/dist/build/index.js +9 -9
  55. package/package.json +7 -7
  56. package/src/components/prosekit/prosekit.svelte +4 -7
  57. package/src/components/view-renderer/index.ts +1 -0
  58. package/src/components/view-renderer/view-renderer.svelte +23 -0
  59. package/src/extensions/svelte-mark-view.ts +39 -39
  60. package/src/extensions/svelte-node-view.ts +39 -39
  61. package/dist/build/components/mark-view-consumer/index.d.ts +0 -6
  62. package/dist/build/components/mark-view-consumer/index.d.ts.map +0 -1
  63. package/dist/build/components/mark-view-consumer/index.js +0 -5
  64. package/dist/build/components/mark-view-consumer/mark-view-consumer.svelte +0 -12
  65. package/dist/build/components/mark-view-wrapper/index.d.ts +0 -4
  66. package/dist/build/components/mark-view-wrapper/index.d.ts.map +0 -1
  67. package/dist/build/components/mark-view-wrapper/index.js +0 -2
  68. package/dist/build/components/mark-view-wrapper/mark-view-wrapper.svelte +0 -17
  69. package/dist/build/components/mark-view-wrapper/props.d.ts +0 -6
  70. package/dist/build/components/mark-view-wrapper/props.d.ts.map +0 -1
  71. package/dist/build/components/mark-view-wrapper/props.js +0 -1
  72. package/dist/build/components/node-view-consumer/index.d.ts +0 -6
  73. package/dist/build/components/node-view-consumer/index.d.ts.map +0 -1
  74. package/dist/build/components/node-view-consumer/index.js +0 -5
  75. package/dist/build/components/node-view-consumer/node-view-consumer.svelte +0 -12
  76. package/dist/build/components/node-view-wrapper/index.d.ts +0 -4
  77. package/dist/build/components/node-view-wrapper/index.d.ts.map +0 -1
  78. package/dist/build/components/node-view-wrapper/index.js +0 -2
  79. package/dist/build/components/node-view-wrapper/node-view-wrapper.svelte +0 -22
  80. package/dist/build/components/node-view-wrapper/props.d.ts +0 -6
  81. package/dist/build/components/node-view-wrapper/props.d.ts.map +0 -1
  82. package/dist/build/components/node-view-wrapper/props.js +0 -1
  83. package/src/components/mark-view-consumer/index.ts +0 -8
  84. package/src/components/mark-view-consumer/mark-view-consumer.svelte +0 -12
  85. package/src/components/mark-view-wrapper/index.ts +0 -6
  86. package/src/components/mark-view-wrapper/mark-view-wrapper.svelte +0 -17
  87. package/src/components/mark-view-wrapper/props.ts +0 -7
  88. package/src/components/node-view-consumer/index.ts +0 -8
  89. package/src/components/node-view-consumer/node-view-consumer.svelte +0 -12
  90. package/src/components/node-view-wrapper/index.ts +0 -6
  91. package/src/components/node-view-wrapper/node-view-wrapper.svelte +0 -22
  92. package/src/components/node-view-wrapper/props.ts +0 -7
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/autocomplete'
3
3
 
4
4
  import { autocompleteEmptyProps, autocompleteEmptyEvents } from '@prosekit/web/autocomplete'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/autocomplete'
3
3
 
4
4
  import { autocompleteItemProps, autocompleteItemEvents } from '@prosekit/web/autocomplete'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/autocomplete'
3
3
 
4
4
  import { autocompleteListProps, autocompleteListEvents } from '@prosekit/web/autocomplete'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/autocomplete'
3
3
 
4
4
  import { autocompletePopoverProps, autocompletePopoverEvents } from '@prosekit/web/autocomplete'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -1,4 +1,4 @@
1
- export { AutocompleteEmpty } from './autocomplete-empty.gen.ts';
2
- export { AutocompleteItem } from './autocomplete-item.gen.ts';
3
- export { AutocompleteList } from './autocomplete-list.gen.ts';
4
- export { AutocompletePopover } from './autocomplete-popover.gen.ts';
1
+ export { AutocompleteEmpty } from "./autocomplete-empty.gen.js";
2
+ export { AutocompleteItem } from "./autocomplete-item.gen.js";
3
+ export { AutocompleteList } from "./autocomplete-list.gen.js";
4
+ export { AutocompletePopover } from "./autocomplete-popover.gen.js";
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/block-handle'
3
3
 
4
4
  import { blockHandleAddProps, blockHandleAddEvents } from '@prosekit/web/block-handle'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/block-handle'
3
3
 
4
4
  import { blockHandleDraggableProps, blockHandleDraggableEvents } from '@prosekit/web/block-handle'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/block-handle'
3
3
 
4
4
  import { blockHandlePopoverProps, blockHandlePopoverEvents } from '@prosekit/web/block-handle'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -1,3 +1,3 @@
1
- export { BlockHandleAdd } from './block-handle-add.gen.ts';
2
- export { BlockHandleDraggable } from './block-handle-draggable.gen.ts';
3
- export { BlockHandlePopover } from './block-handle-popover.gen.ts';
1
+ export { BlockHandleAdd } from "./block-handle-add.gen.js";
2
+ export { BlockHandleDraggable } from "./block-handle-draggable.gen.js";
3
+ export { BlockHandlePopover } from "./block-handle-popover.gen.js";
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/drop-indicator'
3
3
 
4
4
  import { dropIndicatorProps, dropIndicatorEvents } from '@prosekit/web/drop-indicator'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -1 +1 @@
1
- export { DropIndicator } from './drop-indicator.gen.ts';
1
+ export { DropIndicator } from "./drop-indicator.gen.js";
@@ -1 +1 @@
1
- export { InlinePopover } from './inline-popover.gen.ts';
1
+ export { InlinePopover } from "./inline-popover.gen.js";
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/inline-popover'
3
3
 
4
4
  import { inlinePopoverProps, inlinePopoverEvents } from '@prosekit/web/inline-popover'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -1,3 +1,3 @@
1
- export { PopoverContent } from './popover-content.gen.ts';
2
- export { PopoverRoot } from './popover-root.gen.ts';
3
- export { PopoverTrigger } from './popover-trigger.gen.ts';
1
+ export { PopoverContent } from "./popover-content.gen.js";
2
+ export { PopoverRoot } from "./popover-root.gen.js";
3
+ export { PopoverTrigger } from "./popover-trigger.gen.js";
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/popover'
3
3
 
4
4
  import { popoverContentProps, popoverContentEvents } from '@prosekit/web/popover'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/popover'
3
3
 
4
4
  import { popoverRootProps, popoverRootEvents } from '@prosekit/web/popover'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/popover'
3
3
 
4
4
  import { popoverTriggerProps, popoverTriggerEvents } from '@prosekit/web/popover'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -1,16 +1,13 @@
1
1
  <script lang="ts">
2
2
  import type { Editor } from '@prosekit/core'
3
- import { useProsemirrorAdapterProvider } from '@prosemirror-adapter/svelte'
4
- import { setEditorContext } from '../../contexts/editor-context.ts'
5
- import { MarkViewConsumer } from '../mark-view-consumer/index.ts'
6
- import { NodeViewConsumer } from '../node-view-consumer/index.ts'
3
+ import { setEditorContext } from '../../contexts/editor-context.js'
4
+ import { ViewRenderer } from '../view-renderer/index.js'
7
5
 
8
6
  export let editor: Editor
9
7
 
10
8
  setEditorContext(editor)
11
- useProsemirrorAdapterProvider()
12
9
  </script>
13
10
 
14
- <slot />
15
- <NodeViewConsumer />
16
- <MarkViewConsumer />
11
+ <ViewRenderer {editor}>
12
+ <slot />
13
+ </ViewRenderer>
@@ -1,2 +1,2 @@
1
- export { ResizableHandle } from './resizable-handle.gen.ts';
2
- export { ResizableRoot } from './resizable-root.gen.ts';
1
+ export { ResizableHandle } from "./resizable-handle.gen.js";
2
+ export { ResizableRoot } from "./resizable-root.gen.js";
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/resizable'
3
3
 
4
4
  import { resizableHandleProps, resizableHandleEvents } from '@prosekit/web/resizable'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/resizable'
3
3
 
4
4
  import { resizableRootProps, resizableRootEvents } from '@prosekit/web/resizable'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -1,9 +1,9 @@
1
- export { TableHandleColumnRoot } from './table-handle-column-root.gen.ts';
2
- export { TableHandleColumnTrigger } from './table-handle-column-trigger.gen.ts';
3
- export { TableHandleDragPreview } from './table-handle-drag-preview.gen.ts';
4
- export { TableHandleDropIndicator } from './table-handle-drop-indicator.gen.ts';
5
- export { TableHandlePopoverContent } from './table-handle-popover-content.gen.ts';
6
- export { TableHandlePopoverItem } from './table-handle-popover-item.gen.ts';
7
- export { TableHandleRoot } from './table-handle-root.gen.ts';
8
- export { TableHandleRowRoot } from './table-handle-row-root.gen.ts';
9
- export { TableHandleRowTrigger } from './table-handle-row-trigger.gen.ts';
1
+ export { TableHandleColumnRoot } from "./table-handle-column-root.gen.js";
2
+ export { TableHandleColumnTrigger } from "./table-handle-column-trigger.gen.js";
3
+ export { TableHandleDragPreview } from "./table-handle-drag-preview.gen.js";
4
+ export { TableHandleDropIndicator } from "./table-handle-drop-indicator.gen.js";
5
+ export { TableHandlePopoverContent } from "./table-handle-popover-content.gen.js";
6
+ export { TableHandlePopoverItem } from "./table-handle-popover-item.gen.js";
7
+ export { TableHandleRoot } from "./table-handle-root.gen.js";
8
+ export { TableHandleRowRoot } from "./table-handle-row-root.gen.js";
9
+ export { TableHandleRowTrigger } from "./table-handle-row-trigger.gen.js";
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/table-handle'
3
3
 
4
4
  import { tableHandleColumnRootProps, tableHandleColumnRootEvents } from '@prosekit/web/table-handle'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/table-handle'
3
3
 
4
4
  import { tableHandleColumnTriggerProps, tableHandleColumnTriggerEvents } from '@prosekit/web/table-handle'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/table-handle'
3
3
 
4
4
  import { tableHandleDragPreviewProps, tableHandleDragPreviewEvents } from '@prosekit/web/table-handle'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/table-handle'
3
3
 
4
4
  import { tableHandleDropIndicatorProps, tableHandleDropIndicatorEvents } from '@prosekit/web/table-handle'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/table-handle'
3
3
 
4
4
  import { tableHandlePopoverContentProps, tableHandlePopoverContentEvents } from '@prosekit/web/table-handle'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/table-handle'
3
3
 
4
4
  import { tableHandlePopoverItemProps, tableHandlePopoverItemEvents } from '@prosekit/web/table-handle'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/table-handle'
3
3
 
4
4
  import { tableHandleRootProps, tableHandleRootEvents } from '@prosekit/web/table-handle'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/table-handle'
3
3
 
4
4
  import { tableHandleRowRootProps, tableHandleRowRootEvents } from '@prosekit/web/table-handle'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/table-handle'
3
3
 
4
4
  import { tableHandleRowTriggerProps, tableHandleRowTriggerEvents } from '@prosekit/web/table-handle'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -1,3 +1,3 @@
1
- export { TooltipContent } from './tooltip-content.gen.ts';
2
- export { TooltipRoot } from './tooltip-root.gen.ts';
3
- export { TooltipTrigger } from './tooltip-trigger.gen.ts';
1
+ export { TooltipContent } from "./tooltip-content.gen.js";
2
+ export { TooltipRoot } from "./tooltip-root.gen.js";
3
+ export { TooltipTrigger } from "./tooltip-trigger.gen.js";
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/tooltip'
3
3
 
4
4
  import { tooltipContentProps, tooltipContentEvents } from '@prosekit/web/tooltip'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/tooltip'
3
3
 
4
4
  import { tooltipRootProps, tooltipRootEvents } from '@prosekit/web/tooltip'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -2,9 +2,9 @@
2
2
  import '@prosekit/web/tooltip'
3
3
 
4
4
  import { tooltipTriggerProps, tooltipTriggerEvents } from '@prosekit/web/tooltip'
5
- import { ClientUpdate } from '../client-update/index.ts'
6
- import { useComponent } from '../use-component.ts'
7
- import { useEventHandlers } from '../use-event-handlers.ts'
5
+ import { ClientUpdate } from '../client-update/index.js'
6
+ import { useComponent } from '../use-component.js'
7
+ import { useEventHandlers } from '../use-event-handlers.js'
8
8
 
9
9
  let attributes: Record<string, unknown> = {}
10
10
  let eventHandlers: Record<string, (...args: any[]) => any> = {}
@@ -1,4 +1,4 @@
1
- import { useEditorContext } from '../contexts/editor-context.ts';
1
+ import { useEditorContext } from "../contexts/editor-context.js";
2
2
  // For unknown reason, Svelte v4 cannot set properties on a web component
3
3
  // when I directly use `{...$$props}`. It seems that Svelte v4 recognizes
4
4
  // the properties as attributes. Here is a workaround to set the properties
@@ -0,0 +1,2 @@
1
+ export { default as ViewRenderer } from './view-renderer.svelte';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/view-renderer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAA"}
@@ -0,0 +1 @@
1
+ export { default as ViewRenderer } from './view-renderer.svelte';
@@ -0,0 +1,23 @@
1
+ <script lang="ts">
2
+ import { union, type Editor } from '@prosekit/core'
3
+ import { useSvelteRenderer } from '@prosemirror-adapter/svelte'
4
+ import { getAllContexts } from 'svelte'
5
+ import { readable } from 'svelte/store'
6
+ import { defineSvelteMarkViewFactory } from '../../extensions/svelte-mark-view.js'
7
+ import { defineSvelteNodeViewFactory } from '../../extensions/svelte-node-view.js'
8
+ import { useEditorExtension } from '../../hooks/use-editor-extension.js'
9
+
10
+ export let editor: Editor
11
+
12
+ const { renderSvelteRenderer, removeSvelteRenderer } = useSvelteRenderer()
13
+ const context = getAllContexts()
14
+
15
+ const extension = union([
16
+ defineSvelteMarkViewFactory(renderSvelteRenderer, removeSvelteRenderer, context),
17
+ defineSvelteNodeViewFactory(renderSvelteRenderer, removeSvelteRenderer, context),
18
+ ])
19
+
20
+ useEditorExtension(editor, readable(extension))
21
+ </script>
22
+
23
+ <slot />
@@ -1,8 +1,7 @@
1
1
  import { type Extension } from '@prosekit/core';
2
- import type { MarkViewConstructor } from '@prosekit/pm/view';
3
2
  import type { CoreMarkViewUserOptions } from '@prosemirror-adapter/core';
4
- import type { MarkViewContext, SvelteMarkViewUserOptions } from '@prosemirror-adapter/svelte';
5
- import type { Component } from 'svelte';
3
+ import { type MarkViewContext, type SvelteRendererResult } from '@prosemirror-adapter/svelte';
4
+ import { type Component } from 'svelte';
6
5
  /**
7
6
  * @public
8
7
  */
@@ -23,11 +22,14 @@ export interface SvelteMarkViewOptions extends CoreMarkViewUserOptions<SvelteMar
23
22
  */
24
23
  name: string;
25
24
  }
25
+ /**
26
+ * @internal
27
+ */
28
+ export declare function defineSvelteMarkViewFactory(renderSvelteRenderer: SvelteRendererResult['renderSvelteRenderer'], removeSvelteRenderer: SvelteRendererResult['removeSvelteRenderer'], context: Map<any, any>): Extension;
26
29
  /**
27
30
  * Defines a mark view using a Svelte component.
28
31
  *
29
32
  * @public
30
33
  */
31
34
  export declare function defineSvelteMarkView(options: SvelteMarkViewOptions): Extension;
32
- export declare function defineSvelteMarkViewFactory(factory: (options: SvelteMarkViewUserOptions) => MarkViewConstructor): Extension;
33
35
  //# sourceMappingURL=svelte-mark-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"svelte-mark-view.d.ts","sourceRoot":"","sources":["../../../src/extensions/svelte-mark-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC7G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAC7F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAIvC;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,eAAe;CAAG;AAE/D;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAA;AAEpE;;;;GAIG;AACH,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB,CAAC,uBAAuB,CAAC;IAC7F;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAID;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,GAC7B,SAAS,CAkBX;AAiBD,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,mBAAmB,GACnE,SAAS,CAKX"}
1
+ {"version":3,"file":"svelte-mark-view.d.ts","sourceRoot":"","sources":["../../../src/extensions/svelte-mark-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC7G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAC1B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElE;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,eAAe;CAAG;AAE/D;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAA;AAEpE;;;;GAIG;AACH,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB,CAAC,uBAAuB,CAAC;IAC7F;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAkBD;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,oBAAoB,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,EAClE,oBAAoB,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,EAClE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GACrB,SAAS,CAMX;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,GAC7B,SAAS,CAWX"}
@@ -1,6 +1,33 @@
1
1
  import { defineMarkViewComponent, defineMarkViewFactory, definePlugin } from '@prosekit/core';
2
- import { MarkViewWrapper } from '../components/mark-view-wrapper/index.ts';
2
+ import { AbstractSvelteMarkView, buildSvelteMarkViewCreator, } from '@prosemirror-adapter/svelte';
3
+ import { flushSync, mount, unmount } from 'svelte';
3
4
  const isServer = typeof window === 'undefined';
5
+ class ProseKitSvelteMarkView extends AbstractSvelteMarkView {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.render = (options) => {
9
+ const UserComponent = this.component;
10
+ const props = this.context;
11
+ const component = mount(UserComponent, {
12
+ target: this.dom,
13
+ context: options.context,
14
+ props,
15
+ });
16
+ flushSync();
17
+ return () => unmount(component);
18
+ };
19
+ }
20
+ }
21
+ /**
22
+ * @internal
23
+ */
24
+ export function defineSvelteMarkViewFactory(renderSvelteRenderer, removeSvelteRenderer, context) {
25
+ const factory = buildSvelteMarkViewCreator(renderSvelteRenderer, removeSvelteRenderer, ProseKitSvelteMarkView, context);
26
+ return defineMarkViewFactory({
27
+ group: 'svelte',
28
+ factory,
29
+ });
30
+ }
4
31
  /**
5
32
  * Defines a mark view using a Svelte component.
6
33
  *
@@ -11,30 +38,9 @@ export function defineSvelteMarkView(options) {
11
38
  if (isServer) {
12
39
  return definePlugin([]);
13
40
  }
14
- const { name, component, ...userOptions } = options;
15
- const args = {
16
- ...userOptions,
17
- component: wrapComponent(component),
18
- };
19
41
  return defineMarkViewComponent({
20
42
  group: 'svelte',
21
- name,
22
- args,
23
- });
24
- }
25
- function wrapComponent(component) {
26
- // `MarkViewWrapper` is an object during SSR
27
- if (!MarkViewWrapper || typeof MarkViewWrapper !== 'function') {
28
- return component;
29
- }
30
- const MarkViewPropsWrapper = (internals, props) => {
31
- return MarkViewWrapper(internals, { ...props, component });
32
- };
33
- return MarkViewPropsWrapper;
34
- }
35
- export function defineSvelteMarkViewFactory(factory) {
36
- return defineMarkViewFactory({
37
- group: 'svelte',
38
- factory,
43
+ name: options.name,
44
+ args: options,
39
45
  });
40
46
  }