diff --git a/lib/components/Readme.md b/lib/components/Readme.md index 40d5f504e..322f7bdaf 100644 --- a/lib/components/Readme.md +++ b/lib/components/Readme.md @@ -1,22 +1,20 @@ This directory contains the React components that Slate renders. The only one that is publicly accessible is the `Editor`, which composes the others. -###### `Editor` +###### Editor This is the highest-level component that you render from inside your application. It's goal is to present a very clean API for the user, and to encapsulate all of the "plugin-level" logic. -###### `Content` +###### Content `Content` is rendered by the `Editor`. It's goal is to encapsulate all of the `contenteditable` logic, so that the `Editor` doesn't have to be aware of it. Therefore, `Content` handles things attaching event listeners to the DOM and triggering updates based on events. -###### `Block / Inline` - You'll notice there are **no** `Block` or `Inline` components here. That's because those rendering components are provided by the user, and rendered directly by the `Content` component. You can find the default renderers in the [`Core`](../plugins/core.js) plugin's logic. -###### `Text` +###### Text A `Text` component is rendered for each [`Text`](../models) model in the document tree. This component handles grouping the characters of the text node into ranges that have the same set of [`Marks`](../models), and then delegates rendering each range to... -###### `Leaf` +###### Leaf The `Leaf` component is the lowest-level component in the React tree. One is rendered for each range of text with a unique set of marks. It handles applying the mark styles to the text, and translating the current [`Selection`](../models) into a real DOM selection.