Use this page when a Slate doc makes a runtime, API, browser, package, or release claim. If a claim cannot name an owner here, narrow the claim or add the missing proof before publishing it.
On This Page
- Package Owners
- Runtime Claims
- React And DOM Claims
- Browser Proof Claims
- Collaboration And Layout Claims
- Docs And Release Claims
Package Owners
| Claim | Public docs | Source proof |
|---|---|---|
@platejs/slate owns editor runtime, document model, operations, helper APIs, transactions, extensions, and state fields. | Slate, Editor, Editor API | packages/slate/src/index.ts, packages/slate/src/interfaces/editor.ts, packages/slate/test/public-surface-contract.ts |
@platejs/slate-dom owns DOM conversion, clipboard helpers, hotkeys, and DOM coverage primitives. | Slate DOM, DOM Coverage Boundaries | packages/slate-dom/src/index.ts, packages/slate-dom/src/plugin/dom-coverage.ts, packages/slate-dom/src/utils/hotkeys.ts |
@platejs/slate-react owns React setup, <Slate>, <Editable>, hooks, DOM repair, overlays, and root rendering. | Slate React, Editable Component, Hooks | packages/slate-react/src/index.ts, packages/slate-react/src/components, packages/slate-react/src/hooks, packages/slate-react/test/surface-contract.tsx |
@platejs/browser owns browser proof infrastructure, not product editing APIs. | Slate Browser, Editing Behavior, Selection And DOM | packages/browser/src, packages/browser/test, apps/www/tests/slate-browser |
Runtime Claims
| Claim | Public docs | Source proof |
|---|---|---|
Editors read with editor.read(...) and write with editor.update(...). | Overview, Installing Slate, Editor | packages/slate/src/interfaces/editor.ts, packages/slate/test/state-tx-public-api-contract.ts, packages/slate/test/editor-foundation-contract.ts |
Transaction helpers live on tx during editor.update(...). | Editing Behavior, Executing Commands, Transforms, Transforms API | packages/slate/test/transforms-contract.ts, packages/slate/test/state-tx-public-api-contract.ts |
| Extensions add named state and transaction groups instead of compatibility methods on the editor object. | Extensions, Why This Fork | packages/slate/src/core/editor-extension.ts, packages/slate/test/extension-methods-contract.ts, packages/slate/test/generic-extension-namespace-contract.ts |
Full document values use primary children, optional extra roots, and optional persistent state. | Roots, Document State, Saving to a Database | packages/slate/src/core/public-state.ts, packages/slate/test/document-state-contract.ts, packages/slate/test/state-tx-public-api-contract.ts |
React And DOM Claims
| Claim | Public docs | Source proof |
|---|---|---|
React setup starts with useSlateEditor, <Slate>, and <Editable>. | React Editor Setup, Slate Component, Editable Component | packages/slate-react/src/hooks/use-slate-editor.ts, packages/slate-react/src/components/slate.tsx, packages/slate-react/src/components/editable.tsx |
Element, text, root, selector, decoration, annotation, and history hooks are public through @platejs/slate-react. | Hooks, Annotations, Roots | packages/slate-react/src/index.ts, packages/slate-react/src/hooks, packages/slate-react/test/provider-hooks-contract.tsx, packages/slate-react/test/surface-contract.tsx |
| Voids, hidden DOM coverage, editable islands, selection repair, and DOM strategy live in Slate React and Slate DOM. | Selection And DOM, Editable Component, DOM Coverage Boundaries, Rendering | packages/slate-react/src/components, packages/slate-react/src/dom-strategy, packages/slate-react/test/dom-strategy-and-scroll.tsx, packages/slate-react/test/slate-void-shell-contract.test.tsx |
Browser Proof Claims
| Claim | Public docs | Source proof |
|---|---|---|
Example behavior proof runs against /examples/slate/*, not docs pages. | Contributing, Slate Browser | apps/www/tests/slate-browser/slate-examples.spec.ts, apps/www/tests/slate-browser/donor/examples |
| Generated stress and replay tests cover editing, paste, selection repair, undo/redo, and follow-up typing. | Editing Behavior, Selection And DOM, Slate Browser | apps/www/tests/slate-browser/donor/stress/generated-editing.test.ts, apps/www/tests/slate-browser/donor/stress/replay.test.ts |
| Huge-document proof belongs to the example route and browser tests. | Improving Performance, Virtualized Rendering | apps/www/src/app/(app)/examples/slate/_examples/huge-document.tsx, apps/www/tests/slate-browser/donor/examples/huge-document.test.ts |
Collaboration And Layout Claims
| Claim | Public docs | Source proof |
|---|---|---|
@platejs/yjs owns Slate/Yjs mapping while apps own providers, auth, persistence, and room policy. | Slate Yjs, Operation Replay Substrate | packages/yjs/src, packages/yjs/test, apps/www/tests/slate-browser/donor/examples/yjs-hocuspocus.test.ts |
@platejs/slate-layout owns page geometry and paged editable proof, not the core editor contract. | Slate Layout, Improving Performance | packages/slate-layout/src, packages/slate-layout/test/page-layout-contract.test.ts, apps/www/src/app/(app)/examples/slate/_examples/pagination.tsx |
Docs And Release Claims
| Claim | Public docs | Source proof |
|---|---|---|
| Public docs use current package names and source-backed imports. | all Slate docs | pnpm --filter www check:docs, packages/slate/test/public-package-import-smoke.test.ts, packages/slate/test/public-package-types-smoke.ts |
| Browser-sensitive docs should name model, DOM, native selection where observable, focus, replay, and follow-up typing when claiming behavior. | Editing Behavior, Selection And DOM, Slate Browser | packages/browser/src, apps/www/tests/slate-browser/donor |
| Release or deletion confidence uses the full Slate gate. | Contributing | pnpm check:slate, .github/workflows/slate-ci.yml |