prosekit-registry 0.0.21 → 0.0.22
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.
- package/dist/r/lit-example-minimal.json +1 -1
- package/dist/r/lit-example-slash-menu.json +2 -2
- package/dist/r/lit-example-table.json +2 -2
- package/dist/r/lit-example-toolbar.json +2 -2
- package/dist/r/lit-sample-sample-doc-table.json +1 -1
- package/dist/r/lit-sample-sample-uploader.json +1 -1
- package/dist/r/lit-ui-button.json +2 -2
- package/dist/r/lit-ui-editor-context.json +1 -1
- package/dist/r/lit-ui-image-upload-popover.json +2 -2
- package/dist/r/lit-ui-slash-menu.json +4 -4
- package/dist/r/lit-ui-table-handle.json +2 -2
- package/dist/r/lit-ui-toolbar.json +1 -1
- package/dist/r/preact-example-block-handle.json +2 -2
- package/dist/r/preact-example-blockquote.json +2 -2
- package/dist/r/preact-example-bold.json +2 -2
- package/dist/r/preact-example-change-tracking.json +3 -3
- package/dist/r/preact-example-code-block-themes.json +2 -2
- package/dist/r/preact-example-code-block.json +2 -2
- package/dist/r/preact-example-code.json +2 -2
- package/dist/r/preact-example-drop-cursor.json +2 -2
- package/dist/r/preact-example-emoji-rules.json +2 -2
- package/dist/r/preact-example-full.json +2 -2
- package/dist/r/preact-example-gap-cursor.json +2 -2
- package/dist/r/preact-example-hard-break.json +2 -2
- package/dist/r/preact-example-heading.json +2 -2
- package/dist/r/preact-example-horizontal-rule.json +2 -2
- package/dist/r/preact-example-image-view.json +2 -2
- package/dist/r/preact-example-inline-menu.json +2 -2
- package/dist/r/preact-example-italic.json +2 -2
- package/dist/r/preact-example-keymap.json +2 -2
- package/dist/r/preact-example-link-mark-view.json +2 -2
- package/dist/r/preact-example-link.json +2 -2
- package/dist/r/preact-example-list-custom-checkbox.json +2 -2
- package/dist/r/preact-example-list.json +2 -2
- package/dist/r/preact-example-loro.json +2 -2
- package/dist/r/preact-example-mark-rule.json +2 -2
- package/dist/r/preact-example-minimal.json +1 -1
- package/dist/r/preact-example-placeholder.json +2 -2
- package/dist/r/preact-example-readonly.json +2 -2
- package/dist/r/preact-example-rtl.json +2 -2
- package/dist/r/preact-example-save-html.json +2 -2
- package/dist/r/preact-example-save-json.json +2 -2
- package/dist/r/preact-example-save-markdown.json +2 -2
- package/dist/r/preact-example-search.json +2 -2
- package/dist/r/preact-example-slash-menu.json +2 -2
- package/dist/r/preact-example-strike.json +2 -2
- package/dist/r/preact-example-table.json +2 -2
- package/dist/r/preact-example-temml.json +2 -2
- package/dist/r/preact-example-text-align.json +2 -2
- package/dist/r/preact-example-text-color.json +3 -3
- package/dist/r/preact-example-toolbar.json +2 -2
- package/dist/r/preact-example-typography.json +2 -2
- package/dist/r/preact-example-underline.json +2 -2
- package/dist/r/preact-example-unmount.json +2 -2
- package/dist/r/preact-example-user-menu-dynamic.json +2 -2
- package/dist/r/preact-example-user-menu.json +2 -2
- package/dist/r/preact-example-view-adapter.json +2 -2
- package/dist/r/preact-example-word-counter.json +2 -2
- package/dist/r/preact-example-yjs.json +2 -2
- package/dist/r/preact-sample-define-atom-block.json +1 -1
- package/dist/r/preact-sample-sample-doc-block-handle.json +1 -1
- package/dist/r/preact-sample-sample-doc-bold.json +1 -1
- package/dist/r/preact-sample-sample-doc-code-block.json +1 -1
- package/dist/r/preact-sample-sample-doc-code.json +1 -1
- package/dist/r/preact-sample-sample-doc-drop-cursor.json +1 -1
- package/dist/r/preact-sample-sample-doc-full.json +1 -1
- package/dist/r/preact-sample-sample-doc-gap-cursor.json +1 -1
- package/dist/r/preact-sample-sample-doc-hard-break.json +1 -1
- package/dist/r/preact-sample-sample-doc-heading.json +1 -1
- package/dist/r/preact-sample-sample-doc-image.json +1 -1
- package/dist/r/preact-sample-sample-doc-inline-menu.json +1 -1
- package/dist/r/preact-sample-sample-doc-italic.json +1 -1
- package/dist/r/preact-sample-sample-doc-link-mark-view.json +1 -1
- package/dist/r/preact-sample-sample-doc-link.json +1 -1
- package/dist/r/preact-sample-sample-doc-list-custom-checkbox.json +1 -1
- package/dist/r/preact-sample-sample-doc-list.json +1 -1
- package/dist/r/preact-sample-sample-doc-readonly.json +1 -1
- package/dist/r/preact-sample-sample-doc-rtl.json +1 -1
- package/dist/r/preact-sample-sample-doc-search.json +1 -1
- package/dist/r/preact-sample-sample-doc-strike.json +1 -1
- package/dist/r/preact-sample-sample-doc-table.json +1 -1
- package/dist/r/preact-sample-sample-doc-tex.json +1 -1
- package/dist/r/preact-sample-sample-doc-text-align.json +1 -1
- package/dist/r/preact-sample-sample-doc-text-color.json +1 -1
- package/dist/r/preact-sample-sample-doc-typography.json +1 -1
- package/dist/r/preact-sample-sample-doc-underline.json +1 -1
- package/dist/r/preact-sample-sample-doc-view-adapter.json +1 -1
- package/dist/r/preact-sample-sample-doc-word-counter.json +1 -1
- package/dist/r/preact-sample-sample-uploader.json +1 -1
- package/dist/r/preact-ui-block-handle.json +2 -2
- package/dist/r/preact-ui-button.json +2 -2
- package/dist/r/preact-ui-code-block-view.json +1 -1
- package/dist/r/preact-ui-drop-indicator.json +1 -1
- package/dist/r/preact-ui-image-upload-popover.json +2 -2
- package/dist/r/preact-ui-image-view.json +1 -1
- package/dist/r/preact-ui-inline-menu.json +2 -2
- package/dist/r/preact-ui-search.json +2 -2
- package/dist/r/preact-ui-slash-menu.json +4 -4
- package/dist/r/preact-ui-table-handle.json +2 -2
- package/dist/r/preact-ui-tag-menu.json +2 -2
- package/dist/r/preact-ui-toolbar.json +1 -1
- package/dist/r/preact-ui-user-menu.json +2 -2
- package/dist/r/preact-ui-word-counter.json +1 -1
- package/dist/r/react-example-block-handle.json +2 -2
- package/dist/r/react-example-blockquote.json +2 -2
- package/dist/r/react-example-bold.json +2 -2
- package/dist/r/react-example-change-tracking.json +3 -3
- package/dist/r/react-example-code-block-themes.json +2 -2
- package/dist/r/react-example-code-block.json +2 -2
- package/dist/r/react-example-code.json +2 -2
- package/dist/r/react-example-drop-cursor.json +2 -2
- package/dist/r/react-example-emoji-rules.json +2 -2
- package/dist/r/react-example-full.json +2 -2
- package/dist/r/react-example-gap-cursor.json +2 -2
- package/dist/r/react-example-hard-break.json +2 -2
- package/dist/r/react-example-heading.json +2 -2
- package/dist/r/react-example-horizontal-rule.json +2 -2
- package/dist/r/react-example-image-view.json +2 -2
- package/dist/r/react-example-inline-menu.json +2 -2
- package/dist/r/react-example-italic.json +2 -2
- package/dist/r/react-example-keymap.json +2 -2
- package/dist/r/react-example-link-mark-view.json +2 -2
- package/dist/r/react-example-link.json +2 -2
- package/dist/r/react-example-list-custom-checkbox.json +2 -2
- package/dist/r/react-example-list.json +2 -2
- package/dist/r/react-example-loro.json +2 -2
- package/dist/r/react-example-mark-rule.json +2 -2
- package/dist/r/react-example-minimal.json +1 -1
- package/dist/r/react-example-notion.json +6 -6
- package/dist/r/react-example-page.json +2 -2
- package/dist/r/react-example-placeholder.json +2 -2
- package/dist/r/react-example-readonly.json +2 -2
- package/dist/r/react-example-rtl.json +2 -2
- package/dist/r/react-example-save-html.json +2 -2
- package/dist/r/react-example-save-json.json +2 -2
- package/dist/r/react-example-save-markdown.json +2 -2
- package/dist/r/react-example-search.json +2 -2
- package/dist/r/react-example-slash-menu.json +2 -2
- package/dist/r/react-example-strike.json +2 -2
- package/dist/r/react-example-table.json +2 -2
- package/dist/r/react-example-temml.json +2 -2
- package/dist/r/react-example-text-align.json +2 -2
- package/dist/r/react-example-text-color.json +3 -3
- package/dist/r/react-example-toolbar.json +2 -2
- package/dist/r/react-example-tweet.json +2 -2
- package/dist/r/react-example-typography.json +2 -2
- package/dist/r/react-example-underline.json +2 -2
- package/dist/r/react-example-unmount.json +2 -2
- package/dist/r/react-example-user-menu-dynamic.json +2 -2
- package/dist/r/react-example-user-menu.json +2 -2
- package/dist/r/react-example-view-adapter.json +2 -2
- package/dist/r/react-example-word-counter.json +2 -2
- package/dist/r/react-example-yjs.json +2 -2
- package/dist/r/react-sample-define-atom-block.json +1 -1
- package/dist/r/react-sample-sample-doc-block-handle.json +1 -1
- package/dist/r/react-sample-sample-doc-bold.json +1 -1
- package/dist/r/react-sample-sample-doc-code-block.json +1 -1
- package/dist/r/react-sample-sample-doc-code.json +1 -1
- package/dist/r/react-sample-sample-doc-drop-cursor.json +1 -1
- package/dist/r/react-sample-sample-doc-full.json +1 -1
- package/dist/r/react-sample-sample-doc-gap-cursor.json +1 -1
- package/dist/r/react-sample-sample-doc-hard-break.json +1 -1
- package/dist/r/react-sample-sample-doc-heading.json +1 -1
- package/dist/r/react-sample-sample-doc-image.json +1 -1
- package/dist/r/react-sample-sample-doc-inline-menu.json +1 -1
- package/dist/r/react-sample-sample-doc-italic.json +1 -1
- package/dist/r/react-sample-sample-doc-link-mark-view.json +1 -1
- package/dist/r/react-sample-sample-doc-link.json +1 -1
- package/dist/r/react-sample-sample-doc-list-custom-checkbox.json +1 -1
- package/dist/r/react-sample-sample-doc-list.json +1 -1
- package/dist/r/react-sample-sample-doc-notion.json +1 -1
- package/dist/r/react-sample-sample-doc-page.json +1 -1
- package/dist/r/react-sample-sample-doc-readonly.json +1 -1
- package/dist/r/react-sample-sample-doc-rtl.json +1 -1
- package/dist/r/react-sample-sample-doc-search.json +1 -1
- package/dist/r/react-sample-sample-doc-strike.json +1 -1
- package/dist/r/react-sample-sample-doc-table.json +1 -1
- package/dist/r/react-sample-sample-doc-tex.json +1 -1
- package/dist/r/react-sample-sample-doc-text-align.json +1 -1
- package/dist/r/react-sample-sample-doc-text-color.json +1 -1
- package/dist/r/react-sample-sample-doc-tweet.json +1 -1
- package/dist/r/react-sample-sample-doc-typography.json +1 -1
- package/dist/r/react-sample-sample-doc-underline.json +1 -1
- package/dist/r/react-sample-sample-doc-view-adapter.json +1 -1
- package/dist/r/react-sample-sample-doc-word-counter.json +1 -1
- package/dist/r/react-sample-sample-uploader.json +1 -1
- package/dist/r/react-ui-block-handle.json +2 -2
- package/dist/r/react-ui-button.json +2 -2
- package/dist/r/react-ui-code-block-view.json +1 -1
- package/dist/r/react-ui-drop-indicator.json +1 -1
- package/dist/r/react-ui-image-upload-popover.json +2 -2
- package/dist/r/react-ui-image-view.json +1 -1
- package/dist/r/react-ui-inline-menu.json +2 -2
- package/dist/r/react-ui-search.json +2 -2
- package/dist/r/react-ui-slash-menu.json +4 -4
- package/dist/r/react-ui-table-handle.json +2 -2
- package/dist/r/react-ui-tag-menu.json +2 -2
- package/dist/r/react-ui-toolbar.json +1 -1
- package/dist/r/react-ui-user-menu.json +2 -2
- package/dist/r/react-ui-word-counter.json +1 -1
- package/dist/r/registry.json +480 -480
- package/dist/r/solid-example-block-handle.json +2 -2
- package/dist/r/solid-example-blockquote.json +2 -2
- package/dist/r/solid-example-bold.json +2 -2
- package/dist/r/solid-example-change-tracking.json +3 -3
- package/dist/r/solid-example-code-block-themes.json +2 -2
- package/dist/r/solid-example-code-block.json +2 -2
- package/dist/r/solid-example-code.json +2 -2
- package/dist/r/solid-example-drop-cursor.json +2 -2
- package/dist/r/solid-example-emoji-rules.json +2 -2
- package/dist/r/solid-example-full.json +2 -2
- package/dist/r/solid-example-gap-cursor.json +2 -2
- package/dist/r/solid-example-hard-break.json +2 -2
- package/dist/r/solid-example-heading.json +2 -2
- package/dist/r/solid-example-horizontal-rule.json +2 -2
- package/dist/r/solid-example-image-view.json +2 -2
- package/dist/r/solid-example-inline-menu.json +2 -2
- package/dist/r/solid-example-italic.json +2 -2
- package/dist/r/solid-example-keymap.json +2 -2
- package/dist/r/solid-example-link-mark-view.json +2 -2
- package/dist/r/solid-example-link.json +2 -2
- package/dist/r/solid-example-list-custom-checkbox.json +2 -2
- package/dist/r/solid-example-list.json +2 -2
- package/dist/r/solid-example-loro.json +2 -2
- package/dist/r/solid-example-mark-rule.json +2 -2
- package/dist/r/solid-example-minimal.json +1 -1
- package/dist/r/solid-example-placeholder.json +2 -2
- package/dist/r/solid-example-readonly.json +2 -2
- package/dist/r/solid-example-rtl.json +2 -2
- package/dist/r/solid-example-save-html.json +2 -2
- package/dist/r/solid-example-save-json.json +2 -2
- package/dist/r/solid-example-save-markdown.json +2 -2
- package/dist/r/solid-example-search.json +2 -2
- package/dist/r/solid-example-slash-menu.json +2 -2
- package/dist/r/solid-example-strike.json +2 -2
- package/dist/r/solid-example-table.json +2 -2
- package/dist/r/solid-example-temml.json +2 -2
- package/dist/r/solid-example-text-align.json +2 -2
- package/dist/r/solid-example-text-color.json +3 -3
- package/dist/r/solid-example-toolbar.json +2 -2
- package/dist/r/solid-example-typography.json +2 -2
- package/dist/r/solid-example-underline.json +2 -2
- package/dist/r/solid-example-unmount.json +2 -2
- package/dist/r/solid-example-user-menu-dynamic.json +2 -2
- package/dist/r/solid-example-user-menu.json +2 -2
- package/dist/r/solid-example-view-adapter.json +2 -2
- package/dist/r/solid-example-word-counter.json +2 -2
- package/dist/r/solid-example-yjs.json +2 -2
- package/dist/r/solid-sample-define-atom-block.json +1 -1
- package/dist/r/solid-sample-sample-doc-block-handle.json +1 -1
- package/dist/r/solid-sample-sample-doc-bold.json +1 -1
- package/dist/r/solid-sample-sample-doc-code-block.json +1 -1
- package/dist/r/solid-sample-sample-doc-code.json +1 -1
- package/dist/r/solid-sample-sample-doc-drop-cursor.json +1 -1
- package/dist/r/solid-sample-sample-doc-full.json +1 -1
- package/dist/r/solid-sample-sample-doc-gap-cursor.json +1 -1
- package/dist/r/solid-sample-sample-doc-hard-break.json +1 -1
- package/dist/r/solid-sample-sample-doc-heading.json +1 -1
- package/dist/r/solid-sample-sample-doc-image.json +1 -1
- package/dist/r/solid-sample-sample-doc-inline-menu.json +1 -1
- package/dist/r/solid-sample-sample-doc-italic.json +1 -1
- package/dist/r/solid-sample-sample-doc-link-mark-view.json +1 -1
- package/dist/r/solid-sample-sample-doc-link.json +1 -1
- package/dist/r/solid-sample-sample-doc-list-custom-checkbox.json +1 -1
- package/dist/r/solid-sample-sample-doc-list.json +1 -1
- package/dist/r/solid-sample-sample-doc-readonly.json +1 -1
- package/dist/r/solid-sample-sample-doc-rtl.json +1 -1
- package/dist/r/solid-sample-sample-doc-search.json +1 -1
- package/dist/r/solid-sample-sample-doc-strike.json +1 -1
- package/dist/r/solid-sample-sample-doc-table.json +1 -1
- package/dist/r/solid-sample-sample-doc-tex.json +1 -1
- package/dist/r/solid-sample-sample-doc-text-align.json +1 -1
- package/dist/r/solid-sample-sample-doc-text-color.json +1 -1
- package/dist/r/solid-sample-sample-doc-typography.json +1 -1
- package/dist/r/solid-sample-sample-doc-underline.json +1 -1
- package/dist/r/solid-sample-sample-doc-view-adapter.json +1 -1
- package/dist/r/solid-sample-sample-doc-word-counter.json +1 -1
- package/dist/r/solid-sample-sample-uploader.json +1 -1
- package/dist/r/solid-ui-block-handle.json +2 -2
- package/dist/r/solid-ui-button.json +2 -2
- package/dist/r/solid-ui-code-block-view.json +1 -1
- package/dist/r/solid-ui-drop-indicator.json +1 -1
- package/dist/r/solid-ui-image-upload-popover.json +2 -2
- package/dist/r/solid-ui-image-view.json +1 -1
- package/dist/r/solid-ui-inline-menu.json +2 -2
- package/dist/r/solid-ui-search.json +2 -2
- package/dist/r/solid-ui-slash-menu.json +4 -4
- package/dist/r/solid-ui-table-handle.json +2 -2
- package/dist/r/solid-ui-tag-menu.json +2 -2
- package/dist/r/solid-ui-toolbar.json +1 -1
- package/dist/r/solid-ui-user-menu.json +2 -2
- package/dist/r/solid-ui-word-counter.json +1 -1
- package/dist/r/svelte-example-block-handle.json +2 -2
- package/dist/r/svelte-example-blockquote.json +2 -2
- package/dist/r/svelte-example-bold.json +2 -2
- package/dist/r/svelte-example-change-tracking.json +3 -3
- package/dist/r/svelte-example-code-block-themes.json +2 -2
- package/dist/r/svelte-example-code-block.json +2 -2
- package/dist/r/svelte-example-code.json +2 -2
- package/dist/r/svelte-example-drop-cursor.json +2 -2
- package/dist/r/svelte-example-emoji-rules.json +2 -2
- package/dist/r/svelte-example-full.json +2 -2
- package/dist/r/svelte-example-gap-cursor.json +2 -2
- package/dist/r/svelte-example-hard-break.json +2 -2
- package/dist/r/svelte-example-heading.json +2 -2
- package/dist/r/svelte-example-horizontal-rule.json +2 -2
- package/dist/r/svelte-example-image-view.json +2 -2
- package/dist/r/svelte-example-inline-menu.json +2 -2
- package/dist/r/svelte-example-italic.json +2 -2
- package/dist/r/svelte-example-katex.json +2 -2
- package/dist/r/svelte-example-keymap.json +2 -2
- package/dist/r/svelte-example-link-mark-view.json +2 -2
- package/dist/r/svelte-example-link.json +2 -2
- package/dist/r/svelte-example-list-custom-checkbox.json +2 -2
- package/dist/r/svelte-example-list.json +2 -2
- package/dist/r/svelte-example-loro.json +2 -2
- package/dist/r/svelte-example-mark-rule.json +2 -2
- package/dist/r/svelte-example-minimal.json +1 -1
- package/dist/r/svelte-example-page.json +2 -2
- package/dist/r/svelte-example-placeholder.json +2 -2
- package/dist/r/svelte-example-readonly.json +2 -2
- package/dist/r/svelte-example-rtl.json +2 -2
- package/dist/r/svelte-example-save-html.json +2 -2
- package/dist/r/svelte-example-save-json.json +2 -2
- package/dist/r/svelte-example-save-markdown.json +2 -2
- package/dist/r/svelte-example-search.json +2 -2
- package/dist/r/svelte-example-slash-menu.json +2 -2
- package/dist/r/svelte-example-strike.json +2 -2
- package/dist/r/svelte-example-table.json +2 -2
- package/dist/r/svelte-example-text-align.json +2 -2
- package/dist/r/svelte-example-text-color.json +3 -3
- package/dist/r/svelte-example-toolbar.json +2 -2
- package/dist/r/svelte-example-typography.json +2 -2
- package/dist/r/svelte-example-underline.json +2 -2
- package/dist/r/svelte-example-unmount.json +2 -2
- package/dist/r/svelte-example-user-menu-dynamic.json +2 -2
- package/dist/r/svelte-example-user-menu.json +2 -2
- package/dist/r/svelte-example-view-adapter.json +2 -2
- package/dist/r/svelte-example-word-counter.json +2 -2
- package/dist/r/svelte-example-yjs.json +2 -2
- package/dist/r/svelte-sample-define-atom-block.json +1 -1
- package/dist/r/svelte-sample-sample-doc-block-handle.json +1 -1
- package/dist/r/svelte-sample-sample-doc-bold.json +1 -1
- package/dist/r/svelte-sample-sample-doc-code-block.json +1 -1
- package/dist/r/svelte-sample-sample-doc-code.json +1 -1
- package/dist/r/svelte-sample-sample-doc-drop-cursor.json +1 -1
- package/dist/r/svelte-sample-sample-doc-full.json +1 -1
- package/dist/r/svelte-sample-sample-doc-gap-cursor.json +1 -1
- package/dist/r/svelte-sample-sample-doc-hard-break.json +1 -1
- package/dist/r/svelte-sample-sample-doc-heading.json +1 -1
- package/dist/r/svelte-sample-sample-doc-image.json +1 -1
- package/dist/r/svelte-sample-sample-doc-inline-menu.json +1 -1
- package/dist/r/svelte-sample-sample-doc-italic.json +1 -1
- package/dist/r/svelte-sample-sample-doc-link-mark-view.json +1 -1
- package/dist/r/svelte-sample-sample-doc-link.json +1 -1
- package/dist/r/svelte-sample-sample-doc-list-custom-checkbox.json +1 -1
- package/dist/r/svelte-sample-sample-doc-list.json +1 -1
- package/dist/r/svelte-sample-sample-doc-page.json +1 -1
- package/dist/r/svelte-sample-sample-doc-readonly.json +1 -1
- package/dist/r/svelte-sample-sample-doc-rtl.json +1 -1
- package/dist/r/svelte-sample-sample-doc-search.json +1 -1
- package/dist/r/svelte-sample-sample-doc-strike.json +1 -1
- package/dist/r/svelte-sample-sample-doc-table.json +1 -1
- package/dist/r/svelte-sample-sample-doc-tex.json +1 -1
- package/dist/r/svelte-sample-sample-doc-text-align.json +1 -1
- package/dist/r/svelte-sample-sample-doc-text-color.json +1 -1
- package/dist/r/svelte-sample-sample-doc-typography.json +1 -1
- package/dist/r/svelte-sample-sample-doc-underline.json +1 -1
- package/dist/r/svelte-sample-sample-doc-view-adapter.json +1 -1
- package/dist/r/svelte-sample-sample-doc-word-counter.json +1 -1
- package/dist/r/svelte-sample-sample-uploader.json +1 -1
- package/dist/r/svelte-ui-block-handle.json +2 -2
- package/dist/r/svelte-ui-button.json +2 -2
- package/dist/r/svelte-ui-code-block-view.json +1 -1
- package/dist/r/svelte-ui-drop-indicator.json +1 -1
- package/dist/r/svelte-ui-image-upload-popover.json +2 -2
- package/dist/r/svelte-ui-image-view.json +1 -1
- package/dist/r/svelte-ui-inline-menu.json +2 -2
- package/dist/r/svelte-ui-search.json +2 -2
- package/dist/r/svelte-ui-slash-menu.json +4 -4
- package/dist/r/svelte-ui-table-handle.json +2 -2
- package/dist/r/svelte-ui-tag-menu.json +2 -2
- package/dist/r/svelte-ui-toolbar.json +1 -1
- package/dist/r/svelte-ui-user-menu.json +2 -2
- package/dist/r/svelte-ui-word-counter.json +1 -1
- package/dist/r/vanilla-example-minimal.json +1 -1
- package/dist/r/vanilla-example-slash-menu.json +2 -2
- package/dist/r/vanilla-ui-slash-menu.json +4 -4
- package/dist/r/vue-example-block-handle.json +2 -2
- package/dist/r/vue-example-blockquote.json +2 -2
- package/dist/r/vue-example-bold.json +2 -2
- package/dist/r/vue-example-change-tracking.json +3 -3
- package/dist/r/vue-example-code-block-themes.json +2 -2
- package/dist/r/vue-example-code-block.json +2 -2
- package/dist/r/vue-example-code.json +2 -2
- package/dist/r/vue-example-drop-cursor.json +2 -2
- package/dist/r/vue-example-emoji-rules.json +2 -2
- package/dist/r/vue-example-full.json +2 -2
- package/dist/r/vue-example-gap-cursor.json +2 -2
- package/dist/r/vue-example-hard-break.json +2 -2
- package/dist/r/vue-example-heading.json +2 -2
- package/dist/r/vue-example-horizontal-rule.json +2 -2
- package/dist/r/vue-example-image-view.json +2 -2
- package/dist/r/vue-example-inline-menu.json +2 -2
- package/dist/r/vue-example-italic.json +2 -2
- package/dist/r/vue-example-katex.json +2 -2
- package/dist/r/vue-example-keymap.json +2 -2
- package/dist/r/vue-example-link-mark-view.json +2 -2
- package/dist/r/vue-example-link.json +2 -2
- package/dist/r/vue-example-list-custom-checkbox.json +2 -2
- package/dist/r/vue-example-list.json +2 -2
- package/dist/r/vue-example-loro.json +2 -2
- package/dist/r/vue-example-mark-rule.json +2 -2
- package/dist/r/vue-example-minimal.json +1 -1
- package/dist/r/vue-example-placeholder.json +2 -2
- package/dist/r/vue-example-readonly.json +2 -2
- package/dist/r/vue-example-rtl.json +2 -2
- package/dist/r/vue-example-save-html.json +2 -2
- package/dist/r/vue-example-save-json.json +2 -2
- package/dist/r/vue-example-save-markdown.json +2 -2
- package/dist/r/vue-example-search.json +2 -2
- package/dist/r/vue-example-slash-menu.json +2 -2
- package/dist/r/vue-example-strike.json +2 -2
- package/dist/r/vue-example-table.json +2 -2
- package/dist/r/vue-example-text-align.json +2 -2
- package/dist/r/vue-example-text-color.json +3 -3
- package/dist/r/vue-example-toolbar.json +2 -2
- package/dist/r/vue-example-tweet.json +2 -2
- package/dist/r/vue-example-typography.json +2 -2
- package/dist/r/vue-example-underline.json +2 -2
- package/dist/r/vue-example-unmount.json +2 -2
- package/dist/r/vue-example-user-menu-dynamic.json +2 -2
- package/dist/r/vue-example-user-menu.json +2 -2
- package/dist/r/vue-example-view-adapter.json +2 -2
- package/dist/r/vue-example-word-counter.json +2 -2
- package/dist/r/vue-example-yjs.json +2 -2
- package/dist/r/vue-sample-define-atom-block.json +1 -1
- package/dist/r/vue-sample-sample-doc-block-handle.json +1 -1
- package/dist/r/vue-sample-sample-doc-bold.json +1 -1
- package/dist/r/vue-sample-sample-doc-code-block.json +1 -1
- package/dist/r/vue-sample-sample-doc-code.json +1 -1
- package/dist/r/vue-sample-sample-doc-drop-cursor.json +1 -1
- package/dist/r/vue-sample-sample-doc-full.json +1 -1
- package/dist/r/vue-sample-sample-doc-gap-cursor.json +1 -1
- package/dist/r/vue-sample-sample-doc-hard-break.json +1 -1
- package/dist/r/vue-sample-sample-doc-heading.json +1 -1
- package/dist/r/vue-sample-sample-doc-image.json +1 -1
- package/dist/r/vue-sample-sample-doc-inline-menu.json +1 -1
- package/dist/r/vue-sample-sample-doc-italic.json +1 -1
- package/dist/r/vue-sample-sample-doc-link-mark-view.json +1 -1
- package/dist/r/vue-sample-sample-doc-link.json +1 -1
- package/dist/r/vue-sample-sample-doc-list-custom-checkbox.json +1 -1
- package/dist/r/vue-sample-sample-doc-list.json +1 -1
- package/dist/r/vue-sample-sample-doc-readonly.json +1 -1
- package/dist/r/vue-sample-sample-doc-rtl.json +1 -1
- package/dist/r/vue-sample-sample-doc-search.json +1 -1
- package/dist/r/vue-sample-sample-doc-strike.json +1 -1
- package/dist/r/vue-sample-sample-doc-table.json +1 -1
- package/dist/r/vue-sample-sample-doc-tex.json +1 -1
- package/dist/r/vue-sample-sample-doc-text-align.json +1 -1
- package/dist/r/vue-sample-sample-doc-text-color.json +1 -1
- package/dist/r/vue-sample-sample-doc-tweet.json +1 -1
- package/dist/r/vue-sample-sample-doc-typography.json +1 -1
- package/dist/r/vue-sample-sample-doc-underline.json +1 -1
- package/dist/r/vue-sample-sample-doc-view-adapter.json +1 -1
- package/dist/r/vue-sample-sample-doc-word-counter.json +1 -1
- package/dist/r/vue-sample-sample-uploader.json +1 -1
- package/dist/r/vue-ui-block-handle.json +2 -2
- package/dist/r/vue-ui-button.json +2 -2
- package/dist/r/vue-ui-code-block-view.json +1 -1
- package/dist/r/vue-ui-drop-indicator.json +1 -1
- package/dist/r/vue-ui-image-upload-popover.json +2 -2
- package/dist/r/vue-ui-image-view.json +1 -1
- package/dist/r/vue-ui-inline-menu.json +2 -2
- package/dist/r/vue-ui-search.json +2 -2
- package/dist/r/vue-ui-slash-menu.json +4 -4
- package/dist/r/vue-ui-table-handle.json +2 -2
- package/dist/r/vue-ui-tag-menu.json +2 -2
- package/dist/r/vue-ui-toolbar.json +1 -1
- package/dist/r/vue-ui-user-menu.json +2 -2
- package/dist/r/vue-ui-word-counter.json +1 -1
- package/package.json +13 -13
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
"description": "Placeholder text displayed.",
|
|
6
6
|
"registryDependencies": [],
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"prosekit@^0.20.0
|
|
8
|
+
"prosekit@^0.20.0"
|
|
9
9
|
],
|
|
10
10
|
"files": [
|
|
11
11
|
{
|
|
12
12
|
"path": "registry/src/solid/examples/placeholder/editor.tsx",
|
|
13
13
|
"type": "registry:component",
|
|
14
14
|
"target": "components/editor/examples/placeholder/editor.tsx",
|
|
15
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, jsonFromNode, type NodeJSON } from 'prosekit/core'\nimport type { ProseMirrorNode } from 'prosekit/pm/model'\nimport { ProseKit, useDocChange } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { defineExtension } from './extension'\n\nexport default function Editor(props: {\n initialContent?: NodeJSON\n onDocUpdate?: (doc: NodeJSON) => void\n}): JSX.Element {\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent: props.initialContent })\n\n const handleDocChange = (doc: ProseMirrorNode) => props.onDocUpdate?.(jsonFromNode(doc))\n useDocChange(handleDocChange, { editor })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
15
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, jsonFromNode, type NodeJSON } from 'prosekit/core'\nimport type { ProseMirrorNode } from 'prosekit/pm/model'\nimport { ProseKit, useDocChange } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { defineExtension } from './extension'\n\nexport default function Editor(props: {\n initialContent?: NodeJSON\n onDocUpdate?: (doc: NodeJSON) => void\n}): JSX.Element {\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent: props.initialContent })\n\n const handleDocChange = (doc: ProseMirrorNode) => props.onDocUpdate?.(jsonFromNode(doc))\n useDocChange(handleDocChange, { editor })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"path": "registry/src/solid/examples/placeholder/extension.ts",
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
"https://unpkg.com/prosekit-registry/dist/r/solid-ui-button.json"
|
|
9
9
|
],
|
|
10
10
|
"dependencies": [
|
|
11
|
-
"prosekit@^0.20.0
|
|
11
|
+
"prosekit@^0.20.0"
|
|
12
12
|
],
|
|
13
13
|
"files": [
|
|
14
14
|
{
|
|
15
15
|
"path": "registry/src/solid/examples/readonly/editor.tsx",
|
|
16
16
|
"type": "registry:component",
|
|
17
17
|
"target": "components/editor/examples/readonly/editor.tsx",
|
|
18
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-readonly'\n\nimport { defineExtension } from './extension'\nimport Toolbar from './toolbar'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
18
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-readonly'\n\nimport { defineExtension } from './extension'\nimport Toolbar from './toolbar'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <Toolbar />\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
"path": "registry/src/solid/examples/readonly/extension.ts",
|
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
"https://unpkg.com/prosekit-registry/dist/r/solid-ui-toolbar.json"
|
|
15
15
|
],
|
|
16
16
|
"dependencies": [
|
|
17
|
-
"prosekit@^0.20.0
|
|
17
|
+
"prosekit@^0.20.0"
|
|
18
18
|
],
|
|
19
19
|
"files": [
|
|
20
20
|
{
|
|
21
21
|
"path": "registry/src/solid/examples/rtl/editor.tsx",
|
|
22
22
|
"type": "registry:component",
|
|
23
23
|
"target": "components/editor/examples/rtl/editor.tsx",
|
|
24
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { defineBasicExtension } from 'prosekit/basic'\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-rtl'\nimport { sampleUploader } from '../../sample/sample-uploader'\nimport { BlockHandle } from '../../ui/block-handle'\nimport { DropIndicator } from '../../ui/drop-indicator'\nimport { InlineMenu } from '../../ui/inline-menu'\nimport { SlashMenu } from '../../ui/slash-menu'\nimport { TableHandle } from '../../ui/table-handle'\nimport { Toolbar } from '../../ui/toolbar'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const extension = defineBasicExtension()\n const defaultContent = props.initialContent ?? sampleContent\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div dir=\"rtl\" class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
24
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { defineBasicExtension } from 'prosekit/basic'\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-rtl'\nimport { sampleUploader } from '../../sample/sample-uploader'\nimport { BlockHandle } from '../../ui/block-handle'\nimport { DropIndicator } from '../../ui/drop-indicator'\nimport { InlineMenu } from '../../ui/inline-menu'\nimport { SlashMenu } from '../../ui/slash-menu'\nimport { TableHandle } from '../../ui/table-handle'\nimport { Toolbar } from '../../ui/toolbar'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const extension = defineBasicExtension()\n const defaultContent = props.initialContent ?? sampleContent\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div dir=\"rtl\" class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <Toolbar uploader={sampleUploader} />\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n <InlineMenu />\n <SlashMenu />\n <BlockHandle dir=\"rtl\" />\n <TableHandle dir=\"rtl\" />\n <DropIndicator />\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
"path": "registry/src/solid/examples/rtl/index.ts",
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
"description": "Save and load documents as HTML format.",
|
|
6
6
|
"registryDependencies": [],
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"prosekit@^0.20.0
|
|
8
|
+
"prosekit@^0.20.0"
|
|
9
9
|
],
|
|
10
10
|
"files": [
|
|
11
11
|
{
|
|
12
12
|
"path": "registry/src/solid/examples/save-html/editor.tsx",
|
|
13
13
|
"type": "registry:component",
|
|
14
14
|
"target": "components/editor/examples/save-html/editor.tsx",
|
|
15
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { defineBasicExtension } from 'prosekit/basic'\nimport { createEditor, jsonFromHTML } from 'prosekit/core'\nimport { ProseKit, useDocChange } from 'prosekit/solid'\nimport { createSignal, For, type JSX } from 'solid-js'\n\nexport default function Editor(): JSX.Element {\n const [records, setRecords] = createSignal<string[]>([])\n const [hasUnsavedChange, setHasUnsavedChange] = createSignal(false)\n\n const extension = defineBasicExtension()\n const editor = createEditor({ extension })\n\n const handleDocChange = () => setHasUnsavedChange(true)\n useDocChange(handleDocChange, { editor })\n\n const handleSave = () => {\n const record = editor.getDocHTML()\n setRecords((prev) => [...prev, record])\n setHasUnsavedChange(false)\n }\n\n const handleLoad = (record: string) => {\n editor.setContent(jsonFromHTML(record, { schema: editor.schema }))\n setHasUnsavedChange(false)\n }\n\n return (\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
15
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { defineBasicExtension } from 'prosekit/basic'\nimport { createEditor, jsonFromHTML } from 'prosekit/core'\nimport { ProseKit, useDocChange } from 'prosekit/solid'\nimport { createSignal, For, type JSX } from 'solid-js'\n\nexport default function Editor(): JSX.Element {\n const [records, setRecords] = createSignal<string[]>([])\n const [hasUnsavedChange, setHasUnsavedChange] = createSignal(false)\n\n const extension = defineBasicExtension()\n const editor = createEditor({ extension })\n\n const handleDocChange = () => setHasUnsavedChange(true)\n useDocChange(handleDocChange, { editor })\n\n const handleSave = () => {\n const record = editor.getDocHTML()\n setRecords((prev) => [...prev, record])\n setHasUnsavedChange(false)\n }\n\n const handleLoad = (record: string) => {\n editor.setContent(jsonFromHTML(record, { schema: editor.schema }))\n setHasUnsavedChange(false)\n }\n\n return (\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <button\n onClick={handleSave}\n disabled={!hasUnsavedChange()}\n class=\"m-1 border border-solid bg-white px-2 py-1 text-sm text-black disabled:cursor-not-allowed disabled:text-gray-500\"\n >\n {hasUnsavedChange() ? 'Save' : 'No changes to save'}\n </button>\n <ul class=\"border-b border-t border-solid text-sm\">\n <For each={records()}>\n {(record) => (\n <li class=\"m-1 flex gap-2\">\n <button\n class=\"border border-solid bg-white px-2 py-1 text-black\"\n onClick={() => handleLoad(record)}\n >\n Load\n </button>\n <span class=\"flex-1 overflow-x-scroll p-2\">\n <pre>{record}</pre>\n </span>\n </li>\n )}\n </For>\n </ul>\n <ProseKit editor={editor}>\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n </div>\n </ProseKit>\n </div>\n )\n}\n"
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"path": "registry/src/solid/examples/save-html/index.ts",
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
"description": "Save and load documents as JSON format.",
|
|
6
6
|
"registryDependencies": [],
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"prosekit@^0.20.0
|
|
8
|
+
"prosekit@^0.20.0"
|
|
9
9
|
],
|
|
10
10
|
"files": [
|
|
11
11
|
{
|
|
12
12
|
"path": "registry/src/solid/examples/save-json/editor.tsx",
|
|
13
13
|
"type": "registry:component",
|
|
14
14
|
"target": "components/editor/examples/save-json/editor.tsx",
|
|
15
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { defineBasicExtension } from 'prosekit/basic'\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit, useDocChange } from 'prosekit/solid'\nimport { createSignal, For, type JSX } from 'solid-js'\n\nexport default function Editor(): JSX.Element {\n const [records, setRecords] = createSignal<string[]>([])\n const [hasUnsavedChange, setHasUnsavedChange] = createSignal(false)\n\n const extension = defineBasicExtension()\n const editor = createEditor({ extension })\n\n const handleDocChange = () => setHasUnsavedChange(true)\n useDocChange(handleDocChange, { editor })\n\n const handleSave = () => {\n const record = JSON.stringify(editor.getDocJSON())\n setRecords((prev) => [...prev, record])\n setHasUnsavedChange(false)\n }\n\n const handleLoad = (record: string) => {\n editor.setContent(JSON.parse(record) as NodeJSON)\n setHasUnsavedChange(false)\n }\n\n return (\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
15
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { defineBasicExtension } from 'prosekit/basic'\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit, useDocChange } from 'prosekit/solid'\nimport { createSignal, For, type JSX } from 'solid-js'\n\nexport default function Editor(): JSX.Element {\n const [records, setRecords] = createSignal<string[]>([])\n const [hasUnsavedChange, setHasUnsavedChange] = createSignal(false)\n\n const extension = defineBasicExtension()\n const editor = createEditor({ extension })\n\n const handleDocChange = () => setHasUnsavedChange(true)\n useDocChange(handleDocChange, { editor })\n\n const handleSave = () => {\n const record = JSON.stringify(editor.getDocJSON())\n setRecords((prev) => [...prev, record])\n setHasUnsavedChange(false)\n }\n\n const handleLoad = (record: string) => {\n editor.setContent(JSON.parse(record) as NodeJSON)\n setHasUnsavedChange(false)\n }\n\n return (\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <button\n onClick={handleSave}\n disabled={!hasUnsavedChange()}\n class=\"m-1 border border-solid bg-white px-2 py-1 text-sm text-black disabled:cursor-not-allowed disabled:text-gray-500\"\n >\n {hasUnsavedChange() ? 'Save' : 'No changes to save'}\n </button>\n <ul class=\"border-b border-t border-solid text-sm\">\n <For each={records()}>\n {(record) => (\n <li class=\"m-1 flex gap-2\">\n <button\n class=\"border border-solid bg-white px-2 py-1 text-black\"\n onClick={() => handleLoad(record)}\n >\n Load\n </button>\n <span class=\"flex-1 overflow-x-scroll p-2\">\n <pre>{record}</pre>\n </span>\n </li>\n )}\n </For>\n </ul>\n <ProseKit editor={editor}>\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n </div>\n </ProseKit>\n </div>\n )\n}\n"
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"path": "registry/src/solid/examples/save-json/index.ts",
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"description": "Save and load documents as Markdown format.",
|
|
6
6
|
"registryDependencies": [],
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"prosekit@^0.20.0
|
|
8
|
+
"prosekit@^0.20.0",
|
|
9
9
|
"rehype-parse",
|
|
10
10
|
"rehype-remark",
|
|
11
11
|
"remark-gfm",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"path": "registry/src/solid/examples/save-markdown/editor.tsx",
|
|
20
20
|
"type": "registry:component",
|
|
21
21
|
"target": "components/editor/examples/save-markdown/editor.tsx",
|
|
22
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { defineBasicExtension } from 'prosekit/basic'\nimport { createEditor, jsonFromHTML } from 'prosekit/core'\nimport { ProseKit, useDocChange } from 'prosekit/solid'\nimport { createSignal, For, type JSX } from 'solid-js'\n\nimport { htmlFromMarkdown, markdownFromHTML } from './markdown'\n\nexport default function Editor(): JSX.Element {\n const [records, setRecords] = createSignal<string[]>([])\n const [hasUnsavedChange, setHasUnsavedChange] = createSignal(false)\n\n const extension = defineBasicExtension()\n const editor = createEditor({ extension })\n\n const handleDocChange = () => setHasUnsavedChange(true)\n useDocChange(handleDocChange, { editor })\n\n const handleSave = () => {\n const html = editor.getDocHTML()\n const record = markdownFromHTML(html)\n setRecords((prev) => [...prev, record])\n setHasUnsavedChange(false)\n }\n\n const handleLoad = (record: string) => {\n const html = htmlFromMarkdown(record)\n editor.setContent(jsonFromHTML(html, { schema: editor.schema }))\n setHasUnsavedChange(false)\n }\n\n return (\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
22
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { defineBasicExtension } from 'prosekit/basic'\nimport { createEditor, jsonFromHTML } from 'prosekit/core'\nimport { ProseKit, useDocChange } from 'prosekit/solid'\nimport { createSignal, For, type JSX } from 'solid-js'\n\nimport { htmlFromMarkdown, markdownFromHTML } from './markdown'\n\nexport default function Editor(): JSX.Element {\n const [records, setRecords] = createSignal<string[]>([])\n const [hasUnsavedChange, setHasUnsavedChange] = createSignal(false)\n\n const extension = defineBasicExtension()\n const editor = createEditor({ extension })\n\n const handleDocChange = () => setHasUnsavedChange(true)\n useDocChange(handleDocChange, { editor })\n\n const handleSave = () => {\n const html = editor.getDocHTML()\n const record = markdownFromHTML(html)\n setRecords((prev) => [...prev, record])\n setHasUnsavedChange(false)\n }\n\n const handleLoad = (record: string) => {\n const html = htmlFromMarkdown(record)\n editor.setContent(jsonFromHTML(html, { schema: editor.schema }))\n setHasUnsavedChange(false)\n }\n\n return (\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <button\n onClick={handleSave}\n disabled={!hasUnsavedChange()}\n class=\"m-1 border border-solid bg-white px-2 py-1 text-sm text-black disabled:cursor-not-allowed disabled:text-gray-500\"\n >\n {hasUnsavedChange() ? 'Save' : 'No changes to save'}\n </button>\n <ul class=\"border-b border-t border-solid text-sm\">\n <For each={records()}>\n {(record) => (\n <li class=\"m-1 flex gap-2\">\n <button\n class=\"border border-solid bg-white px-2 py-1 text-black\"\n onClick={() => handleLoad(record)}\n >\n Load\n </button>\n <span class=\"flex-1 overflow-x-scroll p-2\">\n <pre>{record}</pre>\n </span>\n </li>\n )}\n </For>\n </ul>\n <ProseKit editor={editor}>\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n </div>\n </ProseKit>\n </div>\n )\n}\n"
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
25
|
"path": "registry/src/solid/examples/save-markdown/index.ts",
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
"https://unpkg.com/prosekit-registry/dist/r/solid-ui-search.json"
|
|
9
9
|
],
|
|
10
10
|
"dependencies": [
|
|
11
|
-
"prosekit@^0.20.0
|
|
11
|
+
"prosekit@^0.20.0"
|
|
12
12
|
],
|
|
13
13
|
"files": [
|
|
14
14
|
{
|
|
15
15
|
"path": "registry/src/solid/examples/search/editor.tsx",
|
|
16
16
|
"type": "registry:component",
|
|
17
17
|
"target": "components/editor/examples/search/editor.tsx",
|
|
18
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\nimport 'prosekit/extensions/search/style.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-search'\nimport { Search } from '../../ui/search'\n\nimport { defineExtension } from './extension'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({\n extension,\n defaultContent,\n })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
18
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\nimport 'prosekit/extensions/search/style.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-search'\nimport { Search } from '../../ui/search'\n\nimport { defineExtension } from './extension'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({\n extension,\n defaultContent,\n })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <Search />\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
"path": "registry/src/solid/examples/search/extension.ts",
|
|
@@ -7,14 +7,14 @@
|
|
|
7
7
|
"https://unpkg.com/prosekit-registry/dist/r/solid-ui-slash-menu.json"
|
|
8
8
|
],
|
|
9
9
|
"dependencies": [
|
|
10
|
-
"prosekit@^0.20.0
|
|
10
|
+
"prosekit@^0.20.0"
|
|
11
11
|
],
|
|
12
12
|
"files": [
|
|
13
13
|
{
|
|
14
14
|
"path": "registry/src/solid/examples/slash-menu/editor.tsx",
|
|
15
15
|
"type": "registry:component",
|
|
16
16
|
"target": "components/editor/examples/slash-menu/editor.tsx",
|
|
17
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { SlashMenu } from '../../ui/slash-menu'\n\nimport { defineExtension } from './extension'\n\nexport default function Editor(): JSX.Element {\n const extension = defineExtension()\n const editor = createEditor({ extension })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
17
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { SlashMenu } from '../../ui/slash-menu'\n\nimport { defineExtension } from './extension'\n\nexport default function Editor(): JSX.Element {\n const extension = defineExtension()\n const editor = createEditor({ extension })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n <SlashMenu />\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
"path": "registry/src/solid/examples/slash-menu/extension.ts",
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
"https://unpkg.com/prosekit-registry/dist/r/solid-ui-button.json"
|
|
9
9
|
],
|
|
10
10
|
"dependencies": [
|
|
11
|
-
"prosekit@^0.20.0
|
|
11
|
+
"prosekit@^0.20.0"
|
|
12
12
|
],
|
|
13
13
|
"files": [
|
|
14
14
|
{
|
|
15
15
|
"path": "registry/src/solid/examples/strike/editor.tsx",
|
|
16
16
|
"type": "registry:component",
|
|
17
17
|
"target": "components/editor/examples/strike/editor.tsx",
|
|
18
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-strike'\n\nimport { defineExtension } from './extension'\nimport Toolbar from './toolbar'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
18
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-strike'\n\nimport { defineExtension } from './extension'\nimport Toolbar from './toolbar'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <Toolbar />\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
"path": "registry/src/solid/examples/strike/extension.ts",
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
"https://unpkg.com/prosekit-registry/dist/r/solid-ui-table-handle.json"
|
|
9
9
|
],
|
|
10
10
|
"dependencies": [
|
|
11
|
-
"prosekit@^0.20.0
|
|
11
|
+
"prosekit@^0.20.0"
|
|
12
12
|
],
|
|
13
13
|
"files": [
|
|
14
14
|
{
|
|
15
15
|
"path": "registry/src/solid/examples/table/editor.tsx",
|
|
16
16
|
"type": "registry:component",
|
|
17
17
|
"target": "components/editor/examples/table/editor.tsx",
|
|
18
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-table'\nimport { TableHandle } from '../../ui/table-handle'\n\nimport { defineExtension } from './extension'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
18
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-table'\nimport { TableHandle } from '../../ui/table-handle'\n\nimport { defineExtension } from './extension'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n <TableHandle />\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
"path": "registry/src/solid/examples/table/extension.ts",
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
"https://unpkg.com/prosekit-registry/dist/r/solid-sample-temml.json"
|
|
9
9
|
],
|
|
10
10
|
"dependencies": [
|
|
11
|
-
"prosekit@^0.20.0
|
|
11
|
+
"prosekit@^0.20.0"
|
|
12
12
|
],
|
|
13
13
|
"files": [
|
|
14
14
|
{
|
|
15
15
|
"path": "registry/src/solid/examples/temml/editor.tsx",
|
|
16
16
|
"type": "registry:component",
|
|
17
17
|
"target": "components/editor/examples/temml/editor.tsx",
|
|
18
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-tex'\n\nimport { defineExtension } from './extension'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
18
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-tex'\n\nimport { defineExtension } from './extension'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
"path": "registry/src/solid/examples/temml/extension.ts",
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
"https://unpkg.com/prosekit-registry/dist/r/solid-ui-button.json"
|
|
9
9
|
],
|
|
10
10
|
"dependencies": [
|
|
11
|
-
"prosekit@^0.20.0
|
|
11
|
+
"prosekit@^0.20.0"
|
|
12
12
|
],
|
|
13
13
|
"files": [
|
|
14
14
|
{
|
|
15
15
|
"path": "registry/src/solid/examples/text-align/editor.tsx",
|
|
16
16
|
"type": "registry:component",
|
|
17
17
|
"target": "components/editor/examples/text-align/editor.tsx",
|
|
18
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-text-align'\n\nimport { defineExtension } from './extension'\nimport Toolbar from './toolbar'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
18
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-text-align'\n\nimport { defineExtension } from './extension'\nimport Toolbar from './toolbar'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <Toolbar />\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
"path": "registry/src/solid/examples/text-align/extension.ts",
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
"https://unpkg.com/prosekit-registry/dist/r/solid-ui-button.json"
|
|
9
9
|
],
|
|
10
10
|
"dependencies": [
|
|
11
|
-
"prosekit@^0.20.0
|
|
11
|
+
"prosekit@^0.20.0"
|
|
12
12
|
],
|
|
13
13
|
"files": [
|
|
14
14
|
{
|
|
15
15
|
"path": "registry/src/solid/examples/text-color/editor.tsx",
|
|
16
16
|
"type": "registry:component",
|
|
17
17
|
"target": "components/editor/examples/text-color/editor.tsx",
|
|
18
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-text-color'\n\nimport { defineExtension } from './extension'\nimport InlineMenu from './inline-menu'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
18
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-text-color'\n\nimport { defineExtension } from './extension'\nimport InlineMenu from './inline-menu'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n <InlineMenu />\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
"path": "registry/src/solid/examples/text-color/extension.ts",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"path": "registry/src/solid/examples/text-color/inline-menu.tsx",
|
|
34
34
|
"type": "registry:component",
|
|
35
35
|
"target": "components/editor/examples/text-color/inline-menu.tsx",
|
|
36
|
-
"content": "import type { Editor, Keymap } from 'prosekit/core'\nimport { useEditorDerivedValue, useKeymap } from 'prosekit/solid'\nimport { InlinePopoverPopup, InlinePopoverPositioner, InlinePopoverRoot } from 'prosekit/solid/inline-popover'\nimport { createSignal, For, type JSX } from 'solid-js'\n\nimport { Button } from '../../ui/button'\n\nimport type { EditorExtension } from './extension'\n\nconst textColors = [\n { label: 'Gray', value: '#9ca3af' },\n { label: 'Brown', value: '#92400e' },\n { label: 'Orange', value: '#ea580c' },\n { label: 'Yellow', value: '#ca8a04' },\n { label: 'Green', value: '#16a34a' },\n { label: 'Blue', value: '#2563eb' },\n { label: 'Purple', value: '#9333ea' },\n { label: 'Magenta', value: '#c026d3' },\n { label: 'Red', value: '#dc2626' },\n]\n\nconst backgroundColors = [\n { label: 'Gray', value: '#f3f4f6' },\n { label: 'Brown', value: '#fef3c7' },\n { label: 'Orange', value: '#ffedd5' },\n { label: 'Yellow', value: '#fef9c3' },\n { label: 'Green', value: '#d1fae5' },\n { label: 'Blue', value: '#dbeafe' },\n { label: 'Purple', value: '#e9d5ff' },\n { label: 'Pink', value: '#fce7f3' },\n { label: 'Red', value: '#fecaca' },\n]\n\nfunction getTextColorState(editor: Editor<EditorExtension>) {\n return [\n {\n label: 'Default',\n value: 'currentColor',\n isActive: !editor.marks.textColor.isActive(),\n onClick: () => editor.commands.removeTextColor(),\n },\n ].concat(\n textColors.map((color) => ({\n label: color.label,\n value: color.value,\n isActive: editor.marks.textColor.isActive({ color: color.value }),\n onClick: () => editor.commands.addTextColor({ color: color.value }),\n })),\n )\n}\n\nfunction getBackgroundColorState(editor: Editor<EditorExtension>) {\n return [\n {\n label: 'Default',\n value: 'canvas',\n isActive: !editor.marks.backgroundColor.isActive(),\n onClick: () => editor.commands.removeBackgroundColor(),\n },\n ].concat(\n backgroundColors.map((color) => ({\n label: color.label,\n value: color.value,\n isActive: editor.marks.backgroundColor.isActive({ color: color.value }),\n onClick: () => editor.commands.addBackgroundColor({ color: color.value }),\n })),\n )\n}\n\nexport default function InlineMenu(): JSX.Element {\n const textColorState = useEditorDerivedValue(getTextColorState)\n const backgroundColorState = useEditorDerivedValue(getBackgroundColorState)\n const [open, setOpen] = createSignal(false)\n\n const keymap: () => Keymap = () => ({\n Escape: () => {\n if (open()) {\n setOpen(false)\n return true\n }\n return false\n },\n })\n\n useKeymap(keymap)\n\n return (\n <InlinePopoverRoot\n open={open()}\n onOpenChange={(event) => setOpen(event.detail)}\n >\n <InlinePopoverPositioner class=\"block overflow-visible w-min h-min z-50 ease-out transition-transform duration-100 motion-reduce:transition-none\">\n <InlinePopoverPopup class=\"box-border origin-(--transform-origin) transition transition-discrete motion-reduce:transition-none data-[state=closed]:duration-150 data-[state=closed]:opacity-0 starting:opacity-0 data-[state=closed]:scale-95 starting:scale-95 duration-40 border border-gray-200 dark:border-gray-800
|
|
36
|
+
"content": "import type { Editor, Keymap } from 'prosekit/core'\nimport { useEditorDerivedValue, useKeymap } from 'prosekit/solid'\nimport { InlinePopoverPopup, InlinePopoverPositioner, InlinePopoverRoot } from 'prosekit/solid/inline-popover'\nimport { createSignal, For, type JSX } from 'solid-js'\n\nimport { Button } from '../../ui/button'\n\nimport type { EditorExtension } from './extension'\n\nconst textColors = [\n { label: 'Gray', value: '#9ca3af' },\n { label: 'Brown', value: '#92400e' },\n { label: 'Orange', value: '#ea580c' },\n { label: 'Yellow', value: '#ca8a04' },\n { label: 'Green', value: '#16a34a' },\n { label: 'Blue', value: '#2563eb' },\n { label: 'Purple', value: '#9333ea' },\n { label: 'Magenta', value: '#c026d3' },\n { label: 'Red', value: '#dc2626' },\n]\n\nconst backgroundColors = [\n { label: 'Gray', value: '#f3f4f6' },\n { label: 'Brown', value: '#fef3c7' },\n { label: 'Orange', value: '#ffedd5' },\n { label: 'Yellow', value: '#fef9c3' },\n { label: 'Green', value: '#d1fae5' },\n { label: 'Blue', value: '#dbeafe' },\n { label: 'Purple', value: '#e9d5ff' },\n { label: 'Pink', value: '#fce7f3' },\n { label: 'Red', value: '#fecaca' },\n]\n\nfunction getTextColorState(editor: Editor<EditorExtension>) {\n return [\n {\n label: 'Default',\n value: 'currentColor',\n isActive: !editor.marks.textColor.isActive(),\n onClick: () => editor.commands.removeTextColor(),\n },\n ].concat(\n textColors.map((color) => ({\n label: color.label,\n value: color.value,\n isActive: editor.marks.textColor.isActive({ color: color.value }),\n onClick: () => editor.commands.addTextColor({ color: color.value }),\n })),\n )\n}\n\nfunction getBackgroundColorState(editor: Editor<EditorExtension>) {\n return [\n {\n label: 'Default',\n value: 'canvas',\n isActive: !editor.marks.backgroundColor.isActive(),\n onClick: () => editor.commands.removeBackgroundColor(),\n },\n ].concat(\n backgroundColors.map((color) => ({\n label: color.label,\n value: color.value,\n isActive: editor.marks.backgroundColor.isActive({ color: color.value }),\n onClick: () => editor.commands.addBackgroundColor({ color: color.value }),\n })),\n )\n}\n\nexport default function InlineMenu(): JSX.Element {\n const textColorState = useEditorDerivedValue(getTextColorState)\n const backgroundColorState = useEditorDerivedValue(getBackgroundColorState)\n const [open, setOpen] = createSignal(false)\n\n const keymap: () => Keymap = () => ({\n Escape: () => {\n if (open()) {\n setOpen(false)\n return true\n }\n return false\n },\n })\n\n useKeymap(keymap)\n\n return (\n <InlinePopoverRoot\n open={open()}\n onOpenChange={(event) => setOpen(event.detail)}\n >\n <InlinePopoverPositioner class=\"block overflow-visible w-min h-min z-50 ease-out transition-transform duration-100 motion-reduce:transition-none\">\n <InlinePopoverPopup class=\"box-border origin-(--transform-origin) transition-[opacity,scale] transition-discrete motion-reduce:transition-none data-[state=closed]:duration-150 data-[state=closed]:opacity-0 starting:opacity-0 data-[state=closed]:scale-95 starting:scale-95 duration-40 border border-gray-200 dark:border-gray-800 shadow-lg bg-[canvas] relative flex min-w-32 space-x-1 overflow-auto whitespace-nowrap rounded-lg p-1\">\n <div class=\"flex flex-col gap-4 p-4\">\n <div class=\"flex flex-col gap-2\">\n <div class=\"text-sm\">Text color</div>\n <div class=\"grid grid-cols-5 gap-1\">\n <For each={textColorState()}>\n {(color) => (\n <Button\n pressed={color.isActive}\n tooltip={`Text: ${color.label}`}\n onClick={color.onClick}\n >\n <span\n class=\"text-base font-medium\"\n style={{ color: color.value }}\n >\n A\n </span>\n </Button>\n )}\n </For>\n </div>\n </div>\n <div class=\"flex flex-col gap-2\">\n <div class=\"text-sm\">Background color</div>\n <div class=\"grid grid-cols-5 gap-1\">\n <For each={backgroundColorState()}>\n {(color) => (\n <Button\n pressed={color.isActive}\n tooltip={`Background: ${color.label}`}\n onClick={color.onClick}\n >\n <div\n class=\"w-6 h-6 rounded border border-gray-200 dark:border-gray-700\"\n style={{ 'background-color': color.value }}\n />\n </Button>\n )}\n </For>\n </div>\n </div>\n </div>\n </InlinePopoverPopup>\n </InlinePopoverPositioner>\n </InlinePopoverRoot>\n )\n}\n"
|
|
37
37
|
}
|
|
38
38
|
],
|
|
39
39
|
"meta": {
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
"https://unpkg.com/prosekit-registry/dist/r/solid-ui-toolbar.json"
|
|
9
9
|
],
|
|
10
10
|
"dependencies": [
|
|
11
|
-
"prosekit@^0.20.0
|
|
11
|
+
"prosekit@^0.20.0"
|
|
12
12
|
],
|
|
13
13
|
"files": [
|
|
14
14
|
{
|
|
15
15
|
"path": "registry/src/solid/examples/toolbar/editor.tsx",
|
|
16
16
|
"type": "registry:component",
|
|
17
17
|
"target": "components/editor/examples/toolbar/editor.tsx",
|
|
18
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleUploader } from '../../sample/sample-uploader'\nimport { Toolbar } from '../../ui/toolbar'\n\nimport { defineExtension } from './extension'\n\nexport default function Editor(): JSX.Element {\n const extension = defineExtension()\n const editor = createEditor({ extension })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
18
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleUploader } from '../../sample/sample-uploader'\nimport { Toolbar } from '../../ui/toolbar'\n\nimport { defineExtension } from './extension'\n\nexport default function Editor(): JSX.Element {\n const extension = defineExtension()\n const editor = createEditor({ extension })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <Toolbar uploader={sampleUploader} />\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
"path": "registry/src/solid/examples/toolbar/extension.ts",
|
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
"https://unpkg.com/prosekit-registry/dist/r/solid-ui-drop-indicator.json"
|
|
11
11
|
],
|
|
12
12
|
"dependencies": [
|
|
13
|
-
"prosekit@^0.20.0
|
|
13
|
+
"prosekit@^0.20.0"
|
|
14
14
|
],
|
|
15
15
|
"files": [
|
|
16
16
|
{
|
|
17
17
|
"path": "registry/src/solid/examples/typography/editor.tsx",
|
|
18
18
|
"type": "registry:component",
|
|
19
19
|
"target": "components/editor/examples/typography/editor.tsx",
|
|
20
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-typography'\nimport { BlockHandle } from '../../ui/block-handle'\nimport { DropIndicator } from '../../ui/drop-indicator'\n\nimport { defineExtension } from './extension'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
20
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-typography'\nimport { BlockHandle } from '../../ui/block-handle'\nimport { DropIndicator } from '../../ui/drop-indicator'\n\nimport { defineExtension } from './extension'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n <BlockHandle />\n <DropIndicator />\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
"path": "registry/src/solid/examples/typography/extension.ts",
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
"https://unpkg.com/prosekit-registry/dist/r/solid-ui-toolbar.json"
|
|
9
9
|
],
|
|
10
10
|
"dependencies": [
|
|
11
|
-
"prosekit@^0.20.0
|
|
11
|
+
"prosekit@^0.20.0"
|
|
12
12
|
],
|
|
13
13
|
"files": [
|
|
14
14
|
{
|
|
15
15
|
"path": "registry/src/solid/examples/underline/editor.tsx",
|
|
16
16
|
"type": "registry:component",
|
|
17
17
|
"target": "components/editor/examples/underline/editor.tsx",
|
|
18
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-underline'\nimport { Toolbar } from '../../ui/toolbar'\n\nimport { defineExtension } from './extension'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
18
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-underline'\nimport { Toolbar } from '../../ui/toolbar'\n\nimport { defineExtension } from './extension'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <Toolbar />\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
"path": "registry/src/solid/examples/underline/extension.ts",
|
|
@@ -7,14 +7,14 @@
|
|
|
7
7
|
"https://unpkg.com/prosekit-registry/dist/r/solid-ui-inline-menu.json"
|
|
8
8
|
],
|
|
9
9
|
"dependencies": [
|
|
10
|
-
"prosekit@^0.20.0
|
|
10
|
+
"prosekit@^0.20.0"
|
|
11
11
|
],
|
|
12
12
|
"files": [
|
|
13
13
|
{
|
|
14
14
|
"path": "registry/src/solid/examples/unmount/editor-component.tsx",
|
|
15
15
|
"type": "registry:component",
|
|
16
16
|
"target": "components/editor/examples/unmount/editor-component.tsx",
|
|
17
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { defineBasicExtension } from 'prosekit/basic'\nimport { createEditor } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { InlineMenu } from '../../ui/inline-menu'\n\nimport ExtensionComponent from './extension-component.tsx'\n\nexport default function EditorComponent(props: {\n placeholder: string\n}): JSX.Element {\n const extension = defineBasicExtension()\n const editor = createEditor({ extension })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
17
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { defineBasicExtension } from 'prosekit/basic'\nimport { createEditor } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { InlineMenu } from '../../ui/inline-menu'\n\nimport ExtensionComponent from './extension-component.tsx'\n\nexport default function EditorComponent(props: {\n placeholder: string\n}): JSX.Element {\n const extension = defineBasicExtension()\n const editor = createEditor({ extension })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n <InlineMenu />\n </div>\n </div>\n <ExtensionComponent placeholder={props.placeholder} />\n </ProseKit>\n )\n}\n"
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
"path": "registry/src/solid/examples/unmount/editor.tsx",
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
"https://unpkg.com/prosekit-registry/dist/r/solid-ui-user-menu.json"
|
|
9
9
|
],
|
|
10
10
|
"dependencies": [
|
|
11
|
-
"prosekit@^0.20.0
|
|
11
|
+
"prosekit@^0.20.0"
|
|
12
12
|
],
|
|
13
13
|
"files": [
|
|
14
14
|
{
|
|
15
15
|
"path": "registry/src/solid/examples/user-menu-dynamic/editor.tsx",
|
|
16
16
|
"type": "registry:component",
|
|
17
17
|
"target": "components/editor/examples/user-menu-dynamic/editor.tsx",
|
|
18
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { defineExtension } from './extension'\nimport UserMenuDynamic from './user-menu-dynamic'\n\nexport default function Editor(): JSX.Element {\n const extension = defineExtension()\n const editor = createEditor({ extension })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
18
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { defineExtension } from './extension'\nimport UserMenuDynamic from './user-menu-dynamic'\n\nexport default function Editor(): JSX.Element {\n const extension = defineExtension()\n const editor = createEditor({ extension })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n <UserMenuDynamic />\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
"path": "registry/src/solid/examples/user-menu-dynamic/extension.ts",
|
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
"https://unpkg.com/prosekit-registry/dist/r/solid-ui-user-menu.json"
|
|
11
11
|
],
|
|
12
12
|
"dependencies": [
|
|
13
|
-
"prosekit@^0.20.0
|
|
13
|
+
"prosekit@^0.20.0"
|
|
14
14
|
],
|
|
15
15
|
"files": [
|
|
16
16
|
{
|
|
17
17
|
"path": "registry/src/solid/examples/user-menu/editor.tsx",
|
|
18
18
|
"type": "registry:component",
|
|
19
19
|
"target": "components/editor/examples/user-menu/editor.tsx",
|
|
20
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { tags } from '../../sample/sample-tag-data'\nimport { users } from '../../sample/sample-user-data'\nimport { TagMenu } from '../../ui/tag-menu'\nimport { UserMenu } from '../../ui/user-menu'\n\nimport { defineExtension } from './extension'\n\nexport default function Editor(): JSX.Element {\n const extension = defineExtension()\n const editor = createEditor({ extension })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
20
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { tags } from '../../sample/sample-tag-data'\nimport { users } from '../../sample/sample-user-data'\nimport { TagMenu } from '../../ui/tag-menu'\nimport { UserMenu } from '../../ui/user-menu'\n\nimport { defineExtension } from './extension'\n\nexport default function Editor(): JSX.Element {\n const extension = defineExtension()\n const editor = createEditor({ extension })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n <UserMenu users={users} />\n <TagMenu tags={tags} />\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
"path": "registry/src/solid/examples/user-menu/extension.ts",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"https://unpkg.com/prosekit-registry/dist/r/solid-sample-sample-doc-view-adapter.json"
|
|
9
9
|
],
|
|
10
10
|
"dependencies": [
|
|
11
|
-
"prosekit@^0.20.0
|
|
11
|
+
"prosekit@^0.20.0"
|
|
12
12
|
],
|
|
13
13
|
"files": [
|
|
14
14
|
{
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"path": "registry/src/solid/examples/view-adapter/editor.tsx",
|
|
22
22
|
"type": "registry:component",
|
|
23
23
|
"target": "components/editor/examples/view-adapter/editor.tsx",
|
|
24
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport { createMemo, type JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-view-adapter'\n\nimport { defineExtension } from './extension'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = () => props.initialContent ?? sampleContent\n const editor = createMemo(() => {\n return createEditor({ extension: defineExtension(), defaultContent: defaultContent() })\n })\n\n return (\n <ProseKit editor={editor()}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
24
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport { createMemo, type JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-view-adapter'\n\nimport { defineExtension } from './extension'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = () => props.initialContent ?? sampleContent\n const editor = createMemo(() => {\n return createEditor({ extension: defineExtension(), defaultContent: defaultContent() })\n })\n\n return (\n <ProseKit editor={editor()}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor().mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
"path": "registry/src/solid/examples/view-adapter/extension.ts",
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
"https://unpkg.com/prosekit-registry/dist/r/solid-ui-word-counter.json"
|
|
9
9
|
],
|
|
10
10
|
"dependencies": [
|
|
11
|
-
"prosekit@^0.20.0
|
|
11
|
+
"prosekit@^0.20.0"
|
|
12
12
|
],
|
|
13
13
|
"files": [
|
|
14
14
|
{
|
|
15
15
|
"path": "registry/src/solid/examples/word-counter/editor.tsx",
|
|
16
16
|
"type": "registry:component",
|
|
17
17
|
"target": "components/editor/examples/word-counter/editor.tsx",
|
|
18
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-word-counter'\nimport { WordCounter } from '../../ui/word-counter'\n\nimport { defineExtension } from './extension'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
18
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\n\nimport { createEditor, type NodeJSON } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport type { JSX } from 'solid-js'\n\nimport { sampleContent } from '../../sample/sample-doc-word-counter'\nimport { WordCounter } from '../../ui/word-counter'\n\nimport { defineExtension } from './extension'\n\ninterface EditorProps {\n initialContent?: NodeJSON\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n const defaultContent = props.initialContent ?? sampleContent\n const extension = defineExtension()\n const editor = createEditor({ extension, defaultContent })\n\n return (\n <ProseKit editor={editor}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor.mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n <WordCounter />\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
"path": "registry/src/solid/examples/word-counter/extension.ts",
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"https://unpkg.com/prosekit-registry/dist/r/solid-ui-toolbar.json"
|
|
8
8
|
],
|
|
9
9
|
"dependencies": [
|
|
10
|
-
"prosekit@^0.20.0
|
|
10
|
+
"prosekit@^0.20.0",
|
|
11
11
|
"y-websocket",
|
|
12
12
|
"yjs"
|
|
13
13
|
],
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"path": "registry/src/solid/examples/yjs/editor-component.tsx",
|
|
17
17
|
"type": "registry:component",
|
|
18
18
|
"target": "components/editor/examples/yjs/editor-component.tsx",
|
|
19
|
-
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\nimport 'prosekit/extensions/yjs/style.css'\n\nimport { createEditor } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport { createMemo, type JSX } from 'solid-js'\nimport { WebsocketProvider } from 'y-websocket'\nimport * as Y from 'yjs'\n\nimport { Toolbar } from '../../ui/toolbar'\n\nimport { defineExtension } from './extension'\n\nexport default function EditorComponent(props: { room?: string }): JSX.Element {\n const editor = createMemo(() => {\n const doc = new Y.Doc()\n const provider = new WebsocketProvider(\n 'wss://demos.yjs.dev/ws',\n `github.com/prosekit/room_${props.room}`,\n doc,\n )\n\n const extension = defineExtension(doc, provider.awareness)\n return createEditor({ extension })\n })\n\n return (\n <ProseKit editor={editor()}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-
|
|
19
|
+
"content": "import 'prosekit/basic/style.css'\nimport 'prosekit/basic/typography.css'\nimport 'prosekit/extensions/yjs/style.css'\n\nimport { createEditor } from 'prosekit/core'\nimport { ProseKit } from 'prosekit/solid'\nimport { createMemo, type JSX } from 'solid-js'\nimport { WebsocketProvider } from 'y-websocket'\nimport * as Y from 'yjs'\n\nimport { Toolbar } from '../../ui/toolbar'\n\nimport { defineExtension } from './extension'\n\nexport default function EditorComponent(props: { room?: string }): JSX.Element {\n const editor = createMemo(() => {\n const doc = new Y.Doc()\n const provider = new WebsocketProvider(\n 'wss://demos.yjs.dev/ws',\n `github.com/prosekit/room_${props.room}`,\n doc,\n )\n\n const extension = defineExtension(doc, provider.awareness)\n return createEditor({ extension })\n })\n\n return (\n <ProseKit editor={editor()}>\n <div class=\"box-border h-full w-full min-h-36 overflow-y-hidden overflow-x-hidden rounded-md border border-solid border-gray-200 dark:border-gray-700 shadow-sm flex flex-col bg-[canvas] text-black dark:text-white\">\n <Toolbar />\n <div class=\"relative w-full flex-1 box-border overflow-y-auto\">\n <div ref={editor().mount} class=\"ProseMirror box-border min-h-full px-[max(4rem,calc(50%-20rem))] py-8 outline-hidden outline-0 [&_span[data-mention=user]]:text-blue-500 [&_span[data-mention=tag]]:text-violet-500\"></div>\n </div>\n </div>\n </ProseKit>\n )\n}\n"
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"path": "registry/src/solid/examples/yjs/editor.tsx",
|