Registries
ActiveFeaturedEditor (rich text/code)vue1,181

@prosekit

Editor (rich text/code) · MIT · data updated 2026-09-05

ProseKit is a framework-agnostic rich-text editor toolkit built on ProseMirror, supporting React, Vue, Preact, Svelte, and SolidJS. The extensions package covers bold, italic, underline, strike, code, code-block, heading, blockquote, horizontal-rule, lists, links, images, file, math, table, mention, autocomplete, search, placeholder, highlight, text-align, text-color, background-color, yjs (collaboration), and more (~40 extensions). The shadcn registry distributes a full-featured example editor and framework variants. Free and open-source (MIT). Use for: adding a framework-flexible ProseMirror-based editor when you need multi-framework support or a lower-level alternative to Plate.

accessibilitybackgroundsblocksbuttonscardschartscomponentscryptoeditorformsloadersmapsmedianavigationoverlaystablestheming

Install

npx shadcn@latest add https://prosekit.dev/r/registry.json

Health

StatusActive
Last committoday
LicenseMIT
Open issues32
ArchivedNo
Stars1,181

Components (549)

react-example-block-handlereact-example-blockquotereact-example-boldreact-example-change-trackingreact-example-codereact-example-code-blockreact-example-code-block-themesreact-example-drop-cursorreact-example-emoji-rulesreact-example-font-familyreact-example-fullreact-example-gap-cursorreact-example-hard-breakreact-example-headingreact-example-highlightreact-example-horizontal-rulereact-example-image-viewreact-example-inline-menureact-example-italicreact-example-katexreact-example-keymapreact-example-linkreact-example-link-mark-viewreact-example-listreact-example-list-custom-checkboxreact-example-lororeact-example-mark-rulereact-example-minimalreact-example-notionreact-example-pagereact-example-placeholderreact-example-readonlyreact-example-rtlreact-example-save-htmlreact-example-save-jsonreact-example-save-markdownreact-example-searchreact-example-slash-menureact-example-strikereact-example-sub-supreact-example-tablereact-example-text-alignreact-example-text-colorreact-example-toolbarreact-example-tweetreact-example-typographyreact-example-underlinereact-example-unmountreact-example-user-menureact-example-user-menu-dynamicreact-example-view-adapterreact-example-virtual-selection-reproreact-example-word-counterreact-example-yjsreact-sample-define-atom-blockreact-sample-katexreact-sample-sample-doc-block-handlereact-sample-sample-doc-boldreact-sample-sample-doc-codereact-sample-sample-doc-code-block
Components: react-example-block-handle, react-example-blockquote, react-example-bold, react-example-change-tracking, react-example-code, react-example-code-block, react-example-code-block-themes, react-example-drop-cursor, react-example-emoji-rules, react-example-font-family, react-example-full, react-example-gap-cursor, react-example-hard-break, react-example-heading, react-example-highlight, react-example-horizontal-rule, react-example-image-view, react-example-inline-menu, react-example-italic, react-example-katex, react-example-keymap, react-example-link, react-example-link-mark-view, react-example-list, react-example-list-custom-checkbox, react-example-loro, react-example-mark-rule, react-example-minimal, react-example-notion, react-example-page, react-example-placeholder, react-example-readonly, react-example-rtl, react-example-save-html, react-example-save-json, react-example-save-markdown, react-example-search, react-example-slash-menu, react-example-strike, react-example-sub-sup, react-example-table, react-example-text-align, react-example-text-color, react-example-toolbar, react-example-tweet, react-example-typography, react-example-underline, react-example-unmount, react-example-user-menu, react-example-user-menu-dynamic, react-example-view-adapter, react-example-virtual-selection-repro, react-example-word-counter, react-example-yjs, react-sample-define-atom-block, react-sample-katex, react-sample-sample-doc-block-handle, react-sample-sample-doc-bold, react-sample-sample-doc-code, react-sample-sample-doc-code-block, react-sample-sample-doc-drop-cursor, react-sample-sample-doc-font-family, react-sample-sample-doc-full, react-sample-sample-doc-gap-cursor, react-sample-sample-doc-hard-break, react-sample-sample-doc-heading, react-sample-sample-doc-highlight, react-sample-sample-doc-image, react-sample-sample-doc-inline-menu, react-sample-sample-doc-italic, react-sample-sample-doc-link, react-sample-sample-doc-link-mark-view, react-sample-sample-doc-list, react-sample-sample-doc-list-custom-checkbox, react-sample-sample-doc-notion, react-sample-sample-doc-page, react-sample-sample-doc-readonly, react-sample-sample-doc-rtl, react-sample-sample-doc-search, react-sample-sample-doc-strike, react-sample-sample-doc-sub-sup, react-sample-sample-doc-table, react-sample-sample-doc-tex, react-sample-sample-doc-text-align, react-sample-sample-doc-text-color, react-sample-sample-doc-tweet, react-sample-sample-doc-typography, react-sample-sample-doc-underline, react-sample-sample-doc-view-adapter, react-sample-sample-doc-word-counter, react-sample-sample-query-users, react-sample-sample-tag-data, react-sample-sample-uploader, react-sample-sample-user-data, react-ui-block-handle, react-ui-button, react-ui-code-block-view, react-ui-drop-indicator, react-ui-image-upload-popover, react-ui-image-view, react-ui-inline-menu, react-ui-search, react-ui-slash-menu, react-ui-table-handle, react-ui-tag-menu, react-ui-toolbar, react-ui-user-menu, react-ui-word-counter, preact-example-block-handle, preact-example-blockquote, preact-example-bold, preact-example-change-tracking, preact-example-code, preact-example-code-block, preact-example-code-block-themes, preact-example-drop-cursor, preact-example-emoji-rules, preact-example-font-family, preact-example-full, preact-example-gap-cursor, preact-example-hard-break, preact-example-heading, preact-example-highlight, preact-example-horizontal-rule, preact-example-image-view, preact-example-inline-menu, preact-example-italic, preact-example-katex, preact-example-keymap, preact-example-link, preact-example-link-mark-view, preact-example-list, preact-example-list-custom-checkbox, preact-example-loro, preact-example-mark-rule, preact-example-minimal, preact-example-placeholder, preact-example-readonly, preact-example-rtl, preact-example-save-html, preact-example-save-json, preact-example-save-markdown, preact-example-search, preact-example-slash-menu, preact-example-strike, preact-example-sub-sup, preact-example-table, preact-example-text-align, preact-example-text-color, preact-example-toolbar, preact-example-typography, preact-example-underline, preact-example-unmount, preact-example-user-menu, preact-example-user-menu-dynamic, preact-example-view-adapter, preact-example-word-counter, preact-example-yjs, preact-sample-define-atom-block, preact-sample-katex, preact-sample-sample-doc-block-handle, preact-sample-sample-doc-bold, preact-sample-sample-doc-code, preact-sample-sample-doc-code-block, preact-sample-sample-doc-drop-cursor, preact-sample-sample-doc-font-family, preact-sample-sample-doc-full, preact-sample-sample-doc-gap-cursor, preact-sample-sample-doc-hard-break, preact-sample-sample-doc-heading, preact-sample-sample-doc-highlight, preact-sample-sample-doc-image, preact-sample-sample-doc-inline-menu, preact-sample-sample-doc-italic, preact-sample-sample-doc-link, preact-sample-sample-doc-link-mark-view, preact-sample-sample-doc-list, preact-sample-sample-doc-list-custom-checkbox, preact-sample-sample-doc-readonly, preact-sample-sample-doc-rtl, preact-sample-sample-doc-search, preact-sample-sample-doc-strike, preact-sample-sample-doc-sub-sup, preact-sample-sample-doc-table, preact-sample-sample-doc-tex, preact-sample-sample-doc-text-align, preact-sample-sample-doc-text-color, preact-sample-sample-doc-typography, preact-sample-sample-doc-underline, preact-sample-sample-doc-view-adapter, preact-sample-sample-doc-word-counter, preact-sample-sample-query-users, preact-sample-sample-tag-data, preact-sample-sample-uploader, preact-sample-sample-user-data, preact-ui-block-handle, preact-ui-button, preact-ui-code-block-view, preact-ui-drop-indicator, preact-ui-image-upload-popover, preact-ui-image-view, preact-ui-inline-menu, preact-ui-search, preact-ui-slash-menu, preact-ui-table-handle, preact-ui-tag-menu, preact-ui-toolbar, preact-ui-user-menu, preact-ui-word-counter, vue-example-block-handle, vue-example-blockquote, vue-example-bold, vue-example-change-tracking, vue-example-code, vue-example-code-block, vue-example-code-block-themes, vue-example-drop-cursor, vue-example-emoji-rules, vue-example-font-family, vue-example-full, vue-example-gap-cursor, vue-example-hard-break, vue-example-heading, vue-example-highlight, vue-example-horizontal-rule, vue-example-image-view, vue-example-inline-menu, vue-example-italic, vue-example-katex, vue-example-keymap, vue-example-link, vue-example-link-mark-view, vue-example-list, vue-example-list-custom-checkbox, vue-example-loro, vue-example-mark-rule, vue-example-minimal, vue-example-placeholder, vue-example-readonly, vue-example-rtl, vue-example-save-html, vue-example-save-json, vue-example-save-markdown, vue-example-search, vue-example-slash-menu, vue-example-strike, vue-example-sub-sup, vue-example-table, vue-example-text-align, vue-example-text-color, vue-example-toolbar, vue-example-tweet, vue-example-typography, vue-example-underline, vue-example-unmount, vue-example-user-menu, vue-example-user-menu-dynamic, vue-example-view-adapter, vue-example-word-counter, vue-example-yjs, vue-sample-define-atom-block, vue-sample-katex, vue-sample-sample-doc-block-handle, vue-sample-sample-doc-bold, vue-sample-sample-doc-code, vue-sample-sample-doc-code-block, vue-sample-sample-doc-drop-cursor, vue-sample-sample-doc-font-family, vue-sample-sample-doc-full, vue-sample-sample-doc-gap-cursor, vue-sample-sample-doc-hard-break, vue-sample-sample-doc-heading, vue-sample-sample-doc-highlight, vue-sample-sample-doc-image, vue-sample-sample-doc-inline-menu, vue-sample-sample-doc-italic, vue-sample-sample-doc-link, vue-sample-sample-doc-link-mark-view, vue-sample-sample-doc-list, vue-sample-sample-doc-list-custom-checkbox, vue-sample-sample-doc-readonly, vue-sample-sample-doc-rtl, vue-sample-sample-doc-search, vue-sample-sample-doc-strike, vue-sample-sample-doc-sub-sup, vue-sample-sample-doc-table, vue-sample-sample-doc-tex, vue-sample-sample-doc-text-align, vue-sample-sample-doc-text-color, vue-sample-sample-doc-tweet, vue-sample-sample-doc-typography, vue-sample-sample-doc-underline, vue-sample-sample-doc-view-adapter, vue-sample-sample-doc-word-counter, vue-sample-sample-query-users, vue-sample-sample-tag-data, vue-sample-sample-uploader, vue-sample-sample-user-data, vue-ui-block-handle, vue-ui-button, vue-ui-code-block-view, vue-ui-drop-indicator, vue-ui-image-upload-popover, vue-ui-image-view, vue-ui-inline-menu, vue-ui-search, vue-ui-slash-menu, vue-ui-table-handle, vue-ui-tag-menu, vue-ui-toolbar, vue-ui-user-menu, vue-ui-word-counter, lit-example-block-handle, lit-example-code-block, lit-example-full, lit-example-inline-menu, lit-example-minimal, lit-example-slash-menu, lit-example-table, lit-example-toolbar, lit-sample-katex, lit-sample-sample-doc-block-handle, lit-sample-sample-doc-code-block, lit-sample-sample-doc-full, lit-sample-sample-doc-inline-menu, lit-sample-sample-doc-table, lit-sample-sample-tag-data, lit-sample-sample-uploader, lit-sample-sample-user-data, lit-ui-block-handle, lit-ui-button, lit-ui-code-block-view, lit-ui-drop-indicator, lit-ui-editor-context, lit-ui-image-upload-popover, lit-ui-image-view, lit-ui-inline-menu, lit-ui-slash-menu, lit-ui-table-handle, lit-ui-tag-menu, lit-ui-toolbar, lit-ui-user-menu, svelte-example-block-handle, svelte-example-blockquote, svelte-example-bold, svelte-example-change-tracking, svelte-example-code, svelte-example-code-block, svelte-example-code-block-themes, svelte-example-drop-cursor, svelte-example-emoji-rules, svelte-example-font-family, svelte-example-full, svelte-example-gap-cursor, svelte-example-hard-break, svelte-example-heading, svelte-example-highlight, svelte-example-horizontal-rule, svelte-example-image-view, svelte-example-inline-menu, svelte-example-italic, svelte-example-katex, svelte-example-keymap, svelte-example-link, svelte-example-link-mark-view, svelte-example-list, svelte-example-list-custom-checkbox, svelte-example-loro, svelte-example-mark-rule, svelte-example-minimal, svelte-example-page, svelte-example-placeholder, svelte-example-readonly, svelte-example-rtl, svelte-example-save-html, svelte-example-save-json, svelte-example-save-markdown, svelte-example-search, svelte-example-slash-menu, svelte-example-strike, svelte-example-sub-sup, svelte-example-table, svelte-example-text-align, svelte-example-text-color, svelte-example-toolbar, svelte-example-typography, svelte-example-underline, svelte-example-unmount, svelte-example-user-menu, svelte-example-user-menu-dynamic, svelte-example-view-adapter, svelte-example-word-counter, svelte-example-yjs, svelte-sample-define-atom-block, svelte-sample-katex, svelte-sample-sample-doc-block-handle, svelte-sample-sample-doc-bold, svelte-sample-sample-doc-code, svelte-sample-sample-doc-code-block, svelte-sample-sample-doc-drop-cursor

Preview

Live sandbox previews render component source client-side. Where a component can’t be rendered standalone, sh4dcn falls back to its source and install command.

@prosekit · react-example-block-handle

npx shadcn@latest add https://prosekit.dev/r/react-example-block-handle.json
View source