diff --git a/.changeset/chatty-pumas-cross.md b/.changeset/chatty-pumas-cross.md
deleted file mode 100644
index e9fb7a2c26b..00000000000
--- a/.changeset/chatty-pumas-cross.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@tiptap/core": minor
----
-
-Fixes #5490. The `preventClearDocument` meta tag can now be used to prevent the `clearDocument` plugin in the core keymap extension from modifying transactions that appear to clear the document (but might be clearing it for other reasons).
diff --git a/.changeset/config.json b/.changeset/config.json
index a471539e58a..7828f76af31 100644
--- a/.changeset/config.json
+++ b/.changeset/config.json
@@ -2,12 +2,13 @@
"$schema": "https://unpkg.com/@changesets/config@3.0.1/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
- "fixed": [
- ["@tiptap/*"]
- ],
+ "fixed": [["@tiptap/*"]],
"linked": [],
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
- "ignore": []
+ "ignore": [],
+ "___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
+ "onlyUpdatePeerDependentsWhenOutOfRange": true
+ }
}
diff --git a/.changeset/fresh-steaks-kneel.md b/.changeset/fresh-steaks-kneel.md
deleted file mode 100644
index 7571c075059..00000000000
--- a/.changeset/fresh-steaks-kneel.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@tiptap/pm": patch
----
-
-Bumped prosemirror versions
diff --git a/.changeset/khaki-tips-judge.md b/.changeset/khaki-tips-judge.md
deleted file mode 100644
index dda23ee54bc..00000000000
--- a/.changeset/khaki-tips-judge.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@tiptap/extension-mention": patch
----
-
-Add support for cross-window institation with mentions
diff --git a/.changeset/lovely-bears-wonder.md b/.changeset/lovely-bears-wonder.md
deleted file mode 100644
index 6f528c76c1b..00000000000
--- a/.changeset/lovely-bears-wonder.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@tiptap/core": minor
----
-
-Added `onPaste` and `onDrop` options to the editor allowing for easier event binding for both cases
diff --git a/.changeset/mean-pets-unite.md b/.changeset/mean-pets-unite.md
deleted file mode 100644
index 60d12cb9877..00000000000
--- a/.changeset/mean-pets-unite.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@tiptap/core": patch
----
-
-fix: check for schema's nesting rules on contentCheck
diff --git a/.changeset/metal-shrimps-press.md b/.changeset/metal-shrimps-press.md
deleted file mode 100644
index 7ecd4b55542..00000000000
--- a/.changeset/metal-shrimps-press.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@tiptap/core": patch
----
-
-Copy over node attributes on node toggling (for example to keep text styles while toggling a headline)
diff --git a/.changeset/nine-pianos-move.md b/.changeset/nine-pianos-move.md
deleted file mode 100644
index 2d5e1079c8f..00000000000
--- a/.changeset/nine-pianos-move.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@tiptap/vue-3": patch
----
-
-Fixed an issue where plugin registration on editor initialization would break Vue3 editors.
diff --git a/.changeset/purple-bobcats-grab.md b/.changeset/purple-bobcats-grab.md
deleted file mode 100644
index 0b80d955756..00000000000
--- a/.changeset/purple-bobcats-grab.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-"@tiptap/react": patch
-"@tiptap/vue-2": patch
-"@tiptap/vue-3": patch
-"@tiptap/core": patch
----
-
-Update the Typescript types for NodeViews, bringing them inline with there actual implementation
diff --git a/.changeset/rare-trainers-reflect.md b/.changeset/rare-trainers-reflect.md
deleted file mode 100644
index cc145e4cad2..00000000000
--- a/.changeset/rare-trainers-reflect.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@tiptap/extension-mention": patch
----
-
-Mentions would sometimes not show up if one was declined and a new one followed afterward. Was introduced by PR (#4380)
diff --git a/.changeset/rich-waves-study.md b/.changeset/rich-waves-study.md
deleted file mode 100644
index e5323b9b914..00000000000
--- a/.changeset/rich-waves-study.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@tiptap/core": minor
----
-
-An object can now be passed to `enableCoreExtensions` to allow disabling only specific core extensions.
diff --git a/.changeset/shaggy-dolphins-applaud.md b/.changeset/shaggy-dolphins-applaud.md
deleted file mode 100644
index 0c5ba2307d9..00000000000
--- a/.changeset/shaggy-dolphins-applaud.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-"@tiptap/vue-2": minor
-"@tiptap/vue-3": minor
----
-
-Vue NodeViews now listen for changes to selections and re-render when the selection is actually over the nodeview
diff --git a/.changeset/shaggy-readers-heal.md b/.changeset/shaggy-readers-heal.md
deleted file mode 100644
index 1f1b17f3639..00000000000
--- a/.changeset/shaggy-readers-heal.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@tiptap/react": patch
----
-
-`useEditorState` now defaults to using a deep equal comparison for it's `equalityFn` option, which makes it more convenient to use
diff --git a/.changeset/slow-lies-promise.md b/.changeset/slow-lies-promise.md
deleted file mode 100644
index 678dda212c8..00000000000
--- a/.changeset/slow-lies-promise.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@tiptap/extension-task-item": patch
----
-
-Prevent `onBlur` from being trigged when a task item is toggled
diff --git a/.changeset/tender-items-visit.md b/.changeset/tender-items-visit.md
deleted file mode 100644
index 2084fe4250a..00000000000
--- a/.changeset/tender-items-visit.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@tiptap/suggestion": patch
----
-
-Dropdowns from the suggestion utility couldn't be closed with the `Esc` key
diff --git a/.changeset/thirty-islands-cough.md b/.changeset/thirty-islands-cough.md
deleted file mode 100644
index e2d3442f314..00000000000
--- a/.changeset/thirty-islands-cough.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@tiptap/core": patch
----
-
-Merging inline style attributes now can properly merge conflicting style attribute names, resulting in cleaner HTML output and correctness
diff --git a/.changeset/warm-bananas-call.md b/.changeset/warm-bananas-call.md
deleted file mode 100644
index 71457916a74..00000000000
--- a/.changeset/warm-bananas-call.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@tiptap/react": patch
----
-
-ReactNodeViewRenderer now accepts a callback for attrs of the wrapping element to be updated on each node view update
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 2684df54839..50008b6f5bd 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -37,7 +37,7 @@ jobs:
node-version: ${{ matrix.node-version }}
- name: Load cached dependencies
- uses: actions/cache@v4.0.2
+ uses: actions/cache@v4.1.0
id: cache
with:
path: |
@@ -103,7 +103,7 @@ jobs:
- name: Test ${{ matrix.test-spec.name }}
id: cypress
- uses: cypress-io/github-action@v6.7.2
+ uses: cypress-io/github-action@v6.7.6
with:
cache-key: ${{ runner.os }}-node-${{ matrix.node-version }}-${{ hashFiles('**/package-lock.json') }}
start: npm run serve
@@ -114,7 +114,7 @@ jobs:
quiet: true
- name: Export screenshots (on failure only)
- uses: actions/upload-artifact@v4.3.6
+ uses: actions/upload-artifact@v4.4.0
if: failure()
with:
name: cypress-screenshots
@@ -122,7 +122,7 @@ jobs:
retention-days: 7
- name: Export screen recordings (on failure only)
- uses: actions/upload-artifact@v4.3.6
+ uses: actions/upload-artifact@v4.4.0
if: failure()
with:
name: cypress-videos
@@ -147,7 +147,7 @@ jobs:
node-version: ${{ matrix.node-version }}
- name: Load cached dependencies
- uses: actions/cache@v4.0.2
+ uses: actions/cache@v4.1.0
id: cache
with:
path: |
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 630f360bf42..43fa0e6bb6f 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -37,7 +37,7 @@ jobs:
registry-url: 'https://registry.npmjs.org/'
- name: Load cached dependencies
- uses: actions/cache@v4.0.2
+ uses: actions/cache@v4.1.0
id: cache
with:
path: |
@@ -55,6 +55,7 @@ jobs:
with:
createGithubReleases: false
publish: npm run publish
+ version: npm run version
title: ${{ github.ref_name == 'main' && 'Publish a new stable version' || 'Publish a new pre-release version' }}
commit: >-
${{ github.ref_name == 'main' && 'chore(release): publish a new release version' || 'chore(release): publish a new pre-release version' }}
@@ -65,7 +66,7 @@ jobs:
- name: Send release notification
if: steps.changesets.outputs.published == 'true'
id: slack
- uses: slackapi/slack-github-action@v1.26.0
+ uses: slackapi/slack-github-action@v1.27.0
with:
payload: |
{
@@ -77,7 +78,7 @@ jobs:
- name: Send failure notification
if: failure()
id: slack_failure
- uses: slackapi/slack-github-action@v1.26.0
+ uses: slackapi/slack-github-action@v1.27.0
with:
payload: |
{
diff --git a/README.md b/README.md
index 6bee9676e19..739fe587f79 100644
--- a/README.md
+++ b/README.md
@@ -86,6 +86,12 @@ For help, discussion about best practices, or any other conversation that would
Basewell
+
+
+
+ Poggio
+
+ |
diff --git a/demos/CHANGELOG.md b/demos/CHANGELOG.md
index dbc2ca33482..60269e81064 100644
--- a/demos/CHANGELOG.md
+++ b/demos/CHANGELOG.md
@@ -1,5 +1,11 @@
# Change Log
+## 2.5.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
## 2.4.2
### Patch Changes
diff --git a/demos/package.json b/demos/package.json
index 78046562d04..e5ed0b2840c 100644
--- a/demos/package.json
+++ b/demos/package.json
@@ -1,6 +1,6 @@
{
"name": "tiptap-demos",
- "version": "2.4.2",
+ "version": "2.5.0",
"private": true,
"type": "module",
"scripts": {
@@ -39,11 +39,11 @@
"react": "^18.0.0",
"react-dom": "^18.0.0",
"sass": "^1.49.7",
- "svelte": "^4.0.0",
+ "svelte": "^4.2.19",
"tailwindcss": "^3.3.2",
"typescript": "^5.4.5",
"uuid": "^8.3.2",
- "vite": "^5.0.0",
+ "vite": "^5.4.6",
"vite-plugin-checker": "^0.6.4",
"vue": "^3.0.0",
"vue-router": "^4.0.11"
diff --git a/demos/src/Commands/InsertContent/React/index.jsx b/demos/src/Commands/InsertContent/React/index.jsx
index 2da2ad9bbde..d3c67072474 100644
--- a/demos/src/Commands/InsertContent/React/index.jsx
+++ b/demos/src/Commands/InsertContent/React/index.jsx
@@ -1,6 +1,7 @@
import './styles.scss'
import { Color } from '@tiptap/extension-color'
+import Link from '@tiptap/extension-link'
import ListItem from '@tiptap/extension-list-item'
import TextStyle from '@tiptap/extension-text-style'
import { EditorProvider, useCurrentEditor } from '@tiptap/react'
@@ -48,6 +49,7 @@ const MenuBar = () => {
const extensions = [
Color.configure({ types: [TextStyle.name, ListItem.name] }),
TextStyle.configure({ types: [ListItem.name] }),
+ Link,
StarterKit.configure({
bulletList: {
keepMarks: true,
diff --git a/demos/src/Commands/InsertContent/React/index.spec.js b/demos/src/Commands/InsertContent/React/index.spec.js
index 9bfe7083773..58dff9562ab 100644
--- a/demos/src/Commands/InsertContent/React/index.spec.js
+++ b/demos/src/Commands/InsertContent/React/index.spec.js
@@ -11,7 +11,7 @@ context('/src/Commands/InsertContent/React/', () => {
cy.get('button[data-test-id="html-content"]').click()
// check if the content html is correct
- cy.get('.tiptap').should('contain.html', 'Tiptap
Hello World
This is a paragraph
with a break.
And this is some additional string content.
')
+ cy.get('.tiptap').should('contain.html', 'Hello World
This is a paragraph
with a break.
And this is some additional string content.
')
})
it('should keep spaces inbetween tags in html content', () => {
@@ -91,4 +91,28 @@ context('/src/Commands/InsertContent/React/', () => {
})
})
+ it('should respect editor.options.parseOptions if defined to be `false`', () => {
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.options.parseOptions = { preserveWhitespace: false }
+ editor.commands.insertContent('\nTiptap
Hello\n World\n
\n')
+ cy.get('.tiptap').should('contain.html', 'Tiptap
Hello World
')
+ })
+ })
+
+ it('should respect editor.options.parseOptions if defined to be `full`', () => {
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.options.parseOptions = { preserveWhitespace: 'full' }
+ editor.commands.insertContent('\nTiptap
Hello\n World\n
\n')
+ cy.get('.tiptap').should('contain.html', 'Tiptap
Hello\n World
')
+ })
+ })
+
+ it('should respect editor.options.parseOptions if defined to be `true`', () => {
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.options.parseOptions = { preserveWhitespace: true }
+ editor.commands.insertContent('Tiptap
Hello\n World\n
')
+ cy.get('.tiptap').should('contain.html', 'Tiptap
Hello World
')
+ })
+ })
+
})
diff --git a/demos/src/Commands/InsertContentApplyingRules/React/index.spec.js b/demos/src/Commands/InsertContentApplyingRules/React/index.spec.js
index 7fd1281099e..0cda50ace55 100644
--- a/demos/src/Commands/InsertContentApplyingRules/React/index.spec.js
+++ b/demos/src/Commands/InsertContentApplyingRules/React/index.spec.js
@@ -4,7 +4,9 @@ context('/src/Commands/InsertContentApplyingRules/React/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('should apply list InputRule', () => {
diff --git a/demos/src/Demos/CollaborationSplitPane/React/Editor.jsx b/demos/src/Demos/CollaborationSplitPane/React/Editor.jsx
index feedcbc6acd..dbf4863797d 100644
--- a/demos/src/Demos/CollaborationSplitPane/React/Editor.jsx
+++ b/demos/src/Demos/CollaborationSplitPane/React/Editor.jsx
@@ -72,19 +72,23 @@ const getRandomColor = () => getRandomElement(colors)
const getRandomName = () => getRandomElement(names)
const getInitialUser = () => {
- return (
- {
- name: getRandomName(),
- color: getRandomColor(),
- }
- )
+ return {
+ name: getRandomName(),
+ color: getRandomColor(),
+ }
}
-const Editor = ({ ydoc, provider, room }) => {
+const Editor = ({
+ ydoc, provider, room,
+}) => {
const [status, setStatus] = useState('connecting')
const [currentUser, setCurrentUser] = useState(getInitialUser)
const editor = useEditor({
+ enableContentCheck: true,
+ onContentError: ({ disableCollaboration }) => {
+ disableCollaboration()
+ },
onCreate: ({ editor: currentEditor }) => {
provider.on('synced', () => {
if (currentEditor.isEmpty) {
@@ -99,13 +103,13 @@ const Editor = ({ ydoc, provider, room }) => {
Highlight,
TaskList,
TaskItem,
- CharacterCount.configure({
+ CharacterCount.extend().configure({
limit: 10000,
}),
- Collaboration.configure({
+ Collaboration.extend().configure({
document: ydoc,
}),
- CollaborationCursor.configure({
+ CollaborationCursor.extend().configure({
provider,
}),
],
@@ -183,7 +187,10 @@ const Editor = ({ ydoc, provider, room }) => {
-
+
-
+
)
diff --git a/demos/src/Demos/CollaborationSplitPane/React/index.jsx b/demos/src/Demos/CollaborationSplitPane/React/index.jsx
index 5a624ee8a5a..4464403a274 100644
--- a/demos/src/Demos/CollaborationSplitPane/React/index.jsx
+++ b/demos/src/Demos/CollaborationSplitPane/React/index.jsx
@@ -9,7 +9,7 @@ const appId = '7j9y6m10'
const room = `room.${new Date()
.getFullYear()
.toString()
- .slice(-2)}${new Date().getMonth() + 1}${new Date().getDate()}`
+ .slice(-2)}${new Date().getMonth() + 1}${new Date().getDate()}-ok`
// ydoc and provider for Editor A
const ydocA = new Y.Doc()
diff --git a/demos/src/Examples/InteractivityComponentContent/React/index.spec.js b/demos/src/Examples/InteractivityComponentContent/React/index.spec.js
index ae3a4cc5182..5ba739f560f 100644
--- a/demos/src/Examples/InteractivityComponentContent/React/index.spec.js
+++ b/demos/src/Examples/InteractivityComponentContent/React/index.spec.js
@@ -4,19 +4,19 @@ context('/src/Examples/InteractivityComponentContent/React/', () => {
})
it('should have a working tiptap instance', () => {
- cy.get('.tiptap').then(([{ editor }]) => {
+ cy.get('.ProseMirror').then(([{ editor }]) => {
// eslint-disable-next-line
expect(editor).to.not.be.null
})
})
it('should render a custom node', () => {
- cy.get('.tiptap .react-component')
+ cy.get('.ProseMirror .react-component')
.should('have.length', 1)
})
it('should allow text editing inside component', () => {
- cy.get('.tiptap .react-component .content div')
+ cy.get('.ProseMirror .react-component .content div')
.invoke('attr', 'contentEditable', true)
.invoke('text', '')
.type('Hello World!')
@@ -24,27 +24,24 @@ context('/src/Examples/InteractivityComponentContent/React/', () => {
})
it('should allow text editing inside component with markdown text', () => {
- cy.get('.tiptap .react-component .content div')
+ cy.get('.ProseMirror .react-component .content div')
.invoke('attr', 'contentEditable', true)
.invoke('text', '')
- .click()
- cy.get('.tiptap .react-component .content div')
- .realType('Hello World! This is **bold**.')
- cy.get('.tiptap .react-component .content div')
+ .type('Hello World! This is **bold**.')
.should('have.text', 'Hello World! This is bold.')
- cy.get('.tiptap .react-component .content strong')
+ cy.get('.ProseMirror .react-component .content strong')
.should('exist')
})
it('should remove node via selectall', () => {
- cy.get('.tiptap .react-component')
+ cy.get('.ProseMirror .react-component')
.should('have.length', 1)
- cy.get('.tiptap')
+ cy.get('.ProseMirror')
.type('{selectall}{backspace}')
- cy.get('.tiptap .react-component')
+ cy.get('.ProseMirror .react-component')
.should('have.length', 0)
})
})
diff --git a/demos/src/Examples/InteractivityComponentContent/Vue/index.spec.js b/demos/src/Examples/InteractivityComponentContent/Vue/index.spec.js
index 75144bf672a..b0ca7757184 100644
--- a/demos/src/Examples/InteractivityComponentContent/Vue/index.spec.js
+++ b/demos/src/Examples/InteractivityComponentContent/Vue/index.spec.js
@@ -27,10 +27,7 @@ context('/src/Examples/InteractivityComponentContent/Vue/', () => {
cy.get('.tiptap .vue-component .content')
.invoke('attr', 'contentEditable', true)
.invoke('text', '')
- .click()
- cy.get('.tiptap .vue-component .content')
- .realType('Hello World! This is **bold**.')
- cy.get('.tiptap .vue-component .content')
+ .type('Hello World! This is **bold**.')
.should('have.text', 'Hello World! This is bold.')
cy.get('.tiptap .vue-component .content strong')
diff --git a/demos/src/Examples/MarkdownShortcuts/React/index.spec.js b/demos/src/Examples/MarkdownShortcuts/React/index.spec.js
index 64c04512d57..e76bdade9fa 100644
--- a/demos/src/Examples/MarkdownShortcuts/React/index.spec.js
+++ b/demos/src/Examples/MarkdownShortcuts/React/index.spec.js
@@ -4,109 +4,98 @@ context('/src/Examples/MarkdownShortcuts/React/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('should make a h1', () => {
cy.get('.tiptap')
- .realType('# Headline')
- cy.get('.tiptap')
+ .type('# Headline')
.find('h1')
.should('contain', 'Headline')
})
it('should make a h2', () => {
cy.get('.tiptap')
- .realType('## Headline')
- cy.get('.tiptap')
+ .type('## Headline')
.find('h2')
.should('contain', 'Headline')
})
it('should make a h3', () => {
cy.get('.tiptap')
- .realType('### Headline')
- cy.get('.tiptap')
+ .type('### Headline')
.find('h3')
.should('contain', 'Headline')
})
it('should make a h4', () => {
cy.get('.tiptap')
- .realType('#### Headline')
- cy.get('.tiptap')
+ .type('#### Headline')
.find('h4')
.should('contain', 'Headline')
})
it('should make a h5', () => {
cy.get('.tiptap')
- .realType('##### Headline')
- cy.get('.tiptap')
+ .type('##### Headline')
.find('h5')
.should('contain', 'Headline')
})
it('should make a h6', () => {
cy.get('.tiptap')
- .realType('###### Headline')
- cy.get('.tiptap')
+ .type('###### Headline')
.find('h6')
.should('contain', 'Headline')
})
it('should create inline code', () => {
cy.get('.tiptap')
- .realType('`$foobar`')
- cy.get('.tiptap')
+ .type('`$foobar`')
.find('code')
.should('contain', '$foobar')
})
it('should create a code block without language', () => {
cy.get('.tiptap')
- .realType('``` {enter}const foo = bar{enter}```')
- cy.get('.tiptap')
+ .type('``` {enter}const foo = bar{enter}```')
.find('pre')
.should('contain', 'const foo = bar')
})
it('should create a bullet list from asteriks', () => {
cy.get('.tiptap')
- .realType('* foobar')
- cy.get('.tiptap')
+ .type('* foobar')
.find('ul')
.should('contain', 'foobar')
})
it('should create a bullet list from dashes', () => {
cy.get('.tiptap')
- .realType('- foobar')
- cy.get('.tiptap')
+ .type('- foobar')
.find('ul')
.should('contain', 'foobar')
})
it('should create a bullet list from pluses', () => {
cy.get('.tiptap')
- .realType('+ foobar')
- cy.get('.tiptap')
+ .type('+ foobar')
.find('ul')
.should('contain', 'foobar')
})
it('should create a ordered list', () => {
cy.get('.tiptap')
- .realType('1. foobar')
- cy.get('.tiptap')
+ .type('1. foobar')
.find('ol')
.should('contain', 'foobar')
})
it('should create a blockquote', () => {
cy.get('.tiptap')
- .realType('> foobar')
- cy.get('.tiptap')
+ .type('> foobar')
.find('blockquote')
.should('contain', 'foobar')
})
diff --git a/demos/src/Examples/MarkdownShortcuts/Vue/index.spec.js b/demos/src/Examples/MarkdownShortcuts/Vue/index.spec.js
index 1fe5b79b66e..b4df4148f11 100644
--- a/demos/src/Examples/MarkdownShortcuts/Vue/index.spec.js
+++ b/demos/src/Examples/MarkdownShortcuts/Vue/index.spec.js
@@ -4,109 +4,98 @@ context('/src/Examples/MarkdownShortcuts/Vue/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('should make a h1', () => {
cy.get('.tiptap')
- .realType('# Headline')
- cy.get('.tiptap')
+ .type('# Headline')
.find('h1')
.should('contain', 'Headline')
})
it('should make a h2', () => {
cy.get('.tiptap')
- .realType('## Headline')
- cy.get('.tiptap')
+ .type('## Headline')
.find('h2')
.should('contain', 'Headline')
})
it('should make a h3', () => {
cy.get('.tiptap')
- .realType('### Headline')
- cy.get('.tiptap')
+ .type('### Headline')
.find('h3')
.should('contain', 'Headline')
})
it('should make a h4', () => {
cy.get('.tiptap')
- .realType('#### Headline')
- cy.get('.tiptap')
+ .type('#### Headline')
.find('h4')
.should('contain', 'Headline')
})
it('should make a h5', () => {
cy.get('.tiptap')
- .realType('##### Headline')
- cy.get('.tiptap')
+ .type('##### Headline')
.find('h5')
.should('contain', 'Headline')
})
it('should make a h6', () => {
cy.get('.tiptap')
- .realType('###### Headline')
- cy.get('.tiptap')
+ .type('###### Headline')
.find('h6')
.should('contain', 'Headline')
})
it('should create inline code', () => {
cy.get('.tiptap')
- .realType('`$foobar`')
- cy.get('.tiptap')
+ .type('`$foobar`')
.find('code')
.should('contain', '$foobar')
})
it('should create a code block without language', () => {
cy.get('.tiptap')
- .realType('``` {enter}const foo = bar{enter}```')
- cy.get('.tiptap')
+ .type('``` {enter}const foo = bar{enter}```')
.find('pre')
.should('contain', 'const foo = bar')
})
it('should create a bullet list from asteriks', () => {
cy.get('.tiptap')
- .realType('* foobar')
- cy.get('.tiptap')
+ .type('* foobar')
.find('ul')
.should('contain', 'foobar')
})
it('should create a bullet list from dashes', () => {
cy.get('.tiptap')
- .realType('- foobar')
- cy.get('.tiptap')
+ .type('- foobar')
.find('ul')
.should('contain', 'foobar')
})
it('should create a bullet list from pluses', () => {
cy.get('.tiptap')
- .realType('+ foobar')
- cy.get('.tiptap')
+ .type('+ foobar')
.find('ul')
.should('contain', 'foobar')
})
it('should create a ordered list', () => {
cy.get('.tiptap')
- .realType('1. foobar')
- cy.get('.tiptap')
+ .type('1. foobar')
.find('ol')
.should('contain', 'foobar')
})
it('should create a blockquote', () => {
cy.get('.tiptap')
- .realType('> foobar')
- cy.get('.tiptap')
+ .type('> foobar')
.find('blockquote')
.should('contain', 'foobar')
})
diff --git a/demos/src/Examples/Minimal/React/index.spec.js b/demos/src/Examples/Minimal/React/index.spec.js
index 74d2c27719f..cd2f48251a0 100644
--- a/demos/src/Examples/Minimal/React/index.spec.js
+++ b/demos/src/Examples/Minimal/React/index.spec.js
@@ -4,7 +4,9 @@ context('/src/Examples/Minimal/React/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('text should be wrapped in a paragraph by default', () => {
diff --git a/demos/src/Examples/Minimal/Vue/index.spec.js b/demos/src/Examples/Minimal/Vue/index.spec.js
index 0a7dd7417a3..1089af86015 100644
--- a/demos/src/Examples/Minimal/Vue/index.spec.js
+++ b/demos/src/Examples/Minimal/Vue/index.spec.js
@@ -4,7 +4,9 @@ context('/src/Examples/Minimal/Vue/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('text should be wrapped in a paragraph by default', () => {
diff --git a/demos/src/Examples/Savvy/React/index.spec.js b/demos/src/Examples/Savvy/React/index.spec.js
index 6ea7cc16b65..1cef895d20c 100644
--- a/demos/src/Examples/Savvy/React/index.spec.js
+++ b/demos/src/Examples/Savvy/React/index.spec.js
@@ -4,7 +4,9 @@ context('/src/Examples/Savvy/React/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
const tests = [
@@ -22,8 +24,7 @@ context('/src/Examples/Savvy/React/', () => {
tests.forEach(test => {
it(`should parse ${test[0]} correctly`, () => {
- cy.get('.tiptap').realType(`${test[0]} `)
- cy.get('.tiptap').should('contain', test[1])
+ cy.get('.tiptap').type(`${test[0]} `).should('contain', test[1])
})
})
diff --git a/demos/src/Examples/Savvy/Vue/index.spec.js b/demos/src/Examples/Savvy/Vue/index.spec.js
index 88327d5b417..e604c398dbe 100644
--- a/demos/src/Examples/Savvy/Vue/index.spec.js
+++ b/demos/src/Examples/Savvy/Vue/index.spec.js
@@ -4,7 +4,9 @@ context('/src/Examples/Savvy/Vue/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
const tests = [
@@ -23,8 +25,7 @@ context('/src/Examples/Savvy/Vue/', () => {
tests.forEach(test => {
it(`should parse ${test[0]} correctly`, () => {
cy.get('.tiptap')
- .realType(`${test[0]} `)
- cy.get('.tiptap')
+ .type(`${test[0]} `)
.should('contain', test[1])
})
})
diff --git a/demos/src/Examples/Tables/React/index.jsx b/demos/src/Examples/Tables/React/index.jsx
index acc42ca7b0e..347bf6d08e6 100644
--- a/demos/src/Examples/Tables/React/index.jsx
+++ b/demos/src/Examples/Tables/React/index.jsx
@@ -157,8 +157,8 @@ export default () => {
- Name |
- Description |
+ Name |
+ Description |
Cyndi Lauper |
diff --git a/demos/src/Examples/Tasks/React/index.spec.js b/demos/src/Examples/Tasks/React/index.spec.js
index e967dca26f4..60ac56bfc5d 100644
--- a/demos/src/Examples/Tasks/React/index.spec.js
+++ b/demos/src/Examples/Tasks/React/index.spec.js
@@ -4,7 +4,9 @@ context('/src/Examples/Tasks/React/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('should always use task items', () => {
diff --git a/demos/src/Examples/Tasks/Vue/index.spec.js b/demos/src/Examples/Tasks/Vue/index.spec.js
index dcc1e452c6b..eeea16358ba 100644
--- a/demos/src/Examples/Tasks/Vue/index.spec.js
+++ b/demos/src/Examples/Tasks/Vue/index.spec.js
@@ -4,7 +4,9 @@ context('/src/Examples/Tasks/Vue/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('should always use task items', () => {
diff --git a/demos/src/Examples/Transition/Vue/Component.vue b/demos/src/Examples/Transition/Vue/Component.vue
new file mode 100644
index 00000000000..6ca00754f60
--- /dev/null
+++ b/demos/src/Examples/Transition/Vue/Component.vue
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demos/src/Examples/Transition/Vue/Extension.js b/demos/src/Examples/Transition/Vue/Extension.js
new file mode 100644
index 00000000000..9dede7bb0d0
--- /dev/null
+++ b/demos/src/Examples/Transition/Vue/Extension.js
@@ -0,0 +1,36 @@
+import { mergeAttributes, Node } from '@tiptap/core'
+import { VueNodeViewRenderer } from '@tiptap/vue-3'
+
+import Component from './Component.vue'
+
+export default Node.create({
+ name: 'vueComponent',
+
+ group: 'block',
+
+ atom: true,
+
+ addAttributes() {
+ return {
+ count: {
+ default: 0,
+ },
+ }
+ },
+
+ parseHTML() {
+ return [
+ {
+ tag: 'vue-component',
+ },
+ ]
+ },
+
+ renderHTML({ HTMLAttributes }) {
+ return ['vue-component', mergeAttributes(HTMLAttributes)]
+ },
+
+ addNodeView() {
+ return VueNodeViewRenderer(Component)
+ },
+})
diff --git a/demos/src/Examples/Transition/Vue/index.html b/demos/src/Examples/Transition/Vue/index.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/demos/src/Examples/Transition/Vue/index.spec.js b/demos/src/Examples/Transition/Vue/index.spec.js
new file mode 100644
index 00000000000..5bceb87e198
--- /dev/null
+++ b/demos/src/Examples/Transition/Vue/index.spec.js
@@ -0,0 +1,29 @@
+context('/src/Examples/Transition/Vue/', () => {
+ beforeEach(() => {
+ cy.visit('/src/Examples/Transition/Vue/')
+ })
+
+ it('should not have an active tiptap instance but a button', () => {
+ cy.get('.tiptap').should('not.exist')
+
+ cy.get('#toggle-editor').should('exist')
+ })
+
+ it('clicking the button should show the editor', () => {
+ cy.get('#toggle-editor').click()
+
+ cy.get('.tiptap').should('exist')
+ cy.get('.tiptap').should('be.visible')
+ })
+
+ it('clicking the button again should hide the editor', () => {
+ cy.get('#toggle-editor').click()
+
+ cy.get('.tiptap').should('exist')
+ cy.get('.tiptap').should('be.visible')
+
+ cy.get('#toggle-editor').click()
+
+ cy.get('.tiptap').should('not.exist')
+ })
+})
diff --git a/demos/src/Examples/Transition/Vue/index.vue b/demos/src/Examples/Transition/Vue/index.vue
new file mode 100644
index 00000000000..46e65dc0c5b
--- /dev/null
+++ b/demos/src/Examples/Transition/Vue/index.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demos/src/Experiments/CollaborationAnnotation/Vue/extension/collaboration-annotation.ts b/demos/src/Experiments/CollaborationAnnotation/Vue/extension/collaboration-annotation.ts
index 6de4df8c56b..edd501ae351 100644
--- a/demos/src/Experiments/CollaborationAnnotation/Vue/extension/collaboration-annotation.ts
+++ b/demos/src/Experiments/CollaborationAnnotation/Vue/extension/collaboration-annotation.ts
@@ -28,7 +28,7 @@ export interface AnnotationOptions {
/**
* An event listener which receives annotations for the current selection.
*/
- onUpdate: (items: [any?]) => {},
+ onUpdate: (items: any[]) => {},
/**
* An initialized Y.js document.
*/
diff --git a/demos/src/Experiments/Commands/Vue/index.spec.js b/demos/src/Experiments/Commands/Vue/index.spec.js
index e467db26dd4..8f310f27976 100644
--- a/demos/src/Experiments/Commands/Vue/index.spec.js
+++ b/demos/src/Experiments/Commands/Vue/index.spec.js
@@ -4,7 +4,9 @@ context('/src/Experiments/Commands/Vue/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('should open a popup after typing a slash', () => {
@@ -16,8 +18,7 @@ context('/src/Experiments/Commands/Vue/', () => {
]
items.forEach((item, i) => {
- cy.get('.tiptap').type('{selectall}{backspace}')
- cy.get('.tiptap').realType('/')
+ cy.get('.tiptap').type('{selectall}{backspace}/')
cy.get('.tippy-content .dropdown-menu').should('exist')
cy.get('.tippy-content .dropdown-menu button').eq(i).click()
cy.get('.tiptap').type(`I am a ${item.tag}`)
@@ -26,14 +27,14 @@ context('/src/Experiments/Commands/Vue/', () => {
})
it('should close the popup without any command via esc', () => {
- cy.get('.tiptap').realType('/')
+ cy.get('.tiptap').type('{selectall}{backspace}/')
cy.get('.tippy-content .dropdown-menu').should('exist')
cy.get('.tiptap').type('{esc}')
cy.get('.tippy-content .dropdown-menu').should('not.exist')
})
it('should open the popup when the cursor is after a slash', () => {
- cy.get('.tiptap').realType('/')
+ cy.get('.tiptap').type('{selectall}{backspace}/')
cy.get('.tippy-content .dropdown-menu').should('exist')
cy.get('.tiptap').type('{leftArrow}')
cy.get('.tippy-content .dropdown-menu').should('not.exist')
diff --git a/demos/src/Extensions/CollaborationWithMenus/React/index.html b/demos/src/Extensions/CollaborationWithMenus/React/index.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/demos/src/Extensions/CollaborationWithMenus/React/index.jsx b/demos/src/Extensions/CollaborationWithMenus/React/index.jsx
new file mode 100644
index 00000000000..3024eb2abcc
--- /dev/null
+++ b/demos/src/Extensions/CollaborationWithMenus/React/index.jsx
@@ -0,0 +1,69 @@
+import './styles.scss'
+
+import Bold from '@tiptap/extension-bold'
+import Collaboration from '@tiptap/extension-collaboration'
+import Document from '@tiptap/extension-document'
+import Heading from '@tiptap/extension-heading'
+import Paragraph from '@tiptap/extension-paragraph'
+import Placeholder from '@tiptap/extension-placeholder'
+import Text from '@tiptap/extension-text'
+import {
+ BubbleMenu, EditorContent, FloatingMenu, useEditor,
+} from '@tiptap/react'
+import React from 'react'
+import { WebrtcProvider } from 'y-webrtc'
+import * as Y from 'yjs'
+
+const ydoc = new Y.Doc()
+
+// eslint-disable-next-line @typescript-eslint/no-unused-vars
+const provider = new WebrtcProvider('tiptap-collaboration-extension', ydoc)
+
+export default () => {
+ const editor = useEditor({
+ extensions: [
+ Document,
+ Paragraph,
+ Text,
+ Heading,
+ Bold,
+ Collaboration.configure({
+ document: ydoc,
+ }),
+ Placeholder.configure({
+ placeholder:
+ 'Write something … It’ll be shared with everyone else looking at this example.',
+ }),
+ ],
+ })
+
+ return (
+ <>
+ {editor && (
+ <>
+
+
+
+
+
+
+
+
+
+
+ >
+ )}
+
+ >
+ )
+}
diff --git a/demos/src/Extensions/CollaborationWithMenus/React/index.spec.js b/demos/src/Extensions/CollaborationWithMenus/React/index.spec.js
new file mode 100644
index 00000000000..fca788454b3
--- /dev/null
+++ b/demos/src/Extensions/CollaborationWithMenus/React/index.spec.js
@@ -0,0 +1,34 @@
+context('/src/Extensions/CollaborationWithMenus/React/', () => {
+ before(() => {
+ cy.visit('/src/Extensions/CollaborationWithMenus/React/')
+ })
+
+ it('should have a working tiptap instance', () => {
+ cy.get('.tiptap').then(([{ editor }]) => {
+ // eslint-disable-next-line
+ expect(editor).to.not.be.null
+ })
+ })
+
+ it('should have menu plugins initiated', () => {
+ cy.get('.tiptap').then(([{ editor }]) => {
+ const bubbleMenuPlugin = editor.view.state.plugins.find(plugin => plugin.spec.key?.key === 'bubbleMenu$')
+ const floatingMenuPlugin = editor.view.state.plugins.find(plugin => plugin.spec.key?.key === 'floatingMenu$')
+ const hasBothMenuPluginsLoaded = !!bubbleMenuPlugin && !!floatingMenuPlugin
+
+ expect(hasBothMenuPluginsLoaded).to.equal(true)
+ })
+ })
+
+ it('should have a ydoc', () => {
+ cy.get('.tiptap').then(([{ editor }]) => {
+ /**
+ * @type {import('yjs').Doc}
+ */
+ const yDoc = editor.extensionManager.extensions.find(a => a.name === 'collaboration').options.document
+
+ // eslint-disable-next-line
+ expect(yDoc).to.not.be.null
+ })
+ })
+})
diff --git a/demos/src/Extensions/CollaborationWithMenus/React/styles.scss b/demos/src/Extensions/CollaborationWithMenus/React/styles.scss
new file mode 100644
index 00000000000..0bffeb75cb3
--- /dev/null
+++ b/demos/src/Extensions/CollaborationWithMenus/React/styles.scss
@@ -0,0 +1,72 @@
+/* Basic editor styles */
+.tiptap {
+ :first-child {
+ margin-top: 0;
+ }
+
+ /* Placeholder (at the top) */
+ p.is-editor-empty:first-child::before {
+ color: var(--gray-4);
+ content: attr(data-placeholder);
+ float: left;
+ height: 0;
+ pointer-events: none;
+ }
+
+ &.ProseMirror-focused p.is-editor-empty:first-child::before {
+ content: '';
+ }
+}
+
+/* Bubble menu */
+.bubble-menu {
+ background-color: var(--white);
+ border: 1px solid var(--gray-1);
+ border-radius: 0.7rem;
+ box-shadow: var(--shadow);
+ display: flex;
+ padding: 0.2rem;
+
+ button {
+ background-color: unset;
+
+ &:hover {
+ background-color: var(--gray-3);
+ }
+
+ &.is-active {
+ background-color: var(--purple);
+
+ &:hover {
+ background-color: var(--purple-contrast);
+ }
+ }
+ }
+}
+
+/* Floating menu */
+.floating-menu {
+ display: flex;
+ background-color: var(--gray-3);
+ padding: 0.1rem;
+ border-radius: 0.5rem;
+
+ button {
+ background-color: unset;
+ padding: 0.275rem 0.425rem;
+ border-radius: 0.3rem;
+
+ &:hover {
+ background-color: var(--gray-3);
+ }
+
+ &.is-active {
+ background-color: var(--white);
+ color: var(--purple);
+
+ &:hover {
+ color: var(--purple-contrast);
+ }
+ }
+ }
+}
diff --git a/demos/src/Extensions/CollaborationWithMenus/Vue/index.html b/demos/src/Extensions/CollaborationWithMenus/Vue/index.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/demos/src/Extensions/CollaborationWithMenus/Vue/index.spec.js b/demos/src/Extensions/CollaborationWithMenus/Vue/index.spec.js
new file mode 100644
index 00000000000..cec1d27c47a
--- /dev/null
+++ b/demos/src/Extensions/CollaborationWithMenus/Vue/index.spec.js
@@ -0,0 +1,34 @@
+context('/src/Extensions/CollaborationWithMenus/Vue/', () => {
+ before(() => {
+ cy.visit('/src/Extensions/CollaborationWithMenus/Vue/')
+ })
+
+ it('should have a working tiptap instance', () => {
+ cy.get('.tiptap').then(([{ editor }]) => {
+ // eslint-disable-next-line
+ expect(editor).to.not.be.null
+ })
+ })
+
+ it('should have menu plugins initiated', () => {
+ cy.get('.tiptap').then(([{ editor }]) => {
+ const bubbleMenuPlugin = editor.view.state.plugins.find(plugin => plugin.spec.key?.key === 'bubbleMenu$')
+ const floatingMenuPlugin = editor.view.state.plugins.find(plugin => plugin.spec.key?.key === 'floatingMenu$')
+ const hasBothMenuPluginsLoaded = !!bubbleMenuPlugin && !!floatingMenuPlugin
+
+ expect(hasBothMenuPluginsLoaded).to.equal(true)
+ })
+ })
+
+ it('should have a ydoc', () => {
+ cy.get('.tiptap').then(([{ editor }]) => {
+ /**
+ * @type {import('yjs').Doc}
+ */
+ const yDoc = editor.extensionManager.extensions.find(a => a.name === 'collaboration').options.document
+
+ // eslint-disable-next-line
+ expect(yDoc).to.not.be.null
+ })
+ })
+})
diff --git a/demos/src/Extensions/CollaborationWithMenus/Vue/index.vue b/demos/src/Extensions/CollaborationWithMenus/Vue/index.vue
new file mode 100644
index 00000000000..864325d1bff
--- /dev/null
+++ b/demos/src/Extensions/CollaborationWithMenus/Vue/index.vue
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demos/src/Extensions/Typography/React/index.spec.js b/demos/src/Extensions/Typography/React/index.spec.js
index 7c36ddb7064..b99b282236d 100644
--- a/demos/src/Extensions/Typography/React/index.spec.js
+++ b/demos/src/Extensions/Typography/React/index.spec.js
@@ -4,121 +4,99 @@ context('/src/Extensions/Typography/React/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('should keep dates as they are', () => {
- cy.get('.tiptap').realType('1/4/2024')
- cy.get('.tiptap').should('contain', '1/4/2024')
+ cy.get('.tiptap').type('1/4/2024').should('contain', '1/4/2024')
})
it('should make a fraction only with spaces afterwards', () => {
- cy.get('.tiptap').realType('1/4')
- cy.get('.tiptap').should('contain', '1/4')
-
- cy.get('.tiptap').type('{selectall}{backspace}')
-
- cy.get('.tiptap').realType('1/4 ')
- cy.get('.tiptap').should('contain', '¼')
+ cy.get('.tiptap').type('1/4').should('contain', '1/4')
+ cy.get('.tiptap').type('{selectall}{backspace}1/4 ').should('contain', '¼')
})
it('should make an em dash from two dashes', () => {
- cy.get('.tiptap').realType('-- emDash')
- cy.get('.tiptap').should('contain', '— emDash')
+ cy.get('.tiptap').type('-- emDash').should('contain', '— emDash')
})
it('should make an ellipsis from three dots', () => {
- cy.get('.tiptap').realType('... ellipsis')
- cy.get('.tiptap').should('contain', '… ellipsis')
+ cy.get('.tiptap').type('... ellipsis').should('contain', '… ellipsis')
})
it('should make a correct open double quote', () => {
- cy.get('.tiptap').realType('"openDoubleQuote"')
- cy.get('.tiptap').should('contain', '“openDoubleQuote')
+ cy.get('.tiptap').type('"openDoubleQuote"').should('contain', '“openDoubleQuote')
})
it('should make a correct close double quote', () => {
- cy.get('.tiptap').realType('"closeDoubleQuote"')
- cy.get('.tiptap').should('contain', 'closeDoubleQuote”')
+ cy.get('.tiptap').type('"closeDoubleQuote"').should('contain', 'closeDoubleQuote”')
})
it('should make a correct open single quote', () => {
- cy.get('.tiptap').realType("'openSingleQuote'")
- cy.get('.tiptap').should('contain', '‘openSingleQuote’')
+ cy.get('.tiptap').type("'openSingleQuote'").should('contain', '‘openSingleQuote’')
})
it('should make a correct close single quote', () => {
- cy.get('.tiptap').realType("'closeSingleQuote'")
- cy.get('.tiptap').should('contain', 'closeSingleQuote’')
+ cy.get('.tiptap').type("'closeSingleQuote'").should('contain', 'closeSingleQuote’')
})
it('should make a left arrow', () => {
- cy.get('.tiptap').realType('<- leftArrow')
- cy.get('.tiptap').should('contain', '← leftArrow')
+ cy.get('.tiptap').type('<- leftArrow').should('contain', '← leftArrow')
})
it('should make a right arrow', () => {
- cy.get('.tiptap').realType('-> rightArrow')
- cy.get('.tiptap').should('contain', '→ rightArrow')
+ cy.get('.tiptap').type('-> rightArrow').should('contain', '→ rightArrow')
})
it('should make a copyright sign', () => {
- cy.get('.tiptap').realType('(c) copyright')
- cy.get('.tiptap').should('contain', '© copyright')
+ cy.get('.tiptap').type('(c) copyright').should('contain', '© copyright')
})
it('should make a registered trademark sign', () => {
- cy.get('.tiptap').realType('(r) registeredTrademark')
- cy.get('.tiptap').should('contain', '® registeredTrademark')
+ cy.get('.tiptap')
+ .type('(r) registeredTrademark')
+ .should('contain', '® registeredTrademark')
})
it('should make a trademark sign', () => {
- cy.get('.tiptap').realType('(tm) trademark')
- cy.get('.tiptap').should('contain', '™ trademark')
+ cy.get('.tiptap').type('(tm) trademark').should('contain', '™ trademark')
})
it('should make a one half', () => {
- cy.get('.tiptap').realType('1/2 oneHalf')
- cy.get('.tiptap').should('contain', '½ oneHalf')
+ cy.get('.tiptap').type('1/2 oneHalf').should('contain', '½ oneHalf')
})
it('should make a plus/minus sign', () => {
- cy.get('.tiptap').realType('+/- plusMinus')
- cy.get('.tiptap').should('contain', '± plusMinus')
+ cy.get('.tiptap').type('+/- plusMinus').should('contain', '± plusMinus')
})
it('should make a not equal sign', () => {
- cy.get('.tiptap').realType('!= notEqual')
- cy.get('.tiptap').should('contain', '≠ notEqual')
+ cy.get('.tiptap').type('!= notEqual').should('contain', '≠ notEqual')
})
it('should make a laquo', () => {
- cy.get('.tiptap').realType('<< laquorow')
- cy.get('.tiptap').should('contain', '« laquo')
+ cy.get('.tiptap').type('<< laquorow').should('contain', '« laquo')
})
it('should make a raquo', () => {
- cy.get('.tiptap').realType('>> raquorow')
- cy.get('.tiptap').should('contain', '» raquo')
+ cy.get('.tiptap').type('>> raquorow').should('contain', '» raquo')
})
it('should make a multiplication sign from an asterisk', () => {
- cy.get('.tiptap').realType('1*1 multiplication')
- cy.get('.tiptap').should('contain', '1×1 multiplication')
+ cy.get('.tiptap').type('1*1 multiplication').should('contain', '1×1 multiplication')
})
it('should make a multiplication sign from an x', () => {
- cy.get('.tiptap').realType('1x1 multiplication')
- cy.get('.tiptap').should('contain', '1×1 multiplication')
+ cy.get('.tiptap').type('1x1 multiplication').should('contain', '1×1 multiplication')
})
it('should make a multiplication sign from an asterisk with spaces', () => {
- cy.get('.tiptap').realType('1 * 1 multiplication')
- cy.get('.tiptap').should('contain', '1 × 1 multiplication')
+ cy.get('.tiptap').type('1 * 1 multiplication').should('contain', '1 × 1 multiplication')
})
it('should make a multiplication sign from an x with spaces', () => {
- cy.get('.tiptap').realType('1 x 1 multiplication')
- cy.get('.tiptap').should('contain', '1 × 1 multiplication')
+ cy.get('.tiptap').type('1 x 1 multiplication').should('contain', '1 × 1 multiplication')
})
})
diff --git a/demos/src/Extensions/Typography/Vue/index.spec.js b/demos/src/Extensions/Typography/Vue/index.spec.js
index 86e21c2bec6..2cba19876cb 100644
--- a/demos/src/Extensions/Typography/Vue/index.spec.js
+++ b/demos/src/Extensions/Typography/Vue/index.spec.js
@@ -4,121 +4,128 @@ context('/src/Extensions/Typography/Vue/', () => {
})
beforeEach(() => {
- cy.resetEditor()
- })
-
- it('should keep dates as they are', () => {
- cy.get('.tiptap').realType('1/4/2024')
- cy.get('.tiptap').should('contain', '1/4/2024')
- })
-
- it('should make a fraction only with spaces afterwards', () => {
- cy.get('.tiptap').realType('1/4')
- cy.get('.tiptap').should('contain', '1/4')
-
- cy.get('.tiptap').type('{selectall}{backspace}')
-
- cy.get('.tiptap').realType('1/4 ')
- cy.get('.tiptap').should('contain', '¼')
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('should make an em dash from two dashes', () => {
- cy.get('.tiptap').realType('-- emDash')
- cy.get('.tiptap').should('contain', '— emDash')
+ cy.get('.tiptap')
+ .type('-- emDash')
+ .should('contain', '— emDash')
})
it('should make an ellipsis from three dots', () => {
- cy.get('.tiptap').realType('... ellipsis')
- cy.get('.tiptap').should('contain', '… ellipsis')
+ cy.get('.tiptap')
+ .type('... ellipsis')
+ .should('contain', '… ellipsis')
})
it('should make a correct open double quote', () => {
- cy.get('.tiptap').realType('"openDoubleQuote"')
- cy.get('.tiptap').should('contain', '“openDoubleQuote')
+ cy.get('.tiptap')
+ .type('"openDoubleQuote"')
+ .should('contain', '“openDoubleQuote')
})
it('should make a correct close double quote', () => {
- cy.get('.tiptap').realType('"closeDoubleQuote"')
- cy.get('.tiptap').should('contain', 'closeDoubleQuote”')
+ cy.get('.tiptap')
+ .type('"closeDoubleQuote"')
+ .should('contain', 'closeDoubleQuote”')
})
it('should make a correct open single quote', () => {
- cy.get('.tiptap').realType("'openSingleQuote'")
- cy.get('.tiptap').should('contain', '‘openSingleQuote’')
+ cy.get('.tiptap')
+ .type("'openSingleQuote'")
+ .should('contain', '‘openSingleQuote’')
})
it('should make a correct close single quote', () => {
- cy.get('.tiptap').realType("'closeSingleQuote'")
- cy.get('.tiptap').should('contain', 'closeSingleQuote’')
+ cy.get('.tiptap')
+ .type("'closeSingleQuote'")
+ .should('contain', 'closeSingleQuote’')
})
it('should make a left arrow', () => {
- cy.get('.tiptap').realType('<- leftArrow')
- cy.get('.tiptap').should('contain', '← leftArrow')
+ cy.get('.tiptap')
+ .type('<- leftArrow')
+ .should('contain', '← leftArrow')
})
it('should make a right arrow', () => {
- cy.get('.tiptap').realType('-> rightArrow')
- cy.get('.tiptap').should('contain', '→ rightArrow')
+ cy.get('.tiptap')
+ .type('-> rightArrow')
+ .should('contain', '→ rightArrow')
})
it('should make a copyright sign', () => {
- cy.get('.tiptap').realType('(c) copyright')
- cy.get('.tiptap').should('contain', '© copyright')
+ cy.get('.tiptap')
+ .type('(c) copyright')
+ .should('contain', '© copyright')
})
it('should make a registered trademark sign', () => {
- cy.get('.tiptap').realType('(r) registeredTrademark')
- cy.get('.tiptap').should('contain', '® registeredTrademark')
+ cy.get('.tiptap')
+ .type('(r) registeredTrademark')
+ .should('contain', '® registeredTrademark')
})
it('should make a trademark sign', () => {
- cy.get('.tiptap').realType('(tm) trademark')
- cy.get('.tiptap').should('contain', '™ trademark')
+ cy.get('.tiptap')
+ .type('(tm) trademark')
+ .should('contain', '™ trademark')
})
it('should make a one half', () => {
- cy.get('.tiptap').realType('1/2 oneHalf')
- cy.get('.tiptap').should('contain', '½ oneHalf')
+ cy.get('.tiptap')
+ .type('1/2 oneHalf')
+ .should('contain', '½ oneHalf')
})
it('should make a plus/minus sign', () => {
- cy.get('.tiptap').realType('+/- plusMinus')
- cy.get('.tiptap').should('contain', '± plusMinus')
+ cy.get('.tiptap')
+ .type('+/- plusMinus')
+ .should('contain', '± plusMinus')
})
it('should make a not equal sign', () => {
- cy.get('.tiptap').realType('!= notEqual')
- cy.get('.tiptap').should('contain', '≠ notEqual')
+ cy.get('.tiptap')
+ .type('!= notEqual')
+ .should('contain', '≠ notEqual')
})
it('should make a laquo', () => {
- cy.get('.tiptap').realType('<< laquorow')
- cy.get('.tiptap').should('contain', '« laquo')
+ cy.get('.tiptap')
+ .type('<< laquorow')
+ .should('contain', '« laquo')
})
it('should make a raquo', () => {
- cy.get('.tiptap').realType('>> raquorow')
- cy.get('.tiptap').should('contain', '» raquo')
+ cy.get('.tiptap')
+ .type('>> raquorow')
+ .should('contain', '» raquo')
})
it('should make a multiplication sign from an asterisk', () => {
- cy.get('.tiptap').realType('1*1 multiplication')
- cy.get('.tiptap').should('contain', '1×1 multiplication')
+ cy.get('.tiptap')
+ .type('1*1 multiplication')
+ .should('contain', '1×1 multiplication')
})
it('should make a multiplication sign from an x', () => {
- cy.get('.tiptap').realType('1x1 multiplication')
- cy.get('.tiptap').should('contain', '1×1 multiplication')
+ cy.get('.tiptap')
+ .type('1x1 multiplication')
+ .should('contain', '1×1 multiplication')
})
it('should make a multiplication sign from an asterisk with spaces', () => {
- cy.get('.tiptap').realType('1 * 1 multiplication')
- cy.get('.tiptap').should('contain', '1 × 1 multiplication')
+ cy.get('.tiptap')
+ .type('1 * 1 multiplication')
+ .should('contain', '1 × 1 multiplication')
})
it('should make a multiplication sign from an x with spaces', () => {
- cy.get('.tiptap').realType('1 x 1 multiplication')
- cy.get('.tiptap').should('contain', '1 × 1 multiplication')
+ cy.get('.tiptap')
+ .type('1 x 1 multiplication')
+ .should('contain', '1 × 1 multiplication')
})
})
diff --git a/demos/src/Extensions/TypographyWithOverrides/React/index.spec.js b/demos/src/Extensions/TypographyWithOverrides/React/index.spec.js
index 0403cdb72f6..8f3f99625a5 100644
--- a/demos/src/Extensions/TypographyWithOverrides/React/index.spec.js
+++ b/demos/src/Extensions/TypographyWithOverrides/React/index.spec.js
@@ -4,11 +4,12 @@ context('/src/Extensions/TypographyWithOverrides/React/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('should use correct override for rightArrow', () => {
- cy.get('.tiptap').realType('-> Hello!')
- cy.get('.tiptap').should('contain', '=====> Hello!')
+ cy.get('.tiptap').type('-> Hello!').should('contain', '=====> Hello!')
})
})
diff --git a/demos/src/Extensions/TypographyWithOverrides/Vue/index.spec.js b/demos/src/Extensions/TypographyWithOverrides/Vue/index.spec.js
index ccc06e78c35..ec4851792a1 100644
--- a/demos/src/Extensions/TypographyWithOverrides/Vue/index.spec.js
+++ b/demos/src/Extensions/TypographyWithOverrides/Vue/index.spec.js
@@ -4,11 +4,12 @@ context('/src/Extensions/TypographyWithOverrides/Vue/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('should use correct override for rightArrow', () => {
- cy.get('.tiptap').realType('-> Hello!')
- cy.get('.tiptap').should('contain', '=====> Hello!')
+ cy.get('.tiptap').type('-> Hello!').should('contain', '=====> Hello!')
})
})
diff --git a/demos/src/GuideContent/ReadOnly/React/index.spec.js b/demos/src/GuideContent/ReadOnly/React/index.spec.js
index 51cff9d0cc3..c2448d7a1e0 100644
--- a/demos/src/GuideContent/ReadOnly/React/index.spec.js
+++ b/demos/src/GuideContent/ReadOnly/React/index.spec.js
@@ -4,7 +4,9 @@ context('/src/GuideContent/ReadOnly/React/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('should be read-only', () => {
diff --git a/demos/src/GuideContent/ReadOnly/Vue/index.spec.js b/demos/src/GuideContent/ReadOnly/Vue/index.spec.js
index 4d644436e4a..0cd7e479576 100644
--- a/demos/src/GuideContent/ReadOnly/Vue/index.spec.js
+++ b/demos/src/GuideContent/ReadOnly/Vue/index.spec.js
@@ -4,7 +4,9 @@ context('/src/GuideContent/ReadOnly/Vue/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('should be read-only', () => {
diff --git a/demos/src/Marks/Bold/React/index.spec.js b/demos/src/Marks/Bold/React/index.spec.js
index 1cebbf0543b..60649c5f530 100644
--- a/demos/src/Marks/Bold/React/index.spec.js
+++ b/demos/src/Marks/Bold/React/index.spec.js
@@ -72,12 +72,10 @@ context('/src/Marks/Bold/React/', () => {
})
it('should make a bold text from the default markdown shortcut', () => {
- cy.get('.tiptap').realType('**Bold**')
- cy.get('.tiptap').find('strong').should('contain', 'Bold')
+ cy.get('.tiptap').type('**Bold**').find('strong').should('contain', 'Bold')
})
it('should make a bold text from the alternative markdown shortcut', () => {
- cy.get('.tiptap').realType('__Bold__')
- cy.get('.tiptap').find('strong').should('contain', 'Bold')
+ cy.get('.tiptap').type('__Bold__').find('strong').should('contain', 'Bold')
})
})
diff --git a/demos/src/Marks/Bold/Vue/index.spec.js b/demos/src/Marks/Bold/Vue/index.spec.js
index 1d91ed7b8ac..aaf7e4dddc5 100644
--- a/demos/src/Marks/Bold/Vue/index.spec.js
+++ b/demos/src/Marks/Bold/Vue/index.spec.js
@@ -77,15 +77,15 @@ context('/src/Marks/Bold/Vue/', () => {
it('should make a bold text from the default markdown shortcut', () => {
cy.get('.tiptap')
- .realType('**Bold**')
- cy.get('.tiptap').find('strong')
+ .type('**Bold**')
+ .find('strong')
.should('contain', 'Bold')
})
it('should make a bold text from the alternative markdown shortcut', () => {
cy.get('.tiptap')
- .realType('__Bold__')
- cy.get('.tiptap').find('strong')
+ .type('__Bold__')
+ .find('strong')
.should('contain', 'Bold')
})
})
diff --git a/demos/src/Marks/Code/React/index.spec.js b/demos/src/Marks/Code/React/index.spec.js
index 6109741c2ee..2c79e91c200 100644
--- a/demos/src/Marks/Code/React/index.spec.js
+++ b/demos/src/Marks/Code/React/index.spec.js
@@ -55,7 +55,6 @@ context('/src/Marks/Code/React/', () => {
})
it('should make inline code from the markdown shortcut', () => {
- cy.get('.tiptap').realType('`Example`')
- cy.get('.tiptap').find('code').should('contain', 'Example')
+ cy.get('.tiptap').type('`Example`').find('code').should('contain', 'Example')
})
})
diff --git a/demos/src/Marks/Code/Vue/index.spec.js b/demos/src/Marks/Code/Vue/index.spec.js
index 1a81eeb9f50..ac00ba2b4fa 100644
--- a/demos/src/Marks/Code/Vue/index.spec.js
+++ b/demos/src/Marks/Code/Vue/index.spec.js
@@ -64,8 +64,7 @@ context('/src/Marks/Code/Vue/', () => {
it('should make inline code from the markdown shortcut', () => {
cy.get('.tiptap')
- .realType('`Example`')
- cy.get('.tiptap')
+ .type('`Example`')
.find('code')
.should('contain', 'Example')
})
diff --git a/demos/src/Marks/Italic/React/index.spec.js b/demos/src/Marks/Italic/React/index.spec.js
index e15f0d465b1..1655950bb47 100644
--- a/demos/src/Marks/Italic/React/index.spec.js
+++ b/demos/src/Marks/Italic/React/index.spec.js
@@ -61,14 +61,4 @@ context('/src/Marks/Italic/React/', () => {
.find('em')
.should('not.exist')
})
-
- it('should make a italic text from the default markdown shortcut', () => {
- cy.get('.tiptap').realType('*Italic*')
- cy.get('.tiptap').find('em').should('contain', 'Italic')
- })
-
- it('should make a italic text from the alternative markdown shortcut', () => {
- cy.get('.tiptap').realType('_Italic_')
- cy.get('.tiptap').find('em').should('contain', 'Italic')
- })
})
diff --git a/demos/src/Marks/Italic/Vue/index.spec.js b/demos/src/Marks/Italic/Vue/index.spec.js
index 83e8cea56af..b3f8cde6646 100644
--- a/demos/src/Marks/Italic/Vue/index.spec.js
+++ b/demos/src/Marks/Italic/Vue/index.spec.js
@@ -68,20 +68,4 @@ context('/src/Marks/Italic/Vue/', () => {
.find('em')
.should('not.exist')
})
-
- it('should make a italic text from the default markdown shortcut', () => {
- cy.get('.tiptap')
- .realType('*Italic*')
- cy.get('.tiptap')
- .find('em')
- .should('contain', 'Italic')
- })
-
- it('should make a italic text from the alternative markdown shortcut', () => {
- cy.get('.tiptap')
- .realType('_Italic_')
- cy.get('.tiptap')
- .find('em')
- .should('contain', 'Italic')
- })
})
diff --git a/demos/src/Marks/Strike/React/index.spec.js b/demos/src/Marks/Strike/React/index.spec.js
index d2d8cc841b2..ad96ce17778 100644
--- a/demos/src/Marks/Strike/React/index.spec.js
+++ b/demos/src/Marks/Strike/React/index.spec.js
@@ -71,8 +71,7 @@ context('/src/Marks/Strike/React/', () => {
.should('not.exist')
})
- it.only('should make a striked text from the markdown shortcut', () => {
- cy.get('.tiptap').realType('~~Strike~~')
- cy.get('.tiptap').find('s').should('contain', 'Strike')
+ it('should make a striked text from the markdown shortcut', () => {
+ cy.get('.tiptap').type('~~Strike~~').find('s').should('contain', 'Strike')
})
})
diff --git a/demos/src/Marks/Strike/Vue/index.spec.js b/demos/src/Marks/Strike/Vue/index.spec.js
index bcfec97cba7..09b36dd691a 100644
--- a/demos/src/Marks/Strike/Vue/index.spec.js
+++ b/demos/src/Marks/Strike/Vue/index.spec.js
@@ -79,8 +79,7 @@ context('/src/Marks/Strike/Vue/', () => {
it('should make a striked text from the markdown shortcut', () => {
cy.get('.tiptap')
- .realType('~~Strike~~')
- cy.get('.tiptap')
+ .type('~~Strike~~')
.find('s')
.should('contain', 'Strike')
})
diff --git a/demos/src/Nodes/Blockquote/React/index.spec.js b/demos/src/Nodes/Blockquote/React/index.spec.js
index 1ac59016226..131eac18155 100644
--- a/demos/src/Nodes/Blockquote/React/index.spec.js
+++ b/demos/src/Nodes/Blockquote/React/index.spec.js
@@ -80,7 +80,6 @@ context('/src/Nodes/Blockquote/React/', () => {
})
it('should make a blockquote from markdown shortcuts', () => {
- cy.get('.tiptap').realType('> Quote')
- cy.get('.tiptap').find('blockquote').should('contain', 'Quote')
+ cy.get('.tiptap').type('> Quote').find('blockquote').should('contain', 'Quote')
})
})
diff --git a/demos/src/Nodes/Blockquote/Vue/index.spec.js b/demos/src/Nodes/Blockquote/Vue/index.spec.js
index e7985d15deb..d8f1641d766 100644
--- a/demos/src/Nodes/Blockquote/Vue/index.spec.js
+++ b/demos/src/Nodes/Blockquote/Vue/index.spec.js
@@ -97,8 +97,7 @@ context('/src/Nodes/Blockquote/Vue/', () => {
it('should make a blockquote from markdown shortcuts', () => {
cy.get('.tiptap')
- .realType('> Quote')
- cy.get('.tiptap')
+ .type('> Quote')
.find('blockquote')
.should('contain', 'Quote')
})
diff --git a/demos/src/Nodes/BulletList/React/index.spec.js b/demos/src/Nodes/BulletList/React/index.spec.js
index 3e7b58236dc..d346ba67bcd 100644
--- a/demos/src/Nodes/BulletList/React/index.spec.js
+++ b/demos/src/Nodes/BulletList/React/index.spec.js
@@ -49,7 +49,9 @@ context('/src/Nodes/BulletList/React/', () => {
})
it('should leave the list with double enter', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
cy.get('.tiptap').type('- List Item 1{enter}{enter}Paragraph')
@@ -66,9 +68,11 @@ context('/src/Nodes/BulletList/React/', () => {
})
it('should make a bullet list from an asterisk', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
- cy.get('.tiptap').realType('* List Item 1{enter}List Item 2')
+ cy.get('.tiptap').type('* List Item 1{enter}List Item 2')
cy.get('.tiptap').find('li:nth-child(1)').should('contain', 'List Item 1')
@@ -76,9 +80,11 @@ context('/src/Nodes/BulletList/React/', () => {
})
it('should make a bullet list from a dash', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
- cy.get('.tiptap').realType('- List Item 1{enter}List Item 2')
+ cy.get('.tiptap').type('- List Item 1{enter}List Item 2')
cy.get('.tiptap').find('li:nth-child(1)').should('contain', 'List Item 1')
@@ -86,9 +92,11 @@ context('/src/Nodes/BulletList/React/', () => {
})
it('should make a bullet list from a plus', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
- cy.get('.tiptap').realType('+ List Item 1{enter}List Item 2')
+ cy.get('.tiptap').type('+ List Item 1{enter}List Item 2')
cy.get('.tiptap').find('li:nth-child(1)').should('contain', 'List Item 1')
@@ -96,9 +104,11 @@ context('/src/Nodes/BulletList/React/', () => {
})
it('should remove the bullet list after pressing backspace', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
- cy.get('.tiptap').realType('* {backspace}Example')
+ cy.get('.tiptap').type('* {backspace}Example')
cy.get('.tiptap').find('p').should('contain', '* Example')
})
diff --git a/demos/src/Nodes/BulletList/Vue/index.spec.js b/demos/src/Nodes/BulletList/Vue/index.spec.js
index 4c2890f63b5..fa07cb344b7 100644
--- a/demos/src/Nodes/BulletList/Vue/index.spec.js
+++ b/demos/src/Nodes/BulletList/Vue/index.spec.js
@@ -62,7 +62,9 @@ context('/src/Nodes/BulletList/Vue/', () => {
})
it('should leave the list with double enter', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
cy.get('.tiptap')
.type('- List Item 1{enter}{enter}Paragraph')
@@ -85,10 +87,12 @@ context('/src/Nodes/BulletList/Vue/', () => {
})
it('should make a bullet list from an asterisk', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
cy.get('.tiptap')
- .realType('* List Item 1{enter}List Item 2')
+ .type('* List Item 1{enter}List Item 2')
cy.get('.tiptap')
.find('li:nth-child(1)')
@@ -100,10 +104,12 @@ context('/src/Nodes/BulletList/Vue/', () => {
})
it('should make a bullet list from a dash', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
cy.get('.tiptap')
- .realType('- List Item 1{enter}List Item 2')
+ .type('- List Item 1{enter}List Item 2')
cy.get('.tiptap')
.find('li:nth-child(1)')
@@ -115,10 +121,12 @@ context('/src/Nodes/BulletList/Vue/', () => {
})
it('should make a bullet list from a plus', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
cy.get('.tiptap')
- .realType('+ List Item 1{enter}List Item 2')
+ .type('+ List Item 1{enter}List Item 2')
cy.get('.tiptap')
.find('li:nth-child(1)')
@@ -130,10 +138,12 @@ context('/src/Nodes/BulletList/Vue/', () => {
})
it('should remove the bullet list after pressing backspace', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
cy.get('.tiptap')
- .realType('* {backspace}Example')
+ .type('* {backspace}Example')
cy.get('.tiptap')
.find('p')
diff --git a/demos/src/Nodes/CodeBlock/React/index.spec.js b/demos/src/Nodes/CodeBlock/React/index.spec.js
index 2f8ad282074..2af0f2b306a 100644
--- a/demos/src/Nodes/CodeBlock/React/index.spec.js
+++ b/demos/src/Nodes/CodeBlock/React/index.spec.js
@@ -76,8 +76,7 @@ context('/src/Nodes/CodeBlock/React/', () => {
cy.get('.tiptap').then(([{ editor }]) => {
editor.commands.clearContent()
- cy.get('.tiptap').realType('``` Code')
- cy.get('.tiptap').find('pre>code').should('contain', 'Code')
+ cy.get('.tiptap').type('``` Code').find('pre>code').should('contain', 'Code')
})
})
@@ -85,8 +84,7 @@ context('/src/Nodes/CodeBlock/React/', () => {
cy.get('.tiptap').then(([{ editor }]) => {
editor.commands.clearContent()
- cy.get('.tiptap').realType('~~~ Code')
- cy.get('.tiptap').find('pre>code').should('contain', 'Code')
+ cy.get('.tiptap').type('~~~ Code').find('pre>code').should('contain', 'Code')
})
})
@@ -95,8 +93,8 @@ context('/src/Nodes/CodeBlock/React/', () => {
editor.commands.clearContent()
cy.get('.tiptap')
- .realType('```js Code')
- cy.get('.tiptap').find('pre>code.language-js')
+ .type('```js Code')
+ .find('pre>code.language-js')
.should('contain', 'Code')
})
})
@@ -106,8 +104,8 @@ context('/src/Nodes/CodeBlock/React/', () => {
editor.commands.clearContent()
cy.get('.tiptap')
- .realType('~~~js Code')
- cy.get('.tiptap').find('pre>code.language-js')
+ .type('~~~js Code')
+ .find('pre>code.language-js')
.should('contain', 'Code')
})
})
@@ -116,8 +114,7 @@ context('/src/Nodes/CodeBlock/React/', () => {
cy.get('.tiptap').then(([{ editor }]) => {
editor.commands.clearContent()
- cy.get('.tiptap').realType('```{enter}Code')
- cy.get('.tiptap').find('pre>code').should('contain', 'Code')
+ cy.get('.tiptap').type('```{enter}Code').find('pre>code').should('contain', 'Code')
})
})
@@ -125,7 +122,7 @@ context('/src/Nodes/CodeBlock/React/', () => {
cy.get('.tiptap').then(([{ editor }]) => {
editor.commands.clearContent()
- cy.get('.tiptap').realType('``` {backspace}')
+ cy.get('.tiptap').type('``` {backspace}')
cy.get('.tiptap pre').should('not.exist')
})
@@ -137,7 +134,7 @@ context('/src/Nodes/CodeBlock/React/', () => {
cy.get('.tiptap pre').should('not.exist')
- cy.get('.tiptap').realType('Paragraph{enter}``` A{backspace}{backspace}')
+ cy.get('.tiptap').type('Paragraph{enter}``` A{backspace}{backspace}')
cy.get('.tiptap pre').should('not.exist')
})
@@ -149,7 +146,7 @@ context('/src/Nodes/CodeBlock/React/', () => {
cy.get('.tiptap pre').should('not.exist')
- cy.get('.tiptap').realType('Paragraph{enter}{enter}``` A{backspace}{backspace}')
+ cy.get('.tiptap').type('Paragraph{enter}{enter}``` A{backspace}{backspace}')
cy.get('.tiptap pre').should('not.exist')
})
@@ -161,7 +158,7 @@ context('/src/Nodes/CodeBlock/React/', () => {
cy.get('.tiptap pre').should('not.exist')
- cy.get('.tiptap').realType('``` A{leftarrow}{backspace}')
+ cy.get('.tiptap').type('``` A{leftArrow}{backspace}')
cy.get('.tiptap pre').should('not.exist')
})
diff --git a/demos/src/Nodes/CodeBlock/Vue/index.spec.js b/demos/src/Nodes/CodeBlock/Vue/index.spec.js
index 753a8c9ef83..9d8dd627d62 100644
--- a/demos/src/Nodes/CodeBlock/Vue/index.spec.js
+++ b/demos/src/Nodes/CodeBlock/Vue/index.spec.js
@@ -87,8 +87,8 @@ context('/src/Nodes/CodeBlock/Vue/', () => {
editor.commands.clearContent()
cy.get('.tiptap')
- .realType('``` Code')
- cy.get('.tiptap').find('pre>code')
+ .type('``` Code')
+ .find('pre>code')
.should('contain', 'Code')
})
})
@@ -98,8 +98,8 @@ context('/src/Nodes/CodeBlock/Vue/', () => {
editor.commands.clearContent()
cy.get('.tiptap')
- .realType('~~~ Code')
- cy.get('.tiptap').find('pre>code')
+ .type('~~~ Code')
+ .find('pre>code')
.should('contain', 'Code')
})
})
@@ -109,8 +109,8 @@ context('/src/Nodes/CodeBlock/Vue/', () => {
editor.commands.clearContent()
cy.get('.tiptap')
- .realType('```js Code')
- cy.get('.tiptap').find('pre>code.language-js')
+ .type('```js Code')
+ .find('pre>code.language-js')
.should('contain', 'Code')
})
})
@@ -120,8 +120,8 @@ context('/src/Nodes/CodeBlock/Vue/', () => {
editor.commands.clearContent()
cy.get('.tiptap')
- .realType('~~~js Code')
- cy.get('.tiptap').find('pre>code.language-js')
+ .type('~~~js Code')
+ .find('pre>code.language-js')
.should('contain', 'Code')
})
})
@@ -131,8 +131,8 @@ context('/src/Nodes/CodeBlock/Vue/', () => {
editor.commands.clearContent()
cy.get('.tiptap')
- .realType('```{enter}Code')
- cy.get('.tiptap').find('pre>code')
+ .type('```{enter}Code')
+ .find('pre>code')
.should('contain', 'Code')
})
})
@@ -142,7 +142,7 @@ context('/src/Nodes/CodeBlock/Vue/', () => {
editor.commands.clearContent()
cy.get('.tiptap')
- .realType('``` {backspace}')
+ .type('``` {backspace}')
cy.get('.tiptap pre')
.should('not.exist')
@@ -157,7 +157,7 @@ context('/src/Nodes/CodeBlock/Vue/', () => {
.should('not.exist')
cy.get('.tiptap')
- .realType('Paragraph{enter}``` A{backspace}{backspace}')
+ .type('Paragraph{enter}``` A{backspace}{backspace}')
cy.get('.tiptap pre')
.should('not.exist')
@@ -172,7 +172,7 @@ context('/src/Nodes/CodeBlock/Vue/', () => {
.should('not.exist')
cy.get('.tiptap')
- .realType('Paragraph{enter}{enter}``` A{backspace}{backspace}')
+ .type('Paragraph{enter}{enter}``` A{backspace}{backspace}')
cy.get('.tiptap pre')
.should('not.exist')
@@ -187,7 +187,7 @@ context('/src/Nodes/CodeBlock/Vue/', () => {
.should('not.exist')
cy.get('.tiptap')
- .type('``` A{leftarrow}{backspace}')
+ .type('``` A{leftArrow}{backspace}')
cy.get('.tiptap pre')
.should('not.exist')
diff --git a/demos/src/Nodes/CodeBlockLowlight/React/styles.scss b/demos/src/Nodes/CodeBlockLowlight/React/styles.scss
index a8484746e77..9e318386eba 100644
--- a/demos/src/Nodes/CodeBlockLowlight/React/styles.scss
+++ b/demos/src/Nodes/CodeBlockLowlight/React/styles.scss
@@ -29,7 +29,6 @@
.hljs-template-variable,
.hljs-attribute,
.hljs-tag,
- .hljs-name,
.hljs-regexp,
.hljs-link,
.hljs-name,
diff --git a/demos/src/Nodes/Heading/React/index.spec.js b/demos/src/Nodes/Heading/React/index.spec.js
index 72e8a161e3f..58dcf9f1866 100644
--- a/demos/src/Nodes/Heading/React/index.spec.js
+++ b/demos/src/Nodes/Heading/React/index.spec.js
@@ -86,23 +86,26 @@ context('/src/Nodes/Heading/React/', () => {
})
it('should make a h1 from the default markdown shortcut', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
- cy.get('.tiptap').realType('# Headline')
- cy.get('.tiptap').find('h1').should('contain', 'Headline')
+ cy.get('.tiptap').type('# Headline').find('h1').should('contain', 'Headline')
})
it('should make a h2 from the default markdown shortcut', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
- cy.get('.tiptap').realType('## Headline')
- cy.get('.tiptap').find('h2').should('contain', 'Headline')
+ cy.get('.tiptap').type('## Headline').find('h2').should('contain', 'Headline')
})
it('should make a h3 from the default markdown shortcut', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
- cy.get('.tiptap').realType('### Headline')
- cy.get('.tiptap').find('h3').should('contain', 'Headline')
+ cy.get('.tiptap').type('### Headline').find('h3').should('contain', 'Headline')
})
})
diff --git a/demos/src/Nodes/Heading/Vue/index.spec.js b/demos/src/Nodes/Heading/Vue/index.spec.js
index 7dc64b7769e..2d49d09898c 100644
--- a/demos/src/Nodes/Heading/Vue/index.spec.js
+++ b/demos/src/Nodes/Heading/Vue/index.spec.js
@@ -108,29 +108,35 @@ context('/src/Nodes/Heading/Vue/', () => {
})
it('should make a h1 from the default markdown shortcut', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
cy.get('.tiptap')
- .realType('# Headline')
- cy.get('.tiptap').find('h1')
+ .type('# Headline')
+ .find('h1')
.should('contain', 'Headline')
})
it('should make a h2 from the default markdown shortcut', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
cy.get('.tiptap')
- .realType('## Headline')
- cy.get('.tiptap').find('h2')
+ .type('## Headline')
+ .find('h2')
.should('contain', 'Headline')
})
it('should make a h3 from the default markdown shortcut', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
cy.get('.tiptap')
- .realType('### Headline')
- cy.get('.tiptap').find('h3')
+ .type('### Headline')
+ .find('h3')
.should('contain', 'Headline')
})
})
diff --git a/demos/src/Nodes/HorizontalRule/React/index.spec.js b/demos/src/Nodes/HorizontalRule/React/index.spec.js
index 35cd3262e67..051182cef21 100644
--- a/demos/src/Nodes/HorizontalRule/React/index.spec.js
+++ b/demos/src/Nodes/HorizontalRule/React/index.spec.js
@@ -37,7 +37,7 @@ context('/src/Nodes/HorizontalRule/React/', () => {
cy.get('.tiptap hr').should('not.exist')
- cy.get('.tiptap').realType('---')
+ cy.get('.tiptap').type('---')
cy.get('.tiptap hr').should('exist')
})
@@ -49,7 +49,7 @@ context('/src/Nodes/HorizontalRule/React/', () => {
cy.get('.tiptap hr').should('not.exist')
- cy.get('.tiptap').realType('___ ')
+ cy.get('.tiptap').type('___ ')
cy.get('.tiptap hr').should('exist')
})
diff --git a/demos/src/Nodes/HorizontalRule/Vue/index.spec.js b/demos/src/Nodes/HorizontalRule/Vue/index.spec.js
index 4a9c93632e9..69d1707b964 100644
--- a/demos/src/Nodes/HorizontalRule/Vue/index.spec.js
+++ b/demos/src/Nodes/HorizontalRule/Vue/index.spec.js
@@ -42,7 +42,7 @@ context('/src/Nodes/HorizontalRule/Vue/', () => {
.should('not.exist')
cy.get('.tiptap')
- .realType('---')
+ .type('---')
cy.get('.tiptap hr')
.should('exist')
@@ -57,7 +57,7 @@ context('/src/Nodes/HorizontalRule/Vue/', () => {
.should('not.exist')
cy.get('.tiptap')
- .realType('___ ')
+ .type('___ ')
cy.get('.tiptap hr')
.should('exist')
diff --git a/demos/src/Nodes/OrderedList/React/index.spec.js b/demos/src/Nodes/OrderedList/React/index.spec.js
index 03ee1827644..79aa3b2fba9 100644
--- a/demos/src/Nodes/OrderedList/React/index.spec.js
+++ b/demos/src/Nodes/OrderedList/React/index.spec.js
@@ -56,9 +56,11 @@ context('/src/Nodes/OrderedList/React/', () => {
})
it('should leave the list with double enter', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
- cy.get('.tiptap').realType('1. List Item 1{enter}{enter}Paragraph')
+ cy.get('.tiptap').type('1. List Item 1{enter}{enter}Paragraph')
cy.get('.tiptap').find('li').its('length').should('eq', 1)
@@ -66,9 +68,11 @@ context('/src/Nodes/OrderedList/React/', () => {
})
it('should make a ordered list from a number', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
- cy.get('.tiptap').realType('1. List Item 1{enter}List Item 2')
+ cy.get('.tiptap').type('1. List Item 1{enter}List Item 2')
cy.get('.tiptap').find('li:nth-child(1)').should('contain', 'List Item 1')
@@ -76,18 +80,22 @@ context('/src/Nodes/OrderedList/React/', () => {
})
it('should make a ordered list from a number other than number one', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
- cy.get('.tiptap').realType('2. List Item 1{enter}List Item 2')
+ cy.get('.tiptap').type('2. List Item 1{enter}List Item 2')
cy.get('.tiptap').find('li:nth-child(1)').should('contain', 'List Item 1')
cy.get('.tiptap').find('li:nth-child(2)').should('contain', 'List Item 2')
})
it('should remove the ordered list after pressing backspace', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
- cy.get('.tiptap').realType('1. {backspace}Example')
+ cy.get('.tiptap').type('1. {backspace}Example')
cy.get('.tiptap').find('p').should('contain', '1. Example')
})
diff --git a/demos/src/Nodes/OrderedList/Vue/index.spec.js b/demos/src/Nodes/OrderedList/Vue/index.spec.js
index e76764204ca..7014a358e73 100644
--- a/demos/src/Nodes/OrderedList/Vue/index.spec.js
+++ b/demos/src/Nodes/OrderedList/Vue/index.spec.js
@@ -69,10 +69,12 @@ context('/src/Nodes/OrderedList/Vue/', () => {
})
it('should leave the list with double enter', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
cy.get('.tiptap')
- .realType('1. List Item 1{enter}{enter}Paragraph')
+ .type('1. List Item 1{enter}{enter}Paragraph')
cy.get('.tiptap')
.find('li')
@@ -85,10 +87,12 @@ context('/src/Nodes/OrderedList/Vue/', () => {
})
it('should make a ordered list from a number', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
cy.get('.tiptap')
- .realType('1. List Item 1{enter}List Item 2')
+ .type('1. List Item 1{enter}List Item 2')
cy.get('.tiptap')
.find('li:nth-child(1)')
@@ -100,20 +104,24 @@ context('/src/Nodes/OrderedList/Vue/', () => {
})
it('should make a ordered list from a number other than number one', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
cy.get('.tiptap')
- .realType('2. List Item 1{enter}List Item 2')
+ .type('2. List Item 1{enter}List Item 2')
cy.get('.tiptap').find('li:nth-child(1)').should('contain', 'List Item 1')
cy.get('.tiptap').find('li:nth-child(2)').should('contain', 'List Item 2')
})
it('should remove the ordered list after pressing backspace', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
cy.get('.tiptap')
- .realType('1. {backspace}Example')
+ .type('1. {backspace}Example')
cy.get('.tiptap')
.find('p')
diff --git a/demos/src/Nodes/Paragraph/React/index.spec.js b/demos/src/Nodes/Paragraph/React/index.spec.js
index 405530b0f0f..7cd66381269 100644
--- a/demos/src/Nodes/Paragraph/React/index.spec.js
+++ b/demos/src/Nodes/Paragraph/React/index.spec.js
@@ -4,7 +4,9 @@ context('/src/Nodes/Paragraph/React/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('should parse paragraphs correctly', () => {
diff --git a/demos/src/Nodes/Paragraph/Vue/index.spec.js b/demos/src/Nodes/Paragraph/Vue/index.spec.js
index d2436f38274..bd1af92651b 100644
--- a/demos/src/Nodes/Paragraph/Vue/index.spec.js
+++ b/demos/src/Nodes/Paragraph/Vue/index.spec.js
@@ -4,7 +4,9 @@ context('/src/Nodes/Paragraph/Vue/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('should parse paragraphs correctly', () => {
diff --git a/demos/src/Nodes/Table/React/index.spec.js b/demos/src/Nodes/Table/React/index.spec.js
index 0050e73d0e2..0b423b97502 100644
--- a/demos/src/Nodes/Table/React/index.spec.js
+++ b/demos/src/Nodes/Table/React/index.spec.js
@@ -4,7 +4,9 @@ context('/src/Nodes/Table/React/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('creates a table (1x1)', () => {
diff --git a/demos/src/Nodes/Table/Vue/index.spec.js b/demos/src/Nodes/Table/Vue/index.spec.js
index e3ef61aea96..cdfd5e9c258 100644
--- a/demos/src/Nodes/Table/Vue/index.spec.js
+++ b/demos/src/Nodes/Table/Vue/index.spec.js
@@ -4,7 +4,9 @@ context('/src/Nodes/Table/Vue/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('creates a table (1x1)', () => {
diff --git a/demos/src/Nodes/TaskList/React/index.spec.js b/demos/src/Nodes/TaskList/React/index.spec.js
index 807f8171cd2..72772aba3eb 100644
--- a/demos/src/Nodes/TaskList/React/index.spec.js
+++ b/demos/src/Nodes/TaskList/React/index.spec.js
@@ -64,9 +64,11 @@ context('/src/Nodes/TaskList/React/', () => {
})
it('should leave the list with double enter', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
- cy.get('.tiptap').realType('[ ] List Item 1{enter}{enter}Paragraph')
+ cy.get('.tiptap').type('[ ] List Item 1{enter}{enter}Paragraph')
cy.get('.tiptap').find('li').its('length').should('eq', 1)
@@ -74,9 +76,11 @@ context('/src/Nodes/TaskList/React/', () => {
})
it('should make a task list from square brackets', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
- cy.get('.tiptap').realType('[ ] List Item 1{enter}List Item 2')
+ cy.get('.tiptap').type('[ ] List Item 1{enter}List Item 2')
cy.get('.tiptap')
.find('li:nth-child(1)')
@@ -90,9 +94,11 @@ context('/src/Nodes/TaskList/React/', () => {
})
it('should make a task list from checked square brackets', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
- cy.get('.tiptap').realType('[x] List Item 1{enter}List Item 2')
+ cy.get('.tiptap').type('[x] List Item 1{enter}List Item 2')
cy.get('.tiptap')
.find('li:nth-child(1)')
diff --git a/demos/src/Nodes/TaskList/Vue/index.spec.js b/demos/src/Nodes/TaskList/Vue/index.spec.js
index 6df373b55d4..471efc228b0 100644
--- a/demos/src/Nodes/TaskList/Vue/index.spec.js
+++ b/demos/src/Nodes/TaskList/Vue/index.spec.js
@@ -69,10 +69,12 @@ context('/src/Nodes/TaskList/Vue/', () => {
})
it('should leave the list with double enter', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
cy.get('.tiptap')
- .realType('[ ] List Item 1{enter}{enter}Paragraph')
+ .type('[ ] List Item 1{enter}{enter}Paragraph')
cy.get('.tiptap')
.find('li')
@@ -85,10 +87,12 @@ context('/src/Nodes/TaskList/Vue/', () => {
})
it('should make a task list from square brackets', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
cy.get('.tiptap')
- .realType('[ ] List Item 1{enter}List Item 2')
+ .type('[ ] List Item 1{enter}List Item 2')
cy.get('.tiptap')
.find('li:nth-child(1)')
@@ -102,10 +106,12 @@ context('/src/Nodes/TaskList/Vue/', () => {
})
it('should make a task list from checked square brackets', () => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
cy.get('.tiptap')
- .realType('[x] List Item 1{enter}List Item 2')
+ .type('[x] List Item 1{enter}List Item 2')
cy.get('.tiptap')
.find('li:nth-child(1)')
diff --git a/demos/src/Nodes/Text/React/index.spec.js b/demos/src/Nodes/Text/React/index.spec.js
index a965b983f4e..95de137aee8 100644
--- a/demos/src/Nodes/Text/React/index.spec.js
+++ b/demos/src/Nodes/Text/React/index.spec.js
@@ -4,7 +4,9 @@ context('/src/Nodes/Text/React/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('text should be wrapped in a paragraph by default', () => {
diff --git a/demos/src/Nodes/Text/Vue/index.spec.js b/demos/src/Nodes/Text/Vue/index.spec.js
index e98c91eb993..a33836c51b4 100644
--- a/demos/src/Nodes/Text/Vue/index.spec.js
+++ b/demos/src/Nodes/Text/Vue/index.spec.js
@@ -4,7 +4,9 @@ context('/src/Nodes/Text/Vue/', () => {
})
beforeEach(() => {
- cy.resetEditor()
+ cy.get('.tiptap').then(([{ editor }]) => {
+ editor.commands.clearContent()
+ })
})
it('text should be wrapped in a paragraph by default', () => {
diff --git a/package-lock.json b/package-lock.json
index fdbc8265a5e..082a62505d7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -29,7 +29,6 @@
"@typescript-eslint/parser": "^5.62.0",
"babel-loader": "^9.1.3",
"cypress": "^10.11.0",
- "cypress-real-events": "1.13.0",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^8.57.0",
"eslint-config-airbnb-base": "^15.0.0",
@@ -40,9 +39,9 @@
"eslint-plugin-simple-import-sort": "^7.0.0",
"eslint-plugin-vue": "^9.27.0",
"husky": "^8.0.3",
- "lint-staged": "^13.3.0",
+ "lint-staged": "^15.2.10",
"minimist": "^1.2.8",
- "rollup": "^4.18.0",
+ "rollup": "^4.22.4",
"rollup-plugin-auto-external": "^2.0.0",
"rollup-plugin-sourcemaps": "^0.6.3",
"rollup-plugin-typescript2": "^0.36.0",
@@ -50,12 +49,12 @@
"tsup": "^8.1.0",
"turbo": "2.0.6",
"typescript": "^5.5.3",
- "webpack": "^5.92.1"
+ "webpack": "^5.94.0"
}
},
"demos": {
"name": "tiptap-demos",
- "version": "2.4.2",
+ "version": "2.5.0",
"dependencies": {
"@hocuspocus/provider": "2.13.5",
"@lexical/react": "^0.11.1",
@@ -86,11 +85,11 @@
"react": "^18.0.0",
"react-dom": "^18.0.0",
"sass": "^1.49.7",
- "svelte": "^4.0.0",
+ "svelte": "^4.2.19",
"tailwindcss": "^3.3.2",
"typescript": "^5.4.5",
"uuid": "^8.3.2",
- "vite": "^5.0.0",
+ "vite": "^5.4.6",
"vite-plugin-checker": "^0.6.4",
"vue": "^3.0.0",
"vue-router": "^4.0.11"
@@ -4441,9 +4440,9 @@
}
},
"node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.20.0.tgz",
- "integrity": "sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz",
+ "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==",
"cpu": [
"arm"
],
@@ -4455,9 +4454,9 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.20.0.tgz",
- "integrity": "sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz",
+ "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==",
"cpu": [
"arm64"
],
@@ -4469,9 +4468,9 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.20.0.tgz",
- "integrity": "sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz",
+ "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==",
"cpu": [
"arm64"
],
@@ -4483,9 +4482,9 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.20.0.tgz",
- "integrity": "sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz",
+ "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==",
"cpu": [
"x64"
],
@@ -4497,9 +4496,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.20.0.tgz",
- "integrity": "sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz",
+ "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==",
"cpu": [
"arm"
],
@@ -4511,9 +4510,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.20.0.tgz",
- "integrity": "sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz",
+ "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==",
"cpu": [
"arm"
],
@@ -4525,9 +4524,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.20.0.tgz",
- "integrity": "sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz",
+ "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==",
"cpu": [
"arm64"
],
@@ -4539,9 +4538,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.20.0.tgz",
- "integrity": "sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz",
+ "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==",
"cpu": [
"arm64"
],
@@ -4553,9 +4552,9 @@
]
},
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.20.0.tgz",
- "integrity": "sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz",
+ "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==",
"cpu": [
"ppc64"
],
@@ -4567,9 +4566,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.20.0.tgz",
- "integrity": "sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz",
+ "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==",
"cpu": [
"riscv64"
],
@@ -4581,9 +4580,9 @@
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.20.0.tgz",
- "integrity": "sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz",
+ "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==",
"cpu": [
"s390x"
],
@@ -4595,9 +4594,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.20.0.tgz",
- "integrity": "sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz",
+ "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==",
"cpu": [
"x64"
],
@@ -4609,9 +4608,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.20.0.tgz",
- "integrity": "sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz",
+ "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==",
"cpu": [
"x64"
],
@@ -4623,9 +4622,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.20.0.tgz",
- "integrity": "sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz",
+ "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==",
"cpu": [
"arm64"
],
@@ -4637,9 +4636,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.20.0.tgz",
- "integrity": "sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz",
+ "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==",
"cpu": [
"ia32"
],
@@ -4651,9 +4650,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.20.0.tgz",
- "integrity": "sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz",
+ "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==",
"cpu": [
"x64"
],
@@ -4951,28 +4950,6 @@
"@types/node": "*"
}
},
- "node_modules/@types/eslint": {
- "version": "9.6.0",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.0.tgz",
- "integrity": "sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "*",
- "@types/json-schema": "*"
- }
- },
- "node_modules/@types/eslint-scope": {
- "version": "3.7.7",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
- "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/eslint": "*",
- "@types/estree": "*"
- }
- },
"node_modules/@types/estree": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
@@ -7413,15 +7390,6 @@
"node": ">=12.0.0"
}
},
- "node_modules/cypress-real-events": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/cypress-real-events/-/cypress-real-events-1.13.0.tgz",
- "integrity": "sha512-LoejtK+dyZ1jaT8wGT5oASTPfsNV8/ClRp99ruN60oPj8cBJYod80iJDyNwfPAu4GCxTXOhhAv9FO65Hpwt6Hg==",
- "dev": true,
- "peerDependencies": {
- "cypress": "^4.x || ^5.x || ^6.x || ^7.x || ^8.x || ^9.x || ^10.x || ^11.x || ^12.x || ^13.x"
- }
- },
"node_modules/cypress/node_modules/@types/node": {
"version": "14.18.63",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz",
@@ -8655,6 +8623,19 @@
"node": ">=6"
}
},
+ "node_modules/environment": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz",
+ "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/err-code": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz",
@@ -10596,6 +10577,19 @@
"node": "6.* || 8.* || >= 10.*"
}
},
+ "node_modules/get-east-asian-width": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz",
+ "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/get-intrinsic": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
@@ -12336,53 +12330,53 @@
"license": "MIT"
},
"node_modules/lint-staged": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.3.0.tgz",
- "integrity": "sha512-mPRtrYnipYYv1FEE134ufbWpeggNTo+O/UPzngoaKzbzHAthvR55am+8GfHTnqNRQVRRrYQLGW9ZyUoD7DsBHQ==",
+ "version": "15.2.10",
+ "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.10.tgz",
+ "integrity": "sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "chalk": "5.3.0",
- "commander": "11.0.0",
- "debug": "4.3.4",
- "execa": "7.2.0",
- "lilconfig": "2.1.0",
- "listr2": "6.6.1",
- "micromatch": "4.0.5",
- "pidtree": "0.6.0",
- "string-argv": "0.3.2",
- "yaml": "2.3.1"
+ "chalk": "~5.3.0",
+ "commander": "~12.1.0",
+ "debug": "~4.3.6",
+ "execa": "~8.0.1",
+ "lilconfig": "~3.1.2",
+ "listr2": "~8.2.4",
+ "micromatch": "~4.0.8",
+ "pidtree": "~0.6.0",
+ "string-argv": "~0.3.2",
+ "yaml": "~2.5.0"
},
"bin": {
"lint-staged": "bin/lint-staged.js"
},
"engines": {
- "node": "^16.14.0 || >=18.0.0"
+ "node": ">=18.12.0"
},
"funding": {
"url": "https://opencollective.com/lint-staged"
}
},
"node_modules/lint-staged/node_modules/ansi-escapes": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz",
- "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz",
+ "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "type-fest": "^1.0.2"
+ "environment": "^1.0.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/lint-staged/node_modules/ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -12419,243 +12413,185 @@
}
},
"node_modules/lint-staged/node_modules/cli-cursor": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz",
- "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz",
+ "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "restore-cursor": "^4.0.0"
+ "restore-cursor": "^5.0.0"
},
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/lint-staged/node_modules/cli-truncate": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz",
- "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz",
+ "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==",
"dev": true,
"license": "MIT",
"dependencies": {
"slice-ansi": "^5.0.0",
- "string-width": "^5.0.0"
+ "string-width": "^7.0.0"
},
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/lint-staged/node_modules/commander": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz",
- "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==",
+ "version": "12.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
+ "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=16"
- }
- },
- "node_modules/lint-staged/node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=18"
}
},
"node_modules/lint-staged/node_modules/emoji-regex": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "version": "10.4.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz",
+ "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==",
"dev": true,
"license": "MIT"
},
- "node_modules/lint-staged/node_modules/execa": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz",
- "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.1",
- "human-signals": "^4.3.0",
- "is-stream": "^3.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^5.1.0",
- "onetime": "^6.0.0",
- "signal-exit": "^3.0.7",
- "strip-final-newline": "^3.0.0"
- },
- "engines": {
- "node": "^14.18.0 || ^16.14.0 || >=18.0.0"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
- }
- },
- "node_modules/lint-staged/node_modules/get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "node_modules/lint-staged/node_modules/is-fullwidth-code-point": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz",
+ "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=10"
+ "node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/lint-staged/node_modules/human-signals": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz",
- "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=14.18.0"
- }
- },
- "node_modules/lint-staged/node_modules/is-fullwidth-code-point": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz",
- "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==",
+ "node_modules/lint-staged/node_modules/lilconfig": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz",
+ "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=12"
+ "node": ">=14"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/antonk52"
}
},
"node_modules/lint-staged/node_modules/listr2": {
- "version": "6.6.1",
- "resolved": "https://registry.npmjs.org/listr2/-/listr2-6.6.1.tgz",
- "integrity": "sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==",
+ "version": "8.2.4",
+ "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.4.tgz",
+ "integrity": "sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "cli-truncate": "^3.1.0",
+ "cli-truncate": "^4.0.0",
"colorette": "^2.0.20",
"eventemitter3": "^5.0.1",
- "log-update": "^5.0.1",
- "rfdc": "^1.3.0",
- "wrap-ansi": "^8.1.0"
+ "log-update": "^6.1.0",
+ "rfdc": "^1.4.1",
+ "wrap-ansi": "^9.0.0"
},
"engines": {
- "node": ">=16.0.0"
- },
- "peerDependencies": {
- "enquirer": ">= 2.3.0 < 3"
- },
- "peerDependenciesMeta": {
- "enquirer": {
- "optional": true
- }
+ "node": ">=18.0.0"
}
},
"node_modules/lint-staged/node_modules/log-update": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/log-update/-/log-update-5.0.1.tgz",
- "integrity": "sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz",
+ "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ansi-escapes": "^5.0.0",
- "cli-cursor": "^4.0.0",
- "slice-ansi": "^5.0.0",
- "strip-ansi": "^7.0.1",
- "wrap-ansi": "^8.0.1"
+ "ansi-escapes": "^7.0.0",
+ "cli-cursor": "^5.0.0",
+ "slice-ansi": "^7.1.0",
+ "strip-ansi": "^7.1.0",
+ "wrap-ansi": "^9.0.0"
},
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/lint-staged/node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "node_modules/lint-staged/node_modules/log-update/node_modules/is-fullwidth-code-point": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz",
+ "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
+ "get-east-asian-width": "^1.0.0"
},
"engines": {
- "node": ">=8.6"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/lint-staged/node_modules/mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "node_modules/lint-staged/node_modules/log-update/node_modules/slice-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz",
+ "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.2.1",
+ "is-fullwidth-code-point": "^5.0.0"
+ },
"engines": {
- "node": ">=6"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
}
},
- "node_modules/lint-staged/node_modules/restore-cursor": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz",
- "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==",
+ "node_modules/lint-staged/node_modules/onetime": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz",
+ "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2"
+ "mimic-function": "^5.0.0"
},
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/lint-staged/node_modules/restore-cursor/node_modules/onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "node_modules/lint-staged/node_modules/restore-cursor": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz",
+ "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "mimic-fn": "^2.1.0"
+ "onetime": "^7.0.0",
+ "signal-exit": "^4.1.0"
},
"engines": {
- "node": ">=6"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/lint-staged/node_modules/signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true,
- "license": "ISC"
- },
"node_modules/lint-staged/node_modules/slice-ansi": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz",
@@ -12674,18 +12610,18 @@
}
},
"node_modules/lint-staged/node_modules/string-width": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
+ "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^9.2.2",
- "strip-ansi": "^7.0.1"
+ "emoji-regex": "^10.3.0",
+ "get-east-asian-width": "^1.0.0",
+ "strip-ansi": "^7.1.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -12707,32 +12643,19 @@
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
- "node_modules/lint-staged/node_modules/type-fest": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
- "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/lint-staged/node_modules/wrap-ansi": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
- "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz",
+ "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ansi-styles": "^6.1.0",
- "string-width": "^5.0.1",
- "strip-ansi": "^7.0.1"
+ "ansi-styles": "^6.2.1",
+ "string-width": "^7.0.0",
+ "strip-ansi": "^7.1.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
@@ -13362,9 +13285,9 @@
}
},
"node_modules/micromatch": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
- "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"license": "MIT",
"dependencies": {
"braces": "^3.0.3",
@@ -13410,6 +13333,19 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/mimic-function": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
+ "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/min-indent": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
@@ -14218,9 +14154,9 @@
}
},
"node_modules/picocolors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
- "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
+ "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
"license": "ISC"
},
"node_modules/picomatch": {
@@ -14312,9 +14248,9 @@
}
},
"node_modules/postcss": {
- "version": "8.4.41",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz",
- "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==",
+ "version": "8.4.47",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
+ "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
"funding": [
{
"type": "opencollective",
@@ -14332,8 +14268,8 @@
"license": "MIT",
"dependencies": {
"nanoid": "^3.3.7",
- "picocolors": "^1.0.1",
- "source-map-js": "^1.2.0"
+ "picocolors": "^1.1.0",
+ "source-map-js": "^1.2.1"
},
"engines": {
"node": "^10 || ^12 || >=14"
@@ -14426,19 +14362,6 @@
"url": "https://github.com/sponsors/antonk52"
}
},
- "node_modules/postcss-load-config/node_modules/yaml": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz",
- "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "yaml": "bin.mjs"
- },
- "engines": {
- "node": ">= 14"
- }
- },
"node_modules/postcss-nested": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz",
@@ -14873,9 +14796,9 @@
}
},
"node_modules/prosemirror-view": {
- "version": "1.33.10",
- "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.33.10.tgz",
- "integrity": "sha512-wsKg9JeQkWlkXG8DDcloI/tbB9r3CysziubigoC8wTuE6zobN/9cl8bGRk1J1XjkUp7rxGBziOSxrhoILL84hg==",
+ "version": "1.34.3",
+ "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.34.3.tgz",
+ "integrity": "sha512-mKZ54PrX19sSaQye+sef+YjBbNu2voNwLS1ivb6aD2IRmxRGW64HU9B644+7OfJStGLyxvOreKqEgfvXa91WIA==",
"license": "MIT",
"dependencies": {
"prosemirror-model": "^1.20.0",
@@ -15645,9 +15568,9 @@
"license": "Unlicense"
},
"node_modules/rollup": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.20.0.tgz",
- "integrity": "sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz",
+ "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -15661,22 +15584,22 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.20.0",
- "@rollup/rollup-android-arm64": "4.20.0",
- "@rollup/rollup-darwin-arm64": "4.20.0",
- "@rollup/rollup-darwin-x64": "4.20.0",
- "@rollup/rollup-linux-arm-gnueabihf": "4.20.0",
- "@rollup/rollup-linux-arm-musleabihf": "4.20.0",
- "@rollup/rollup-linux-arm64-gnu": "4.20.0",
- "@rollup/rollup-linux-arm64-musl": "4.20.0",
- "@rollup/rollup-linux-powerpc64le-gnu": "4.20.0",
- "@rollup/rollup-linux-riscv64-gnu": "4.20.0",
- "@rollup/rollup-linux-s390x-gnu": "4.20.0",
- "@rollup/rollup-linux-x64-gnu": "4.20.0",
- "@rollup/rollup-linux-x64-musl": "4.20.0",
- "@rollup/rollup-win32-arm64-msvc": "4.20.0",
- "@rollup/rollup-win32-ia32-msvc": "4.20.0",
- "@rollup/rollup-win32-x64-msvc": "4.20.0",
+ "@rollup/rollup-android-arm-eabi": "4.22.4",
+ "@rollup/rollup-android-arm64": "4.22.4",
+ "@rollup/rollup-darwin-arm64": "4.22.4",
+ "@rollup/rollup-darwin-x64": "4.22.4",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.22.4",
+ "@rollup/rollup-linux-arm-musleabihf": "4.22.4",
+ "@rollup/rollup-linux-arm64-gnu": "4.22.4",
+ "@rollup/rollup-linux-arm64-musl": "4.22.4",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4",
+ "@rollup/rollup-linux-riscv64-gnu": "4.22.4",
+ "@rollup/rollup-linux-s390x-gnu": "4.22.4",
+ "@rollup/rollup-linux-x64-gnu": "4.22.4",
+ "@rollup/rollup-linux-x64-musl": "4.22.4",
+ "@rollup/rollup-win32-arm64-msvc": "4.22.4",
+ "@rollup/rollup-win32-ia32-msvc": "4.22.4",
+ "@rollup/rollup-win32-x64-msvc": "4.22.4",
"fsevents": "~2.3.2"
}
},
@@ -16333,9 +16256,9 @@
}
},
"node_modules/source-map-js": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
- "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
@@ -16777,9 +16700,9 @@
}
},
"node_modules/svelte": {
- "version": "4.2.18",
- "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.18.tgz",
- "integrity": "sha512-d0FdzYIiAePqRJEb90WlJDkjUEx42xhivxN8muUBmfZnP+tzUgz12DJ2hRJi8sIHCME7jeK1PTMgKPSfTd8JrA==",
+ "version": "4.2.19",
+ "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.19.tgz",
+ "integrity": "sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -17562,21 +17485,6 @@
"node": ">=6"
}
},
- "node_modules/tsup/node_modules/yaml": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz",
- "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==",
- "dev": true,
- "license": "ISC",
- "optional": true,
- "peer": true,
- "bin": {
- "yaml": "bin.mjs"
- },
- "engines": {
- "node": ">= 14"
- }
- },
"node_modules/tsutils": {
"version": "3.21.0",
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
@@ -18056,15 +17964,15 @@
}
},
"node_modules/vite": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.1.tgz",
- "integrity": "sha512-1oE6yuNXssjrZdblI9AfBbHCC41nnyoVoEZxQnID6yvQZAFBzxxkqoFLtHUMkYunL8hwOLEjgTuxpkRxvba3kA==",
+ "version": "5.4.6",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz",
+ "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"esbuild": "^0.21.3",
- "postcss": "^8.4.41",
- "rollup": "^4.13.0"
+ "postcss": "^8.4.43",
+ "rollup": "^4.20.0"
},
"bin": {
"vite": "bin/vite.js"
@@ -18401,13 +18309,12 @@
"license": "BSD-2-Clause"
},
"node_modules/webpack": {
- "version": "5.93.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz",
- "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==",
+ "version": "5.94.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz",
+ "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/eslint-scope": "^3.7.3",
"@types/estree": "^1.0.5",
"@webassemblyjs/ast": "^1.12.1",
"@webassemblyjs/wasm-edit": "^1.12.1",
@@ -18416,7 +18323,7 @@
"acorn-import-attributes": "^1.9.5",
"browserslist": "^4.21.10",
"chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.17.0",
+ "enhanced-resolve": "^5.17.1",
"es-module-lexer": "^1.2.1",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
@@ -18846,11 +18753,14 @@
"license": "ISC"
},
"node_modules/yaml": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz",
- "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==",
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz",
+ "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==",
"dev": true,
"license": "ISC",
+ "bin": {
+ "yaml": "bin.mjs"
+ },
"engines": {
"node": ">= 14"
}
@@ -18937,159 +18847,143 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/zeed-dom": {
- "version": "0.10.11",
- "resolved": "https://registry.npmjs.org/zeed-dom/-/zeed-dom-0.10.11.tgz",
- "integrity": "sha512-7ukbu6aQKx34OQ7PfUIxOuAhk2MvyZY/t4/IJsVzy76zuMzfhE74+Dbyp8SHiUJPTPkF0FflP1KVrGJ7gk9IHw==",
- "license": "MIT",
- "dependencies": {
- "css-what": "^6.1.0"
- },
- "engines": {
- "node": ">=14.13.1"
- },
- "funding": {
- "type": "GitHub Sponsors ❤",
- "url": "https://github.com/sponsors/holtwick"
- }
- },
"packages/core": {
"name": "@tiptap/core",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/pm": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/pm": "^2.7.0"
}
},
"packages/extension-blockquote": {
"name": "@tiptap/extension-blockquote",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-bold": {
"name": "@tiptap/extension-bold",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-bubble-menu": {
"name": "@tiptap/extension-bubble-menu",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"dependencies": {
"tippy.js": "^6.3.7"
},
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
}
},
"packages/extension-bullet-list": {
"name": "@tiptap/extension-bullet-list",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-character-count": {
"name": "@tiptap/extension-character-count",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
}
},
"packages/extension-code": {
"name": "@tiptap/extension-code",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-code-block": {
"name": "@tiptap/extension-code-block",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
}
},
"packages/extension-code-block-lowlight": {
"name": "@tiptap/extension-code-block-lowlight",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/extension-code-block": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/extension-code-block": "^2.9.1",
+ "@tiptap/pm": "^2.9.1",
"lowlight": "^2 || ^3"
},
"funding": {
@@ -19097,20 +18991,20 @@
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/extension-code-block": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/extension-code-block": "^2.7.0",
+ "@tiptap/pm": "^2.7.0",
"highlight.js": "^11",
"lowlight": "^2 || ^3"
}
},
"packages/extension-collaboration": {
"name": "@tiptap/extension-collaboration",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1",
"y-prosemirror": "^1.2.12"
},
"funding": {
@@ -19118,17 +19012,17 @@
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0",
"y-prosemirror": "^1.2.11"
}
},
"packages/extension-collaboration-cursor": {
"name": "@tiptap/extension-collaboration-cursor",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5",
+ "@tiptap/core": "^2.9.1",
"y-prosemirror": "^1.2.12"
},
"funding": {
@@ -19136,7 +19030,7 @@
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
+ "@tiptap/core": "^2.7.0",
"y-prosemirror": "^1.2.11"
}
},
@@ -19192,601 +19086,630 @@
},
"packages/extension-color": {
"name": "@tiptap/extension-color",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/extension-text-style": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/extension-text-style": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/extension-text-style": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/extension-text-style": "^2.7.0"
}
},
"packages/extension-document": {
"name": "@tiptap/extension-document",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-dropcursor": {
"name": "@tiptap/extension-dropcursor",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
}
},
"packages/extension-floating-menu": {
"name": "@tiptap/extension-floating-menu",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"dependencies": {
"tippy.js": "^6.3.7"
},
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
}
},
"packages/extension-focus": {
"name": "@tiptap/extension-focus",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
}
},
"packages/extension-font-family": {
"name": "@tiptap/extension-font-family",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/extension-text-style": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/extension-text-style": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/extension-text-style": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/extension-text-style": "^2.7.0"
}
},
"packages/extension-gapcursor": {
"name": "@tiptap/extension-gapcursor",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
}
},
"packages/extension-hard-break": {
"name": "@tiptap/extension-hard-break",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-heading": {
"name": "@tiptap/extension-heading",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-highlight": {
"name": "@tiptap/extension-highlight",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-history": {
"name": "@tiptap/extension-history",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
}
},
"packages/extension-horizontal-rule": {
"name": "@tiptap/extension-horizontal-rule",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
}
},
"packages/extension-image": {
"name": "@tiptap/extension-image",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-italic": {
"name": "@tiptap/extension-italic",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-link": {
"name": "@tiptap/extension-link",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"dependencies": {
"linkifyjs": "^4.1.0"
},
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
}
},
"packages/extension-list-item": {
"name": "@tiptap/extension-list-item",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-list-keymap": {
"name": "@tiptap/extension-list-keymap",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-mention": {
"name": "@tiptap/extension-mention",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
- "@tiptap/suggestion": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1",
+ "@tiptap/suggestion": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
- "@tiptap/suggestion": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0",
+ "@tiptap/suggestion": "^2.7.0"
}
},
"packages/extension-ordered-list": {
"name": "@tiptap/extension-ordered-list",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-paragraph": {
"name": "@tiptap/extension-paragraph",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-placeholder": {
"name": "@tiptap/extension-placeholder",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
}
},
"packages/extension-strike": {
"name": "@tiptap/extension-strike",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-subscript": {
"name": "@tiptap/extension-subscript",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-superscript": {
"name": "@tiptap/extension-superscript",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-table": {
"name": "@tiptap/extension-table",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
}
},
"packages/extension-table-cell": {
"name": "@tiptap/extension-table-cell",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-table-header": {
"name": "@tiptap/extension-table-header",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-table-row": {
"name": "@tiptap/extension-table-row",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-task-item": {
"name": "@tiptap/extension-task-item",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
}
},
"packages/extension-task-list": {
"name": "@tiptap/extension-task-list",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-text": {
"name": "@tiptap/extension-text",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-text-align": {
"name": "@tiptap/extension-text-align",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-text-style": {
"name": "@tiptap/extension-text-style",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-typography": {
"name": "@tiptap/extension-typography",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-underline": {
"name": "@tiptap/extension-underline",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/extension-youtube": {
"name": "@tiptap/extension-youtube",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
}
},
"packages/html": {
"name": "@tiptap/html",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"dependencies": {
- "zeed-dom": "^0.10.11"
+ "zeed-dom": "^0.15.1"
},
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
+ }
+ },
+ "packages/html/node_modules/entities": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-5.0.0.tgz",
+ "integrity": "sha512-BeJFvFRJddxobhvEdm5GqHzRV/X+ACeuw0/BuuxsCh1EUZcAIz8+kYmBp/LrQuloy6K1f3a0M7+IhmZ7QnkISA==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "packages/html/node_modules/zeed-dom": {
+ "version": "0.15.1",
+ "resolved": "https://registry.npmjs.org/zeed-dom/-/zeed-dom-0.15.1.tgz",
+ "integrity": "sha512-dtZ0aQSFyZmoJS0m06/xBN1SazUBPL5HpzlAcs/KcRW0rzadYw12deQBjeMhGKMMeGEp7bA9vmikMLaO4exBcg==",
+ "license": "MIT",
+ "dependencies": {
+ "css-what": "^6.1.0",
+ "entities": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=14.13.1"
+ },
+ "funding": {
+ "type": "GitHub Sponsors ❤",
+ "url": "https://github.com/sponsors/holtwick"
}
},
"packages/pm": {
"name": "@tiptap/pm",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"dependencies": {
"prosemirror-changeset": "^2.2.1",
@@ -19806,7 +19729,7 @@
"prosemirror-tables": "^1.4.0",
"prosemirror-trailing-node": "^3.0.0",
"prosemirror-transform": "^1.10.0",
- "prosemirror-view": "^1.33.10"
+ "prosemirror-view": "^1.34.3"
},
"funding": {
"type": "github",
@@ -19815,18 +19738,18 @@
},
"packages/react": {
"name": "@tiptap/react",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"dependencies": {
- "@tiptap/extension-bubble-menu": "^2.6.5",
- "@tiptap/extension-floating-menu": "^2.6.5",
+ "@tiptap/extension-bubble-menu": "^2.9.1",
+ "@tiptap/extension-floating-menu": "^2.9.1",
"@types/use-sync-external-store": "^0.0.6",
"fast-deep-equal": "^3",
"use-sync-external-store": "^1.2.2"
},
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1",
"@types/react": "^18.2.14",
"@types/react-dom": "^18.2.6",
"react": "^18.0.0",
@@ -19837,37 +19760,38 @@
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0",
"react": "^17.0.0 || ^18.0.0",
"react-dom": "^17.0.0 || ^18.0.0"
}
},
"packages/starter-kit": {
"name": "@tiptap/starter-kit",
- "version": "2.6.5",
- "license": "MIT",
- "dependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/extension-blockquote": "^2.6.5",
- "@tiptap/extension-bold": "^2.6.5",
- "@tiptap/extension-bullet-list": "^2.6.5",
- "@tiptap/extension-code": "^2.6.5",
- "@tiptap/extension-code-block": "^2.6.5",
- "@tiptap/extension-document": "^2.6.5",
- "@tiptap/extension-dropcursor": "^2.6.5",
- "@tiptap/extension-gapcursor": "^2.6.5",
- "@tiptap/extension-hard-break": "^2.6.5",
- "@tiptap/extension-heading": "^2.6.5",
- "@tiptap/extension-history": "^2.6.5",
- "@tiptap/extension-horizontal-rule": "^2.6.5",
- "@tiptap/extension-italic": "^2.6.5",
- "@tiptap/extension-list-item": "^2.6.5",
- "@tiptap/extension-ordered-list": "^2.6.5",
- "@tiptap/extension-paragraph": "^2.6.5",
- "@tiptap/extension-strike": "^2.6.5",
- "@tiptap/extension-text": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "version": "2.9.1",
+ "license": "MIT",
+ "dependencies": {
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/extension-blockquote": "^2.9.1",
+ "@tiptap/extension-bold": "^2.9.1",
+ "@tiptap/extension-bullet-list": "^2.9.1",
+ "@tiptap/extension-code": "^2.9.1",
+ "@tiptap/extension-code-block": "^2.9.1",
+ "@tiptap/extension-document": "^2.9.1",
+ "@tiptap/extension-dropcursor": "^2.9.1",
+ "@tiptap/extension-gapcursor": "^2.9.1",
+ "@tiptap/extension-hard-break": "^2.9.1",
+ "@tiptap/extension-heading": "^2.9.1",
+ "@tiptap/extension-history": "^2.9.1",
+ "@tiptap/extension-horizontal-rule": "^2.9.1",
+ "@tiptap/extension-italic": "^2.9.1",
+ "@tiptap/extension-list-item": "^2.9.1",
+ "@tiptap/extension-ordered-list": "^2.9.1",
+ "@tiptap/extension-paragraph": "^2.9.1",
+ "@tiptap/extension-strike": "^2.9.1",
+ "@tiptap/extension-text": "^2.9.1",
+ "@tiptap/extension-text-style": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"funding": {
"type": "github",
@@ -19876,33 +19800,33 @@
},
"packages/suggestion": {
"name": "@tiptap/suggestion",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
}
},
"packages/vue-2": {
"name": "@tiptap/vue-2",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"dependencies": {
- "@tiptap/extension-bubble-menu": "^2.6.5",
- "@tiptap/extension-floating-menu": "^2.6.5",
+ "@tiptap/extension-bubble-menu": "^2.9.1",
+ "@tiptap/extension-floating-menu": "^2.9.1",
"vue-ts-types": "^1.6.0"
},
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1",
"vue": "^2.6.0"
},
"funding": {
@@ -19910,8 +19834,8 @@
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0",
"vue": "^2.6.0"
}
},
@@ -19953,15 +19877,15 @@
},
"packages/vue-3": {
"name": "@tiptap/vue-3",
- "version": "2.6.5",
+ "version": "2.9.1",
"license": "MIT",
"dependencies": {
- "@tiptap/extension-bubble-menu": "^2.6.5",
- "@tiptap/extension-floating-menu": "^2.6.5"
+ "@tiptap/extension-bubble-menu": "^2.9.1",
+ "@tiptap/extension-floating-menu": "^2.9.1"
},
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1",
"vue": "^3.0.0"
},
"funding": {
@@ -19969,8 +19893,8 @@
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0",
"vue": "^3.0.0"
}
},
diff --git a/package.json b/package.json
index db2d3644706..bed80906aba 100644
--- a/package.json
+++ b/package.json
@@ -31,7 +31,8 @@
"reset": "npm run clean:packages && npm run clean:packs && rm -rf ./**/.cache && rm -rf ./**/node_modules && rm -rf ./package-lock.json && npm install",
"prepare": "husky install",
"turbo": "turbo",
- "changeset": "changeset"
+ "changeset": "changeset",
+ "version": "npm run changeset -- version && npm i"
},
"devDependencies": {
"@babel/core": "^7.24.7",
@@ -52,7 +53,6 @@
"@typescript-eslint/parser": "^5.62.0",
"babel-loader": "^9.1.3",
"cypress": "^10.11.0",
- "cypress-real-events": "^1.13.0",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^8.57.0",
"eslint-config-airbnb-base": "^15.0.0",
@@ -63,9 +63,9 @@
"eslint-plugin-simple-import-sort": "^7.0.0",
"eslint-plugin-vue": "^9.27.0",
"husky": "^8.0.3",
- "lint-staged": "^13.3.0",
+ "lint-staged": "^15.2.10",
"minimist": "^1.2.8",
- "rollup": "^4.18.0",
+ "rollup": "^4.22.4",
"rollup-plugin-auto-external": "^2.0.0",
"rollup-plugin-sourcemaps": "^0.6.3",
"rollup-plugin-typescript2": "^0.36.0",
@@ -73,7 +73,7 @@
"tsup": "^8.1.0",
"turbo": "2.0.6",
"typescript": "^5.5.3",
- "webpack": "^5.92.1"
+ "webpack": "^5.94.0"
},
"overrides": {
"@rollup/pluginutils": "^5.1.0"
diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md
index ef87124a432..32270f1193a 100644
--- a/packages/core/CHANGELOG.md
+++ b/packages/core/CHANGELOG.md
@@ -1,5 +1,89 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+### Patch Changes
+
+- ffb51d3: insertContentAt, setContent, and insertContent commands now respect the editor's pre-defined parseOptions configuration if the command does not specify it's own parseOptions
+- 873a67c: This allows the Editor isntance to unregister multiple plugins in a single editor state replacement
+- d96f679: Fixed an issue while updating attributes on a NodePos that was not a text
+- e606c06: Updates the typings of `DecorationsWithTypes` to be more accurate to the prosemirror implementation even though it is not completely exposed as an API
+- a2eea24: Added role and aria-label attributes to the contenteditable field for better screenreader support and mouseless controls
+- d96f679: Fixed issues with NodePos child positions causing wrong positions when used on non-text atoms
+- 4efd227: Fixed an issue with getMarkRange not returning the correct range when cursor is at the start of the specified mark
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+### Patch Changes
+
+- 8ee534d: This refactors the `onDrop` and `onPaste` event callbacks to be Tiptap extensions rather than separate Prosemirror plugins which was forcing the editor to recreate the view on initialization.
+
+## 2.7.4
+
+### Patch Changes
+
+- 7ef401d: This plugs a memory leak where there is a circular reference between the view's DOM node and the editor instance, to resolve this, before destroying the view we need to delete the reference to the editor instance on the DOM node #5654
+
+## 2.7.3
+
+### Patch Changes
+
+- f76515a: Update the typing for NodeViewProps to be an interface rather than a concrete type #5632
+- d57ee51: filter rendered extensionAttributes (#5588)
+
+## 2.7.2
+
+## 2.7.1
+
+### Patch Changes
+
+- 888f574: Fixed Slice import in DropPlugin
+
+## 2.7.0
+
+### Minor Changes
+
+- 97ea55f: Fixes #5490. The `preventClearDocument` meta tag can now be used to prevent the `clearDocument` plugin in the core keymap extension from modifying transactions that appear to clear the document (but might be clearing it for other reasons).
+- 9e18d24: Added `onPaste` and `onDrop` options to the editor allowing for easier event binding for both cases
+- 97ea55f: An object can now be passed to `enableCoreExtensions` to allow disabling only specific core extensions.
+
+### Patch Changes
+
+- f805333: fix: check for schema's nesting rules on contentCheck
+- 07fa49d: Copy over node attributes on node toggling (for example to keep text styles while toggling a headline)
+- 7f24a66: Update the Typescript types for NodeViews, bringing them inline with there actual implementation
+- a22767e: Merging inline style attributes now can properly merge conflicting style attribute names, resulting in cleaner HTML output and correctness
+
+## 2.7.0-pre.0
+
+### Minor Changes
+
+- 97ea55f: Fixes #5490. The `preventClearDocument` meta tag can now be used to prevent the `clearDocument` plugin in the core keymap extension from modifying transactions that appear to clear the document (but might be clearing it for other reasons).
+- 9e18d24: Added `onPaste` and `onDrop` options to the editor allowing for easier event binding for both cases
+- 97ea55f: An object can now be passed to `enableCoreExtensions` to allow disabling only specific core extensions.
+
+### Patch Changes
+
+- f805333: fix: check for schema's nesting rules on contentCheck
+- 07fa49d: Copy over node attributes on node toggling (for example to keep text styles while toggling a headline)
+- 7f24a66: Update the Typescript types for NodeViews, bringing them inline with there actual implementation
+- a22767e: Merging inline style attributes now can properly merge conflicting style attribute names, resulting in cleaner HTML output and correctness
+- Updated dependencies [bd34793]
+ - @tiptap/pm@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- 8d8d999: fix: check for schema's nesting rules on contentCheck
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/core/package.json b/packages/core/package.json
index 21277146a94..883310415c2 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.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -18,7 +18,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/core/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -26,16 +26,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/core/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/pm": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/pm": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/core/src/Editor.ts b/packages/core/src/Editor.ts
index fd2ab266ae0..f7cddb7238e 100644
--- a/packages/core/src/Editor.ts
+++ b/packages/core/src/Editor.ts
@@ -13,7 +13,8 @@ import { CommandManager } from './CommandManager.js'
import { EventEmitter } from './EventEmitter.js'
import { ExtensionManager } from './ExtensionManager.js'
import {
- ClipboardTextSerializer, Commands, Editable, FocusEvents, Keymap, Tabindex,
+ ClipboardTextSerializer, Commands, Drop, Editable, FocusEvents, Keymap, Paste,
+ Tabindex,
} from './extensions/index.js'
import { createDocument } from './helpers/createDocument.js'
import { getAttributes } from './helpers/getAttributes.js'
@@ -24,8 +25,6 @@ import { isActive } from './helpers/isActive.js'
import { isNodeEmpty } from './helpers/isNodeEmpty.js'
import { resolveFocusPosition } from './helpers/resolveFocusPosition.js'
import { NodePos } from './NodePos.js'
-import { DropPlugin } from './plugins/DropPlugin.js'
-import { PastePlugin } from './plugins/PastePlugin.js'
import { style } from './style.js'
import {
CanCommands,
@@ -112,14 +111,8 @@ export class Editor extends EventEmitter {
this.on('focus', this.options.onFocus)
this.on('blur', this.options.onBlur)
this.on('destroy', this.options.onDestroy)
-
- if (this.options.onPaste) {
- this.registerPlugin(PastePlugin(this.options.onPaste))
- }
-
- if (this.options.onDrop) {
- this.registerPlugin(DropPlugin(this.options.onDrop))
- }
+ this.on('drop', ({ event, slice, moved }) => this.options.onDrop(event, slice, moved))
+ this.on('paste', ({ event, slice }) => this.options.onPaste(event, slice))
window.setTimeout(() => {
if (this.isDestroyed) {
@@ -224,11 +217,12 @@ export class Editor extends EventEmitter {
*
* @param plugin A ProseMirror plugin
* @param handlePlugins Control how to merge the plugin into the existing plugins.
+ * @returns The new editor state
*/
public registerPlugin(
plugin: Plugin,
handlePlugins?: (newPlugin: Plugin, plugins: Plugin[]) => Plugin[],
- ): void {
+ ): EditorState {
const plugins = isFunction(handlePlugins)
? handlePlugins(plugin, [...this.state.plugins])
: [...this.state.plugins, plugin]
@@ -236,27 +230,44 @@ export class Editor extends EventEmitter {
const state = this.state.reconfigure({ plugins })
this.view.updateState(state)
+
+ return state
}
/**
* Unregister a ProseMirror plugin.
*
- * @param nameOrPluginKey The plugins name
+ * @param nameOrPluginKeyToRemove The plugins name
+ * @returns The new editor state or undefined if the editor is destroyed
*/
- public unregisterPlugin(nameOrPluginKey: string | PluginKey): void {
+ public unregisterPlugin(nameOrPluginKeyToRemove: string | PluginKey | (string | PluginKey)[]): EditorState | undefined {
if (this.isDestroyed) {
- return
+ return undefined
}
- // @ts-ignore
- const name = typeof nameOrPluginKey === 'string' ? `${nameOrPluginKey}$` : nameOrPluginKey.key
+ const prevPlugins = this.state.plugins
+ let plugins = prevPlugins;
- const state = this.state.reconfigure({
+ ([] as (string | PluginKey)[]).concat(nameOrPluginKeyToRemove).forEach(nameOrPluginKey => {
// @ts-ignore
- plugins: this.state.plugins.filter(plugin => !plugin.key.startsWith(name)),
+ const name = typeof nameOrPluginKey === 'string' ? `${nameOrPluginKey}$` : nameOrPluginKey.key
+
+ // @ts-ignore
+ plugins = prevPlugins.filter(plugin => !plugin.key.startsWith(name))
+ })
+
+ if (prevPlugins.length === plugins.length) {
+ // No plugin was removed, so we don’t need to update the state
+ return undefined
+ }
+
+ const state = this.state.reconfigure({
+ plugins,
})
this.view.updateState(state)
+
+ return state
}
/**
@@ -273,6 +284,8 @@ export class Editor extends EventEmitter {
FocusEvents,
Keymap,
Tabindex,
+ Drop,
+ Paste,
].filter(ext => {
if (typeof this.options.enableCoreExtensions === 'object') {
return this.options.enableCoreExtensions[ext.name as keyof typeof this.options.enableCoreExtensions] !== false
@@ -324,6 +337,9 @@ export class Editor extends EventEmitter {
editor: this,
error: e as Error,
disableCollaboration: () => {
+ if (this.storage.collaboration) {
+ this.storage.collaboration.isDisabled = true
+ }
// To avoid syncing back invalid content, reinitialize the extensions without the collaboration extension
this.options.extensions = this.options.extensions.filter(extension => extension.name !== 'collaboration')
@@ -351,6 +367,14 @@ export class Editor extends EventEmitter {
}),
})
+ // add `role="textbox"` to the editor element
+ this.view.dom.setAttribute('role', 'textbox')
+
+ // add aria-label to the editor element
+ if (!this.view.dom.getAttribute('aria-label')) {
+ this.view.dom.setAttribute('aria-label', 'Rich-Text Editor')
+ }
+
// `editor.view` is not yet available at this time.
// Therefore we will add all plugins and node views directly afterwards.
const newState = this.state.reconfigure({
@@ -562,6 +586,13 @@ export class Editor extends EventEmitter {
this.emit('destroy')
if (this.view) {
+ // Cleanup our reference to prevent circular references which caused memory leaks
+ // @ts-ignore
+ const dom = this.view.dom as TiptapEditorHTMLElement
+
+ if (dom && dom.editor) {
+ delete dom.editor
+ }
this.view.destroy()
}
diff --git a/packages/core/src/ExtensionManager.ts b/packages/core/src/ExtensionManager.ts
index 999815c9805..a0fda44be2a 100644
--- a/packages/core/src/ExtensionManager.ts
+++ b/packages/core/src/ExtensionManager.ts
@@ -12,8 +12,9 @@ import { getSchemaByResolvedExtensions } from './helpers/getSchemaByResolvedExte
import { getSchemaTypeByName } from './helpers/getSchemaTypeByName.js'
import { isExtensionRulesEnabled } from './helpers/isExtensionRulesEnabled.js'
import { splitExtensions } from './helpers/splitExtensions.js'
-import { Mark, NodeConfig } from './index.js'
+import type { NodeConfig } from './index.js'
import { InputRule, inputRulesPlugin } from './InputRule.js'
+import { Mark } from './Mark.js'
import { PasteRule, pasteRulesPlugin } from './PasteRule.js'
import { AnyConfig, Extensions, RawCommands } from './types.js'
import { callOrReturn } from './utilities/callOrReturn.js'
@@ -260,7 +261,7 @@ export class ExtensionManager {
* Get all node views from the extensions.
* @returns An object with all node views where the key is the node name and the value is the node view function
*/
- get nodeViews() {
+ get nodeViews(): Record {
const { editor } = this
const { nodeExtensions } = splitExtensions(this.extensions)
diff --git a/packages/core/src/InputRule.ts b/packages/core/src/InputRule.ts
index bc90048a07d..3bd1bc5c964 100644
--- a/packages/core/src/InputRule.ts
+++ b/packages/core/src/InputRule.ts
@@ -231,6 +231,17 @@ export function inputRulesPlugin(props: { editor: Editor; rules: InputRule[] }):
},
props: {
+ handleTextInput(view, from, to, text) {
+ return run({
+ editor,
+ from,
+ to,
+ text,
+ rules,
+ plugin,
+ })
+ },
+
handleDOMEvents: {
compositionend: view => {
setTimeout(() => {
@@ -250,20 +261,6 @@ export function inputRulesPlugin(props: { editor: Editor; rules: InputRule[] }):
return false
},
-
- keyup(view, event) {
- if (event.key.length === 1) {
- return run({
- editor,
- from: view.state.selection.from,
- to: view.state.selection.from,
- text: '',
- rules,
- plugin,
- })
- }
- return false
- },
},
// add support for input rules to trigger on enter
diff --git a/packages/core/src/NodePos.ts b/packages/core/src/NodePos.ts
index 9856ea38081..f62219334a4 100644
--- a/packages/core/src/NodePos.ts
+++ b/packages/core/src/NodePos.ts
@@ -135,8 +135,9 @@ export class NodePos {
this.node.content.forEach((node, offset) => {
const isBlock = node.isBlock && !node.isTextblock
+ const isNonTextAtom = node.isAtom && !node.isText
- const targetPos = this.pos + offset + 1
+ const targetPos = this.pos + offset + (isNonTextAtom ? 0 : 1)
const $pos = this.resolvedPos.doc.resolve(targetPos)
if (!isBlock && $pos.depth <= this.depth) {
@@ -235,9 +236,13 @@ export class NodePos {
}
setAttribute(attributes: { [key: string]: any }) {
- const oldSelection = this.editor.state.selection
+ const { tr } = this.editor.state
- this.editor.chain().setTextSelection(this.from).updateAttributes(this.node.type.name, attributes).setTextSelection(oldSelection.from)
- .run()
+ tr.setNodeMarkup(this.from, undefined, {
+ ...this.node.attrs,
+ ...attributes,
+ })
+
+ this.editor.view.dispatch(tr)
}
}
diff --git a/packages/core/src/commands/insertContentAt.ts b/packages/core/src/commands/insertContentAt.ts
index e02b6f20600..520398ba1d8 100644
--- a/packages/core/src/commands/insertContentAt.ts
+++ b/packages/core/src/commands/insertContentAt.ts
@@ -63,7 +63,7 @@ const isFragment = (nodeOrFragment: ProseMirrorNode | Fragment): nodeOrFragment
export const insertContentAt: RawCommands['insertContentAt'] = (position, value, options) => ({ tr, dispatch, editor }) => {
if (dispatch) {
options = {
- parseOptions: {},
+ parseOptions: editor.options.parseOptions,
updateSelection: true,
applyInputRules: false,
applyPasteRules: false,
@@ -85,7 +85,9 @@ export const insertContentAt: RawCommands['insertContentAt'] = (position, value,
editor,
error: e as Error,
disableCollaboration: () => {
- console.error('[tiptap error]: Unable to disable collaboration at this point in time')
+ if (editor.storage.collaboration) {
+ editor.storage.collaboration.isDisabled = true
+ }
},
})
return false
diff --git a/packages/core/src/extensions/drop.ts b/packages/core/src/extensions/drop.ts
new file mode 100644
index 00000000000..0d079a0f019
--- /dev/null
+++ b/packages/core/src/extensions/drop.ts
@@ -0,0 +1,26 @@
+import { Plugin, PluginKey } from '@tiptap/pm/state'
+
+import { Extension } from '../Extension.js'
+
+export const Drop = Extension.create({
+ name: 'drop',
+
+ addProseMirrorPlugins() {
+ return [
+ new Plugin({
+ key: new PluginKey('tiptapDrop'),
+
+ props: {
+ handleDrop: (_, e, slice, moved) => {
+ this.editor.emit('drop', {
+ editor: this.editor,
+ event: e,
+ slice,
+ moved,
+ })
+ },
+ },
+ }),
+ ]
+ },
+})
diff --git a/packages/core/src/extensions/index.ts b/packages/core/src/extensions/index.ts
index 139cdd891b6..eca0516c7ed 100644
--- a/packages/core/src/extensions/index.ts
+++ b/packages/core/src/extensions/index.ts
@@ -1,6 +1,8 @@
export { ClipboardTextSerializer } from './clipboardTextSerializer.js'
export { Commands } from './commands.js'
+export { Drop } from './drop.js'
export { Editable } from './editable.js'
export { FocusEvents } from './focusEvents.js'
export { Keymap } from './keymap.js'
+export { Paste } from './paste.js'
export { Tabindex } from './tabindex.js'
diff --git a/packages/core/src/extensions/paste.ts b/packages/core/src/extensions/paste.ts
new file mode 100644
index 00000000000..56ea385b7c3
--- /dev/null
+++ b/packages/core/src/extensions/paste.ts
@@ -0,0 +1,26 @@
+import { Plugin, PluginKey } from '@tiptap/pm/state'
+
+import { Extension } from '../Extension.js'
+
+export const Paste = Extension.create({
+ name: 'paste',
+
+ addProseMirrorPlugins() {
+
+ return [
+ new Plugin({
+ key: new PluginKey('tiptapPaste'),
+
+ props: {
+ handlePaste: (_view, e, slice) => {
+ this.editor.emit('paste', {
+ editor: this.editor,
+ event: e,
+ slice,
+ })
+ },
+ },
+ }),
+ ]
+ },
+})
diff --git a/packages/core/src/helpers/getMarkRange.ts b/packages/core/src/helpers/getMarkRange.ts
index bded1ec6979..e152cd1f13a 100644
--- a/packages/core/src/helpers/getMarkRange.ts
+++ b/packages/core/src/helpers/getMarkRange.ts
@@ -29,17 +29,20 @@ export function getMarkRange(
if (!$pos || !type) {
return
}
-
let start = $pos.parent.childAfter($pos.parentOffset)
- if ($pos.parentOffset === start.offset && start.offset !== 0) {
+ // If the cursor is at the start of a text node that does not have the mark, look backward
+ if (!start.node || !start.node.marks.some(mark => mark.type === type)) {
start = $pos.parent.childBefore($pos.parentOffset)
}
- if (!start.node) {
+ // If there is no text node with the mark even backward, return undefined
+ if (!start.node || !start.node.marks.some(mark => mark.type === type)) {
return
}
+ // We now know that the cursor is either at the start, middle or end of a text node with the specified mark
+ // so we can look it up on the targeted mark
const mark = findMarkInSet([...start.node.marks], type, attributes)
if (!mark) {
diff --git a/packages/core/src/helpers/getRenderedAttributes.ts b/packages/core/src/helpers/getRenderedAttributes.ts
index 5dd0855a262..fd85e699a69 100644
--- a/packages/core/src/helpers/getRenderedAttributes.ts
+++ b/packages/core/src/helpers/getRenderedAttributes.ts
@@ -8,6 +8,9 @@ export function getRenderedAttributes(
extensionAttributes: ExtensionAttribute[],
): Record {
return extensionAttributes
+ .filter(
+ attribute => attribute.type === nodeOrMark.type.name,
+ )
.filter(item => item.attribute.rendered)
.map(item => {
if (!item.attribute.renderHTML) {
diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts
index a464930dc20..ccfa709259c 100644
--- a/packages/core/src/index.ts
+++ b/packages/core/src/index.ts
@@ -11,8 +11,6 @@ export * from './NodePos.js'
export * from './NodeView.js'
export * from './PasteRule.js'
export * from './pasteRules/index.js'
-export * from './plugins/DropPlugin.js'
-export * from './plugins/PastePlugin.js'
export * from './Tracker.js'
export * from './types.js'
export * from './utilities/index.js'
diff --git a/packages/core/src/plugins/DropPlugin.ts b/packages/core/src/plugins/DropPlugin.ts
deleted file mode 100644
index c280e804f95..00000000000
--- a/packages/core/src/plugins/DropPlugin.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Plugin, PluginKey } from '@tiptap/pm/state'
-import { Slice } from 'packages/pm/model'
-
-export const DropPlugin = (onDrop: (e: DragEvent, slice: Slice, moved: boolean) => void) => {
- return new Plugin({
- key: new PluginKey('tiptapDrop'),
-
- props: {
- handleDrop: (_, e, slice, moved) => {
- onDrop(e, slice, moved)
- },
- },
- })
-}
diff --git a/packages/core/src/plugins/PastePlugin.ts b/packages/core/src/plugins/PastePlugin.ts
deleted file mode 100644
index afe5d9c9b1b..00000000000
--- a/packages/core/src/plugins/PastePlugin.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Slice } from '@tiptap/pm/model'
-import { Plugin, PluginKey } from '@tiptap/pm/state'
-
-export const PastePlugin = (onPaste: (e: ClipboardEvent, slice: Slice) => void) => {
- return new Plugin({
- key: new PluginKey('tiptapPaste'),
-
- props: {
- handlePaste: (_view, e, slice) => {
- onPaste(e, slice)
- },
- },
- })
-}
diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts
index be69e7a489e..3077058d72c 100644
--- a/packages/core/src/types.ts
+++ b/packages/core/src/types.ts
@@ -1,13 +1,14 @@
import {
Mark as ProseMirrorMark,
Node as ProseMirrorNode,
- NodeType,
ParseOptions,
Slice,
} from '@tiptap/pm/model'
import { EditorState, Transaction } from '@tiptap/pm/state'
+import { Mappable } from '@tiptap/pm/transform'
import {
Decoration,
+ DecorationAttrs,
EditorProps,
EditorView,
NodeView,
@@ -63,6 +64,8 @@ export interface EditorEvents {
focus: { editor: Editor; event: FocusEvent; transaction: Transaction };
blur: { editor: Editor; event: FocusEvent; transaction: Transaction };
destroy: void;
+ paste: { editor: Editor; event: ClipboardEvent; slice: Slice };
+ drop: { editor: Editor; event: DragEvent; slice: Slice; moved: boolean };
}
export type EnableRules = (AnyExtension | string)[] | boolean;
@@ -101,7 +104,21 @@ export interface EditorOptions {
*
* @default true
*/
- enableCoreExtensions?: boolean | Partial>;
+ enableCoreExtensions?:
+ | boolean
+ | Partial<
+ Record<
+ | 'editable'
+ | 'clipboardTextSerializer'
+ | 'commands'
+ | 'focusEvents'
+ | 'keymap'
+ | 'tabindex'
+ | 'drop'
+ | 'paste',
+ false
+ >
+ >;
/**
* If `true`, the editor will check the content for errors on initialization.
* Emitting the `contentError` event if the content is invalid.
@@ -122,8 +139,8 @@ export interface EditorOptions {
onFocus: (props: EditorEvents['focus']) => void;
onBlur: (props: EditorEvents['blur']) => void;
onDestroy: (props: EditorEvents['destroy']) => void;
- onPaste: (e: ClipboardEvent, slice: Slice) => void
- onDrop: (e: DragEvent, slice: Slice, moved: boolean) => void
+ onPaste: (e: ClipboardEvent, slice: Slice) => void;
+ onDrop: (e: DragEvent, slice: Slice, moved: boolean) => void;
}
export type HTMLContent = string;
@@ -208,21 +225,36 @@ export type ValuesOf = T[keyof T];
export type KeysWithTypeOf = { [P in keyof T]: T[P] extends Type ? P : never }[keyof T];
-export type Simplify = { [KeyType in keyof T]: T[KeyType] } & {};
+export type DOMNode = InstanceType
+
+/**
+ * prosemirror-view does not export the `type` property of `Decoration`.
+ * So, this defines the `DecorationType` interface to include the `type` property.
+ */
+export interface DecorationType {
+ spec: any
+ map(mapping: Mappable, span: Decoration, offset: number, oldOffset: number): Decoration | null
+ valid(node: Node, span: Decoration): boolean
+ eq(other: DecorationType): boolean
+ destroy(dom: DOMNode): void
+ readonly attrs: DecorationAttrs
+}
+/**
+ * prosemirror-view does not export the `type` property of `Decoration`.
+ * This adds the `type` property to the `Decoration` type.
+ */
export type DecorationWithType = Decoration & {
- type: NodeType;
+ type: DecorationType;
};
-export type NodeViewProps = Simplify<
- Omit & {
- // TODO this type is not technically correct, but it's the best we can do for now since prosemirror doesn't expose the type of decorations
- decorations: readonly DecorationWithType[];
- selected: boolean;
- updateAttributes: (attributes: Record) => void;
- deleteNode: () => void;
- }
->;
+export interface NodeViewProps extends NodeViewRendererProps {
+ // TODO this type is not technically correct, but it's the best we can do for now since prosemirror doesn't expose the type of decorations
+ decorations: readonly DecorationWithType[];
+ selected: boolean;
+ updateAttributes: (attributes: Record) => void;
+ deleteNode: () => void;
+}
export interface NodeViewRendererOptions {
stopEvent: ((props: { event: Event }) => boolean) | null;
@@ -232,18 +264,44 @@ export interface NodeViewRendererOptions {
contentDOMElementTag: string;
}
-export type NodeViewRendererProps = {
+export interface NodeViewRendererProps {
// pass-through from prosemirror
+ /**
+ * The node that is being rendered.
+ */
node: Parameters[0];
+ /**
+ * The editor's view.
+ */
view: Parameters[1];
+ /**
+ * A function that can be called to get the node's current position in the document.
+ */
getPos: () => number; // TODO getPos was incorrectly typed before, change to `Parameters[2];` in the next major version
+ /**
+ * is an array of node or inline decorations that are active around the node.
+ * They are automatically drawn in the normal way, and you will usually just want to ignore this, but they can also be used as a way to provide context information to the node view without adding it to the document itself.
+ */
decorations: Parameters[3];
+ /**
+ * holds the decorations for the node's content. You can safely ignore this if your view has no content or a contentDOM property, since the editor will draw the decorations on the content.
+ * But if you, for example, want to create a nested editor with the content, it may make sense to provide it with the inner decorations.
+ */
innerDecorations: Parameters[4];
// tiptap-specific
+ /**
+ * The editor instance.
+ */
editor: Editor;
+ /**
+ * The extension that is responsible for the node.
+ */
extension: Node;
+ /**
+ * The HTML attributes that should be added to the node's DOM element.
+ */
HTMLAttributes: Record;
-};
+}
export type NodeViewRenderer = (props: NodeViewRendererProps) => NodeView;
diff --git a/packages/extension-blockquote/CHANGELOG.md b/packages/extension-blockquote/CHANGELOG.md
index 37d19b47974..8f839e9095a 100644
--- a/packages/extension-blockquote/CHANGELOG.md
+++ b/packages/extension-blockquote/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-blockquote/package.json b/packages/extension-blockquote/package.json
index 4bf0b2de5cc..8855b9d9ec4 100644
--- a/packages/extension-blockquote/package.json
+++ b/packages/extension-blockquote/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-blockquote",
"description": "blockquote extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-blockquote/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-blockquote/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-bold/CHANGELOG.md b/packages/extension-bold/CHANGELOG.md
index c2020d132eb..8b1934ce149 100644
--- a/packages/extension-bold/CHANGELOG.md
+++ b/packages/extension-bold/CHANGELOG.md
@@ -1,5 +1,49 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+### Patch Changes
+
+- 6fae240: Add parse rules that reset bold & italic marks
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-bold/package.json b/packages/extension-bold/package.json
index 099b507b2db..7a22106fcae 100644
--- a/packages/extension-bold/package.json
+++ b/packages/extension-bold/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-bold",
"description": "bold extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-bold/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-bold/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-bold/src/bold.ts b/packages/extension-bold/src/bold.ts
index f3c6a2bb649..da7386b5711 100644
--- a/packages/extension-bold/src/bold.ts
+++ b/packages/extension-bold/src/bold.ts
@@ -75,6 +75,10 @@ export const Bold = Mark.create({
tag: 'b',
getAttrs: node => (node as HTMLElement).style.fontWeight !== 'normal' && null,
},
+ {
+ style: 'font-weight=400',
+ clearMark: mark => mark.type.name === this.name,
+ },
{
style: 'font-weight',
getAttrs: value => /^(bold(er)?|[5-9]\d{2,})$/.test(value as string) && null,
diff --git a/packages/extension-bubble-menu/CHANGELOG.md b/packages/extension-bubble-menu/CHANGELOG.md
index c7d020d5648..81bafa110a6 100644
--- a/packages/extension-bubble-menu/CHANGELOG.md
+++ b/packages/extension-bubble-menu/CHANGELOG.md
@@ -1,5 +1,48 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-bubble-menu/package.json b/packages/extension-bubble-menu/package.json
index 6cf61bd0056..ec08af89778 100644
--- a/packages/extension-bubble-menu/package.json
+++ b/packages/extension-bubble-menu/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-bubble-menu",
"description": "bubble-menu extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-bubble-menu/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,7 +23,7 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-bubble-menu/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
@@ -38,12 +38,12 @@
},
"sideEffects": false,
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
},
"scripts": {
"clean": "rm -rf dist",
diff --git a/packages/extension-bullet-list/CHANGELOG.md b/packages/extension-bullet-list/CHANGELOG.md
index 2218665f25d..1eff126b967 100644
--- a/packages/extension-bullet-list/CHANGELOG.md
+++ b/packages/extension-bullet-list/CHANGELOG.md
@@ -1,5 +1,49 @@
# Change Log
+## 2.9.1
+
+### Patch Changes
+
+- 0c9004f: This resolves an issue where the bullet-list and ordered-list extensions were depending on the list-item and text-style extensions unneccesarily. They are no longer imported and constants are used instead.
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-bullet-list/package.json b/packages/extension-bullet-list/package.json
index 566cd670df6..230b7222f2a 100644
--- a/packages/extension-bullet-list/package.json
+++ b/packages/extension-bullet-list/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-bullet-list",
"description": "bullet list extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-bullet-list/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-bullet-list/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-bullet-list/src/bullet-list.ts b/packages/extension-bullet-list/src/bullet-list.ts
index fe86ff17726..320d3abf402 100644
--- a/packages/extension-bullet-list/src/bullet-list.ts
+++ b/packages/extension-bullet-list/src/bullet-list.ts
@@ -1,7 +1,7 @@
import { mergeAttributes, Node, wrappingInputRule } from '@tiptap/core'
-import ListItem from '../../extension-list-item/src/index.js'
-import TextStyle from '../../extension-text-style/src/index.js'
+const ListItemName = 'listItem'
+const TextStyleName = 'textStyle'
export interface BulletListOptions {
/**
@@ -87,7 +87,7 @@ export const BulletList = Node.create({
return {
toggleBulletList: () => ({ commands, chain }) => {
if (this.options.keepAttributes) {
- return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItem.name, this.editor.getAttributes(TextStyle.name)).run()
+ return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItemName, this.editor.getAttributes(TextStyleName)).run()
}
return commands.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks)
},
@@ -112,7 +112,7 @@ export const BulletList = Node.create({
type: this.type,
keepMarks: this.options.keepMarks,
keepAttributes: this.options.keepAttributes,
- getAttributes: () => { return this.editor.getAttributes(TextStyle.name) },
+ getAttributes: () => { return this.editor.getAttributes(TextStyleName) },
editor: this.editor,
})
}
diff --git a/packages/extension-character-count/CHANGELOG.md b/packages/extension-character-count/CHANGELOG.md
index d87ab889598..7a4931ca138 100644
--- a/packages/extension-character-count/CHANGELOG.md
+++ b/packages/extension-character-count/CHANGELOG.md
@@ -1,5 +1,49 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 93bc933: Make counter function accessible from outside character-count extension
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-character-count/package.json b/packages/extension-character-count/package.json
index 2a83d0dafaf..095c6aa379c 100644
--- a/packages/extension-character-count/package.json
+++ b/packages/extension-character-count/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-character-count",
"description": "font family extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-character-count/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,18 +23,18 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-character-count/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-character-count/src/character-count.ts b/packages/extension-character-count/src/character-count.ts
index 1108f4ca013..16dcec0da11 100644
--- a/packages/extension-character-count/src/character-count.ts
+++ b/packages/extension-character-count/src/character-count.ts
@@ -16,6 +16,18 @@ export interface CharacterCountOptions {
* @example 'textSize'
*/
mode: 'textSize' | 'nodeSize'
+ /**
+ * The text counter function to use. Defaults to a simple character count.
+ * @default (text) => text.length
+ * @example (text) => [...new Intl.Segmenter().segment(text)].length
+ */
+ textCounter: (text: string) => number
+ /**
+ * The word counter function to use. Defaults to a simple word count.
+ * @default (text) => text.split(' ').filter(word => word !== '').length
+ * @example (text) => text.split(/\s+/).filter(word => word !== '').length
+ */
+ wordCounter: (text: string) => number
}
export interface CharacterCountStorage {
@@ -46,6 +58,8 @@ export const CharacterCount = Extension.create text.length,
+ wordCounter: text => text.split(' ').filter(word => word !== '').length,
}
},
@@ -64,7 +78,7 @@ export const CharacterCount = Extension.create {
const node = options?.node || this.editor.state.doc
const text = node.textBetween(0, node.content.size, ' ', ' ')
- const words = text.split(' ').filter(word => word !== '')
- return words.length
+ return this.options.wordCounter(text)
}
},
diff --git a/packages/extension-code-block-lowlight/CHANGELOG.md b/packages/extension-code-block-lowlight/CHANGELOG.md
index f8953fe2325..a7c1b646f22 100644
--- a/packages/extension-code-block-lowlight/CHANGELOG.md
+++ b/packages/extension-code-block-lowlight/CHANGELOG.md
@@ -1,5 +1,55 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+### Patch Changes
+
+- 9907eb3: Add support for lowlight v3 aliases
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- 9907eb3: Add support for lowlight v3 aliases
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+ - @tiptap/extension-code-block@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/extension-code-block@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-code-block-lowlight/package.json b/packages/extension-code-block-lowlight/package.json
index 1e586059e2e..eb7c6fb3317 100644
--- a/packages/extension-code-block-lowlight/package.json
+++ b/packages/extension-code-block-lowlight/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-code-block-lowlight",
"description": "code block extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-code-block-lowlight/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,21 +23,21 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-code-block-lowlight/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/extension-code-block": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/extension-code-block": "^2.9.1",
+ "@tiptap/pm": "^2.9.1",
"lowlight": "^2 || ^3"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/extension-code-block": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/extension-code-block": "^2.7.0",
+ "@tiptap/pm": "^2.7.0",
"lowlight": "^2 || ^3",
"highlight.js": "^11"
},
diff --git a/packages/extension-code-block-lowlight/src/lowlight-plugin.ts b/packages/extension-code-block-lowlight/src/lowlight-plugin.ts
index 5280ca5d9f2..e55ed566bc5 100644
--- a/packages/extension-code-block-lowlight/src/lowlight-plugin.ts
+++ b/packages/extension-code-block-lowlight/src/lowlight-plugin.ts
@@ -49,7 +49,7 @@ function getDecorations({
const language = block.node.attrs.language || defaultLanguage
const languages = lowlight.listLanguages()
- const nodes = language && (languages.includes(language) || registered(language))
+ const nodes = language && (languages.includes(language) || registered(language) || lowlight.registered?.(language))
? getHighlightNodes(lowlight.highlight(language, block.node.textContent))
: getHighlightNodes(lowlight.highlightAuto(block.node.textContent))
diff --git a/packages/extension-code-block/CHANGELOG.md b/packages/extension-code-block/CHANGELOG.md
index 839bdae6cfb..47c6d470621 100644
--- a/packages/extension-code-block/CHANGELOG.md
+++ b/packages/extension-code-block/CHANGELOG.md
@@ -1,5 +1,48 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-code-block/package.json b/packages/extension-code-block/package.json
index bbd9e850e95..8d826ba93d4 100644
--- a/packages/extension-code-block/package.json
+++ b/packages/extension-code-block/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-code-block",
"description": "code block extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-code-block/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,18 +23,18 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-code-block/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-code/CHANGELOG.md b/packages/extension-code/CHANGELOG.md
index 2d8aace93fc..ebd5ef72ec6 100644
--- a/packages/extension-code/CHANGELOG.md
+++ b/packages/extension-code/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-code/package.json b/packages/extension-code/package.json
index 959090c48c2..6885e96d8c2 100644
--- a/packages/extension-code/package.json
+++ b/packages/extension-code/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-code",
"description": "code extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-code/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-code/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-collaboration-cursor/CHANGELOG.md b/packages/extension-collaboration-cursor/CHANGELOG.md
index 483220ca730..d7bfa4cbfda 100644
--- a/packages/extension-collaboration-cursor/CHANGELOG.md
+++ b/packages/extension-collaboration-cursor/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-collaboration-cursor/package.json b/packages/extension-collaboration-cursor/package.json
index ad9d0d5d00d..680ec81fdd8 100644
--- a/packages/extension-collaboration-cursor/package.json
+++ b/packages/extension-collaboration-cursor/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-collaboration-cursor",
"description": "collaboration cursor extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-collaboration-cursor/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,17 +23,17 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-collaboration-cursor/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
+ "@tiptap/core": "^2.9.1",
"y-prosemirror": "^1.2.12"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
+ "@tiptap/core": "^2.7.0",
"y-prosemirror": "^1.2.11"
},
"repository": {
diff --git a/packages/extension-collaboration/CHANGELOG.md b/packages/extension-collaboration/CHANGELOG.md
index d5871872d69..a26f807fef5 100644
--- a/packages/extension-collaboration/CHANGELOG.md
+++ b/packages/extension-collaboration/CHANGELOG.md
@@ -1,5 +1,52 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+### Minor Changes
+
+- 873a67c: When collaborating on a document, a client may send changes which are invalid to the current client. This change makes it so that the client can be disabled from synchronizing any further changes to avoid the default behavior of stripping unknown content. This would allow the other client to continue editing on the document while still synchronizing any known changes.
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-collaboration/package.json b/packages/extension-collaboration/package.json
index ad2a0a73d66..760c1ba5604 100644
--- a/packages/extension-collaboration/package.json
+++ b/packages/extension-collaboration/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-collaboration",
"description": "collaboration extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-collaboration/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,19 +23,19 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-collaboration/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1",
"y-prosemirror": "^1.2.12"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0",
"y-prosemirror": "^1.2.11"
},
"repository": {
diff --git a/packages/extension-collaboration/src/collaboration.ts b/packages/extension-collaboration/src/collaboration.ts
index 3ca0c381b2c..b2a8641ca56 100644
--- a/packages/extension-collaboration/src/collaboration.ts
+++ b/packages/extension-collaboration/src/collaboration.ts
@@ -1,4 +1,5 @@
import { Extension } from '@tiptap/core'
+import { Plugin, PluginKey } from '@tiptap/pm/state'
import { EditorView } from '@tiptap/pm/view'
import {
redo,
@@ -6,10 +7,12 @@ import {
ySyncPlugin,
yUndoPlugin,
yUndoPluginKey,
+ yXmlFragmentToProsemirrorJSON,
} from 'y-prosemirror'
-import { UndoManager } from 'yjs'
+import { Doc, UndoManager, XmlFragment } from 'yjs'
-type YSyncOpts = Parameters[1]
+type YSyncOpts = Parameters[1];
+type YUndoOpts = Parameters[0];
declare module '@tiptap/core' {
interface Commands {
@@ -18,49 +21,65 @@ declare module '@tiptap/core' {
* Undo recent changes
* @example editor.commands.undo()
*/
- undo: () => ReturnType,
+ undo: () => ReturnType;
/**
* Reapply reverted changes
* @example editor.commands.redo()
*/
- redo: () => ReturnType,
- }
+ redo: () => ReturnType;
+ };
}
}
+export interface CollaborationStorage {
+ /**
+ * Whether collaboration is currently disabled.
+ * Disabling collaboration will prevent any changes from being synced with other users.
+ */
+ isDisabled: boolean;
+}
+
export interface CollaborationOptions {
/**
* An initialized Y.js document.
* @example new Y.Doc()
*/
- document: any,
+ document?: Doc | null;
/**
* Name of a Y.js fragment, can be changed to sync multiple fields with one Y.js document.
* @default 'default'
* @example 'my-custom-field'
*/
- field: string,
+ field?: string;
/**
* A raw Y.js fragment, can be used instead of `document` and `field`.
* @example new Y.Doc().getXmlFragment('body')
*/
- fragment: any,
+ fragment?: XmlFragment | null;
/**
* Fired when the content from Yjs is initially rendered to Tiptap.
*/
- onFirstRender?: () => void,
+ onFirstRender?: () => void;
- ySyncOptions?: YSyncOpts
+ /**
+ * Options for the Yjs sync plugin.
+ */
+ ySyncOptions?: YSyncOpts;
+
+ /**
+ * Options for the Yjs undo plugin.
+ */
+ yUndoOptions?: YUndoOpts;
}
/**
* This extension allows you to collaborate with others in real-time.
* @see https://tiptap.dev/api/extensions/collaboration
*/
-export const Collaboration = Extension.create({
+export const Collaboration = Extension.create({
name: 'collaboration',
priority: 1000,
@@ -73,44 +92,54 @@ export const Collaboration = Extension.create({
}
},
+ addStorage() {
+ return {
+ isDisabled: false,
+ }
+ },
+
onCreate() {
if (this.editor.extensionManager.extensions.find(extension => extension.name === 'history')) {
- console.warn('[tiptap warn]: "@tiptap/extension-collaboration" comes with its own history support and is not compatible with "@tiptap/extension-history".')
+ console.warn(
+ '[tiptap warn]: "@tiptap/extension-collaboration" comes with its own history support and is not compatible with "@tiptap/extension-history".',
+ )
}
},
addCommands() {
return {
- undo: () => ({ tr, state, dispatch }) => {
- tr.setMeta('preventDispatch', true)
+ undo:
+ () => ({ tr, state, dispatch }) => {
+ tr.setMeta('preventDispatch', true)
- const undoManager: UndoManager = yUndoPluginKey.getState(state).undoManager
+ const undoManager: UndoManager = yUndoPluginKey.getState(state).undoManager
- if (undoManager.undoStack.length === 0) {
- return false
- }
+ if (undoManager.undoStack.length === 0) {
+ return false
+ }
- if (!dispatch) {
- return true
- }
+ if (!dispatch) {
+ return true
+ }
- return undo(state)
- },
- redo: () => ({ tr, state, dispatch }) => {
- tr.setMeta('preventDispatch', true)
+ return undo(state)
+ },
+ redo:
+ () => ({ tr, state, dispatch }) => {
+ tr.setMeta('preventDispatch', true)
- const undoManager: UndoManager = yUndoPluginKey.getState(state).undoManager
+ const undoManager: UndoManager = yUndoPluginKey.getState(state).undoManager
- if (undoManager.redoStack.length === 0) {
- return false
- }
+ if (undoManager.redoStack.length === 0) {
+ return false
+ }
- if (!dispatch) {
- return true
- }
+ if (!dispatch) {
+ return true
+ }
- return redo(state)
- },
+ return redo(state)
+ },
}
},
@@ -125,11 +154,11 @@ export const Collaboration = Extension.create({
addProseMirrorPlugins() {
const fragment = this.options.fragment
? this.options.fragment
- : this.options.document.getXmlFragment(this.options.field)
+ : (this.options.document as Doc).getXmlFragment(this.options.field)
// Quick fix until there is an official implementation (thanks to @hamflx).
// See https://github.com/yjs/y-prosemirror/issues/114 and https://github.com/yjs/y-prosemirror/issues/102
- const yUndoPluginInstance = yUndoPlugin()
+ const yUndoPluginInstance = yUndoPlugin(this.options.yUndoOptions)
const originalUndoPluginView = yUndoPluginInstance.spec.view
yUndoPluginInstance.spec.view = (view: EditorView) => {
@@ -137,8 +166,9 @@ export const Collaboration = Extension.create({
if (undoManager.restore) {
undoManager.restore()
- // eslint-disable-next-line
- undoManager.restore = () => {}
+ undoManager.restore = () => {
+ // noop
+ }
}
const viewRet = originalUndoPluginView ? originalUndoPluginView(view) : undefined
@@ -146,7 +176,7 @@ export const Collaboration = Extension.create({
return {
destroy: () => {
const hasUndoManSelf = undoManager.trackedOrigins.has(undoManager)
- // eslint-disable-next-line
+ // eslint-disable-next-line no-underscore-dangle
const observers = undoManager._observers
undoManager.restore = () => {
@@ -155,7 +185,7 @@ export const Collaboration = Extension.create({
}
undoManager.doc.on('afterTransaction', undoManager.afterTransactionHandler)
- // eslint-disable-next-line
+ // eslint-disable-next-line no-underscore-dangle
undoManager._observers = observers
}
@@ -173,6 +203,50 @@ export const Collaboration = Extension.create({
const ySyncPluginInstance = ySyncPlugin(fragment, ySyncPluginOptions)
- return [ySyncPluginInstance, yUndoPluginInstance]
+ if (this.editor.options.enableContentCheck) {
+ fragment.doc?.on('beforeTransaction', () => {
+ try {
+ const jsonContent = (yXmlFragmentToProsemirrorJSON(fragment))
+
+ if (jsonContent.content.length === 0) {
+ return
+ }
+
+ this.editor.schema.nodeFromJSON(jsonContent).check()
+ } catch (error) {
+ this.editor.emit('contentError', {
+ error: error as Error,
+ editor: this.editor,
+ disableCollaboration: () => {
+ fragment.doc?.destroy()
+ this.storage.isDisabled = true
+ },
+ })
+ // If the content is invalid, return false to prevent the transaction from being applied
+ return false
+ }
+ })
+ }
+
+ return [
+ ySyncPluginInstance,
+ yUndoPluginInstance,
+ // Only add the filterInvalidContent plugin if content checking is enabled
+ this.editor.options.enableContentCheck
+ && new Plugin({
+ key: new PluginKey('filterInvalidContent'),
+ filterTransaction: () => {
+ // When collaboration is disabled, prevent any sync transactions from being applied
+ if (this.storage.isDisabled) {
+ // Destroy the Yjs document to prevent any further sync transactions
+ fragment.doc?.destroy()
+
+ return true
+ }
+
+ return true
+ },
+ }),
+ ].filter(Boolean)
},
})
diff --git a/packages/extension-color/CHANGELOG.md b/packages/extension-color/CHANGELOG.md
index 942f170621b..d762fd6902c 100644
--- a/packages/extension-color/CHANGELOG.md
+++ b/packages/extension-color/CHANGELOG.md
@@ -1,5 +1,47 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/extension-text-style@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/extension-text-style@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-color/package.json b/packages/extension-color/package.json
index d277686f2f0..1943e4f48e5 100644
--- a/packages/extension-color/package.json
+++ b/packages/extension-color/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-color",
"description": "text color extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-color/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,18 +23,18 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-color/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/extension-text-style": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/extension-text-style": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/extension-text-style": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/extension-text-style": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-document/CHANGELOG.md b/packages/extension-document/CHANGELOG.md
index b54ce3fce06..0f4996098ba 100644
--- a/packages/extension-document/CHANGELOG.md
+++ b/packages/extension-document/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-document/package.json b/packages/extension-document/package.json
index 84d16b7600e..941b0c45b9e 100644
--- a/packages/extension-document/package.json
+++ b/packages/extension-document/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-document",
"description": "document extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-document/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-document/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-dropcursor/CHANGELOG.md b/packages/extension-dropcursor/CHANGELOG.md
index ca65a910921..ad6c1e994fd 100644
--- a/packages/extension-dropcursor/CHANGELOG.md
+++ b/packages/extension-dropcursor/CHANGELOG.md
@@ -1,5 +1,48 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-dropcursor/package.json b/packages/extension-dropcursor/package.json
index c5adeab7dbf..c017db063cf 100644
--- a/packages/extension-dropcursor/package.json
+++ b/packages/extension-dropcursor/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-dropcursor",
"description": "dropcursor extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-dropcursor/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,18 +23,18 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-dropcursor/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-floating-menu/CHANGELOG.md b/packages/extension-floating-menu/CHANGELOG.md
index 41361956b5e..58bd975ee7d 100644
--- a/packages/extension-floating-menu/CHANGELOG.md
+++ b/packages/extension-floating-menu/CHANGELOG.md
@@ -1,5 +1,48 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-floating-menu/package.json b/packages/extension-floating-menu/package.json
index b342d0ad6fc..516cc16efcf 100644
--- a/packages/extension-floating-menu/package.json
+++ b/packages/extension-floating-menu/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-floating-menu",
"description": "floating-menu extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-floating-menu/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,18 +23,18 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-floating-menu/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
},
"dependencies": {
"tippy.js": "^6.3.7"
diff --git a/packages/extension-focus/CHANGELOG.md b/packages/extension-focus/CHANGELOG.md
index bea3b37ead1..77bc016f0fe 100644
--- a/packages/extension-focus/CHANGELOG.md
+++ b/packages/extension-focus/CHANGELOG.md
@@ -1,5 +1,48 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-focus/package.json b/packages/extension-focus/package.json
index 4f3c3e3455e..54b8e8032d5 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.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-focus/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,18 +23,18 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-focus/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-font-family/CHANGELOG.md b/packages/extension-font-family/CHANGELOG.md
index 0f90b42f695..f3c6e73c066 100644
--- a/packages/extension-font-family/CHANGELOG.md
+++ b/packages/extension-font-family/CHANGELOG.md
@@ -1,5 +1,47 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/extension-text-style@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/extension-text-style@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-font-family/package.json b/packages/extension-font-family/package.json
index 1be9d0e526a..fc762b033ea 100644
--- a/packages/extension-font-family/package.json
+++ b/packages/extension-font-family/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-font-family",
"description": "font family extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-font-family/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,18 +23,18 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-font-family/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/extension-text-style": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/extension-text-style": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/extension-text-style": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/extension-text-style": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-gapcursor/CHANGELOG.md b/packages/extension-gapcursor/CHANGELOG.md
index fc05fd35c29..0da8b7cd4a9 100644
--- a/packages/extension-gapcursor/CHANGELOG.md
+++ b/packages/extension-gapcursor/CHANGELOG.md
@@ -1,5 +1,48 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-gapcursor/package.json b/packages/extension-gapcursor/package.json
index 86ecd4632cc..b2ea5b76bfc 100644
--- a/packages/extension-gapcursor/package.json
+++ b/packages/extension-gapcursor/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-gapcursor",
"description": "gapcursor extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-gapcursor/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,18 +23,18 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-gapcursor/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-hard-break/CHANGELOG.md b/packages/extension-hard-break/CHANGELOG.md
index 73490067559..b6447de50cb 100644
--- a/packages/extension-hard-break/CHANGELOG.md
+++ b/packages/extension-hard-break/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-hard-break/package.json b/packages/extension-hard-break/package.json
index f95a0f2e51c..5226807f49b 100644
--- a/packages/extension-hard-break/package.json
+++ b/packages/extension-hard-break/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-hard-break",
"description": "hard break extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-hard-break/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-hard-break/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-heading/CHANGELOG.md b/packages/extension-heading/CHANGELOG.md
index 8783a1b153c..f34511346f3 100644
--- a/packages/extension-heading/CHANGELOG.md
+++ b/packages/extension-heading/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-heading/package.json b/packages/extension-heading/package.json
index 20a60caa128..f8027e22bb3 100644
--- a/packages/extension-heading/package.json
+++ b/packages/extension-heading/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-heading",
"description": "heading extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-heading/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-heading/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-highlight/CHANGELOG.md b/packages/extension-highlight/CHANGELOG.md
index 9a50ac9252e..00529a7c775 100644
--- a/packages/extension-highlight/CHANGELOG.md
+++ b/packages/extension-highlight/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-highlight/package.json b/packages/extension-highlight/package.json
index cfa6f335de4..08e22334bb0 100644
--- a/packages/extension-highlight/package.json
+++ b/packages/extension-highlight/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-highlight",
"description": "highlight extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-highlight/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-highlight/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-history/CHANGELOG.md b/packages/extension-history/CHANGELOG.md
index 9a256f05381..b33a3364e7a 100644
--- a/packages/extension-history/CHANGELOG.md
+++ b/packages/extension-history/CHANGELOG.md
@@ -1,5 +1,48 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-history/package.json b/packages/extension-history/package.json
index 287f6d9f54e..4f7ef0e7083 100644
--- a/packages/extension-history/package.json
+++ b/packages/extension-history/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-history",
"description": "history extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-history/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,18 +23,18 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-history/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-horizontal-rule/CHANGELOG.md b/packages/extension-horizontal-rule/CHANGELOG.md
index 08dccef6b49..c9f1b405a31 100644
--- a/packages/extension-horizontal-rule/CHANGELOG.md
+++ b/packages/extension-horizontal-rule/CHANGELOG.md
@@ -1,5 +1,48 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-horizontal-rule/package.json b/packages/extension-horizontal-rule/package.json
index b0793da6f71..cb4bd4a0ad6 100644
--- a/packages/extension-horizontal-rule/package.json
+++ b/packages/extension-horizontal-rule/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-horizontal-rule",
"description": "horizontal rule extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-horizontal-rule/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,18 +23,18 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-horizontal-rule/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-image/CHANGELOG.md b/packages/extension-image/CHANGELOG.md
index f599cb9d3ba..499fe09e323 100644
--- a/packages/extension-image/CHANGELOG.md
+++ b/packages/extension-image/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-image/package.json b/packages/extension-image/package.json
index 80c3cc479ee..d51bb1370e5 100644
--- a/packages/extension-image/package.json
+++ b/packages/extension-image/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-image",
"description": "image extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-image/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-image/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-italic/CHANGELOG.md b/packages/extension-italic/CHANGELOG.md
index c8f9eb593bf..39e4ba780f7 100644
--- a/packages/extension-italic/CHANGELOG.md
+++ b/packages/extension-italic/CHANGELOG.md
@@ -1,5 +1,49 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+### Patch Changes
+
+- 6fae240: Add parse rules that reset bold & italic marks
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-italic/package.json b/packages/extension-italic/package.json
index f7254be4e0d..f722513f384 100644
--- a/packages/extension-italic/package.json
+++ b/packages/extension-italic/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-italic",
"description": "italic extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-italic/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-italic/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-italic/src/italic.ts b/packages/extension-italic/src/italic.ts
index 6afc6b3288f..9a737c94c7e 100644
--- a/packages/extension-italic/src/italic.ts
+++ b/packages/extension-italic/src/italic.ts
@@ -78,6 +78,10 @@ export const Italic = Mark.create({
tag: 'i',
getAttrs: node => (node as HTMLElement).style.fontStyle !== 'normal' && null,
},
+ {
+ style: 'font-style=normal',
+ clearMark: mark => mark.type.name === this.name,
+ },
{
style: 'font-style=italic',
},
diff --git a/packages/extension-link/CHANGELOG.md b/packages/extension-link/CHANGELOG.md
index a4005c800eb..61421ddf0ca 100644
--- a/packages/extension-link/CHANGELOG.md
+++ b/packages/extension-link/CHANGELOG.md
@@ -1,5 +1,48 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-link/package.json b/packages/extension-link/package.json
index c670f7a0f4f..fbf84cabdbf 100644
--- a/packages/extension-link/package.json
+++ b/packages/extension-link/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-link",
"description": "link extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-link/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,7 +23,7 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-link/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
@@ -32,12 +32,12 @@
"linkifyjs": "^4.1.0"
},
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-list-item/CHANGELOG.md b/packages/extension-list-item/CHANGELOG.md
index 915c36eae23..4edcb1387d2 100644
--- a/packages/extension-list-item/CHANGELOG.md
+++ b/packages/extension-list-item/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-list-item/package.json b/packages/extension-list-item/package.json
index fa54e45f91f..6914c16838d 100644
--- a/packages/extension-list-item/package.json
+++ b/packages/extension-list-item/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-list-item",
"description": "list item extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-list-item/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-list-item/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-list-keymap/CHANGELOG.md b/packages/extension-list-keymap/CHANGELOG.md
index d5506e851d0..052186f9ef0 100644
--- a/packages/extension-list-keymap/CHANGELOG.md
+++ b/packages/extension-list-keymap/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-list-keymap/package.json b/packages/extension-list-keymap/package.json
index 8cf397adb2c..3d36ccf2dc1 100644
--- a/packages/extension-list-keymap/package.json
+++ b/packages/extension-list-keymap/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-list-keymap",
"description": "list keymap extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-list-keymap/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-list-keymap/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-mention/CHANGELOG.md b/packages/extension-mention/CHANGELOG.md
index d448727fa4f..8074bb98f48 100644
--- a/packages/extension-mention/CHANGELOG.md
+++ b/packages/extension-mention/CHANGELOG.md
@@ -1,5 +1,63 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+### Patch Changes
+
+- ae711ab: Increase mention extension priority to allow mentions to be inserted in lists using the Enter key
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+### Patch Changes
+
+- da8fcf3: Add support for cross-window institation with mentions
+- 8a55cdd: Mentions would sometimes not show up if one was declined and a new one followed afterward. Was introduced by PR (#4380)
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- da8fcf3: Add support for cross-window institation with mentions
+- 8a55cdd: Mentions would sometimes not show up if one was declined and a new one followed afterward. Was introduced by PR (#4380)
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [daad533]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+ - @tiptap/suggestion@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+- Updated dependencies [84f491c]
+ - @tiptap/core@2.6.6
+ - @tiptap/suggestion@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-mention/package.json b/packages/extension-mention/package.json
index c4be607a66f..8a801737da1 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.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-mention/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,20 +23,20 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-mention/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
- "@tiptap/suggestion": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1",
+ "@tiptap/suggestion": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
- "@tiptap/suggestion": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0",
+ "@tiptap/suggestion": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-mention/src/mention.ts b/packages/extension-mention/src/mention.ts
index a3d2f2146fd..04b0056a119 100644
--- a/packages/extension-mention/src/mention.ts
+++ b/packages/extension-mention/src/mention.ts
@@ -77,6 +77,8 @@ export const MentionPluginKey = new PluginKey('mention')
export const Mention = Node.create({
name: 'mention',
+ priority: 101,
+
addOptions() {
return {
HTMLAttributes: {},
diff --git a/packages/extension-ordered-list/CHANGELOG.md b/packages/extension-ordered-list/CHANGELOG.md
index 23ef1b6f2cf..16b7d52b3f5 100644
--- a/packages/extension-ordered-list/CHANGELOG.md
+++ b/packages/extension-ordered-list/CHANGELOG.md
@@ -1,5 +1,49 @@
# Change Log
+## 2.9.1
+
+### Patch Changes
+
+- 0c9004f: This resolves an issue where the bullet-list and ordered-list extensions were depending on the list-item and text-style extensions unneccesarily. They are no longer imported and constants are used instead.
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-ordered-list/package.json b/packages/extension-ordered-list/package.json
index 36335c3f4bb..23fb6c3fc1e 100644
--- a/packages/extension-ordered-list/package.json
+++ b/packages/extension-ordered-list/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-ordered-list",
"description": "ordered list extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-ordered-list/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-ordered-list/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-ordered-list/src/ordered-list.ts b/packages/extension-ordered-list/src/ordered-list.ts
index ed2a4590419..950ac92ccc7 100644
--- a/packages/extension-ordered-list/src/ordered-list.ts
+++ b/packages/extension-ordered-list/src/ordered-list.ts
@@ -1,7 +1,7 @@
import { mergeAttributes, Node, wrappingInputRule } from '@tiptap/core'
-import ListItem from '../../extension-list-item/src/index.js'
-import TextStyle from '../../extension-text-style/src/index.js'
+const ListItemName = 'listItem'
+const TextStyleName = 'textStyle'
export interface OrderedListOptions {
/**
@@ -111,7 +111,7 @@ export const OrderedList = Node.create({
return {
toggleOrderedList: () => ({ commands, chain }) => {
if (this.options.keepAttributes) {
- return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItem.name, this.editor.getAttributes(TextStyle.name)).run()
+ return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItemName, this.editor.getAttributes(TextStyleName)).run()
}
return commands.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks)
},
@@ -138,7 +138,7 @@ export const OrderedList = Node.create({
type: this.type,
keepMarks: this.options.keepMarks,
keepAttributes: this.options.keepAttributes,
- getAttributes: match => ({ start: +match[1], ...this.editor.getAttributes(TextStyle.name) }),
+ getAttributes: match => ({ start: +match[1], ...this.editor.getAttributes(TextStyleName) }),
joinPredicate: (match, node) => node.childCount + node.attrs.start === +match[1],
editor: this.editor,
})
diff --git a/packages/extension-paragraph/CHANGELOG.md b/packages/extension-paragraph/CHANGELOG.md
index 99b02fb2f5d..38727b9c572 100644
--- a/packages/extension-paragraph/CHANGELOG.md
+++ b/packages/extension-paragraph/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-paragraph/package.json b/packages/extension-paragraph/package.json
index 1ccb73fd7ce..adc42632e71 100644
--- a/packages/extension-paragraph/package.json
+++ b/packages/extension-paragraph/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-paragraph",
"description": "paragraph extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-paragraph/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-paragraph/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-placeholder/CHANGELOG.md b/packages/extension-placeholder/CHANGELOG.md
index 9b0eba99229..3404f49f950 100644
--- a/packages/extension-placeholder/CHANGELOG.md
+++ b/packages/extension-placeholder/CHANGELOG.md
@@ -1,5 +1,48 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-placeholder/package.json b/packages/extension-placeholder/package.json
index 8ac5eecdf73..5a26f758bd9 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.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-placeholder/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,18 +23,18 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-placeholder/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-strike/CHANGELOG.md b/packages/extension-strike/CHANGELOG.md
index ce765daf05f..414fb8dce8b 100644
--- a/packages/extension-strike/CHANGELOG.md
+++ b/packages/extension-strike/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-strike/package.json b/packages/extension-strike/package.json
index 0b6e2dfc810..2709e11f69b 100644
--- a/packages/extension-strike/package.json
+++ b/packages/extension-strike/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-strike",
"description": "strike extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-strike/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-strike/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-subscript/CHANGELOG.md b/packages/extension-subscript/CHANGELOG.md
index 2df13c3bb39..98673be2c27 100644
--- a/packages/extension-subscript/CHANGELOG.md
+++ b/packages/extension-subscript/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-subscript/package.json b/packages/extension-subscript/package.json
index 4472a2b0909..4eec3b3fa6c 100644
--- a/packages/extension-subscript/package.json
+++ b/packages/extension-subscript/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-subscript",
"description": "subscript extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-subscript/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-subscript/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-superscript/CHANGELOG.md b/packages/extension-superscript/CHANGELOG.md
index 02d9ad7c08a..eba6c81e758 100644
--- a/packages/extension-superscript/CHANGELOG.md
+++ b/packages/extension-superscript/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-superscript/package.json b/packages/extension-superscript/package.json
index 4eab24ccabc..dcc1df35c81 100644
--- a/packages/extension-superscript/package.json
+++ b/packages/extension-superscript/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-superscript",
"description": "superscript extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-superscript/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-superscript/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-table-cell/CHANGELOG.md b/packages/extension-table-cell/CHANGELOG.md
index b36fa76be78..953d4d33845 100644
--- a/packages/extension-table-cell/CHANGELOG.md
+++ b/packages/extension-table-cell/CHANGELOG.md
@@ -1,5 +1,49 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+### Patch Changes
+
+- 21df331: Tables now properly respect colwidths with multiple values, fixing resizeable columns when the first row has a colspan
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-table-cell/package.json b/packages/extension-table-cell/package.json
index add8725b3c0..84cb13e2fb6 100644
--- a/packages/extension-table-cell/package.json
+++ b/packages/extension-table-cell/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-table-cell",
"description": "table cell extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-table-cell/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-table-cell/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-table-cell/src/table-cell.ts b/packages/extension-table-cell/src/table-cell.ts
index 852c64fd639..5cfa18285ce 100644
--- a/packages/extension-table-cell/src/table-cell.ts
+++ b/packages/extension-table-cell/src/table-cell.ts
@@ -37,7 +37,7 @@ export const TableCell = Node.create({
parseHTML: element => {
const colwidth = element.getAttribute('colwidth')
const value = colwidth
- ? [parseInt(colwidth, 10)]
+ ? colwidth.split(',').map(width => parseInt(width, 10))
: null
return value
diff --git a/packages/extension-table-header/CHANGELOG.md b/packages/extension-table-header/CHANGELOG.md
index de96b0a0bac..e57d7233015 100644
--- a/packages/extension-table-header/CHANGELOG.md
+++ b/packages/extension-table-header/CHANGELOG.md
@@ -1,5 +1,49 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+### Patch Changes
+
+- 21df331: Tables now properly respect colwidths with multiple values, fixing resizeable columns when the first row has a colspan
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-table-header/package.json b/packages/extension-table-header/package.json
index d03b7d9266c..5f7ddb07f73 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.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-table-header/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-table-header/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-table-header/src/table-header.ts b/packages/extension-table-header/src/table-header.ts
index 4c6ce447dfa..8f959d5150b 100644
--- a/packages/extension-table-header/src/table-header.ts
+++ b/packages/extension-table-header/src/table-header.ts
@@ -37,7 +37,7 @@ export const TableHeader = Node.create({
parseHTML: element => {
const colwidth = element.getAttribute('colwidth')
const value = colwidth
- ? [parseInt(colwidth, 10)]
+ ? colwidth.split(',').map(width => parseInt(width, 10))
: null
return value
diff --git a/packages/extension-table-row/CHANGELOG.md b/packages/extension-table-row/CHANGELOG.md
index f802ddda432..4379b1d72f9 100644
--- a/packages/extension-table-row/CHANGELOG.md
+++ b/packages/extension-table-row/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-table-row/package.json b/packages/extension-table-row/package.json
index 752842cfafd..d4fb64caa50 100644
--- a/packages/extension-table-row/package.json
+++ b/packages/extension-table-row/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-table-row",
"description": "table row extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-table-row/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-table-row/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-table/CHANGELOG.md b/packages/extension-table/CHANGELOG.md
index 6f8fbf17874..cdaef43885e 100644
--- a/packages/extension-table/CHANGELOG.md
+++ b/packages/extension-table/CHANGELOG.md
@@ -1,5 +1,48 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-table/package.json b/packages/extension-table/package.json
index 7d0de1d2da1..1cf3c17817a 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.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-table/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,18 +23,18 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-table/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-task-item/CHANGELOG.md b/packages/extension-task-item/CHANGELOG.md
index c8c251d58cc..dee032b7523 100644
--- a/packages/extension-task-item/CHANGELOG.md
+++ b/packages/extension-task-item/CHANGELOG.md
@@ -1,5 +1,53 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+### Patch Changes
+
+- dbcdaad: Prevent `onBlur` from being trigged when a task item is toggled
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- dbcdaad: Prevent `onBlur` from being trigged when a task item is toggled
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-task-item/package.json b/packages/extension-task-item/package.json
index b403e833ce0..9d96f96a8d6 100644
--- a/packages/extension-task-item/package.json
+++ b/packages/extension-task-item/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-task-item",
"description": "task item extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-task-item/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,18 +23,18 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-task-item/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-task-list/CHANGELOG.md b/packages/extension-task-list/CHANGELOG.md
index df855a654f3..8cc41180bb4 100644
--- a/packages/extension-task-list/CHANGELOG.md
+++ b/packages/extension-task-list/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-task-list/package.json b/packages/extension-task-list/package.json
index 4aa4f9e6a98..15e1445a9fe 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.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-task-list/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-task-list/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-text-align/CHANGELOG.md b/packages/extension-text-align/CHANGELOG.md
index 788454a149a..8405be430f3 100644
--- a/packages/extension-text-align/CHANGELOG.md
+++ b/packages/extension-text-align/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-text-align/package.json b/packages/extension-text-align/package.json
index f22dcb07afd..fe008aef6fb 100644
--- a/packages/extension-text-align/package.json
+++ b/packages/extension-text-align/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-text-align",
"description": "text align extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-text-align/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-text-align/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-text-style/CHANGELOG.md b/packages/extension-text-style/CHANGELOG.md
index 994116628d3..3d4b86432a1 100644
--- a/packages/extension-text-style/CHANGELOG.md
+++ b/packages/extension-text-style/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-text-style/package.json b/packages/extension-text-style/package.json
index 884a89d6c6d..9c0b2e6bd22 100644
--- a/packages/extension-text-style/package.json
+++ b/packages/extension-text-style/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-text-style",
"description": "text style extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-text-style/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-text-style/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-text/CHANGELOG.md b/packages/extension-text/CHANGELOG.md
index 89a712d655e..ebbffb5b74a 100644
--- a/packages/extension-text/CHANGELOG.md
+++ b/packages/extension-text/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-text/package.json b/packages/extension-text/package.json
index ec1232a518c..cec0d285f71 100644
--- a/packages/extension-text/package.json
+++ b/packages/extension-text/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-text",
"description": "text extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-text/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-text/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-typography/CHANGELOG.md b/packages/extension-typography/CHANGELOG.md
index afbe9cf6ad2..6ff956ebb8d 100644
--- a/packages/extension-typography/CHANGELOG.md
+++ b/packages/extension-typography/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-typography/package.json b/packages/extension-typography/package.json
index b90ca552c75..d25115342a5 100644
--- a/packages/extension-typography/package.json
+++ b/packages/extension-typography/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-typography",
"description": "typography extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-typography/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-typography/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-underline/CHANGELOG.md b/packages/extension-underline/CHANGELOG.md
index 2f4a7d015c5..af00df56a7d 100644
--- a/packages/extension-underline/CHANGELOG.md
+++ b/packages/extension-underline/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-underline/package.json b/packages/extension-underline/package.json
index e6fc9221293..fe905ec332d 100644
--- a/packages/extension-underline/package.json
+++ b/packages/extension-underline/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-underline",
"description": "underline extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-underline/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-underline/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/extension-youtube/CHANGELOG.md b/packages/extension-youtube/CHANGELOG.md
index 73024fc9810..f4bfca73472 100644
--- a/packages/extension-youtube/CHANGELOG.md
+++ b/packages/extension-youtube/CHANGELOG.md
@@ -1,5 +1,45 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/extension-youtube/package.json b/packages/extension-youtube/package.json
index bef7ce56404..51ce44df997 100644
--- a/packages/extension-youtube/package.json
+++ b/packages/extension-youtube/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/extension-youtube",
"description": "a youtube embed extension for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -15,7 +15,7 @@
"type": "module",
"exports": {
".": {
- "types": "./dist/packages/extension-youtube/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -23,16 +23,16 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/extension-youtube/src/index.d.ts",
+ "types": "dist/index.d.ts",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5"
+ "@tiptap/core": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/html/CHANGELOG.md b/packages/html/CHANGELOG.md
index 41468b0c0e5..a750806e8ca 100644
--- a/packages/html/CHANGELOG.md
+++ b/packages/html/CHANGELOG.md
@@ -1,5 +1,48 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/html/package.json b/packages/html/package.json
index 3a4904043b1..fc0c2ec9103 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.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -14,7 +14,7 @@
},
"exports": {
".": {
- "types": "./dist/packages/html/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -22,22 +22,22 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/html/src/index.d.ts",
+ "types": "dist/index.d.ts",
"type": "module",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
},
"dependencies": {
- "zeed-dom": "^0.10.11"
+ "zeed-dom": "^0.15.1"
},
"repository": {
"type": "git",
diff --git a/packages/pm/CHANGELOG.md b/packages/pm/CHANGELOG.md
index a5461f00fbe..2aa96eb20db 100644
--- a/packages/pm/CHANGELOG.md
+++ b/packages/pm/CHANGELOG.md
@@ -1,5 +1,41 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+### Patch Changes
+
+- feea1f6: Update prosemirror-view version
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+### Patch Changes
+
+- bd34793: Bumped prosemirror versions
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- bd34793: Bumped prosemirror versions
+
+## 2.6.6
+
## 2.6.5
## 2.6.4
diff --git a/packages/pm/package.json b/packages/pm/package.json
index 62d8d64e378..d4bb8b0f3b9 100644
--- a/packages/pm/package.json
+++ b/packages/pm/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/pm",
"description": "prosemirror wrapper package for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -143,7 +143,7 @@
"prosemirror-tables": "^1.4.0",
"prosemirror-trailing-node": "^3.0.0",
"prosemirror-transform": "^1.10.0",
- "prosemirror-view": "^1.33.10"
+ "prosemirror-view": "^1.34.3"
},
"repository": {
"type": "git",
diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md
index 747990f06c3..0a97939543b 100644
--- a/packages/react/CHANGELOG.md
+++ b/packages/react/CHANGELOG.md
@@ -1,5 +1,101 @@
# Change Log
+## 2.9.1
+
+### Patch Changes
+
+- @tiptap/extension-bubble-menu@2.9.1
+- @tiptap/extension-floating-menu@2.9.1
+
+## 2.9.0
+
+### Patch Changes
+
+- 304eedb: preserve editable option across re-renders #5547
+ - @tiptap/extension-bubble-menu@2.9.0
+ - @tiptap/extension-floating-menu@2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+### Patch Changes
+
+- Updated dependencies [6834a7f]
+ - @tiptap/extension-floating-menu@2.8.0
+ - @tiptap/extension-bubble-menu@2.8.0
+
+## 2.7.4
+
+### Patch Changes
+
+- 26056aa: Add editorContainerProps to EditorProvider. This allows for any HTML attributes to be added to the EditorContent when using EditorProvider
+ - @tiptap/extension-bubble-menu@2.7.4
+ - @tiptap/extension-floating-menu@2.7.4
+
+## 2.7.3
+
+### Patch Changes
+
+- @tiptap/extension-bubble-menu@2.7.3
+- @tiptap/extension-floating-menu@2.7.3
+
+## 2.7.2
+
+### Patch Changes
+
+- @tiptap/extension-bubble-menu@2.7.2
+- @tiptap/extension-floating-menu@2.7.2
+
+## 2.7.1
+
+### Patch Changes
+
+- @tiptap/extension-bubble-menu@2.7.1
+- @tiptap/extension-floating-menu@2.7.1
+
+## 2.7.0
+
+### Patch Changes
+
+- 7f24a66: Update the Typescript types for NodeViews, bringing them inline with there actual implementation
+- c99627d: `useEditorState` now defaults to using a deep equal comparison for it's `equalityFn` option, which makes it more convenient to use
+- 4ff2a4e: ReactNodeViewRenderer now accepts a callback for attrs of the wrapping element to be updated on each node view update
+ - @tiptap/extension-bubble-menu@2.7.0
+ - @tiptap/extension-floating-menu@2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- 7f24a66: Update the Typescript types for NodeViews, bringing them inline with there actual implementation
+- c99627d: `useEditorState` now defaults to using a deep equal comparison for it's `equalityFn` option, which makes it more convenient to use
+- 4ff2a4e: ReactNodeViewRenderer now accepts a callback for attrs of the wrapping element to be updated on each node view update
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+ - @tiptap/extension-bubble-menu@2.7.0-pre.0
+ - @tiptap/extension-floating-menu@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/extension-bubble-menu@2.6.6
+ - @tiptap/extension-floating-menu@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/react/package.json b/packages/react/package.json
index cd70d2ef56a..350739d702a 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.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -14,7 +14,7 @@
},
"exports": {
".": {
- "types": "./dist/packages/react/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -22,30 +22,30 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/react/src/index.d.ts",
+ "types": "dist/index.d.ts",
"type": "module",
"files": [
"src",
"dist"
],
"dependencies": {
- "@tiptap/extension-bubble-menu": "^2.6.5",
- "@tiptap/extension-floating-menu": "^2.6.5",
+ "@tiptap/extension-bubble-menu": "^2.9.1",
+ "@tiptap/extension-floating-menu": "^2.9.1",
"@types/use-sync-external-store": "^0.0.6",
"fast-deep-equal": "^3",
"use-sync-external-store": "^1.2.2"
},
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1",
"@types/react": "^18.2.14",
"@types/react-dom": "^18.2.6",
"react": "^18.0.0",
"react-dom": "^18.0.0"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0",
"react": "^17.0.0 || ^18.0.0",
"react-dom": "^17.0.0 || ^18.0.0"
},
diff --git a/packages/react/src/BubbleMenu.tsx b/packages/react/src/BubbleMenu.tsx
index 3a1dd5c5e2e..6628655708f 100644
--- a/packages/react/src/BubbleMenu.tsx
+++ b/packages/react/src/BubbleMenu.tsx
@@ -46,7 +46,7 @@ export const BubbleMenu = (props: BubbleMenuProps) => {
})
menuEditor.registerPlugin(plugin)
- return () => menuEditor.unregisterPlugin(pluginKey)
+ return () => { menuEditor.unregisterPlugin(pluginKey) }
}, [props.editor, currentEditor, element])
return (
diff --git a/packages/react/src/Context.tsx b/packages/react/src/Context.tsx
index 2cd029b6db6..8c285d83706 100644
--- a/packages/react/src/Context.tsx
+++ b/packages/react/src/Context.tsx
@@ -1,5 +1,7 @@
import { Editor } from '@tiptap/core'
-import React, { createContext, ReactNode, useContext } from 'react'
+import React, {
+ createContext, HTMLAttributes, ReactNode, useContext,
+} from 'react'
import { EditorContent } from './EditorContent.js'
import { useEditor, UseEditorOptions } from './useEditor.js'
@@ -23,6 +25,7 @@ export type EditorProviderProps = {
children?: ReactNode;
slotBefore?: ReactNode;
slotAfter?: ReactNode;
+ editorContainerProps?: HTMLAttributes;
} & UseEditorOptions
/**
@@ -31,7 +34,7 @@ export type EditorProviderProps = {
* with `useCurrentEditor`.
*/
export function EditorProvider({
- children, slotAfter, slotBefore, ...editorOptions
+ children, slotAfter, slotBefore, editorContainerProps = {}, ...editorOptions
}: EditorProviderProps) {
const editor = useEditor(editorOptions)
@@ -44,7 +47,7 @@ export function EditorProvider({
{slotBefore}
{({ editor: currentEditor }) => (
-
+
)}
{children}
diff --git a/packages/react/src/FloatingMenu.tsx b/packages/react/src/FloatingMenu.tsx
index a48a1984917..ae661bc5f9b 100644
--- a/packages/react/src/FloatingMenu.tsx
+++ b/packages/react/src/FloatingMenu.tsx
@@ -49,7 +49,7 @@ export const FloatingMenu = (props: FloatingMenuProps) => {
})
menuEditor.registerPlugin(plugin)
- return () => menuEditor.unregisterPlugin(pluginKey)
+ return () => { menuEditor.unregisterPlugin(pluginKey) }
}, [
props.editor,
currentEditor,
diff --git a/packages/react/src/useEditor.ts b/packages/react/src/useEditor.ts
index 9a841807f63..77684061543 100644
--- a/packages/react/src/useEditor.ts
+++ b/packages/react/src/useEditor.ts
@@ -199,7 +199,10 @@ class EditorInstanceManager {
if (this.editor && !this.editor.isDestroyed && deps.length === 0) {
// if the editor does exist & deps are empty, we don't need to re-initialize the editor
// we can fast-path to update the editor options on the existing instance
- this.editor.setOptions(this.options.current)
+ this.editor.setOptions({
+ ...this.options.current,
+ editable: this.editor.isEditable,
+ })
} else {
// When the editor:
// - does not yet exist
diff --git a/packages/starter-kit/CHANGELOG.md b/packages/starter-kit/CHANGELOG.md
index 425635ad5dd..80e9a9b568e 100644
--- a/packages/starter-kit/CHANGELOG.md
+++ b/packages/starter-kit/CHANGELOG.md
@@ -1,5 +1,295 @@
# Change Log
+## 2.9.1
+
+### Patch Changes
+
+- Updated dependencies [0c9004f]
+ - @tiptap/extension-ordered-list@2.9.1
+ - @tiptap/extension-bullet-list@2.9.1
+ - @tiptap/core@2.9.1
+ - @tiptap/extension-blockquote@2.9.1
+ - @tiptap/extension-bold@2.9.1
+ - @tiptap/extension-code@2.9.1
+ - @tiptap/extension-code-block@2.9.1
+ - @tiptap/extension-document@2.9.1
+ - @tiptap/extension-dropcursor@2.9.1
+ - @tiptap/extension-gapcursor@2.9.1
+ - @tiptap/extension-hard-break@2.9.1
+ - @tiptap/extension-heading@2.9.1
+ - @tiptap/extension-history@2.9.1
+ - @tiptap/extension-horizontal-rule@2.9.1
+ - @tiptap/extension-italic@2.9.1
+ - @tiptap/extension-list-item@2.9.1
+ - @tiptap/extension-paragraph@2.9.1
+ - @tiptap/extension-strike@2.9.1
+ - @tiptap/extension-text@2.9.1
+ - @tiptap/extension-text-style@2.9.1
+ - @tiptap/pm@2.9.1
+
+## 2.9.0
+
+### Patch Changes
+
+- 087e581: Adds @tiptap/extension-text-style to @tiptap/starter-kit deps but does not install the extension, since it is only to resolve a peer dep install for list-items
+- Updated dependencies [ffb51d3]
+- Updated dependencies [6fae240]
+- Updated dependencies [feea1f6]
+- Updated dependencies [873a67c]
+- Updated dependencies [d96f679]
+- Updated dependencies [e606c06]
+- Updated dependencies [a2eea24]
+- Updated dependencies [d96f679]
+- Updated dependencies [4efd227]
+ - @tiptap/core@2.9.0
+ - @tiptap/extension-italic@2.9.0
+ - @tiptap/extension-bold@2.9.0
+ - @tiptap/pm@2.9.0
+ - @tiptap/extension-blockquote@2.9.0
+ - @tiptap/extension-bullet-list@2.9.0
+ - @tiptap/extension-code@2.9.0
+ - @tiptap/extension-code-block@2.9.0
+ - @tiptap/extension-document@2.9.0
+ - @tiptap/extension-dropcursor@2.9.0
+ - @tiptap/extension-gapcursor@2.9.0
+ - @tiptap/extension-hard-break@2.9.0
+ - @tiptap/extension-heading@2.9.0
+ - @tiptap/extension-history@2.9.0
+ - @tiptap/extension-horizontal-rule@2.9.0
+ - @tiptap/extension-list-item@2.9.0
+ - @tiptap/extension-ordered-list@2.9.0
+ - @tiptap/extension-paragraph@2.9.0
+ - @tiptap/extension-strike@2.9.0
+ - @tiptap/extension-text@2.9.0
+ - @tiptap/extension-text-style@2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+### Patch Changes
+
+- Updated dependencies [6834a7f]
+- Updated dependencies [8ee534d]
+ - @tiptap/extension-horizontal-rule@2.8.0
+ - @tiptap/extension-ordered-list@2.8.0
+ - @tiptap/extension-bullet-list@2.8.0
+ - @tiptap/extension-blockquote@2.8.0
+ - @tiptap/extension-code-block@2.8.0
+ - @tiptap/extension-dropcursor@2.8.0
+ - @tiptap/extension-hard-break@2.8.0
+ - @tiptap/extension-gapcursor@2.8.0
+ - @tiptap/extension-list-item@2.8.0
+ - @tiptap/extension-paragraph@2.8.0
+ - @tiptap/extension-document@2.8.0
+ - @tiptap/extension-heading@2.8.0
+ - @tiptap/extension-history@2.8.0
+ - @tiptap/extension-italic@2.8.0
+ - @tiptap/extension-strike@2.8.0
+ - @tiptap/extension-bold@2.8.0
+ - @tiptap/extension-code@2.8.0
+ - @tiptap/extension-text@2.8.0
+ - @tiptap/core@2.8.0
+ - @tiptap/pm@2.8.0
+
+## 2.7.4
+
+### Patch Changes
+
+- Updated dependencies [7ef401d]
+ - @tiptap/core@2.7.4
+ - @tiptap/extension-blockquote@2.7.4
+ - @tiptap/extension-bold@2.7.4
+ - @tiptap/extension-bullet-list@2.7.4
+ - @tiptap/extension-code@2.7.4
+ - @tiptap/extension-code-block@2.7.4
+ - @tiptap/extension-document@2.7.4
+ - @tiptap/extension-dropcursor@2.7.4
+ - @tiptap/extension-gapcursor@2.7.4
+ - @tiptap/extension-hard-break@2.7.4
+ - @tiptap/extension-heading@2.7.4
+ - @tiptap/extension-history@2.7.4
+ - @tiptap/extension-horizontal-rule@2.7.4
+ - @tiptap/extension-italic@2.7.4
+ - @tiptap/extension-list-item@2.7.4
+ - @tiptap/extension-ordered-list@2.7.4
+ - @tiptap/extension-paragraph@2.7.4
+ - @tiptap/extension-strike@2.7.4
+ - @tiptap/extension-text@2.7.4
+ - @tiptap/pm@2.7.4
+
+## 2.7.3
+
+### Patch Changes
+
+- Updated dependencies [f76515a]
+- Updated dependencies [d57ee51]
+ - @tiptap/core@2.7.3
+ - @tiptap/extension-blockquote@2.7.3
+ - @tiptap/extension-bold@2.7.3
+ - @tiptap/extension-bullet-list@2.7.3
+ - @tiptap/extension-code@2.7.3
+ - @tiptap/extension-code-block@2.7.3
+ - @tiptap/extension-document@2.7.3
+ - @tiptap/extension-dropcursor@2.7.3
+ - @tiptap/extension-gapcursor@2.7.3
+ - @tiptap/extension-hard-break@2.7.3
+ - @tiptap/extension-heading@2.7.3
+ - @tiptap/extension-history@2.7.3
+ - @tiptap/extension-horizontal-rule@2.7.3
+ - @tiptap/extension-italic@2.7.3
+ - @tiptap/extension-list-item@2.7.3
+ - @tiptap/extension-ordered-list@2.7.3
+ - @tiptap/extension-paragraph@2.7.3
+ - @tiptap/extension-strike@2.7.3
+ - @tiptap/extension-text@2.7.3
+ - @tiptap/pm@2.7.3
+
+## 2.7.2
+
+### Patch Changes
+
+- @tiptap/core@2.7.2
+- @tiptap/extension-blockquote@2.7.2
+- @tiptap/extension-bold@2.7.2
+- @tiptap/extension-bullet-list@2.7.2
+- @tiptap/extension-code@2.7.2
+- @tiptap/extension-code-block@2.7.2
+- @tiptap/extension-document@2.7.2
+- @tiptap/extension-dropcursor@2.7.2
+- @tiptap/extension-gapcursor@2.7.2
+- @tiptap/extension-hard-break@2.7.2
+- @tiptap/extension-heading@2.7.2
+- @tiptap/extension-history@2.7.2
+- @tiptap/extension-horizontal-rule@2.7.2
+- @tiptap/extension-italic@2.7.2
+- @tiptap/extension-list-item@2.7.2
+- @tiptap/extension-ordered-list@2.7.2
+- @tiptap/extension-paragraph@2.7.2
+- @tiptap/extension-strike@2.7.2
+- @tiptap/extension-text@2.7.2
+- @tiptap/pm@2.7.2
+
+## 2.7.1
+
+### Patch Changes
+
+- Updated dependencies [888f574]
+ - @tiptap/core@2.7.1
+ - @tiptap/extension-blockquote@2.7.1
+ - @tiptap/extension-bold@2.7.1
+ - @tiptap/extension-bullet-list@2.7.1
+ - @tiptap/extension-code@2.7.1
+ - @tiptap/extension-code-block@2.7.1
+ - @tiptap/extension-document@2.7.1
+ - @tiptap/extension-dropcursor@2.7.1
+ - @tiptap/extension-gapcursor@2.7.1
+ - @tiptap/extension-hard-break@2.7.1
+ - @tiptap/extension-heading@2.7.1
+ - @tiptap/extension-history@2.7.1
+ - @tiptap/extension-horizontal-rule@2.7.1
+ - @tiptap/extension-italic@2.7.1
+ - @tiptap/extension-list-item@2.7.1
+ - @tiptap/extension-ordered-list@2.7.1
+ - @tiptap/extension-paragraph@2.7.1
+ - @tiptap/extension-strike@2.7.1
+ - @tiptap/extension-text@2.7.1
+ - @tiptap/pm@2.7.1
+
+## 2.7.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0
+ - @tiptap/pm@2.7.0
+ - @tiptap/extension-blockquote@2.7.0
+ - @tiptap/extension-bold@2.7.0
+ - @tiptap/extension-bullet-list@2.7.0
+ - @tiptap/extension-code@2.7.0
+ - @tiptap/extension-code-block@2.7.0
+ - @tiptap/extension-document@2.7.0
+ - @tiptap/extension-dropcursor@2.7.0
+ - @tiptap/extension-gapcursor@2.7.0
+ - @tiptap/extension-hard-break@2.7.0
+ - @tiptap/extension-heading@2.7.0
+ - @tiptap/extension-history@2.7.0
+ - @tiptap/extension-horizontal-rule@2.7.0
+ - @tiptap/extension-italic@2.7.0
+ - @tiptap/extension-list-item@2.7.0
+ - @tiptap/extension-ordered-list@2.7.0
+ - @tiptap/extension-paragraph@2.7.0
+ - @tiptap/extension-strike@2.7.0
+ - @tiptap/extension-text@2.7.0
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+ - @tiptap/extension-blockquote@2.7.0-pre.0
+ - @tiptap/extension-bold@2.7.0-pre.0
+ - @tiptap/extension-bullet-list@2.7.0-pre.0
+ - @tiptap/extension-code@2.7.0-pre.0
+ - @tiptap/extension-code-block@2.7.0-pre.0
+ - @tiptap/extension-document@2.7.0-pre.0
+ - @tiptap/extension-dropcursor@2.7.0-pre.0
+ - @tiptap/extension-gapcursor@2.7.0-pre.0
+ - @tiptap/extension-hard-break@2.7.0-pre.0
+ - @tiptap/extension-heading@2.7.0-pre.0
+ - @tiptap/extension-history@2.7.0-pre.0
+ - @tiptap/extension-horizontal-rule@2.7.0-pre.0
+ - @tiptap/extension-italic@2.7.0-pre.0
+ - @tiptap/extension-list-item@2.7.0-pre.0
+ - @tiptap/extension-ordered-list@2.7.0-pre.0
+ - @tiptap/extension-paragraph@2.7.0-pre.0
+ - @tiptap/extension-strike@2.7.0-pre.0
+ - @tiptap/extension-text@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/extension-blockquote@2.6.6
+ - @tiptap/extension-bold@2.6.6
+ - @tiptap/extension-bullet-list@2.6.6
+ - @tiptap/extension-code@2.6.6
+ - @tiptap/extension-code-block@2.6.6
+ - @tiptap/extension-document@2.6.6
+ - @tiptap/extension-dropcursor@2.6.6
+ - @tiptap/extension-gapcursor@2.6.6
+ - @tiptap/extension-hard-break@2.6.6
+ - @tiptap/extension-heading@2.6.6
+ - @tiptap/extension-history@2.6.6
+ - @tiptap/extension-horizontal-rule@2.6.6
+ - @tiptap/extension-italic@2.6.6
+ - @tiptap/extension-list-item@2.6.6
+ - @tiptap/extension-ordered-list@2.6.6
+ - @tiptap/extension-paragraph@2.6.6
+ - @tiptap/extension-strike@2.6.6
+ - @tiptap/extension-text@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/starter-kit/package.json b/packages/starter-kit/package.json
index 214b49379ca..5a5a1e18a37 100644
--- a/packages/starter-kit/package.json
+++ b/packages/starter-kit/package.json
@@ -1,7 +1,7 @@
{
"name": "@tiptap/starter-kit",
"description": "starter kit for tiptap",
- "version": "2.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -14,7 +14,7 @@
},
"exports": {
".": {
- "types": "./dist/packages/starter-kit/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -22,33 +22,34 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/starter-kit/src/index.d.ts",
+ "types": "dist/index.d.ts",
"type": "module",
"files": [
"src",
"dist"
],
"dependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/extension-blockquote": "^2.6.5",
- "@tiptap/extension-bold": "^2.6.5",
- "@tiptap/extension-bullet-list": "^2.6.5",
- "@tiptap/extension-code": "^2.6.5",
- "@tiptap/extension-code-block": "^2.6.5",
- "@tiptap/extension-document": "^2.6.5",
- "@tiptap/extension-dropcursor": "^2.6.5",
- "@tiptap/extension-gapcursor": "^2.6.5",
- "@tiptap/extension-hard-break": "^2.6.5",
- "@tiptap/extension-heading": "^2.6.5",
- "@tiptap/extension-history": "^2.6.5",
- "@tiptap/extension-horizontal-rule": "^2.6.5",
- "@tiptap/extension-italic": "^2.6.5",
- "@tiptap/extension-list-item": "^2.6.5",
- "@tiptap/extension-ordered-list": "^2.6.5",
- "@tiptap/extension-paragraph": "^2.6.5",
- "@tiptap/extension-strike": "^2.6.5",
- "@tiptap/extension-text": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/extension-blockquote": "^2.9.1",
+ "@tiptap/extension-bold": "^2.9.1",
+ "@tiptap/extension-bullet-list": "^2.9.1",
+ "@tiptap/extension-code": "^2.9.1",
+ "@tiptap/extension-code-block": "^2.9.1",
+ "@tiptap/extension-document": "^2.9.1",
+ "@tiptap/extension-dropcursor": "^2.9.1",
+ "@tiptap/extension-gapcursor": "^2.9.1",
+ "@tiptap/extension-hard-break": "^2.9.1",
+ "@tiptap/extension-heading": "^2.9.1",
+ "@tiptap/extension-history": "^2.9.1",
+ "@tiptap/extension-horizontal-rule": "^2.9.1",
+ "@tiptap/extension-italic": "^2.9.1",
+ "@tiptap/extension-list-item": "^2.9.1",
+ "@tiptap/extension-ordered-list": "^2.9.1",
+ "@tiptap/extension-paragraph": "^2.9.1",
+ "@tiptap/extension-strike": "^2.9.1",
+ "@tiptap/extension-text": "^2.9.1",
+ "@tiptap/extension-text-style": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"repository": {
"type": "git",
diff --git a/packages/suggestion/CHANGELOG.md b/packages/suggestion/CHANGELOG.md
index 589251a1e5a..353e3536e5a 100644
--- a/packages/suggestion/CHANGELOG.md
+++ b/packages/suggestion/CHANGELOG.md
@@ -1,5 +1,54 @@
# Change Log
+## 2.9.1
+
+## 2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+## 2.7.4
+
+## 2.7.3
+
+## 2.7.2
+
+## 2.7.1
+
+## 2.7.0
+
+### Patch Changes
+
+- daad533: Dropdowns from the suggestion utility couldn't be closed with the `Esc` key
+
+## 2.7.0-pre.0
+
+### Patch Changes
+
+- daad533: Dropdowns from the suggestion utility couldn't be closed with the `Esc` key
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- 84f491c: Dropdowns from the suggestion utility couldn't be closed with the `Esc` key
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/suggestion/package.json b/packages/suggestion/package.json
index c3033b9013a..2a5cef87792 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.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -14,7 +14,7 @@
},
"exports": {
".": {
- "types": "./dist/packages/suggestion/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -22,19 +22,19 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/suggestion/src/index.d.ts",
+ "types": "dist/index.d.ts",
"type": "module",
"files": [
"src",
"dist"
],
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5"
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
},
"repository": {
"type": "git",
diff --git a/packages/vue-2/CHANGELOG.md b/packages/vue-2/CHANGELOG.md
index 22fc4094b35..ad34d436ae9 100644
--- a/packages/vue-2/CHANGELOG.md
+++ b/packages/vue-2/CHANGELOG.md
@@ -1,5 +1,103 @@
# Change Log
+## 2.9.1
+
+### Patch Changes
+
+- @tiptap/extension-bubble-menu@2.9.1
+- @tiptap/extension-floating-menu@2.9.1
+
+## 2.9.0
+
+### Patch Changes
+
+- @tiptap/extension-bubble-menu@2.9.0
+- @tiptap/extension-floating-menu@2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+### Patch Changes
+
+- Updated dependencies [6834a7f]
+ - @tiptap/extension-floating-menu@2.8.0
+ - @tiptap/extension-bubble-menu@2.8.0
+
+## 2.7.4
+
+### Patch Changes
+
+- @tiptap/extension-bubble-menu@2.7.4
+- @tiptap/extension-floating-menu@2.7.4
+
+## 2.7.3
+
+### Patch Changes
+
+- @tiptap/extension-bubble-menu@2.7.3
+- @tiptap/extension-floating-menu@2.7.3
+
+## 2.7.2
+
+### Patch Changes
+
+- @tiptap/extension-bubble-menu@2.7.2
+- @tiptap/extension-floating-menu@2.7.2
+
+## 2.7.1
+
+### Patch Changes
+
+- @tiptap/extension-bubble-menu@2.7.1
+- @tiptap/extension-floating-menu@2.7.1
+
+## 2.7.0
+
+### Minor Changes
+
+- 7f24a66: Vue NodeViews now listen for changes to selections and re-render when the selection is actually over the nodeview
+
+### Patch Changes
+
+- 7f24a66: Update the Typescript types for NodeViews, bringing them inline with there actual implementation
+ - @tiptap/extension-bubble-menu@2.7.0
+ - @tiptap/extension-floating-menu@2.7.0
+
+## 2.7.0-pre.0
+
+### Minor Changes
+
+- 7f24a66: Vue NodeViews now listen for changes to selections and re-render when the selection is actually over the nodeview
+
+### Patch Changes
+
+- 7f24a66: Update the Typescript types for NodeViews, bringing them inline with there actual implementation
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+ - @tiptap/extension-bubble-menu@2.7.0-pre.0
+ - @tiptap/extension-floating-menu@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/extension-bubble-menu@2.6.6
+ - @tiptap/extension-floating-menu@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/vue-2/package.json b/packages/vue-2/package.json
index 8059e4aecc9..995e50341e1 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.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -14,7 +14,7 @@
},
"exports": {
".": {
- "types": "./dist/packages/vue-2/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -22,25 +22,25 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/vue-2/src/index.d.ts",
+ "types": "dist/index.d.ts",
"type": "module",
"files": [
"src",
"dist"
],
"dependencies": {
- "@tiptap/extension-bubble-menu": "^2.6.5",
- "@tiptap/extension-floating-menu": "^2.6.5",
+ "@tiptap/extension-bubble-menu": "^2.9.1",
+ "@tiptap/extension-floating-menu": "^2.9.1",
"vue-ts-types": "^1.6.0"
},
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1",
"vue": "^2.6.0"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0",
"vue": "^2.6.0"
},
"repository": {
diff --git a/packages/vue-3/CHANGELOG.md b/packages/vue-3/CHANGELOG.md
index 9434c4ced72..057c6c49655 100644
--- a/packages/vue-3/CHANGELOG.md
+++ b/packages/vue-3/CHANGELOG.md
@@ -1,5 +1,107 @@
# Change Log
+## 2.9.1
+
+### Patch Changes
+
+- @tiptap/extension-bubble-menu@2.9.1
+- @tiptap/extension-floating-menu@2.9.1
+
+## 2.9.0
+
+### Patch Changes
+
+- 364231a: Fix editor content being destroyed before transition end
+ - @tiptap/extension-bubble-menu@2.9.0
+ - @tiptap/extension-floating-menu@2.9.0
+
+## 2.8.0
+
+### Minor Changes
+
+- 6834a7f: Bundling of packages no longer includes tiptap dependency type definitions
+
+### Patch Changes
+
+- Updated dependencies [6834a7f]
+ - @tiptap/extension-floating-menu@2.8.0
+ - @tiptap/extension-bubble-menu@2.8.0
+
+## 2.7.4
+
+### Patch Changes
+
+- @tiptap/extension-bubble-menu@2.7.4
+- @tiptap/extension-floating-menu@2.7.4
+
+## 2.7.3
+
+### Patch Changes
+
+- @tiptap/extension-bubble-menu@2.7.3
+- @tiptap/extension-floating-menu@2.7.3
+
+## 2.7.2
+
+### Patch Changes
+
+- cbe06d1: Fix registerPlugin() for late-registering plugins
+ - @tiptap/extension-bubble-menu@2.7.2
+ - @tiptap/extension-floating-menu@2.7.2
+
+## 2.7.1
+
+### Patch Changes
+
+- @tiptap/extension-bubble-menu@2.7.1
+- @tiptap/extension-floating-menu@2.7.1
+
+## 2.7.0
+
+### Minor Changes
+
+- 7f24a66: Vue NodeViews now listen for changes to selections and re-render when the selection is actually over the nodeview
+
+### Patch Changes
+
+- 9e18d24: Fixed an issue where plugin registration on editor initialization would break Vue3 editors.
+- 7f24a66: Update the Typescript types for NodeViews, bringing them inline with there actual implementation
+ - @tiptap/extension-bubble-menu@2.7.0
+ - @tiptap/extension-floating-menu@2.7.0
+
+## 2.7.0-pre.0
+
+### Minor Changes
+
+- 7f24a66: Vue NodeViews now listen for changes to selections and re-render when the selection is actually over the nodeview
+
+### Patch Changes
+
+- 9e18d24: Fixed an issue where plugin registration on editor initialization would break Vue3 editors.
+- 7f24a66: Update the Typescript types for NodeViews, bringing them inline with there actual implementation
+- Updated dependencies [97ea55f]
+- Updated dependencies [bd34793]
+- Updated dependencies [9e18d24]
+- Updated dependencies [f805333]
+- Updated dependencies [07fa49d]
+- Updated dependencies [7f24a66]
+- Updated dependencies [97ea55f]
+- Updated dependencies [a22767e]
+ - @tiptap/core@2.7.0-pre.0
+ - @tiptap/pm@2.7.0-pre.0
+ - @tiptap/extension-bubble-menu@2.7.0-pre.0
+ - @tiptap/extension-floating-menu@2.7.0-pre.0
+
+## 2.6.6
+
+### Patch Changes
+
+- Updated dependencies [8d8d999]
+ - @tiptap/core@2.6.6
+ - @tiptap/extension-bubble-menu@2.6.6
+ - @tiptap/extension-floating-menu@2.6.6
+ - @tiptap/pm@2.6.6
+
## 2.6.5
### Patch Changes
diff --git a/packages/vue-3/package.json b/packages/vue-3/package.json
index b8618d3cab2..36526ec60f4 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.6.5",
+ "version": "2.9.1",
"homepage": "https://tiptap.dev",
"keywords": [
"tiptap",
@@ -14,7 +14,7 @@
},
"exports": {
".": {
- "types": "./dist/packages/vue-3/src/index.d.ts",
+ "types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
@@ -22,24 +22,24 @@
"main": "dist/index.cjs",
"module": "dist/index.js",
"umd": "dist/index.umd.js",
- "types": "dist/packages/vue-3/src/index.d.ts",
+ "types": "dist/index.d.ts",
"type": "module",
"files": [
"src",
"dist"
],
"dependencies": {
- "@tiptap/extension-bubble-menu": "^2.6.5",
- "@tiptap/extension-floating-menu": "^2.6.5"
+ "@tiptap/extension-bubble-menu": "^2.9.1",
+ "@tiptap/extension-floating-menu": "^2.9.1"
},
"devDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.9.1",
+ "@tiptap/pm": "^2.9.1",
"vue": "^3.0.0"
},
"peerDependencies": {
- "@tiptap/core": "^2.6.5",
- "@tiptap/pm": "^2.6.5",
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0",
"vue": "^3.0.0"
},
"repository": {
diff --git a/packages/vue-3/src/Editor.ts b/packages/vue-3/src/Editor.ts
index b66b6733fa7..8babb10120c 100644
--- a/packages/vue-3/src/Editor.ts
+++ b/packages/vue-3/src/Editor.ts
@@ -73,20 +73,26 @@ export class Editor extends CoreEditor {
public registerPlugin(
plugin: Plugin,
handlePlugins?: (newPlugin: Plugin, plugins: Plugin[]) => Plugin[],
- ): void {
- super.registerPlugin(plugin, handlePlugins)
+ ): EditorState {
+ const nextState = super.registerPlugin(plugin, handlePlugins)
+
if (this.reactiveState) {
- this.reactiveState.value = this.view.state
+ this.reactiveState.value = nextState
}
+
+ return nextState
}
/**
* Unregister a ProseMirror plugin.
*/
- public unregisterPlugin(nameOrPluginKey: string | PluginKey): void {
- super.unregisterPlugin(nameOrPluginKey)
- if (this.reactiveState) {
- this.reactiveState.value = this.view.state
+ public unregisterPlugin(nameOrPluginKey: string | PluginKey): EditorState | undefined {
+ const nextState = super.unregisterPlugin(nameOrPluginKey)
+
+ if (this.reactiveState && nextState) {
+ this.reactiveState.value = nextState
}
+
+ return nextState
}
}
diff --git a/packages/vue-3/src/EditorContent.ts b/packages/vue-3/src/EditorContent.ts
index da533ab5877..e4cbaa308f9 100644
--- a/packages/vue-3/src/EditorContent.ts
+++ b/packages/vue-3/src/EditorContent.ts
@@ -59,6 +59,7 @@ export const EditorContent = defineComponent({
editor.createNodeViews()
})
+
}
})
@@ -69,27 +70,8 @@ export const EditorContent = defineComponent({
return
}
- // destroy nodeviews before vue removes dom element
- if (!editor.isDestroyed) {
- editor.view.setProps({
- nodeViews: {},
- })
- }
-
editor.contentComponent = null
editor.appContext = null
-
- if (!editor.options.element.firstChild) {
- return
- }
-
- const newElement = document.createElement('div')
-
- newElement.append(...editor.options.element.childNodes)
-
- editor.setOptions({
- element: newElement,
- })
})
return { rootEl }
diff --git a/shared/rollup-config/index.js b/shared/rollup-config/index.js
index 5a5703510fc..e36d7bcaf84 100644
--- a/shared/rollup-config/index.js
+++ b/shared/rollup-config/index.js
@@ -51,9 +51,12 @@ export const baseConfig = ({
tsconfigOverride: {
compilerOptions: {
declaration: true,
+ rootDir: `./packages/${pkg.name.split('/')[1]}/src`,
+ declarationMap: true,
paths: {
- '@tiptap/*': ['packages/*/src'],
+ '@tiptap/*': ['packages/*/dist', 'packages/*/src'],
},
+ noEmit: false,
},
include: null,
},
diff --git a/tests/cypress/integration/core/getMarkRange.spec.ts b/tests/cypress/integration/core/getMarkRange.spec.ts
new file mode 100644
index 00000000000..ac0b9565f29
--- /dev/null
+++ b/tests/cypress/integration/core/getMarkRange.spec.ts
@@ -0,0 +1,143 @@
+///
+
+import {
+ getMarkRange,
+ getSchemaByResolvedExtensions,
+} from '@tiptap/core'
+import Document from '@tiptap/extension-document'
+import Link from '@tiptap/extension-link'
+import Paragraph from '@tiptap/extension-paragraph'
+import Text from '@tiptap/extension-text'
+import { Node } from '@tiptap/pm/model'
+
+describe('getMarkRange', () => {
+ const document = {
+ type: 'doc',
+ content: [
+ {
+ type: 'paragraph',
+ content: [
+ { type: 'text', text: 'This is a ' },
+ { type: 'text', text: 'linked', marks: [{ type: 'link', attrs: { href: 'https://tiptap.dev' } }] },
+ { type: 'text', text: ' text.' },
+ ],
+ },
+ ],
+ }
+
+ const schema = getSchemaByResolvedExtensions([
+ Document,
+ Paragraph,
+ Text,
+ Link.configure({ openOnClick: false }),
+ ])
+
+ it('gets the correct range for a position inside the mark', () => {
+ const doc = Node.fromJSON(schema, document)
+ const $pos = doc.resolve(14)
+ const range = getMarkRange($pos, schema.marks.link)
+
+ expect(range).to.deep.eq({
+ from: 11,
+ to: 17,
+ })
+ })
+
+ it('gets the correct range for a position at the start of the mark', () => {
+ const doc = Node.fromJSON(schema, document)
+ const $pos = doc.resolve(11)
+ const range = getMarkRange($pos, schema.marks.link)
+
+ expect(range).to.deep.eq({
+ from: 11,
+ to: 17,
+ })
+ })
+
+ it('gets the correct range for a position at the end of the mark', () => {
+ const doc = Node.fromJSON(schema, document)
+ const $pos = doc.resolve(17)
+ const range = getMarkRange($pos, schema.marks.link)
+
+ expect(range).to.deep.eq({
+ from: 11,
+ to: 17,
+ })
+ })
+
+ it('gets undefined if a mark is not found', () => {
+ const doc = Node.fromJSON(schema, document)
+ const $pos = doc.resolve(6)
+ const range = getMarkRange($pos, schema.marks.link)
+
+ expect(range).to.eq(undefined)
+ })
+
+ it('doesnt cross node boundaries on backward check', () => {
+ const testDocument = {
+ type: 'doc',
+ content: [
+ {
+ type: 'paragraph',
+ content: [
+ { type: 'text', text: 'This is a text with a ' },
+ { type: 'text', text: 'link.', marks: [{ type: 'link', attrs: { href: 'https://tiptap.dev' } }] },
+ ],
+ },
+ {
+ type: 'paragraph',
+ content: [
+ { type: 'text', text: 'This is a text without a link.' },
+ ],
+ },
+ ],
+ }
+
+ const doc = Node.fromJSON(schema, testDocument)
+ const $pos = doc.resolve(28)
+ const range = getMarkRange($pos, schema.marks.link)
+
+ expect(range).to.deep.eq({
+ from: 23,
+ to: 28,
+ })
+
+ const nextRange = getMarkRange(doc.resolve(30), schema.marks.link)
+
+ expect(nextRange).to.eq(undefined)
+ })
+
+ it('doesnt cross node boundaries on forward check', () => {
+ const testDocument = {
+ type: 'doc',
+ content: [
+ {
+ type: 'paragraph',
+ content: [
+ { type: 'text', text: 'This is a text without a link.' },
+ ],
+ },
+ {
+ type: 'paragraph',
+ content: [
+ { type: 'text', text: 'A link', marks: [{ type: 'link', attrs: { href: 'https://tiptap.dev' } }] },
+ { type: 'text', text: ' is at the start of this paragraph.' },
+ ],
+ },
+ ],
+ }
+ const doc = Node.fromJSON(schema, testDocument)
+
+ const range = getMarkRange(doc.resolve(32), schema.marks.link)
+
+ expect(range).to.eq(undefined)
+
+ const $pos = doc.resolve(33)
+ const nextRange = getMarkRange($pos, schema.marks.link)
+
+ expect(nextRange).to.deep.eq({
+ from: 33,
+ to: 39,
+ })
+ })
+})
diff --git a/tests/cypress/integration/core/mergeAttributes.spec.ts b/tests/cypress/integration/core/mergeAttributes.spec.ts
index 9c68349d566..c51f21725f8 100644
--- a/tests/cypress/integration/core/mergeAttributes.spec.ts
+++ b/tests/cypress/integration/core/mergeAttributes.spec.ts
@@ -59,7 +59,7 @@ describe('mergeAttributes', () => {
})
it('should ignore falsy values', () => {
- const value = mergeAttributes(undefined, { class: 'foo' })
+ const value = mergeAttributes(undefined as any, { class: 'foo' })
expect(value).to.deep.eq({
class: 'foo',
diff --git a/tests/cypress/integration/core/onContentError.spec.ts b/tests/cypress/integration/core/onContentError.spec.ts
index 1d78e68f626..c6bf3d74613 100644
--- a/tests/cypress/integration/core/onContentError.spec.ts
+++ b/tests/cypress/integration/core/onContentError.spec.ts
@@ -134,16 +134,23 @@ describe('onContentError', () => {
const editor = new Editor({
content: json,
- extensions: [Document, Paragraph, Text, Extension.create({ name: 'collaboration' })],
+ extensions: [Document, Paragraph, Text, Extension.create({
+ name: 'collaboration',
+ addStorage() {
+ return {
+ isDisabled: false,
+ }
+ },
+ })],
enableContentCheck: true,
onContentError: args => {
args.disableCollaboration()
- expect(args.editor.extensionManager.extensions.find(extension => extension.name === 'collaboration')).to.eq(undefined)
+ expect(args.editor.storage.collaboration.isDisabled).to.eq(true)
},
})
expect(editor.getText()).to.eq('')
- expect(editor.extensionManager.extensions.find(extension => extension.name === 'collaboration')).to.eq(undefined)
+ expect(editor.storage.collaboration.isDisabled).to.eq(true)
})
it('does not remove the collaboration extension when has valid content (when enableContentCheck = true)', () => {
@@ -164,14 +171,22 @@ describe('onContentError', () => {
const editor = new Editor({
content: json,
- extensions: [Document, Paragraph, Text, Extension.create({ name: 'collaboration' })],
+ extensions: [Document, Paragraph, Text, Extension.create({
+ name: 'collaboration',
+ addStorage() {
+ return {
+ isDisabled: false,
+ }
+ },
+ })],
enableContentCheck: true,
onContentError: () => {
+ // Should not be called, so we fail the test
expect(true).to.eq(false)
},
})
expect(editor.getText()).to.eq('Example Text')
- expect(editor.extensionManager.extensions.find(extension => extension.name === 'collaboration')).to.not.eq(undefined)
+ expect(editor.storage.collaboration.isDisabled).to.eq(false)
})
})
diff --git a/tests/cypress/integration/extensions/tableCell.spec.ts b/tests/cypress/integration/extensions/tableCell.spec.ts
new file mode 100644
index 00000000000..fb3c3e98bca
--- /dev/null
+++ b/tests/cypress/integration/extensions/tableCell.spec.ts
@@ -0,0 +1,99 @@
+///
+
+import { Editor } from '@tiptap/core'
+import Document from '@tiptap/extension-document'
+import Paragraph from '@tiptap/extension-paragraph'
+import { Table } from '@tiptap/extension-table'
+import { TableCell } from '@tiptap/extension-table-cell'
+import { TableHeader } from '@tiptap/extension-table-header'
+import { TableRow } from '@tiptap/extension-table-row'
+import Text from '@tiptap/extension-text'
+
+describe('extension table cell', () => {
+ const editorElClass = 'tiptap'
+ let editor: Editor | null = null
+
+ const createEditorEl = () => {
+ const editorEl = document.createElement('div')
+
+ editorEl.classList.add(editorElClass)
+ document.body.appendChild(editorEl)
+ return editorEl
+ }
+ const getEditorEl = () => document.querySelector(`.${editorElClass}`)
+
+ it('should start with a Table', () => {
+ const content = 'Firstname | Lastname | Age |
Jill | Smith | 50 |
Eve | Jackson | 94 |
John | Doe | 80 |
'
+
+ editor = new Editor({
+ element: createEditorEl(),
+ extensions: [
+ Document,
+ Text,
+ Paragraph,
+ TableCell,
+ TableHeader,
+ TableRow,
+ Table.configure({
+ resizable: true,
+ }),
+ ],
+ content,
+ })
+
+ expect(editor.getHTML()).to.include('Jackson')
+
+ editor?.destroy()
+ getEditorEl()?.remove()
+ })
+
+ it('should parse a single colWidth', () => {
+ const content = 'Name | Description |
Cyndi Lauper | Singer | Songwriter | Actress |
Marie Curie | Scientist | Chemist | Physicist |
Indira Gandhi | Prime minister | Politician |
'
+
+ editor = new Editor({
+ element: createEditorEl(),
+ extensions: [
+ Document,
+ Text,
+ Paragraph,
+ TableCell,
+ TableHeader,
+ TableRow,
+ Table.configure({
+ resizable: true,
+ }),
+ ],
+ content,
+ })
+
+ expect(editor.getJSON().content[0].content[0].content[0].attrs.colwidth[0]).to.eq(200)
+
+ editor?.destroy()
+ getEditorEl()?.remove()
+ })
+
+ it('should parse multiple colWidths', () => {
+ const content = 'Name | Description |
Cyndi Lauper | Singer | Songwriter | Actress |
Marie Curie | Scientist | Chemist | Physicist |
Indira Gandhi | Prime minister | Politician |
'
+
+ editor = new Editor({
+ element: createEditorEl(),
+ extensions: [
+ Document,
+ Text,
+ Paragraph,
+ TableCell,
+ TableHeader,
+ TableRow,
+ Table.configure({
+ resizable: true,
+ }),
+ ],
+ content,
+ })
+
+ expect(editor.getJSON().content[0].content[0].content[1].attrs.colwidth).deep.equal([150, 100])
+
+ editor?.destroy()
+ getEditorEl()?.remove()
+ })
+})
diff --git a/tests/cypress/integration/extensions/tableHeader.spec.ts b/tests/cypress/integration/extensions/tableHeader.spec.ts
new file mode 100644
index 00000000000..04464492b8e
--- /dev/null
+++ b/tests/cypress/integration/extensions/tableHeader.spec.ts
@@ -0,0 +1,99 @@
+///
+
+import { Editor } from '@tiptap/core'
+import Document from '@tiptap/extension-document'
+import Paragraph from '@tiptap/extension-paragraph'
+import { Table } from '@tiptap/extension-table'
+import { TableCell } from '@tiptap/extension-table-cell'
+import { TableHeader } from '@tiptap/extension-table-header'
+import { TableRow } from '@tiptap/extension-table-row'
+import Text from '@tiptap/extension-text'
+
+describe('extension table header', () => {
+ const editorElClass = 'tiptap'
+ let editor: Editor | null = null
+
+ const createEditorEl = () => {
+ const editorEl = document.createElement('div')
+
+ editorEl.classList.add(editorElClass)
+ document.body.appendChild(editorEl)
+ return editorEl
+ }
+ const getEditorEl = () => document.querySelector(`.${editorElClass}`)
+
+ it('should start with a Table', () => {
+ const content = 'Firstname | Lastname | Age |
---|
Jill | Smith | 50 |
Eve | Jackson | 94 |
John | Doe | 80 |
'
+
+ editor = new Editor({
+ element: createEditorEl(),
+ extensions: [
+ Document,
+ Text,
+ Paragraph,
+ TableCell,
+ TableHeader,
+ TableRow,
+ Table.configure({
+ resizable: true,
+ }),
+ ],
+ content,
+ })
+
+ expect(editor.getHTML()).to.include('Jackson')
+
+ editor?.destroy()
+ getEditorEl()?.remove()
+ })
+
+ it('should parse a single colWidth', () => {
+ const content = 'Name | Description |
---|
Cyndi Lauper | Singer | Songwriter | Actress |
Marie Curie | Scientist | Chemist | Physicist |
Indira Gandhi | Prime minister | Politician |
'
+
+ editor = new Editor({
+ element: createEditorEl(),
+ extensions: [
+ Document,
+ Text,
+ Paragraph,
+ TableCell,
+ TableHeader,
+ TableRow,
+ Table.configure({
+ resizable: true,
+ }),
+ ],
+ content,
+ })
+
+ expect(editor.getJSON().content[0].content[0].content[0].attrs.colwidth[0]).to.eq(200)
+
+ editor?.destroy()
+ getEditorEl()?.remove()
+ })
+
+ it('should parse multiple colWidths', () => {
+ const content = 'Name | Description |
---|
Cyndi Lauper | Singer | Songwriter | Actress |
Marie Curie | Scientist | Chemist | Physicist |
Indira Gandhi | Prime minister | Politician |
'
+
+ editor = new Editor({
+ element: createEditorEl(),
+ extensions: [
+ Document,
+ Text,
+ Paragraph,
+ TableCell,
+ TableHeader,
+ TableRow,
+ Table.configure({
+ resizable: true,
+ }),
+ ],
+ content,
+ })
+
+ expect(editor.getJSON().content[0].content[0].content[1].attrs.colwidth).deep.equal([150, 100])
+
+ editor?.destroy()
+ getEditorEl()?.remove()
+ })
+})
diff --git a/tests/cypress/support/commands.js b/tests/cypress/support/commands.js
index 7a54ade42d7..c116e23426e 100644
--- a/tests/cypress/support/commands.js
+++ b/tests/cypress/support/commands.js
@@ -1,5 +1,3 @@
-import 'cypress-real-events'
-
// ***********************************************
// This example commands.js shows you how to
// create various custom commands and overwrite
@@ -97,11 +95,3 @@ Cypress.Commands.add(
return subject
},
)
-
-Cypress.Commands.add('resetEditor', () => {
- cy
- .get('.tiptap').then(([{ editor }]) => {
- editor.commands.clearContent()
- })
- .click()
-})
diff --git a/tsconfig.json b/tsconfig.json
index a87ea4b78e9..9c874d51dc6 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -15,8 +15,9 @@
"rootDir": ".",
"allowJs": true,
"checkJs": false,
+ "noEmit": true,
"paths": {
- "@tiptap/*": ["packages/*/dist", "packages/*/src"]
+ "@tiptap/*": ["packages/*/src", "packages/*/dist"]
},
"lib": [
"esnext",
diff --git a/turbo.json b/turbo.json
index db854deb70c..2545b1979ad 100644
--- a/turbo.json
+++ b/turbo.json
@@ -2,7 +2,12 @@
"$schema": "https://turbo.build/schema.json",
"tasks": {
"build": {
- "inputs": ["src/**", "rollup.config.js"],
+ "inputs": [
+ "src/**",
+ "rollup.config.js",
+ "../../tsconfig.json",
+ "../../shared/rollup-config/index.js"
+ ],
"dependsOn": ["^build"],
"outputs": ["dist/**"]
},