Vanilla JavaScript
No framework? No problem. ProseKit works with plain JavaScript out of the box via prosekit/core.
Minimal editor
Section titled “Minimal editor”Lifecycle
Section titled “Lifecycle”You're responsible for mount / unmount and any clean-up. There is no provider; pass the editor instance to anything that needs it.
editor.use(extension) and the per-event handlers from prosekit/core (e.g. defineKeymap, defineDocChangeHandler) let you wire dynamic behavior without a framework.
Reacting to changes
Section titled “Reacting to changes”Listen for state updates with defineUpdateHandler or the view.dom element directly:
For input events, use the per-event handlers in prosekit/core, including defineKeyDownHandler, defineClickHandler, and definePasteHandler.
Components
Section titled “Components”The pre-built UI components are shipped as native custom elements via prosekit/web/*. They work in any framework, or none at all, because they're standard Web Components. Import the component subpaths you want; each one registers its <prosekit-…> elements as a side effect.