Merge branch 'main' into feature/extension-code-block-lowlight
This commit is contained in:
@@ -4,7 +4,7 @@ import { NodeViewWrapper, NodeViewContent } from '@tiptap/react'
|
||||
export default () => {
|
||||
return (
|
||||
<NodeViewWrapper className="react-component-with-content">
|
||||
<span className="label" contenteditable="false">React Component</span>
|
||||
<span className="label" contentEditable={false}>React Component</span>
|
||||
|
||||
<NodeViewContent className="content" />
|
||||
</NodeViewWrapper>
|
||||
|
||||
@@ -1,12 +1,21 @@
|
||||
# clearContent
|
||||
The `clearContent` command deletes the current document.
|
||||
|
||||
See also: [setContent](/api/commands/set-content)
|
||||
Keep in mind that the editor will enforce the configured schema, and the document won’t be `null`. The default [`Document`](/api/nodes/document) expects to have at least one block node, which is the paragraph by default. In other words: Even after running that command the document will have at least one (empty) paragraph.
|
||||
|
||||
See also: [setContent](/api/commands/set-content), [insertContent](/api/commands/insert-content)
|
||||
|
||||
## Parameters
|
||||
`emitUpdate: Boolean (false)`
|
||||
|
||||
By default, it doesn’t trigger the update event. Passing `true` doesn’t prevent triggering the update event.
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
this.editor.commands.clearContent()
|
||||
// Remoe all content from the document
|
||||
editor.commands.clearContent()
|
||||
|
||||
// Remove all content, and trigger the `update` event
|
||||
editor.commands.clearContent(true)
|
||||
```
|
||||
|
||||
|
||||
8
docs/src/docPages/api/commands/clear-nodes.md
Normal file
8
docs/src/docPages/api/commands/clear-nodes.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# clearNodes
|
||||
The `clearNodes` command normalizes nodes to a simple paragraph, it even normalizes all kind of lists. For advanced use cases it can come in handy, before applying a new node type.
|
||||
|
||||
## Usage
|
||||
```js
|
||||
editor.commands.clearNodes()
|
||||
```
|
||||
|
||||
@@ -1,21 +1,31 @@
|
||||
# insertContent
|
||||
The `insertContent` command adds a passed value to the document.
|
||||
|
||||
See also: [setContent](/api/commands/set-content), [clearContent](/api/commands/clear-content)
|
||||
|
||||
## Parameters
|
||||
`value: Content`
|
||||
|
||||
The command is pretty flexible and takes plain text, HTML or even JSON as a value.
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
this.editor.commands.insertContent('text')
|
||||
this.editor.commands.insertContent('<p>HTML</p>')
|
||||
this.editor.commands.insertContent({
|
||||
// Plain text
|
||||
editor.commands.insertContent('Example Text')
|
||||
|
||||
// HTML
|
||||
editor.commands.insertContent('<h1>Example Text</h1>')
|
||||
|
||||
// JSON/Nodes
|
||||
editor.commands.insertContent({
|
||||
type: 'heading',
|
||||
attrs: {
|
||||
level: 2,
|
||||
level: 1,
|
||||
},
|
||||
content: [
|
||||
{
|
||||
type: 'text',
|
||||
text: 'nested nodes',
|
||||
text: 'Example Text',
|
||||
},
|
||||
],
|
||||
})
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
# setContent
|
||||
The `setContent` command replaces the document with a new one. You can pass JSON or HTML, both work fine. It’s basically the same as setting the `content` on initialization.
|
||||
|
||||
See also: [clearContent](/api/commands/clear-content)
|
||||
See also: [insertContent](/api/commands/insert-content), [clearContent](/api/commands/clear-content)
|
||||
|
||||
## Parameters
|
||||
|
||||
`content: string`
|
||||
|
||||
Pass a string (JSON or HTML) as [content](/guide/output). The editor will only render what’s allowed according to the [schema](/api/schema).
|
||||
|
||||
`emitUpdate?: Boolean`
|
||||
`emitUpdate?: Boolean (false)`
|
||||
|
||||
By default, it doesn’t trigger the update event. Passing `true` doesn’t prevent triggering the update event.
|
||||
|
||||
@@ -18,13 +17,12 @@ By default, it doesn’t trigger the update event. Passing `true` doesn’t prev
|
||||
Options to configure the parsing can be passed during initialization and/or with setContent. Read more about parseOptions in the [ProseMirror documentation](https://prosemirror.net/docs/ref/#model.ParseOptions).
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
// HTML
|
||||
this.editor.commands.setContent('<p>Example Text</p>')
|
||||
editor.commands.setContent('<p>Example Text</p>')
|
||||
|
||||
// JSON
|
||||
this.editor.commands.setContent({
|
||||
editor.commands.setContent({
|
||||
"type": "doc",
|
||||
"content": [
|
||||
{
|
||||
|
||||
22
docs/src/docPages/api/commands/update-attributes.md
Normal file
22
docs/src/docPages/api/commands/update-attributes.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# updateAttributes
|
||||
The `updateAttributes` command sets attributes of a node or mark to new values. Not passed attributes won’t be touched.
|
||||
|
||||
## Parameters
|
||||
|
||||
`typeOrName: string | NodeType | MarkType`
|
||||
|
||||
Pass the type you want to update, for example `'heading'`.
|
||||
|
||||
`attributes: AnyObject`
|
||||
|
||||
This expects an object with the attributes that need to be updated. It doesn’t need to have all attributes.
|
||||
|
||||
## Usage
|
||||
```js
|
||||
// Update node attributes
|
||||
editor.commands.updateAttributes('heading', { level: 1 })
|
||||
|
||||
// Update mark attributes
|
||||
editor.commands.updateAttributes('highlight', { color: 'pink' })
|
||||
```
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
**The `Document` extension is required**, no matter what you build with tiptap. It’s a so called “topNode”, a node that’s the home to all other nodes. Think of it like the `<body>` tag for your document.
|
||||
|
||||
The node is very tiny though. It defines a name of the node (`document`), is configured to be a top node (`topNode: true`) and that it can contain multiple other nodes (`block`). That’s all. But have a look yourself:
|
||||
The node is very tiny though. It defines a name of the node (`document`), is configured to be a top node (`topNode: true`) and that it can contain multiple other nodes (`block+`). That’s all. But have a look yourself:
|
||||
|
||||
:::warning Breaking Change from 1.x → 2.x
|
||||
tiptap 1 tried to hide that node from you, but it has always been there. You have to explicitly import it from now on (or use `defaultExtensions()`).
|
||||
|
||||
@@ -58,8 +58,6 @@ You can even mix non-editable and editable text. That’s great to build complex
|
||||
</div>
|
||||
```
|
||||
|
||||
**BUT**, that also means the cursor can’t just move from outside of the node view to the inside. Users have to manually place their cursor to edit the content inside the node view. Just so you know.
|
||||
|
||||
## Markup
|
||||
But what happens if you [access the editor content](/guide/output)? If you’re working with HTML, you’ll need to tell tiptap how your node should be serialized.
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ import { NodeViewWrapper, NodeViewContent } from '@tiptap/react'
|
||||
export default () => {
|
||||
return (
|
||||
<NodeViewWrapper className="react-component-with-content">
|
||||
<span className="label" contenteditable="false">React Component</span>
|
||||
<span className="label" contentEditable={false}>React Component</span>
|
||||
|
||||
<NodeViewContent className="content" />
|
||||
</NodeViewWrapper>
|
||||
|
||||
@@ -138,12 +138,15 @@
|
||||
items:
|
||||
- title: clearContent
|
||||
link: /api/commands/clear-content
|
||||
type: draft
|
||||
- title: insertContent
|
||||
link: /api/commands/insert-content
|
||||
type: draft
|
||||
- title: setContent
|
||||
link: /api/commands/set-content
|
||||
|
||||
- title: clearNodes
|
||||
link: /api/commands/clear-nodes
|
||||
- title: updateAtttributes
|
||||
link: /api/commands/update-attributes
|
||||
- title: Nodes
|
||||
link: /api/nodes
|
||||
items:
|
||||
|
||||
@@ -3,6 +3,14 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [2.0.0-beta.21](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/core@2.0.0-beta.20...@tiptap/core@2.0.0-beta.21) (2021-04-08)
|
||||
|
||||
**Note:** Version bump only for package @tiptap/core
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [2.0.0-beta.20](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/core@2.0.0-beta.19...@tiptap/core@2.0.0-beta.20) (2021-04-07)
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@tiptap/core",
|
||||
"description": "headless rich text editor",
|
||||
"version": "2.0.0-beta.20",
|
||||
"version": "2.0.0-beta.21",
|
||||
"homepage": "https://tiptap.dev",
|
||||
"keywords": [
|
||||
"tiptap",
|
||||
|
||||
@@ -3,6 +3,14 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [2.0.0-beta.21](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/extension-mention@2.0.0-beta.20...@tiptap/extension-mention@2.0.0-beta.21) (2021-04-08)
|
||||
|
||||
**Note:** Version bump only for package @tiptap/extension-mention
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [2.0.0-beta.20](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/extension-mention@2.0.0-beta.19...@tiptap/extension-mention@2.0.0-beta.20) (2021-04-07)
|
||||
|
||||
**Note:** Version bump only for package @tiptap/extension-mention
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@tiptap/extension-mention",
|
||||
"description": "mention extension for tiptap",
|
||||
"version": "2.0.0-beta.20",
|
||||
"version": "2.0.0-beta.21",
|
||||
"homepage": "https://tiptap.dev",
|
||||
"keywords": [
|
||||
"tiptap",
|
||||
@@ -25,6 +25,6 @@
|
||||
"@tiptap/core": "^2.0.0-beta.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@tiptap/suggestion": "^2.0.0-beta.20"
|
||||
"@tiptap/suggestion": "^2.0.0-beta.21"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,14 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [2.0.0-beta.4](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/extension-text-align@2.0.0-beta.3...@tiptap/extension-text-align@2.0.0-beta.4) (2021-04-08)
|
||||
|
||||
**Note:** Version bump only for package @tiptap/extension-text-align
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [2.0.0-beta.3](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/extension-text-align@2.0.0-beta.2...@tiptap/extension-text-align@2.0.0-beta.3) (2021-04-07)
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@tiptap/extension-text-align",
|
||||
"description": "text align extension for tiptap",
|
||||
"version": "2.0.0-beta.3",
|
||||
"version": "2.0.0-beta.4",
|
||||
"homepage": "https://tiptap.dev",
|
||||
"keywords": [
|
||||
"tiptap",
|
||||
|
||||
@@ -3,6 +3,14 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [2.0.0-beta.21](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/html@2.0.0-beta.20...@tiptap/html@2.0.0-beta.21) (2021-04-08)
|
||||
|
||||
**Note:** Version bump only for package @tiptap/html
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [2.0.0-beta.20](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/html@2.0.0-beta.19...@tiptap/html@2.0.0-beta.20) (2021-04-07)
|
||||
|
||||
**Note:** Version bump only for package @tiptap/html
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@tiptap/html",
|
||||
"description": "utility package to render tiptap JSON as HTML",
|
||||
"version": "2.0.0-beta.20",
|
||||
"version": "2.0.0-beta.21",
|
||||
"homepage": "https://tiptap.dev",
|
||||
"keywords": [
|
||||
"tiptap",
|
||||
@@ -22,7 +22,7 @@
|
||||
"dist"
|
||||
],
|
||||
"dependencies": {
|
||||
"@tiptap/core": "^2.0.0-beta.20",
|
||||
"@tiptap/core": "^2.0.0-beta.21",
|
||||
"hostic-dom": "^0.8.6",
|
||||
"prosemirror-model": "^1.14.0"
|
||||
}
|
||||
|
||||
@@ -3,6 +3,18 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [2.0.0-beta.17](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/react@2.0.0-beta.16...@tiptap/react@2.0.0-beta.17) (2021-04-08)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* improve node view error message ([536663f](https://github.com/ueberdosis/tiptap-next/commit/536663f816039df6e3d8de23989f343d78e5d08e))
|
||||
* make `as` prop optional ([f8dec5f](https://github.com/ueberdosis/tiptap-next/commit/f8dec5f905baf5692dd257b3dddec3de2bcad1a1))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [2.0.0-beta.16](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/react@2.0.0-beta.15...@tiptap/react@2.0.0-beta.16) (2021-04-07)
|
||||
|
||||
**Note:** Version bump only for package @tiptap/react
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@tiptap/react",
|
||||
"description": "React components for tiptap",
|
||||
"version": "2.0.0-beta.16",
|
||||
"version": "2.0.0-beta.17",
|
||||
"homepage": "https://tiptap.dev",
|
||||
"keywords": [
|
||||
"tiptap",
|
||||
|
||||
@@ -2,7 +2,7 @@ import React from 'react'
|
||||
|
||||
export interface NodeViewContentProps {
|
||||
className?: string,
|
||||
as: React.ElementType,
|
||||
as?: React.ElementType,
|
||||
}
|
||||
|
||||
export const NodeViewContent: React.FC<NodeViewContentProps> = props => {
|
||||
|
||||
@@ -3,7 +3,7 @@ import { useReactNodeView } from './useReactNodeView'
|
||||
|
||||
export interface NodeViewWrapperProps {
|
||||
className?: string,
|
||||
as: React.ElementType,
|
||||
as?: React.ElementType,
|
||||
}
|
||||
|
||||
export const NodeViewWrapper: React.FC<NodeViewWrapperProps> = props => {
|
||||
|
||||
@@ -63,7 +63,7 @@ class ReactNodeView extends NodeView<React.FunctionComponent, Editor> {
|
||||
|
||||
get dom() {
|
||||
if (!this.renderer.element.firstElementChild?.hasAttribute('data-node-view-wrapper')) {
|
||||
throw Error('Please use the ReactViewWrapper component for your node view.')
|
||||
throw Error('Please use the NodeViewWrapper component for your node view.')
|
||||
}
|
||||
|
||||
return this.renderer.element
|
||||
|
||||
@@ -3,6 +3,14 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [2.0.0-beta.16](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/starter-kit@2.0.0-beta.15...@tiptap/starter-kit@2.0.0-beta.16) (2021-04-08)
|
||||
|
||||
**Note:** Version bump only for package @tiptap/starter-kit
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [2.0.0-beta.15](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/starter-kit@2.0.0-beta.14...@tiptap/starter-kit@2.0.0-beta.15) (2021-04-07)
|
||||
|
||||
**Note:** Version bump only for package @tiptap/starter-kit
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@tiptap/starter-kit",
|
||||
"description": "starter kit for tiptap",
|
||||
"version": "2.0.0-beta.15",
|
||||
"version": "2.0.0-beta.16",
|
||||
"homepage": "https://tiptap.dev",
|
||||
"keywords": [
|
||||
"tiptap",
|
||||
@@ -22,7 +22,7 @@
|
||||
"dist"
|
||||
],
|
||||
"dependencies": {
|
||||
"@tiptap/core": "^2.0.0-beta.20",
|
||||
"@tiptap/core": "^2.0.0-beta.21",
|
||||
"@tiptap/extension-blockquote": "^2.0.0-beta.1",
|
||||
"@tiptap/extension-bold": "^2.0.0-beta.1",
|
||||
"@tiptap/extension-bullet-list": "^2.0.0-beta.1",
|
||||
|
||||
@@ -3,6 +3,14 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [2.0.0-beta.21](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/suggestion@2.0.0-beta.20...@tiptap/suggestion@2.0.0-beta.21) (2021-04-08)
|
||||
|
||||
**Note:** Version bump only for package @tiptap/suggestion
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [2.0.0-beta.20](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/suggestion@2.0.0-beta.19...@tiptap/suggestion@2.0.0-beta.20) (2021-04-07)
|
||||
|
||||
**Note:** Version bump only for package @tiptap/suggestion
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@tiptap/suggestion",
|
||||
"description": "suggestion plugin for tiptap",
|
||||
"version": "2.0.0-beta.20",
|
||||
"version": "2.0.0-beta.21",
|
||||
"homepage": "https://tiptap.dev",
|
||||
"keywords": [
|
||||
"tiptap",
|
||||
@@ -22,7 +22,7 @@
|
||||
"dist"
|
||||
],
|
||||
"dependencies": {
|
||||
"@tiptap/core": "^2.0.0-beta.20",
|
||||
"@tiptap/core": "^2.0.0-beta.21",
|
||||
"prosemirror-model": "^1.14.0",
|
||||
"prosemirror-state": "^1.3.4",
|
||||
"prosemirror-view": "^1.18.2"
|
||||
|
||||
@@ -3,6 +3,14 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [2.0.0-beta.15](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/vue-2@2.0.0-beta.14...@tiptap/vue-2@2.0.0-beta.15) (2021-04-08)
|
||||
|
||||
**Note:** Version bump only for package @tiptap/vue-2
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [2.0.0-beta.14](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/vue-2@2.0.0-beta.13...@tiptap/vue-2@2.0.0-beta.14) (2021-04-03)
|
||||
|
||||
**Note:** Version bump only for package @tiptap/vue-2
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@tiptap/vue-2",
|
||||
"description": "Vue components for tiptap",
|
||||
"version": "2.0.0-beta.14",
|
||||
"version": "2.0.0-beta.15",
|
||||
"homepage": "https://tiptap.dev",
|
||||
"keywords": [
|
||||
"tiptap",
|
||||
|
||||
@@ -3,6 +3,14 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [2.0.0-beta.18](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/vue-3@2.0.0-beta.17...@tiptap/vue-3@2.0.0-beta.18) (2021-04-08)
|
||||
|
||||
**Note:** Version bump only for package @tiptap/vue-3
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [2.0.0-beta.17](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/vue-3@2.0.0-beta.16...@tiptap/vue-3@2.0.0-beta.17) (2021-04-06)
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@tiptap/vue-3",
|
||||
"description": "Vue components for tiptap",
|
||||
"version": "2.0.0-beta.17",
|
||||
"version": "2.0.0-beta.18",
|
||||
"homepage": "https://tiptap.dev",
|
||||
"keywords": [
|
||||
"tiptap",
|
||||
|
||||
Reference in New Issue
Block a user