diff --git a/docs/src/demos/Experiments/GlobalDragHandle/DragHandle.js b/docs/src/demos/Experiments/GlobalDragHandle/DragHandle.js
new file mode 100644
index 00000000..7d146113
--- /dev/null
+++ b/docs/src/demos/Experiments/GlobalDragHandle/DragHandle.js
@@ -0,0 +1,158 @@
+import { Extension } from '@tiptap/core'
+import { NodeSelection, Plugin } from 'prosemirror-state'
+import { serializeForClipboard } from 'prosemirror-view/src/clipboard'
+
+function removeNode(node) {
+ node.parentNode.removeChild(node)
+}
+
+function absoluteRect(node) {
+ const data = node.getBoundingClientRect()
+
+ return {
+ top: data.top,
+ left: data.left,
+ width: data.width,
+ }
+}
+
+export default Extension.create({
+ addProseMirrorPlugins() {
+ function blockPosAtCoords(coords, view) {
+ const pos = view.posAtCoords(coords)
+ let node = view.domAtPos(pos.pos)
+
+ node = node.node
+
+ while (node && node.parentNode) {
+ if (node.parentNode?.classList?.contains('ProseMirror')) { // todo
+ break
+ }
+
+ node = node.parentNode
+ }
+
+ if (node && node.nodeType === 1) {
+ const desc = view.docView.nearestDesc(node, true)
+
+ if (!(!desc || desc === view.docView)) {
+ return desc.posBefore
+ }
+ }
+ return null
+ }
+
+ function dragStart(e, view) {
+ view.composing = true
+
+ if (!e.dataTransfer) {
+ return
+ }
+
+ const coords = { left: e.clientX + 50, top: e.clientY }
+ const pos = blockPosAtCoords(coords, view)
+
+ if (pos != null) {
+ view.dispatch(view.state.tr.setSelection(NodeSelection.create(view.state.doc, pos)))
+
+ const slice = view.state.selection.content()
+ const { dom, text } = serializeForClipboard(view, slice)
+
+ e.dataTransfer.clearData()
+ e.dataTransfer.setData('text/html', dom.innerHTML)
+ e.dataTransfer.setData('text/plain', text)
+
+ const el = document.querySelector('.ProseMirror-selectednode')
+ e.dataTransfer?.setDragImage(el, 0, 0)
+
+ view.dragging = { slice, move: true }
+ }
+ }
+
+ let dropElement
+ const WIDTH = 28
+
+ return [
+ new Plugin({
+ view(editorView) {
+ const element = document.createElement('div')
+
+ element.draggable = 'true'
+ element.classList.add('global-drag-handle')
+ element.addEventListener('dragstart', e => dragStart(e, editorView))
+ dropElement = element
+ document.body.appendChild(dropElement)
+
+ return {
+ // update(view, prevState) {
+ // },
+ destroy() {
+ removeNode(dropElement)
+ dropElement = null
+ },
+ }
+ },
+ props: {
+ handleDrop(view, event, slice, moved) {
+ if (moved) {
+ // setTimeout(() => {
+ // console.log('remove selection')
+ // view.dispatch(view.state.tr.deleteSelection())
+ // }, 50)
+ }
+ },
+ // handlePaste() {
+ // alert(2)
+ // },
+ handleDOMEvents: {
+ // drop(view, event) {
+ // setTimeout(() => {
+ // const node = document.querySelector('.ProseMirror-hideselection')
+ // if (node) {
+ // node.classList.remove('ProseMirror-hideselection')
+ // }
+ // }, 50)
+ // },
+ mousemove(view, event) {
+ const coords = {
+ left: event.clientX + WIDTH + 50,
+ top: event.clientY,
+ }
+ const pos = view.posAtCoords(coords)
+
+ if (pos) {
+ let node = view.domAtPos(pos?.pos)
+
+ if (node) {
+ node = node.node
+ while (node && node.parentNode) {
+ if (node.parentNode?.classList?.contains('ProseMirror')) { // todo
+ break
+ }
+ node = node.parentNode
+ }
+
+ if (node instanceof Element) {
+ const cstyle = window.getComputedStyle(node)
+ const lineHeight = parseInt(cstyle.lineHeight, 10)
+ // const top = parseInt(cstyle.marginTop, 10) + parseInt(cstyle.paddingTop, 10)
+ const top = 0
+ const rect = absoluteRect(node)
+ const win = node.ownerDocument.defaultView
+
+ rect.top += win.pageYOffset + ((lineHeight - 24) / 2) + top
+ rect.left += win.pageXOffset
+ rect.width = `${WIDTH}px`
+
+ dropElement.style.left = `${-WIDTH + rect.left}px`
+ dropElement.style.top = `${rect.top}px`
+ }
+ }
+ }
+ },
+ },
+ },
+ }),
+ ]
+ },
+})
diff --git a/docs/src/demos/Experiments/GlobalDragHandle/index.vue b/docs/src/demos/Experiments/GlobalDragHandle/index.vue
new file mode 100644
index 00000000..90fec8b2
--- /dev/null
+++ b/docs/src/demos/Experiments/GlobalDragHandle/index.vue
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/src/demos/Guide/NodeViews/ReactComponentContent/Extension.js b/docs/src/demos/Guide/NodeViews/ReactComponentContent/Extension.js
index 5fe2618a..b02d4d64 100644
--- a/docs/src/demos/Guide/NodeViews/ReactComponentContent/Extension.js
+++ b/docs/src/demos/Guide/NodeViews/ReactComponentContent/Extension.js
@@ -9,14 +9,6 @@ export default Node.create({
content: 'inline*',
- addAttributes() {
- return {
- count: {
- default: 0,
- },
- }
- },
-
parseHTML() {
return [
{
diff --git a/docs/src/docPages/experiments.md b/docs/src/docPages/experiments.md
index 871b6f5f..0e9a9acd 100644
--- a/docs/src/docPages/experiments.md
+++ b/docs/src/docPages/experiments.md
@@ -4,6 +4,7 @@ Congratulations! You’ve found our playground with a list of experiments. Be aw
## New
* [Linter](/experiments/linter)
* [Multiple editors](/experiments/multiple-editors)
+* [Global drag handle](/experiments/global-drag-handle)
* [@tiptap/extension-slash-command?](/experiments/commands)
* [@tiptap/extension-iframe?](/experiments/embeds)
* [@tiptap/extension-toggle-list?](/experiments/details)
diff --git a/docs/src/docPages/experiments/global-drag-handle.md b/docs/src/docPages/experiments/global-drag-handle.md
new file mode 100644
index 00000000..505ee962
--- /dev/null
+++ b/docs/src/docPages/experiments/global-drag-handle.md
@@ -0,0 +1,5 @@
+# GlobalDragHandle
+
+⚠️ Experiment
+
+
diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md
index 69c90dce..2ddaf238 100644
--- a/packages/core/CHANGELOG.md
+++ b/packages/core/CHANGELOG.md
@@ -3,6 +3,30 @@
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.9](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/core@2.0.0-beta.8...@tiptap/core@2.0.0-beta.9) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/core
+
+
+
+
+
+# [2.0.0-beta.8](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/core@2.0.0-beta.7...@tiptap/core@2.0.0-beta.8) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/core
+
+
+
+
+
+# [2.0.0-beta.7](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/core@2.0.0-beta.6...@tiptap/core@2.0.0-beta.7) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/core
+
+
+
+
+
# [2.0.0-beta.6](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/core@2.0.0-beta.5...@tiptap/core@2.0.0-beta.6) (2021-03-24)
**Note:** Version bump only for package @tiptap/core
diff --git a/packages/core/package.json b/packages/core/package.json
index 6c72454d..599b6267 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/core",
"description": "headless rich text editor",
- "version": "2.0.0-beta.6",
+ "version": "2.0.0-beta.9",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
diff --git a/packages/core/src/commands/clearNodes.ts b/packages/core/src/commands/clearNodes.ts
index 03e12fff..ac4bbba0 100644
--- a/packages/core/src/commands/clearNodes.ts
+++ b/packages/core/src/commands/clearNodes.ts
@@ -14,26 +14,28 @@ declare module '@tiptap/core' {
export const clearNodes: RawCommands['clearNodes'] = () => ({ state, tr, dispatch }) => {
const { selection } = tr
- const { from, to } = selection
+ const { ranges } = selection
- state.doc.nodesBetween(from, to, (node, pos) => {
- if (!node.type.isText) {
- const fromPos = tr.doc.resolve(tr.mapping.map(pos + 1))
- const toPos = tr.doc.resolve(tr.mapping.map(pos + node.nodeSize - 1))
- const nodeRange = fromPos.blockRange(toPos)
+ ranges.forEach(range => {
+ state.doc.nodesBetween(range.$from.pos, range.$to.pos, (node, pos) => {
+ if (!node.type.isText) {
+ const fromPos = tr.doc.resolve(tr.mapping.map(pos + 1))
+ const toPos = tr.doc.resolve(tr.mapping.map(pos + node.nodeSize - 1))
+ const nodeRange = fromPos.blockRange(toPos)
- if (nodeRange) {
- const targetLiftDepth = liftTarget(nodeRange)
+ if (nodeRange) {
+ const targetLiftDepth = liftTarget(nodeRange)
- if (node.type.isTextblock && dispatch) {
- tr.setNodeMarkup(nodeRange.start, state.doc.type.contentMatch.defaultType)
- }
+ if (node.type.isTextblock && dispatch) {
+ tr.setNodeMarkup(nodeRange.start, state.doc.type.contentMatch.defaultType)
+ }
- if ((targetLiftDepth || targetLiftDepth === 0) && dispatch) {
- tr.lift(nodeRange, targetLiftDepth)
+ if ((targetLiftDepth || targetLiftDepth === 0) && dispatch) {
+ tr.lift(nodeRange, targetLiftDepth)
+ }
}
}
- }
+ })
})
return true
diff --git a/packages/core/src/commands/resetNodeAttributes.ts b/packages/core/src/commands/resetNodeAttributes.ts
index caf1af09..6a51546e 100644
--- a/packages/core/src/commands/resetNodeAttributes.ts
+++ b/packages/core/src/commands/resetNodeAttributes.ts
@@ -17,12 +17,14 @@ declare module '@tiptap/core' {
export const resetNodeAttributes: RawCommands['resetNodeAttributes'] = (typeOrName, attributes) => ({ tr, state, dispatch }) => {
const type = getNodeType(typeOrName, state.schema)
const { selection } = tr
- const { from, to } = selection
+ const { ranges } = selection
- state.doc.nodesBetween(from, to, (node, pos) => {
- if (node.type === type && dispatch) {
- tr.setNodeMarkup(pos, undefined, deleteProps(node.attrs, attributes))
- }
+ ranges.forEach(range => {
+ state.doc.nodesBetween(range.$from.pos, range.$to.pos, (node, pos) => {
+ if (node.type === type && dispatch) {
+ tr.setNodeMarkup(pos, undefined, deleteProps(node.attrs, attributes))
+ }
+ })
})
return true
diff --git a/packages/core/src/commands/setMark.ts b/packages/core/src/commands/setMark.ts
index 4154167b..24e7941f 100644
--- a/packages/core/src/commands/setMark.ts
+++ b/packages/core/src/commands/setMark.ts
@@ -16,7 +16,7 @@ declare module '@tiptap/core' {
export const setMark: RawCommands['setMark'] = (typeOrName, attributes = {}) => ({ tr, state, dispatch }) => {
const { selection } = tr
- const { from, to, empty } = selection
+ const { empty, ranges } = selection
const type = getMarkType(typeOrName, state.schema)
const oldAttributes = getMarkAttributes(state, type)
const newAttributes = {
@@ -28,7 +28,9 @@ export const setMark: RawCommands['setMark'] = (typeOrName, attributes = {}) =>
if (empty) {
tr.addStoredMark(type.create(newAttributes))
} else {
- tr.addMark(from, to, type.create(newAttributes))
+ ranges.forEach(range => {
+ tr.addMark(range.$from.pos, range.$to.pos, type.create(newAttributes))
+ })
}
}
diff --git a/packages/core/src/commands/unsetAllMarks.ts b/packages/core/src/commands/unsetAllMarks.ts
index 310bb92b..b84307d0 100644
--- a/packages/core/src/commands/unsetAllMarks.ts
+++ b/packages/core/src/commands/unsetAllMarks.ts
@@ -13,7 +13,7 @@ declare module '@tiptap/core' {
export const unsetAllMarks: RawCommands['unsetAllMarks'] = () => ({ tr, state, dispatch }) => {
const { selection } = tr
- const { from, to, empty } = selection
+ const { empty, ranges } = selection
if (empty) {
return true
@@ -23,7 +23,9 @@ export const unsetAllMarks: RawCommands['unsetAllMarks'] = () => ({ tr, state, d
Object
.entries(state.schema.marks)
.forEach(([, mark]) => {
- tr.removeMark(from, to, mark as any)
+ ranges.forEach(range => {
+ tr.removeMark(range.$from.pos, range.$to.pos, mark as any)
+ })
})
}
diff --git a/packages/core/src/commands/unsetMark.ts b/packages/core/src/commands/unsetMark.ts
index a9ff6a57..bee3e197 100644
--- a/packages/core/src/commands/unsetMark.ts
+++ b/packages/core/src/commands/unsetMark.ts
@@ -17,20 +17,25 @@ declare module '@tiptap/core' {
export const unsetMark: RawCommands['unsetMark'] = typeOrName => ({ tr, state, dispatch }) => {
const { selection } = tr
const type = getMarkType(typeOrName, state.schema)
- let { from, to } = selection
- const { $from, empty } = selection
-
- if (empty) {
- const range = getMarkRange($from, type)
-
- if (range) {
- from = range.from
- to = range.to
- }
- }
+ const { $from, empty, ranges } = selection
if (dispatch) {
- tr.removeMark(from, to, type)
+ if (empty) {
+ let { from, to } = selection
+ const range = getMarkRange($from, type)
+
+ if (range) {
+ from = range.from
+ to = range.to
+ }
+
+ tr.removeMark(from, to, type)
+ } else {
+ ranges.forEach(range => {
+ tr.removeMark(range.$from.pos, range.$to.pos, type)
+ })
+ }
+
tr.removeStoredMark(type)
}
diff --git a/packages/core/src/commands/updateNodeAttributes.ts b/packages/core/src/commands/updateNodeAttributes.ts
index 8c314ceb..fd16f1e5 100644
--- a/packages/core/src/commands/updateNodeAttributes.ts
+++ b/packages/core/src/commands/updateNodeAttributes.ts
@@ -16,15 +16,17 @@ declare module '@tiptap/core' {
export const updateNodeAttributes: RawCommands['updateNodeAttributes'] = (typeOrName, attributes = {}) => ({ tr, state, dispatch }) => {
const type = getNodeType(typeOrName, state.schema)
const { selection } = tr
- const { from, to } = selection
+ const { ranges } = selection
- state.doc.nodesBetween(from, to, (node, pos) => {
- if (node.type === type && dispatch) {
- tr.setNodeMarkup(pos, undefined, {
- ...node.attrs,
- ...attributes,
- })
- }
+ ranges.forEach(range => {
+ state.doc.nodesBetween(range.$from.pos, range.$to.pos, (node, pos) => {
+ if (node.type === type && dispatch) {
+ tr.setNodeMarkup(pos, undefined, {
+ ...node.attrs,
+ ...attributes,
+ })
+ }
+ })
})
return true
diff --git a/packages/extension-focus/CHANGELOG.md b/packages/extension-focus/CHANGELOG.md
index 0a9b80c2..ac3ea2ec 100644
--- a/packages/extension-focus/CHANGELOG.md
+++ b/packages/extension-focus/CHANGELOG.md
@@ -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.5](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/extension-focus@2.0.0-beta.4...@tiptap/extension-focus@2.0.0-beta.5) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/extension-focus
+
+
+
+
+
# [2.0.0-beta.4](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/extension-focus@2.0.0-beta.3...@tiptap/extension-focus@2.0.0-beta.4) (2021-03-25)
**Note:** Version bump only for package @tiptap/extension-focus
diff --git a/packages/extension-focus/package.json b/packages/extension-focus/package.json
index 8451ebcd..d74e3dc8 100644
--- a/packages/extension-focus/package.json
+++ b/packages/extension-focus/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-focus",
"description": "focus extension for tiptap",
- "version": "2.0.0-beta.4",
+ "version": "2.0.0-beta.5",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
diff --git a/packages/extension-mention/CHANGELOG.md b/packages/extension-mention/CHANGELOG.md
index 3866dc91..48fdc936 100644
--- a/packages/extension-mention/CHANGELOG.md
+++ b/packages/extension-mention/CHANGELOG.md
@@ -3,6 +3,30 @@
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.9](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/extension-mention@2.0.0-beta.8...@tiptap/extension-mention@2.0.0-beta.9) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/extension-mention
+
+
+
+
+
+# [2.0.0-beta.8](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/extension-mention@2.0.0-beta.7...@tiptap/extension-mention@2.0.0-beta.8) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/extension-mention
+
+
+
+
+
+# [2.0.0-beta.7](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/extension-mention@2.0.0-beta.6...@tiptap/extension-mention@2.0.0-beta.7) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/extension-mention
+
+
+
+
+
# [2.0.0-beta.6](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/extension-mention@2.0.0-beta.5...@tiptap/extension-mention@2.0.0-beta.6) (2021-03-24)
**Note:** Version bump only for package @tiptap/extension-mention
diff --git a/packages/extension-mention/package.json b/packages/extension-mention/package.json
index cf67d2f5..38b15309 100644
--- a/packages/extension-mention/package.json
+++ b/packages/extension-mention/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-mention",
"description": "mention extension for tiptap",
- "version": "2.0.0-beta.6",
+ "version": "2.0.0-beta.9",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -25,6 +25,6 @@
"@tiptap/core": "^2.0.0-beta.1"
},
"dependencies": {
- "@tiptap/suggestion": "^2.0.0-beta.6"
+ "@tiptap/suggestion": "^2.0.0-beta.9"
}
}
diff --git a/packages/extension-placeholder/CHANGELOG.md b/packages/extension-placeholder/CHANGELOG.md
index 59fcb959..277cc744 100644
--- a/packages/extension-placeholder/CHANGELOG.md
+++ b/packages/extension-placeholder/CHANGELOG.md
@@ -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.2](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/extension-placeholder@2.0.0-beta.1...@tiptap/extension-placeholder@2.0.0-beta.2) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/extension-placeholder
+
+
+
+
+
# 2.0.0-beta.1 (2021-03-24)
**Note:** Version bump only for package @tiptap/extension-placeholder
diff --git a/packages/extension-placeholder/package.json b/packages/extension-placeholder/package.json
index b9fe4856..37d058fe 100644
--- a/packages/extension-placeholder/package.json
+++ b/packages/extension-placeholder/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-placeholder",
"description": "placeholder extension for tiptap",
- "version": "2.0.0-beta.1",
+ "version": "2.0.0-beta.2",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -25,6 +25,7 @@
"@tiptap/core": "^2.0.0-beta.1"
},
"dependencies": {
+ "prosemirror-model": "^1.13.3",
"prosemirror-state": "^1.3.4",
"prosemirror-view": "^1.18.1"
}
diff --git a/packages/extension-placeholder/src/placeholder.ts b/packages/extension-placeholder/src/placeholder.ts
index d955fbd8..0f553567 100644
--- a/packages/extension-placeholder/src/placeholder.ts
+++ b/packages/extension-placeholder/src/placeholder.ts
@@ -1,11 +1,15 @@
-import { Extension, isNodeEmpty } from '@tiptap/core'
+import { Editor, Extension, isNodeEmpty } from '@tiptap/core'
+import { Node as ProsemirrorNode } from 'prosemirror-model'
import { Decoration, DecorationSet } from 'prosemirror-view'
import { Plugin } from 'prosemirror-state'
export interface PlaceholderOptions {
emptyEditorClass: string,
emptyNodeClass: string,
- placeholder: string | Function,
+ placeholder: ((PlaceholderProps: {
+ editor: Editor,
+ node: ProsemirrorNode,
+ }) => string) | string,
showOnlyWhenEditable: boolean,
showOnlyCurrent: boolean,
}
@@ -48,7 +52,10 @@ export const Placeholder = Extension.create({
const decoration = Decoration.node(pos, pos + node.nodeSize, {
class: classes.join(' '),
'data-placeholder': typeof this.options.placeholder === 'function'
- ? this.options.placeholder(node)
+ ? this.options.placeholder({
+ editor: this.editor,
+ node,
+ })
: this.options.placeholder,
})
diff --git a/packages/extension-table-header/CHANGELOG.md b/packages/extension-table-header/CHANGELOG.md
index ac28a525..97dbb1e6 100644
--- a/packages/extension-table-header/CHANGELOG.md
+++ b/packages/extension-table-header/CHANGELOG.md
@@ -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.2](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/extension-table-header@2.0.0-beta.1...@tiptap/extension-table-header@2.0.0-beta.2) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/extension-table-header
+
+
+
+
+
# [2.0.0-beta.1](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/extension-table-header@2.0.0-alpha.11...@tiptap/extension-table-header@2.0.0-beta.1) (2021-03-05)
**Note:** Version bump only for package @tiptap/extension-table-header
diff --git a/packages/extension-table-header/package.json b/packages/extension-table-header/package.json
index c355ec65..92854016 100644
--- a/packages/extension-table-header/package.json
+++ b/packages/extension-table-header/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-table-header",
"description": "table cell extension for tiptap",
- "version": "2.0.0-beta.1",
+ "version": "2.0.0-beta.2",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
diff --git a/packages/extension-table-header/src/table-header.ts b/packages/extension-table-header/src/table-header.ts
index 733cc5c6..1ed0c3e6 100644
--- a/packages/extension-table-header/src/table-header.ts
+++ b/packages/extension-table-header/src/table-header.ts
@@ -24,6 +24,16 @@ export const TableHeader = Node.create({
},
colwidth: {
default: null,
+ parseHTML: element => {
+ const colwidth = element.getAttribute('colwidth')
+ const value = colwidth
+ ? [parseInt(colwidth, 10)]
+ : null
+
+ return {
+ colwidth: value,
+ }
+ },
},
}
},
diff --git a/packages/extension-table/CHANGELOG.md b/packages/extension-table/CHANGELOG.md
index aaf14158..e779ad84 100644
--- a/packages/extension-table/CHANGELOG.md
+++ b/packages/extension-table/CHANGELOG.md
@@ -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-table@2.0.0-beta.3...@tiptap/extension-table@2.0.0-beta.4) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/extension-table
+
+
+
+
+
# [2.0.0-beta.3](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/extension-table@2.0.0-beta.2...@tiptap/extension-table@2.0.0-beta.3) (2021-03-24)
**Note:** Version bump only for package @tiptap/extension-table
diff --git a/packages/extension-table/package.json b/packages/extension-table/package.json
index 0c77955d..9332e207 100644
--- a/packages/extension-table/package.json
+++ b/packages/extension-table/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-table",
"description": "table extension for tiptap",
- "version": "2.0.0-beta.3",
+ "version": "2.0.0-beta.4",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
diff --git a/packages/extension-task-list/CHANGELOG.md b/packages/extension-task-list/CHANGELOG.md
index ac243d36..d9054f31 100644
--- a/packages/extension-task-list/CHANGELOG.md
+++ b/packages/extension-task-list/CHANGELOG.md
@@ -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.2](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/extension-task-list@2.0.0-beta.1...@tiptap/extension-task-list@2.0.0-beta.2) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/extension-task-list
+
+
+
+
+
# [2.0.0-beta.1](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/extension-task-list@2.0.0-alpha.11...@tiptap/extension-task-list@2.0.0-beta.1) (2021-03-05)
**Note:** Version bump only for package @tiptap/extension-task-list
diff --git a/packages/extension-task-list/package.json b/packages/extension-task-list/package.json
index d89c0e99..5f051cae 100644
--- a/packages/extension-task-list/package.json
+++ b/packages/extension-task-list/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-task-list",
"description": "task list extension for tiptap",
- "version": "2.0.0-beta.1",
+ "version": "2.0.0-beta.2",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
diff --git a/packages/html/CHANGELOG.md b/packages/html/CHANGELOG.md
index 452f1448..12dc305c 100644
--- a/packages/html/CHANGELOG.md
+++ b/packages/html/CHANGELOG.md
@@ -3,6 +3,30 @@
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.9](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/html@2.0.0-beta.8...@tiptap/html@2.0.0-beta.9) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/html
+
+
+
+
+
+# [2.0.0-beta.8](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/html@2.0.0-beta.7...@tiptap/html@2.0.0-beta.8) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/html
+
+
+
+
+
+# [2.0.0-beta.7](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/html@2.0.0-beta.6...@tiptap/html@2.0.0-beta.7) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/html
+
+
+
+
+
# [2.0.0-beta.6](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/html@2.0.0-beta.5...@tiptap/html@2.0.0-beta.6) (2021-03-24)
**Note:** Version bump only for package @tiptap/html
diff --git a/packages/html/package.json b/packages/html/package.json
index 76e67e0d..8f8fc2bb 100644
--- a/packages/html/package.json
+++ b/packages/html/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/html",
"description": "utility package to render tiptap JSON as HTML",
- "version": "2.0.0-beta.6",
+ "version": "2.0.0-beta.9",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -22,7 +22,7 @@
"dist"
],
"dependencies": {
- "@tiptap/core": "^2.0.0-beta.6",
+ "@tiptap/core": "^2.0.0-beta.9",
"hostic-dom": "^0.8.6",
"prosemirror-model": "^1.13.3"
}
diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md
index 91f0a4aa..861dbf95 100644
--- a/packages/react/CHANGELOG.md
+++ b/packages/react/CHANGELOG.md
@@ -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.6](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/react@2.0.0-beta.5...@tiptap/react@2.0.0-beta.6) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/react
+
+
+
+
+
# [2.0.0-beta.5](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/react@2.0.0-beta.4...@tiptap/react@2.0.0-beta.5) (2021-03-24)
**Note:** Version bump only for package @tiptap/react
diff --git a/packages/react/package.json b/packages/react/package.json
index 432c808e..5472b363 100644
--- a/packages/react/package.json
+++ b/packages/react/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/react",
"description": "React components for tiptap",
- "version": "2.0.0-beta.5",
+ "version": "2.0.0-beta.6",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
diff --git a/packages/suggestion/CHANGELOG.md b/packages/suggestion/CHANGELOG.md
index dcd6d337..f31ccb86 100644
--- a/packages/suggestion/CHANGELOG.md
+++ b/packages/suggestion/CHANGELOG.md
@@ -3,6 +3,30 @@
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.9](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/suggestion@2.0.0-beta.8...@tiptap/suggestion@2.0.0-beta.9) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/suggestion
+
+
+
+
+
+# [2.0.0-beta.8](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/suggestion@2.0.0-beta.7...@tiptap/suggestion@2.0.0-beta.8) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/suggestion
+
+
+
+
+
+# [2.0.0-beta.7](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/suggestion@2.0.0-beta.6...@tiptap/suggestion@2.0.0-beta.7) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/suggestion
+
+
+
+
+
# [2.0.0-beta.6](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/suggestion@2.0.0-beta.5...@tiptap/suggestion@2.0.0-beta.6) (2021-03-24)
**Note:** Version bump only for package @tiptap/suggestion
diff --git a/packages/suggestion/package.json b/packages/suggestion/package.json
index 14a04ddf..ac0939cc 100644
--- a/packages/suggestion/package.json
+++ b/packages/suggestion/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/suggestion",
"description": "suggestion plugin for tiptap",
- "version": "2.0.0-beta.6",
+ "version": "2.0.0-beta.9",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -22,7 +22,7 @@
"dist"
],
"dependencies": {
- "@tiptap/core": "^2.0.0-beta.6",
+ "@tiptap/core": "^2.0.0-beta.9",
"prosemirror-model": "^1.13.3",
"prosemirror-state": "^1.3.4",
"prosemirror-view": "^1.18.1"
diff --git a/packages/vue-2/CHANGELOG.md b/packages/vue-2/CHANGELOG.md
index 0f44e4d9..e92b25d9 100644
--- a/packages/vue-2/CHANGELOG.md
+++ b/packages/vue-2/CHANGELOG.md
@@ -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.6](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/vue-2@2.0.0-beta.5...@tiptap/vue-2@2.0.0-beta.6) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/vue-2
+
+
+
+
+
# [2.0.0-beta.5](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/vue-2@2.0.0-beta.4...@tiptap/vue-2@2.0.0-beta.5) (2021-03-24)
**Note:** Version bump only for package @tiptap/vue-2
diff --git a/packages/vue-2/package.json b/packages/vue-2/package.json
index 47433ca3..eb19e5a0 100644
--- a/packages/vue-2/package.json
+++ b/packages/vue-2/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/vue-2",
"description": "Vue components for tiptap",
- "version": "2.0.0-beta.5",
+ "version": "2.0.0-beta.6",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
diff --git a/packages/vue-3/CHANGELOG.md b/packages/vue-3/CHANGELOG.md
index 5123d2cf..7d611474 100644
--- a/packages/vue-3/CHANGELOG.md
+++ b/packages/vue-3/CHANGELOG.md
@@ -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.7](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/vue-3@2.0.0-beta.6...@tiptap/vue-3@2.0.0-beta.7) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/vue-3
+
+
+
+
+
# [2.0.0-beta.6](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/vue-3@2.0.0-beta.5...@tiptap/vue-3@2.0.0-beta.6) (2021-03-24)
**Note:** Version bump only for package @tiptap/vue-3
diff --git a/packages/vue-3/package.json b/packages/vue-3/package.json
index f88d2dcb..6ea85238 100644
--- a/packages/vue-3/package.json
+++ b/packages/vue-3/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/vue-3",
"description": "Vue components for tiptap",
- "version": "2.0.0-beta.6",
+ "version": "2.0.0-beta.7",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
diff --git a/packages/vue-starter-kit/CHANGELOG.md b/packages/vue-starter-kit/CHANGELOG.md
index a9b18106..1037b948 100644
--- a/packages/vue-starter-kit/CHANGELOG.md
+++ b/packages/vue-starter-kit/CHANGELOG.md
@@ -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.7](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/vue-starter-kit@2.0.0-beta.6...@tiptap/vue-starter-kit@2.0.0-beta.7) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/vue-starter-kit
+
+
+
+
+
# [2.0.0-beta.6](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/vue-starter-kit@2.0.0-beta.5...@tiptap/vue-starter-kit@2.0.0-beta.6) (2021-03-24)
**Note:** Version bump only for package @tiptap/vue-starter-kit
diff --git a/packages/vue-starter-kit/package.json b/packages/vue-starter-kit/package.json
index 22080bf6..e199a581 100644
--- a/packages/vue-starter-kit/package.json
+++ b/packages/vue-starter-kit/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/vue-starter-kit",
"description": "Vue starter kit for tiptap",
- "version": "2.0.0-beta.6",
+ "version": "2.0.0-beta.7",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -23,6 +23,6 @@
],
"dependencies": {
"@tiptap/starter-kit": "^2.0.0-beta.4",
- "@tiptap/vue": "^2.0.0-beta.3"
+ "@tiptap/vue": "^2.0.0-beta.4"
}
}
diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md
index 3a6a45cc..b727213c 100644
--- a/packages/vue/CHANGELOG.md
+++ b/packages/vue/CHANGELOG.md
@@ -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/vue@2.0.0-beta.3...@tiptap/vue@2.0.0-beta.4) (2021-03-28)
+
+**Note:** Version bump only for package @tiptap/vue
+
+
+
+
+
# [2.0.0-beta.3](https://github.com/ueberdosis/tiptap-next/compare/@tiptap/vue@2.0.0-beta.2...@tiptap/vue@2.0.0-beta.3) (2021-03-24)
**Note:** Version bump only for package @tiptap/vue
diff --git a/packages/vue/package.json b/packages/vue/package.json
index 64253373..95881727 100644
--- a/packages/vue/package.json
+++ b/packages/vue/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/vue",
"description": "Vue components for tiptap",
- "version": "2.0.0-beta.3",
+ "version": "2.0.0-beta.4",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",