@prosekit/preact 0.6.6 → 0.6.8

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 (84) hide show
  1. package/dist/{create-component-_3OMD_6h.js → create-component.js} +3 -5
  2. package/dist/create-component.js.map +1 -0
  3. package/dist/{create-props-PUVFMh9y.d.ts → create-props.d.ts} +1 -1
  4. package/dist/create-props.d.ts.map +1 -0
  5. package/dist/{editor-context-DJZHNwgB.js → editor-context.js} +2 -3
  6. package/dist/editor-context.js.map +1 -0
  7. package/dist/prosekit-preact-autocomplete.d.ts +1 -1
  8. package/dist/prosekit-preact-autocomplete.js +2 -6
  9. package/dist/prosekit-preact-autocomplete.js.map +1 -1
  10. package/dist/prosekit-preact-block-handle.d.ts +1 -1
  11. package/dist/prosekit-preact-block-handle.js +2 -5
  12. package/dist/prosekit-preact-block-handle.js.map +1 -1
  13. package/dist/prosekit-preact-drop-indicator.d.ts +1 -1
  14. package/dist/prosekit-preact-drop-indicator.js +2 -3
  15. package/dist/prosekit-preact-drop-indicator.js.map +1 -1
  16. package/dist/prosekit-preact-inline-popover.d.ts +1 -1
  17. package/dist/prosekit-preact-inline-popover.js +2 -3
  18. package/dist/prosekit-preact-inline-popover.js.map +1 -1
  19. package/dist/prosekit-preact-popover.d.ts +1 -1
  20. package/dist/prosekit-preact-popover.js +2 -5
  21. package/dist/prosekit-preact-popover.js.map +1 -1
  22. package/dist/prosekit-preact-resizable.d.ts +1 -1
  23. package/dist/prosekit-preact-resizable.js +2 -4
  24. package/dist/prosekit-preact-resizable.js.map +1 -1
  25. package/dist/prosekit-preact-table-handle.d.ts +1 -1
  26. package/dist/prosekit-preact-table-handle.js +2 -11
  27. package/dist/prosekit-preact-table-handle.js.map +1 -1
  28. package/dist/prosekit-preact-tooltip.d.ts +1 -1
  29. package/dist/prosekit-preact-tooltip.js +2 -5
  30. package/dist/prosekit-preact-tooltip.js.map +1 -1
  31. package/dist/prosekit-preact.d.ts +17 -17
  32. package/dist/prosekit-preact.d.ts.map +1 -1
  33. package/dist/prosekit-preact.js +109 -119
  34. package/dist/prosekit-preact.js.map +1 -1
  35. package/package.json +8 -7
  36. package/src/components/autocomplete/autocomplete-empty.gen.ts +4 -4
  37. package/src/components/autocomplete/autocomplete-item.gen.ts +4 -4
  38. package/src/components/autocomplete/autocomplete-list.gen.ts +4 -4
  39. package/src/components/autocomplete/autocomplete-popover.gen.ts +4 -4
  40. package/src/components/autocomplete/index.gen.ts +4 -4
  41. package/src/components/block-handle/block-handle-add.gen.ts +4 -4
  42. package/src/components/block-handle/block-handle-draggable.gen.ts +4 -4
  43. package/src/components/block-handle/block-handle-popover.gen.ts +4 -4
  44. package/src/components/block-handle/index.gen.ts +3 -3
  45. package/src/components/create-component.ts +2 -3
  46. package/src/components/drop-indicator/drop-indicator.gen.ts +4 -4
  47. package/src/components/drop-indicator/index.gen.ts +1 -1
  48. package/src/components/inline-popover/index.gen.ts +1 -1
  49. package/src/components/inline-popover/inline-popover.gen.ts +4 -4
  50. package/src/components/popover/index.gen.ts +3 -3
  51. package/src/components/popover/popover-content.gen.ts +4 -4
  52. package/src/components/popover/popover-root.gen.ts +4 -4
  53. package/src/components/popover/popover-trigger.gen.ts +4 -4
  54. package/src/components/prosekit.ts +8 -12
  55. package/src/components/resizable/index.gen.ts +2 -2
  56. package/src/components/resizable/resizable-handle.gen.ts +4 -4
  57. package/src/components/resizable/resizable-root.gen.ts +4 -4
  58. package/src/components/table-handle/index.gen.ts +9 -9
  59. package/src/components/table-handle/table-handle-column-root.gen.ts +4 -4
  60. package/src/components/table-handle/table-handle-column-trigger.gen.ts +4 -4
  61. package/src/components/table-handle/table-handle-drag-preview.gen.ts +4 -4
  62. package/src/components/table-handle/table-handle-drop-indicator.gen.ts +4 -4
  63. package/src/components/table-handle/table-handle-popover-content.gen.ts +4 -4
  64. package/src/components/table-handle/table-handle-popover-item.gen.ts +4 -4
  65. package/src/components/table-handle/table-handle-root.gen.ts +4 -4
  66. package/src/components/table-handle/table-handle-row-root.gen.ts +4 -4
  67. package/src/components/table-handle/table-handle-row-trigger.gen.ts +4 -4
  68. package/src/components/tooltip/index.gen.ts +3 -3
  69. package/src/components/tooltip/tooltip-content.gen.ts +4 -4
  70. package/src/components/tooltip/tooltip-root.gen.ts +4 -4
  71. package/src/components/tooltip/tooltip-trigger.gen.ts +4 -4
  72. package/src/components/view-renderer.ts +28 -0
  73. package/src/extensions/preact-mark-view.ts +28 -38
  74. package/src/extensions/preact-node-view.ts +28 -38
  75. package/src/hooks/use-doc-change.ts +2 -2
  76. package/src/hooks/use-editor-derived-value.ts +1 -1
  77. package/src/hooks/use-editor.ts +1 -1
  78. package/src/hooks/use-extension.ts +3 -3
  79. package/src/hooks/use-keymap.ts +1 -1
  80. package/src/hooks/use-state-update.ts +2 -2
  81. package/src/index.ts +10 -10
  82. package/dist/create-component-_3OMD_6h.js.map +0 -1
  83. package/dist/create-props-PUVFMh9y.d.ts.map +0 -1
  84. package/dist/editor-context-DJZHNwgB.js.map +0 -1
@@ -1,11 +1,13 @@
1
1
  import { defineMarkViewComponent, defineMarkViewFactory, type Extension } from '@prosekit/core'
2
- import type { MarkViewConstructor } from '@prosekit/pm/view'
3
2
  import type { CoreMarkViewUserOptions } from '@prosemirror-adapter/core'
4
- import { useMarkViewContext, useMarkViewFactory, type MarkViewContext, type PreactMarkViewUserOptions } from '@prosemirror-adapter/preact'
5
- import { h, type ComponentType, type FunctionComponent } from 'preact'
6
- import { useMemo } from 'preact/hooks'
7
-
8
- import { useExtension } from '../hooks/use-extension'
3
+ import {
4
+ AbstractPreactMarkView,
5
+ buildPreactMarkViewCreator,
6
+ type MarkViewContext,
7
+ type PreactRendererResult,
8
+ } from '@prosemirror-adapter/preact'
9
+ import { createElement, type ComponentType } from 'preact'
10
+ import { createPortal } from 'preact/compat'
9
11
 
10
12
  /**
11
13
  * @public
@@ -29,25 +31,29 @@ export interface PreactMarkViewOptions extends CoreMarkViewUserOptions<PreactMar
29
31
  name: string
30
32
  }
31
33
 
32
- function withMarkViewProps(component: PreactMarkViewComponent) {
33
- return function MarkViewPropsWrapper() {
34
- const props: PreactMarkViewProps = useMarkViewContext()
35
- return h(component, props)
34
+ class ProseKitPreactMarkView extends AbstractPreactMarkView<PreactMarkViewComponent> {
35
+ render = () => {
36
+ const UserComponent = this.component
37
+ const props = { ...this.context }
38
+ return createPortal(
39
+ createElement(UserComponent, props),
40
+ this.dom,
41
+ )
36
42
  }
37
43
  }
38
44
 
39
45
  /**
40
46
  * @internal
41
47
  */
42
- export const PreactMarkViewConsumer: FunctionComponent = () => {
43
- const markViewFactory = useMarkViewFactory()
44
- const extension = useMemo(
45
- () => definePreactMarkViewFactory(markViewFactory),
46
- [markViewFactory],
47
- )
48
- useExtension(extension)
49
-
50
- return null
48
+ export function definePreactMarkViewFactory(
49
+ renderPreactRenderer: PreactRendererResult['renderPreactRenderer'],
50
+ removePreactRenderer: PreactRendererResult['removePreactRenderer'],
51
+ ): Extension {
52
+ const factory = buildPreactMarkViewCreator(renderPreactRenderer, removePreactRenderer, ProseKitPreactMarkView)
53
+ return defineMarkViewFactory<PreactMarkViewOptions>({
54
+ group: 'preact',
55
+ factory,
56
+ })
51
57
  }
52
58
 
53
59
  /**
@@ -56,25 +62,9 @@ export const PreactMarkViewConsumer: FunctionComponent = () => {
56
62
  * @public
57
63
  */
58
64
  export function definePreactMarkView(options: PreactMarkViewOptions): Extension {
59
- const { name, component, ...userOptions } = options
60
-
61
- const args: PreactMarkViewUserOptions = {
62
- ...userOptions,
63
- component: withMarkViewProps(component),
64
- }
65
-
66
- return defineMarkViewComponent<PreactMarkViewUserOptions>({
67
- group: 'preact',
68
- name,
69
- args,
70
- })
71
- }
72
-
73
- function definePreactMarkViewFactory(
74
- factory: (options: PreactMarkViewUserOptions) => MarkViewConstructor,
75
- ) {
76
- return defineMarkViewFactory<PreactMarkViewUserOptions>({
65
+ return defineMarkViewComponent<PreactMarkViewOptions>({
77
66
  group: 'preact',
78
- factory,
67
+ name: options.name,
68
+ args: options,
79
69
  })
80
70
  }
@@ -1,11 +1,13 @@
1
1
  import { defineNodeViewComponent, defineNodeViewFactory, type Extension } from '@prosekit/core'
2
- import type { NodeViewConstructor } from '@prosekit/pm/view'
3
2
  import type { CoreNodeViewUserOptions } from '@prosemirror-adapter/core'
4
- import { useNodeViewContext, useNodeViewFactory, type NodeViewContext, type PreactNodeViewUserOptions } from '@prosemirror-adapter/preact'
5
- import { h, type ComponentType, type FunctionComponent } from 'preact'
6
- import { useMemo } from 'preact/hooks'
7
-
8
- import { useExtension } from '../hooks/use-extension'
3
+ import {
4
+ AbstractPreactNodeView,
5
+ buildPreactNodeViewCreator,
6
+ type NodeViewContext,
7
+ type PreactRendererResult,
8
+ } from '@prosemirror-adapter/preact'
9
+ import { createElement, type ComponentType } from 'preact'
10
+ import { createPortal } from 'preact/compat'
9
11
 
10
12
  /**
11
13
  * @public
@@ -29,25 +31,29 @@ export interface PreactNodeViewOptions extends CoreNodeViewUserOptions<PreactNod
29
31
  name: string
30
32
  }
31
33
 
32
- function withNodeViewProps(component: PreactNodeViewComponent) {
33
- return function NodeViewPropsWrapper() {
34
- const props: PreactNodeViewProps = useNodeViewContext()
35
- return h(component, props)
34
+ class ProseKitPreactNodeView extends AbstractPreactNodeView<PreactNodeViewComponent> {
35
+ render = () => {
36
+ const UserComponent = this.component
37
+ const props = { ...this.context }
38
+ return createPortal(
39
+ createElement(UserComponent, props),
40
+ this.dom,
41
+ )
36
42
  }
37
43
  }
38
44
 
39
45
  /**
40
46
  * @internal
41
47
  */
42
- export const PreactNodeViewConsumer: FunctionComponent = () => {
43
- const nodeViewFactory = useNodeViewFactory()
44
- const extension = useMemo(
45
- () => definePreactNodeViewFactory(nodeViewFactory),
46
- [nodeViewFactory],
47
- )
48
- useExtension(extension)
49
-
50
- return null
48
+ export function definePreactNodeViewFactory(
49
+ renderPreactRenderer: PreactRendererResult['renderPreactRenderer'],
50
+ removePreactRenderer: PreactRendererResult['removePreactRenderer'],
51
+ ): Extension {
52
+ const factory = buildPreactNodeViewCreator(renderPreactRenderer, removePreactRenderer, ProseKitPreactNodeView)
53
+ return defineNodeViewFactory<PreactNodeViewOptions>({
54
+ group: 'preact',
55
+ factory,
56
+ })
51
57
  }
52
58
 
53
59
  /**
@@ -56,25 +62,9 @@ export const PreactNodeViewConsumer: FunctionComponent = () => {
56
62
  * @public
57
63
  */
58
64
  export function definePreactNodeView(options: PreactNodeViewOptions): Extension {
59
- const { name, component, ...userOptions } = options
60
-
61
- const args: PreactNodeViewUserOptions = {
62
- ...userOptions,
63
- component: withNodeViewProps(component),
64
- }
65
-
66
- return defineNodeViewComponent<PreactNodeViewUserOptions>({
67
- group: 'preact',
68
- name,
69
- args,
70
- })
71
- }
72
-
73
- function definePreactNodeViewFactory(
74
- factory: (options: PreactNodeViewUserOptions) => NodeViewConstructor,
75
- ) {
76
- return defineNodeViewFactory<PreactNodeViewUserOptions>({
65
+ return defineNodeViewComponent<PreactNodeViewOptions>({
77
66
  group: 'preact',
78
- factory,
67
+ name: options.name,
68
+ args: options,
79
69
  })
80
70
  }
@@ -2,8 +2,8 @@ import { defineDocChangeHandler } from '@prosekit/core'
2
2
  import type { ProseMirrorNode } from '@prosekit/pm/model'
3
3
  import { useMemo } from 'preact/hooks'
4
4
 
5
- import { useEventCallback } from './use-event-callback'
6
- import { useExtension, type UseExtensionOptions } from './use-extension'
5
+ import { useEventCallback } from './use-event-callback.ts'
6
+ import { useExtension, type UseExtensionOptions } from './use-extension.ts'
7
7
 
8
8
  /**
9
9
  * Calls the given handler whenever the editor document changes.
@@ -2,7 +2,7 @@ import { defineMountHandler, defineUpdateHandler, EditorNotFoundError, union, ty
2
2
  import { useSyncExternalStore } from 'preact/compat'
3
3
  import { useMemo } from 'preact/hooks'
4
4
 
5
- import { useEditorContext } from '../contexts/editor-context'
5
+ import { useEditorContext } from '../contexts/editor-context.ts'
6
6
 
7
7
  export interface UseEditorDerivedOptions<E extends Extension = any> {
8
8
  /**
@@ -1,7 +1,7 @@
1
1
  import { defineMountHandler, defineUpdateHandler, ProseKitError, union, type Editor, type Extension } from '@prosekit/core'
2
2
  import { useEffect, useReducer } from 'preact/hooks'
3
3
 
4
- import { useEditorContext } from '../contexts/editor-context'
4
+ import { useEditorContext } from '../contexts/editor-context.ts'
5
5
 
6
6
  /**
7
7
  * Retrieves the editor instance from the nearest ProseKit component.
@@ -1,9 +1,9 @@
1
1
  import type { Editor, Extension, Priority } from '@prosekit/core'
2
2
 
3
- import { useEditorContext } from '../contexts/editor-context'
3
+ import { useEditorContext } from '../contexts/editor-context.ts'
4
4
 
5
- import { useEditorExtension } from './use-editor-extension'
6
- import { usePriorityExtension } from './use-priority-extension'
5
+ import { useEditorExtension } from './use-editor-extension.ts'
6
+ import { usePriorityExtension } from './use-priority-extension.ts'
7
7
 
8
8
  export interface UseExtensionOptions {
9
9
  /**
@@ -1,7 +1,7 @@
1
1
  import { defineKeymap, type Keymap } from '@prosekit/core'
2
2
  import { useMemo } from 'preact/hooks'
3
3
 
4
- import { useExtension, type UseExtensionOptions } from './use-extension'
4
+ import { useExtension, type UseExtensionOptions } from './use-extension.ts'
5
5
 
6
6
  export function useKeymap(keymap: Keymap, options?: UseExtensionOptions): void {
7
7
  const extension = useMemo(() => defineKeymap(keymap), [keymap])
@@ -2,8 +2,8 @@ import { defineUpdateHandler } from '@prosekit/core'
2
2
  import type { EditorState } from '@prosekit/pm/state'
3
3
  import { useMemo } from 'preact/hooks'
4
4
 
5
- import { useEventCallback } from './use-event-callback'
6
- import { useExtension, type UseExtensionOptions } from './use-extension'
5
+ import { useEventCallback } from './use-event-callback.ts'
6
+ import { useExtension, type UseExtensionOptions } from './use-extension.ts'
7
7
 
8
8
  /**
9
9
  * Calls the given handler whenever the editor state changes.
package/src/index.ts CHANGED
@@ -1,20 +1,20 @@
1
- export { ProseKit, type ProseKitProps } from './components/prosekit'
1
+ export { ProseKit, type ProseKitProps } from './components/prosekit.ts'
2
2
  export {
3
3
  definePreactMarkView,
4
4
  type PreactMarkViewComponent,
5
5
  type PreactMarkViewOptions,
6
6
  type PreactMarkViewProps,
7
- } from './extensions/preact-mark-view'
7
+ } from './extensions/preact-mark-view.ts'
8
8
  export {
9
9
  definePreactNodeView,
10
10
  type PreactNodeViewComponent,
11
11
  type PreactNodeViewOptions,
12
12
  type PreactNodeViewProps,
13
- } from './extensions/preact-node-view'
14
- export { useDocChange } from './hooks/use-doc-change'
15
- export { useEditor } from './hooks/use-editor'
16
- export { useEditorDerivedValue, type UseEditorDerivedOptions } from './hooks/use-editor-derived-value'
17
- export { useExtension, type UseExtensionOptions } from './hooks/use-extension'
18
- export { useKeymap } from './hooks/use-keymap'
19
- export { useStateUpdate } from './hooks/use-state-update'
20
- export type { PropsWithChildren, PropsWithClass } from './types'
13
+ } from './extensions/preact-node-view.ts'
14
+ export { useDocChange } from './hooks/use-doc-change.ts'
15
+ export { useEditorDerivedValue, type UseEditorDerivedOptions } from './hooks/use-editor-derived-value.ts'
16
+ export { useEditor } from './hooks/use-editor.ts'
17
+ export { useExtension, type UseExtensionOptions } from './hooks/use-extension.ts'
18
+ export { useKeymap } from './hooks/use-keymap.ts'
19
+ export { useStateUpdate } from './hooks/use-state-update.ts'
20
+ export type { PropsWithChildren, PropsWithClass } from './types.ts'
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-component-_3OMD_6h.js","names":[],"sources":["../src/components/merge-refs.ts","../src/components/create-component.ts"],"sourcesContent":["import type { Ref } from 'preact'\n\n/**\n * Assigns a value to a ref.\n * @returns The ref cleanup callback, if any.\n */\nfunction assignRef<T>(\n ref: Ref<T> | undefined,\n value: T | null,\n): VoidFunction | void {\n if (typeof ref === 'function') {\n return ref(value)\n } else if (ref) {\n ref.current = value\n }\n}\n\n/**\n * Merges multiple refs into a single one.\n */\nexport function mergeRefs<T>(refs: (Ref<T> | undefined)[]): Ref<T> {\n return (value: T | null) => {\n const cleanups: VoidFunction[] = []\n\n for (const ref of refs) {\n const cleanup = assignRef(ref, value)\n const isCleanup = typeof cleanup === 'function'\n cleanups.push(isCleanup ? cleanup : () => assignRef(ref, null))\n }\n\n return () => {\n for (const cleanup of cleanups) cleanup()\n }\n }\n}\n","import type { AnyFunction } from '@prosekit/core'\nimport { createElement } from 'preact'\nimport { forwardRef, type ForwardRefExoticComponent, type HTMLAttributes, type RefAttributes } from 'preact/compat'\nimport { useEffect, useLayoutEffect, useMemo, useRef, useState } from 'preact/hooks'\n\nimport { useEditorContext } from '../contexts/editor-context'\n\nimport { mergeRefs } from './merge-refs'\n\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\nexport function createComponent<\n Props extends object,\n CustomElement extends HTMLElement,\n>(\n tagName: string,\n displayName: string,\n propNames: string[],\n eventNames: string[],\n): ForwardRefExoticComponent<\n Partial<Props> & RefAttributes<CustomElement> & HTMLAttributes<CustomElement>\n> {\n const hasEditor = propNames.includes('editor')\n const lowerCaseEventNameMap = new Map(\n eventNames.map((name) => [name.toLowerCase(), name]),\n )\n\n const Component = forwardRef<any, any>((props: Props, ref) => {\n const [el, setEl] = useState<HTMLElement | null>(null)\n\n const properties: Record<string, unknown> = {}\n const attributes: Record<string, unknown> = {}\n const eventHandlersRef = useRef<Record<string, AnyFunction>>({})\n const eventHandlers: Record<string, AnyFunction> = {}\n\n for (const [name, value] of Object.entries(props)) {\n if (value === undefined) {\n continue\n }\n\n if (propNames.includes(name)) {\n properties[name] = value\n continue\n }\n\n if (name.startsWith('on')) {\n const lowerCaseEventName = name.slice(2).toLowerCase()\n const eventName = lowerCaseEventNameMap.get(lowerCaseEventName)\n if (eventName) {\n const extractDetail = eventName.endsWith('Change')\n eventHandlers[eventName] = (event: Event) => {\n const handler = value as AnyFunction | null\n if (typeof handler === 'function') {\n handler(extractDetail ? (event as CustomEvent).detail : event)\n }\n }\n continue\n }\n }\n\n if (name === 'className') {\n attributes['class'] = value\n } else {\n attributes[name] = value\n }\n }\n\n const editor = useEditorContext()\n\n if (hasEditor && editor && !properties['editor']) {\n properties['editor'] = editor\n }\n\n // Set all properties.\n useIsomorphicLayoutEffect(() => {\n if (!el) return\n for (const [name, value] of Object.entries(properties)) {\n if (value !== undefined) {\n // @ts-expect-error: we know that name is a valid property name\n // eslint-disable-next-line react-hooks/immutability\n el[name] = value\n }\n }\n }, [el, ...propNames.map((name) => properties[name])])\n\n // Put all event listeners extracted from `props` into `eventHandlersRef`.\n useIsomorphicLayoutEffect(() => {\n eventHandlersRef.current = eventHandlers\n })\n\n // Register the event listeners to the element.\n useIsomorphicLayoutEffect(() => {\n if (!el) {\n return\n }\n\n const fixedEventHandlers: Record<string, AnyFunction> = {}\n\n for (const eventName of eventNames) {\n fixedEventHandlers[eventName] = (event: Event) => {\n eventHandlersRef.current[eventName]?.(event)\n }\n }\n\n for (const [name, handler] of Object.entries(fixedEventHandlers)) {\n el.addEventListener(name, handler)\n }\n\n return () => {\n for (const [name, handler] of Object.entries(fixedEventHandlers)) {\n el.removeEventListener(name, handler)\n }\n }\n }, [el])\n\n const mergedRef = useMemo(() => mergeRefs([ref, setEl]), [ref])\n\n return createElement(tagName, { ...attributes, ref: mergedRef })\n })\n\n Component.displayName = displayName\n\n return Component\n}\n"],"mappings":";;;;;;;;;;AAMA,SAAS,UACP,KACA,OACqB;AACrB,KAAI,OAAO,QAAQ,WACjB,QAAO,IAAI,MAAM;UACR,IACT,KAAI,UAAU;;;;;AAOlB,SAAgB,UAAa,MAAsC;AACjE,SAAQ,UAAoB;EAC1B,MAAM,WAA2B,EAAE;AAEnC,OAAK,MAAM,OAAO,MAAM;GACtB,MAAM,UAAU,UAAU,KAAK,MAAM;GACrC,MAAM,YAAY,OAAO,YAAY;AACrC,YAAS,KAAK,YAAY,gBAAgB,UAAU,KAAK,KAAK,CAAC;;AAGjE,eAAa;AACX,QAAK,MAAM,WAAW,SAAU,UAAS;;;;;;;ACtB/C,MAAM,4BAA4B,OAAO,WAAW,cAAc,kBAAkB;AAEpF,SAAgB,gBAId,SACA,aACA,WACA,YAGA;CACA,MAAM,YAAY,UAAU,SAAS,SAAS;CAC9C,MAAM,wBAAwB,IAAI,IAChC,WAAW,KAAK,SAAS,CAAC,KAAK,aAAa,EAAE,KAAK,CAAC,CACrD;CAED,MAAM,YAAY,YAAsB,OAAc,QAAQ;EAC5D,MAAM,CAAC,IAAI,SAAS,SAA6B,KAAK;EAEtD,MAAM,aAAsC,EAAE;EAC9C,MAAM,aAAsC,EAAE;EAC9C,MAAM,mBAAmB,OAAoC,EAAE,CAAC;EAChE,MAAM,gBAA6C,EAAE;AAErD,OAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,MAAM,EAAE;AACjD,OAAI,UAAU,OACZ;AAGF,OAAI,UAAU,SAAS,KAAK,EAAE;AAC5B,eAAW,QAAQ;AACnB;;AAGF,OAAI,KAAK,WAAW,KAAK,EAAE;IACzB,MAAM,qBAAqB,KAAK,MAAM,EAAE,CAAC,aAAa;IACtD,MAAM,YAAY,sBAAsB,IAAI,mBAAmB;AAC/D,QAAI,WAAW;KACb,MAAM,gBAAgB,UAAU,SAAS,SAAS;AAClD,mBAAc,cAAc,UAAiB;MAC3C,MAAM,UAAU;AAChB,UAAI,OAAO,YAAY,WACrB,SAAQ,gBAAiB,MAAsB,SAAS,MAAM;;AAGlE;;;AAIJ,OAAI,SAAS,YACX,YAAW,WAAW;OAEtB,YAAW,QAAQ;;EAIvB,MAAM,SAAS,kBAAkB;AAEjC,MAAI,aAAa,UAAU,CAAC,WAAW,UACrC,YAAW,YAAY;AAIzB,kCAAgC;AAC9B,OAAI,CAAC,GAAI;AACT,QAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,WAAW,CACpD,KAAI,UAAU,OAGZ,IAAG,QAAQ;KAGd,CAAC,IAAI,GAAG,UAAU,KAAK,SAAS,WAAW,MAAM,CAAC,CAAC;AAGtD,kCAAgC;AAC9B,oBAAiB,UAAU;IAC3B;AAGF,kCAAgC;AAC9B,OAAI,CAAC,GACH;GAGF,MAAM,qBAAkD,EAAE;AAE1D,QAAK,MAAM,aAAa,WACtB,oBAAmB,cAAc,UAAiB;AAChD,qBAAiB,QAAQ,aAAa,MAAM;;AAIhD,QAAK,MAAM,CAAC,MAAM,YAAY,OAAO,QAAQ,mBAAmB,CAC9D,IAAG,iBAAiB,MAAM,QAAQ;AAGpC,gBAAa;AACX,SAAK,MAAM,CAAC,MAAM,YAAY,OAAO,QAAQ,mBAAmB,CAC9D,IAAG,oBAAoB,MAAM,QAAQ;;KAGxC,CAAC,GAAG,CAAC;EAER,MAAM,YAAY,cAAc,UAAU,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;AAE/D,SAAO,cAAc,SAAS;GAAE,GAAG;GAAY,KAAK;GAAW,CAAC;GAChE;AAEF,WAAU,cAAc;AAExB,QAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-props-PUVFMh9y.d.ts","names":[],"sources":["../src/components/create-props.ts"],"mappings":";KAAY,WAAA,oCACyB,KAAA,mDACE,MAAA,GAAS,WAAA,MAC5C,KAAA,GAAQ,gBAAA,CAAiB,MAAA;AAAA,KAExB,gBAAA,sCACkC,MAAA,GAAS,WAAA,4BAE1B,MAAA,SAAe,UAAA,UAAoB,SAAA,OACrD,KAAA,EAAO,SAAA,6BAAsC,MAAA,CAAO,SAAA,cAChD,MAAA,CAAO,SAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"editor-context-DJZHNwgB.js","names":[],"sources":["../src/contexts/editor-context.ts"],"sourcesContent":["import type { Editor, Extension } from '@prosekit/core'\nimport { createContext, type Provider } from 'preact'\nimport { useContext } from 'preact/hooks'\n\nconst EditorContext = createContext<Editor | null>(null)\n\n/**\n * @internal\n */\nexport function useEditorContext<E extends Extension>(): Editor<E> | null {\n return useContext(EditorContext)\n}\n\n/**\n * @internal\n */\nexport const EditorContextProvider: Provider<Editor | null> = EditorContext.Provider\n"],"mappings":";;;;AAIA,MAAM,gBAAgB,cAA6B,KAAK;;;;AAKxD,SAAgB,mBAA0D;AACxE,QAAO,WAAW,cAAc;;;;;AAMlC,MAAa,wBAAiD,cAAc"}