Compare commits

...

31 Commits

Author SHA1 Message Date
Arnau Gómez Farell
bc89c06f68
Merge pull request #6421 from ueberdosis/feature/emit-content-error-when-content-check-is-disabled-cherrypick-develop
Some checks failed
build / lint (20) (push) Has been cancelled
build / test (20, map[name:Demos/Examples spec:./demos/src/Examples/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Experiments spec:./demos/src/Experiments/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Extensions spec:./demos/src/Extensions/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/GuideContent spec:./demos/src/GuideContent/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/GuideGettingStarted spec:./demos/src/GuideGettingStarted/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Marks spec:./demos/src/Marks/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Nodes spec:./demos/src/Nodes/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Integration spec:./tests/cypress/integration/**/*.spec.{js,ts}]) (push) Has been cancelled
build / build (20) (push) Has been cancelled
Publish / Release (20) (push) Has been cancelled
add support for react 19 ref props (#6405) (#6412)
2025-06-05 15:22:48 +02:00
Arnau Gómez Farell
f8788798b4
Merge pull request #6411 from ueberdosis/feature/emit-content-error-when-content-check-is-disabled
feat: add config option to emit content error when content check is disabled
2025-06-05 12:36:18 +02:00
bdbch
1577ec0d47
add support for react 19 ref props (#6405) (#6412)
Some checks are pending
build / lint (20) (push) Waiting to run
build / test (20, map[name:Demos/Examples spec:./demos/src/Examples/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Experiments spec:./demos/src/Experiments/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Extensions spec:./demos/src/Extensions/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideContent spec:./demos/src/GuideContent/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideGettingStarted spec:./demos/src/GuideGettingStarted/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Marks spec:./demos/src/Marks/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Nodes spec:./demos/src/Nodes/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Integration spec:./tests/cypress/integration/**/*.spec.{js,ts}]) (push) Waiting to run
build / build (20) (push) Blocked by required conditions
Publish / Release (20) (push) Waiting to run
* add support for react 19 ref props (#6405)

* add support for react 19 ref props

* added changeset

* Update packages/react/src/ReactRenderer.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* use partial imports instead of importing the whole React library

* fix react renderer not passing ref prop

* upgrade dev dependencies for react

* updated lockfile

* upgrade dev dependencies

* update package.json

* remove optionalDependencies and move react deps to peerDependencies

* enhance ReactRenderer for React 19 compatibility and improve ref handling

* remove unused 'node' property from ReactNodeViewProps type definition

* fix: update ref type in ReactNodeView to be generic

* fix: replace FunctionComponent with NamedExoticComponent for better performance in ReactNodeView

* cloned react renderer element props to avoid side effects

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: update ReactNodeViewProps to allow null ref values (#6415)

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-04 20:19:04 +02:00
Arnau Gómez Farell
25891a67c3
Merge pull request #6234 from purfectliterature/develop
Support start timestamps, fix Shorts & Live embed URLs
2025-05-29 09:16:45 +02:00
Phillmont Muktar
0749b9cac2 test(youtube): add tests for Live, Shorts URLs 2025-05-29 14:29:43 +08:00
Phillmont Muktar
1c15e193c1 test(youtube): add tests for start timestamp parsing 2025-05-29 14:24:07 +08:00
Phillmont Muktar
6f5a2f2389 Create clever-hats-count.md 2025-05-29 13:54:47 +08:00
Phillmont Muktar
2217a9a45b feat(youtube): support live URLs 2025-05-29 13:54:47 +08:00
Phillmont Muktar
493590468e feat(youtube): support start timestamps 2025-05-29 13:54:47 +08:00
Phillmont Muktar
6c794138db refactor(youtube): use URL object to create embed URL 2025-05-29 13:54:47 +08:00
bdbch
4d91dc0f58 Merge branch 'main' of github.com:ueberdosis/tiptap into develop 2025-05-06 09:27:00 +02:00
bdbch
42a71768a0 fix tests 2025-05-05 18:39:14 +02:00
Arnau Gómez Farell
70eeda8ad8
Merge pull request #6321 from ueberdosis/changeset-release/main
Publish a new stable version
2025-05-05 15:57:10 +02:00
github-actions[bot]
ef3b2f751c chore(release): publish a new release version 2025-05-05 13:43:52 +00:00
Arnau Gómez Farell
390879f470
Merge pull request #6319 from ueberdosis/feature/update-prosemirror-changeset
Update prosemirror-changeset library to support token encoders
2025-05-05 15:42:57 +02:00
Arnau Gómez Farell
783ff1ab58
fix: modify test body to reflect the test description 2025-05-05 12:14:58 +02:00
Arnau Gómez Farell
b0136eca8c
fix: failing test 2025-05-05 12:14:03 +02:00
Arnau Gómez Farell
9a8599c860
feat: update package lock 2025-05-05 12:08:27 +02:00
Arnau Gómez Farell
fb4a16b61d
fix: failed test run 2025-05-05 12:06:36 +02:00
Arnau Gómez Farell
896f76751d
feat: update prosemirror-changeset library to support token encoders 2025-05-05 11:08:03 +02:00
bdbch
aff018e651 use correct changeset
Some checks failed
build / lint (20) (push) Has been cancelled
build / test (20, map[name:Demos/Examples spec:./demos/src/Examples/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Experiments spec:./demos/src/Experiments/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Extensions spec:./demos/src/Extensions/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/GuideContent spec:./demos/src/GuideContent/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/GuideGettingStarted spec:./demos/src/GuideGettingStarted/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Marks spec:./demos/src/Marks/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Nodes spec:./demos/src/Nodes/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Integration spec:./tests/cypress/integration/**/*.spec.{js,ts}]) (push) Has been cancelled
build / build (20) (push) Has been cancelled
Publish / Release (20) (push) Has been cancelled
2025-04-30 03:28:04 +02:00
zzxming
366023f44d
feat(text-align): add toggle command (#6101)
* feat(text-align): add toggle command

* docs: changeset

* Update .changeset/spotty-cobras-shake.md

---------

Co-authored-by: bdbch <6538827+bdbch@users.noreply.github.com>
2025-04-30 03:09:02 +02:00
dependabot[bot]
e0640df081
build(deps-dev): bump vite from 5.4.15 to 5.4.17 (#6240)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.15 to 5.4.17.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.17/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.17/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 5.4.17
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-30 03:04:37 +02:00
Nick Perez
5de17c52f5 fix(core): allow unregistering multiple plugins (#6299) 2025-04-30 03:01:44 +02:00
Arnau Gómez Farell
eb4e97d5f2
Merge pull request #6224 from ueberdosis/feature/image-width-height-attributes
feat: add width and height attributes to Image node
2025-04-01 14:06:34 +02:00
Arnau Gómez Farell
d06941757e
fix: set attribute types to string 2025-04-01 13:10:33 +02:00
Arnau Gómez Farell
f5a65f7fea
feat: add width and height attributes to Image node 2025-04-01 13:07:22 +02:00
Matt Gorman
9a0af5dfeb
fix(link): fixes links with marks (#6078)
* fixes links with marks

* Create popular-geckos-pay.md

* Update clickHandler.ts

---------

Co-authored-by: bdbch <6538827+bdbch@users.noreply.github.com>
2025-03-31 02:14:58 +02:00
Max Ryaguzov
d88244d007
fix: clone node before dragging for better dispaly (#6174)
* fix: clone node before dragging for better dispaly

* Create shiny-days-rhyme.md

---------

Co-authored-by: bdbch <6538827+bdbch@users.noreply.github.com>
2025-03-30 01:50:32 +01:00
bdbch
6e33c93850
fix(table): also export TableView from table extension exports (#6218)
* fix(table): also export TableView from table extension exports

* chore: added changeset
2025-03-30 01:45:30 +01:00
Dominik Biedebach
ce02ce14de chore: enter pre version 2025-03-28 13:14:01 +01:00
136 changed files with 1051 additions and 503 deletions

View File

@ -0,0 +1,5 @@
---
"@tiptap/extension-youtube": minor
---
Improve YouTube embed URL creation, support start timestamps, fix Shorts & Live embeds

View File

@ -0,0 +1,5 @@
---
"@tiptap/extension-table": patch
---
Added new export for TableView class

View File

@ -0,0 +1,5 @@
---
"@tiptap/core": minor
---
Add config option to emit content error when content check is disabled

View File

@ -0,0 +1,5 @@
---
"@tiptap/core": patch
---
Fixes a bug where you could not unregister multiple plugins.

View File

@ -0,0 +1,5 @@
---
"@tiptap/extension-link": patch
---
Fixed links with marks not registering click events correctly

63
.changeset/pre.json Normal file
View File

@ -0,0 +1,63 @@
{
"mode": "pre",
"tag": "pre",
"initialVersions": {
"tiptap-demos": "2.5.2",
"@tiptap/core": "2.11.6",
"@tiptap/extension-blockquote": "2.11.6",
"@tiptap/extension-bold": "2.11.6",
"@tiptap/extension-bubble-menu": "2.11.6",
"@tiptap/extension-bullet-list": "2.11.6",
"@tiptap/extension-character-count": "2.11.6",
"@tiptap/extension-code": "2.11.6",
"@tiptap/extension-code-block": "2.11.6",
"@tiptap/extension-code-block-lowlight": "2.11.6",
"@tiptap/extension-collaboration": "2.11.6",
"@tiptap/extension-collaboration-cursor": "2.11.6",
"@tiptap/extension-color": "2.11.6",
"@tiptap/extension-document": "2.11.6",
"@tiptap/extension-dropcursor": "2.11.6",
"@tiptap/extension-floating-menu": "2.11.6",
"@tiptap/extension-focus": "2.11.6",
"@tiptap/extension-font-family": "2.11.6",
"@tiptap/extension-gapcursor": "2.11.6",
"@tiptap/extension-hard-break": "2.11.6",
"@tiptap/extension-heading": "2.11.6",
"@tiptap/extension-highlight": "2.11.6",
"@tiptap/extension-history": "2.11.6",
"@tiptap/extension-horizontal-rule": "2.11.6",
"@tiptap/extension-image": "2.11.6",
"@tiptap/extension-italic": "2.11.6",
"@tiptap/extension-link": "2.11.6",
"@tiptap/extension-list-item": "2.11.6",
"@tiptap/extension-list-keymap": "2.11.6",
"@tiptap/extension-mention": "2.11.6",
"@tiptap/extension-ordered-list": "2.11.6",
"@tiptap/extension-paragraph": "2.11.6",
"@tiptap/extension-placeholder": "2.11.6",
"@tiptap/extension-strike": "2.11.6",
"@tiptap/extension-subscript": "2.11.6",
"@tiptap/extension-superscript": "2.11.6",
"@tiptap/extension-table": "2.11.6",
"@tiptap/extension-table-cell": "2.11.6",
"@tiptap/extension-table-header": "2.11.6",
"@tiptap/extension-table-row": "2.11.6",
"@tiptap/extension-task-item": "2.11.6",
"@tiptap/extension-task-list": "2.11.6",
"@tiptap/extension-text": "2.11.6",
"@tiptap/extension-text-align": "2.11.6",
"@tiptap/extension-text-style": "2.11.6",
"@tiptap/extension-typography": "2.11.6",
"@tiptap/extension-underline": "2.11.6",
"@tiptap/extension-youtube": "2.11.6",
"@tiptap/html": "2.11.6",
"@tiptap/pm": "2.11.6",
"@tiptap/react": "2.11.6",
"@tiptap/starter-kit": "2.11.6",
"@tiptap/suggestion": "2.11.6",
"@tiptap/vue-2": "2.11.6",
"@tiptap/vue-3": "2.11.6",
"@tiptap-shared/rollup-config": "1.0.0"
},
"changesets": []
}

View File

@ -0,0 +1,5 @@
---
"@tiptap/core": patch
---
Clone dragged node before dragging to get correct drag preview image

View File

@ -0,0 +1,5 @@
---
'@tiptap/react': minor
---
Added support for React 19 ref in props

View File

@ -0,0 +1,5 @@
---
"@tiptap/extension-text-align": patch
---
Added new `toggleTextAlign` command to TextAlign extension to make toggling text alignments easier to handle

View File

@ -0,0 +1,5 @@
---
"@tiptap/extension-image": minor
---
Add width and height attributes to Image node

View File

@ -36,8 +36,8 @@
"postcss": "^8.4.49", "postcss": "^8.4.49",
"postcss-import": "^15.1.0", "postcss-import": "^15.1.0",
"prosemirror-dev-tools": "^4.1.0", "prosemirror-dev-tools": "^4.1.0",
"react": "^18.3.1", "react": "^19.0.0",
"react-dom": "^18.3.1", "react-dom": "^19.0.0",
"sass": "^1.81.0", "sass": "^1.81.0",
"svelte": "^4.2.19", "svelte": "^4.2.19",
"tailwindcss": "^3.4.15", "tailwindcss": "^3.4.15",

View File

@ -89,12 +89,12 @@ context('/src/Extensions/TextAlign/React/', () => {
cy.get('.tiptap').find('p').should('not.have.css', 'text-align', 'left') cy.get('.tiptap').find('p').should('not.have.css', 'text-align', 'left')
}) })
it('toggle the text to right on the 6rd button', () => { it('toggle the text to right on the 6th button', () => {
cy.get('button:nth-child(6)').click() cy.get('button:nth-child(6)').click()
cy.get('.tiptap').find('p').should('not.have.css', 'text-align', 'right') cy.get('.tiptap').find('p').should('have.css', 'text-align', 'right')
cy.get('button:nth-child(6)').click() cy.get('button:nth-child(6)').click()
cy.get('.tiptap').find('p').should('not.have.css', 'text-align', 'left') cy.get('.tiptap').find('p').should('not.have.css', 'text-align', 'right')
}) })
it('aligns the text left when pressing the keyboard shortcut', () => { it('aligns the text left when pressing the keyboard shortcut', () => {

View File

@ -104,9 +104,8 @@ context('/src/Extensions/TextAlign/Vue/', () => {
.should('not.have.css', 'text-align', 'left') .should('not.have.css', 'text-align', 'left')
}) })
it('toggle the text to right on the 6rd button', () => { it('toggle the text to right on the 6th button', () => {
cy.get('button:nth-child(6)') cy.get('button:nth-child(6)').click()
.click()
cy.get('.tiptap') cy.get('.tiptap')
.find('p') .find('p')
@ -117,7 +116,7 @@ context('/src/Extensions/TextAlign/Vue/', () => {
cy.get('.tiptap') cy.get('.tiptap')
.find('p') .find('p')
.should('have.css', 'text-align', 'left') .should('not.have.css', 'text-align', 'right')
}) })
it('aligns the text left when pressing the keyboard shortcut', () => { it('aligns the text left when pressing the keyboard shortcut', () => {

View File

@ -10,7 +10,7 @@ export default props => {
return ( return (
<NodeViewWrapper className="react-component"> <NodeViewWrapper className="react-component">
<label>React Component</label> <label ref={props.ref}>React Component</label>
<div className="content"> <div className="content">
<button onClick={increase}> <button onClick={increase}>

View File

@ -1,11 +1,11 @@
import './MentionList.scss' import './MentionList.scss'
import React, { import React, {
forwardRef, useEffect, useImperativeHandle, useEffect, useImperativeHandle,
useState, useState,
} from 'react' } from 'react'
export default forwardRef((props, ref) => { export default props => {
const [selectedIndex, setSelectedIndex] = useState(0) const [selectedIndex, setSelectedIndex] = useState(0)
const selectItem = index => { const selectItem = index => {
@ -30,7 +30,7 @@ export default forwardRef((props, ref) => {
useEffect(() => setSelectedIndex(0), [props.items]) useEffect(() => setSelectedIndex(0), [props.items])
useImperativeHandle(ref, () => ({ useImperativeHandle(props.ref, () => ({
onKeyDown: ({ event }) => { onKeyDown: ({ event }) => {
if (event.key === 'ArrowUp') { if (event.key === 'ArrowUp') {
upHandler() upHandler()
@ -67,4 +67,4 @@ export default forwardRef((props, ref) => {
} }
</div> </div>
) )
}) }

520
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -47,8 +47,8 @@
"@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-babel": "^6.0.4",
"@rollup/plugin-commonjs": "^26.0.3", "@rollup/plugin-commonjs": "^26.0.3",
"@rollup/plugin-node-resolve": "^15.3.0", "@rollup/plugin-node-resolve": "^15.3.0",
"@types/react": "^18.3.12", "@types/react": "^19.0.0",
"@types/react-dom": "^18.3.1", "@types/react-dom": "^19.0.0",
"@typescript-eslint/eslint-plugin": "^8.19.0", "@typescript-eslint/eslint-plugin": "^8.19.0",
"@typescript-eslint/parser": "^8.19.0", "@typescript-eslint/parser": "^8.19.0",
"babel-loader": "^9.2.1", "babel-loader": "^9.2.1",

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/core", "name": "@tiptap/core",
"description": "headless rich text editor", "description": "headless rich text editor",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -32,7 +32,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/pm": "^2.11.9" "@tiptap/pm": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/pm": "^2.7.0" "@tiptap/pm": "^2.7.0"

View File

@ -81,6 +81,7 @@ export class Editor extends EventEmitter<EditorEvents> {
enablePasteRules: true, enablePasteRules: true,
enableCoreExtensions: true, enableCoreExtensions: true,
enableContentCheck: false, enableContentCheck: false,
emitContentError: false,
onBeforeCreate: () => null, onBeforeCreate: () => null,
onCreate: () => null, onCreate: () => null,
onUpdate: () => null, onUpdate: () => null,

View File

@ -72,24 +72,43 @@ export const insertContentAt: RawCommands['insertContentAt'] = (position, value,
let content: Fragment | ProseMirrorNode let content: Fragment | ProseMirrorNode
try { const emitContentError = (error: Error) => {
content = createNodeFromContent(value, editor.schema, {
parseOptions: {
preserveWhitespace: 'full',
...options.parseOptions,
},
errorOnInvalidContent: options.errorOnInvalidContent ?? editor.options.enableContentCheck,
})
} catch (e) {
editor.emit('contentError', { editor.emit('contentError', {
editor, editor,
error: e as Error, error,
disableCollaboration: () => { disableCollaboration: () => {
if (editor.storage.collaboration) { if (editor.storage.collaboration) {
editor.storage.collaboration.isDisabled = true editor.storage.collaboration.isDisabled = true
} }
}, },
}) })
}
const parseOptions: ParseOptions = {
preserveWhitespace: 'full',
...options.parseOptions,
}
// If `emitContentError` is enabled, we want to check the content for errors
// but ignore them (do not remove the invalid content from the document)
if (!options.errorOnInvalidContent && !editor.options.enableContentCheck && editor.options.emitContentError) {
try {
createNodeFromContent(value, editor.schema, {
parseOptions,
errorOnInvalidContent: true,
})
} catch (e) {
emitContentError(e as Error)
}
}
try {
content = createNodeFromContent(value, editor.schema, {
parseOptions,
errorOnInvalidContent: options.errorOnInvalidContent ?? editor.options.enableContentCheck,
})
} catch (e) {
emitContentError(e as Error)
return false return false
} }

View File

@ -127,6 +127,15 @@ export interface EditorOptions {
* @default false * @default false
*/ */
enableContentCheck: boolean; enableContentCheck: boolean;
/**
* If `true`, the editor will emit the `contentError` event if invalid content is
* encountered but `enableContentCheck` is `false`. This lets you preserve the
* invalid editor content while still showing a warning or error message to
* the user.
*
* @default false
*/
emitContentError: boolean;
onBeforeCreate: (props: EditorEvents['beforeCreate']) => void; onBeforeCreate: (props: EditorEvents['beforeCreate']) => void;
onCreate: (props: EditorEvents['create']) => void; onCreate: (props: EditorEvents['create']) => void;
/** /**

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-blockquote", "name": "@tiptap/extension-blockquote",
"description": "blockquote extension for tiptap", "description": "blockquote extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-bold", "name": "@tiptap/extension-bold",
"description": "bold extension for tiptap", "description": "bold extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-bubble-menu", "name": "@tiptap/extension-bubble-menu",
"description": "bubble-menu extension for tiptap", "description": "bubble-menu extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -38,8 +38,8 @@
}, },
"sideEffects": false, "sideEffects": false,
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"@tiptap/pm": "^2.11.9" "@tiptap/pm": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0", "@tiptap/core": "^2.7.0",

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-bullet-list", "name": "@tiptap/extension-bullet-list",
"description": "bullet list extension for tiptap", "description": "bullet list extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-character-count", "name": "@tiptap/extension-character-count",
"description": "font family extension for tiptap", "description": "font family extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,8 +29,8 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"@tiptap/pm": "^2.11.9" "@tiptap/pm": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0", "@tiptap/core": "^2.7.0",

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-code-block-lowlight", "name": "@tiptap/extension-code-block-lowlight",
"description": "code block extension for tiptap", "description": "code block extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,9 +29,9 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"@tiptap/extension-code-block": "^2.11.9", "@tiptap/extension-code-block": "^2.12.0",
"@tiptap/pm": "^2.11.9", "@tiptap/pm": "^2.12.0",
"lowlight": "^2 || ^3" "lowlight": "^2 || ^3"
}, },
"peerDependencies": { "peerDependencies": {

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-code-block", "name": "@tiptap/extension-code-block",
"description": "code block extension for tiptap", "description": "code block extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,8 +29,8 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"@tiptap/pm": "^2.11.9" "@tiptap/pm": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0", "@tiptap/core": "^2.7.0",

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-code", "name": "@tiptap/extension-code",
"description": "code extension for tiptap", "description": "code extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-collaboration-cursor", "name": "@tiptap/extension-collaboration-cursor",
"description": "collaboration cursor extension for tiptap", "description": "collaboration cursor extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"y-prosemirror": "^1.2.12" "y-prosemirror": "^1.2.12"
}, },
"peerDependencies": { "peerDependencies": {

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-collaboration", "name": "@tiptap/extension-collaboration",
"description": "collaboration extension for tiptap", "description": "collaboration extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,8 +29,8 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"@tiptap/pm": "^2.11.9", "@tiptap/pm": "^2.12.0",
"y-prosemirror": "^1.2.12" "y-prosemirror": "^1.2.12"
}, },
"peerDependencies": { "peerDependencies": {

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-color", "name": "@tiptap/extension-color",
"description": "text color extension for tiptap", "description": "text color extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,8 +29,8 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"@tiptap/extension-text-style": "^2.11.9" "@tiptap/extension-text-style": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0", "@tiptap/core": "^2.7.0",

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-document", "name": "@tiptap/extension-document",
"description": "document extension for tiptap", "description": "document extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-dropcursor", "name": "@tiptap/extension-dropcursor",
"description": "dropcursor extension for tiptap", "description": "dropcursor extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,8 +29,8 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"@tiptap/pm": "^2.11.9" "@tiptap/pm": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0", "@tiptap/core": "^2.7.0",

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-floating-menu", "name": "@tiptap/extension-floating-menu",
"description": "floating-menu extension for tiptap", "description": "floating-menu extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,8 +29,8 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"@tiptap/pm": "^2.11.9" "@tiptap/pm": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0", "@tiptap/core": "^2.7.0",

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-focus", "name": "@tiptap/extension-focus",
"description": "focus extension for tiptap", "description": "focus extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,8 +29,8 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"@tiptap/pm": "^2.11.9" "@tiptap/pm": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0", "@tiptap/core": "^2.7.0",

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-font-family", "name": "@tiptap/extension-font-family",
"description": "font family extension for tiptap", "description": "font family extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,8 +29,8 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"@tiptap/extension-text-style": "^2.11.9" "@tiptap/extension-text-style": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0", "@tiptap/core": "^2.7.0",

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-gapcursor", "name": "@tiptap/extension-gapcursor",
"description": "gapcursor extension for tiptap", "description": "gapcursor extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,8 +29,8 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"@tiptap/pm": "^2.11.9" "@tiptap/pm": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0", "@tiptap/core": "^2.7.0",

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-hard-break", "name": "@tiptap/extension-hard-break",
"description": "hard break extension for tiptap", "description": "hard break extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-heading", "name": "@tiptap/extension-heading",
"description": "heading extension for tiptap", "description": "heading extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-highlight", "name": "@tiptap/extension-highlight",
"description": "highlight extension for tiptap", "description": "highlight extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-history", "name": "@tiptap/extension-history",
"description": "history extension for tiptap", "description": "history extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,8 +29,8 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"@tiptap/pm": "^2.11.9" "@tiptap/pm": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0", "@tiptap/core": "^2.7.0",

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-horizontal-rule", "name": "@tiptap/extension-horizontal-rule",
"description": "horizontal rule extension for tiptap", "description": "horizontal rule extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,8 +29,8 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"@tiptap/pm": "^2.11.9" "@tiptap/pm": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0", "@tiptap/core": "^2.7.0",

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-image", "name": "@tiptap/extension-image",
"description": "image extension for tiptap", "description": "image extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -10,7 +10,7 @@ export interface ImageOptions {
* @default false * @default false
* @example true * @example true
*/ */
inline: boolean, inline: boolean;
/** /**
* Controls if base64 images are allowed. Enable this if you want to allow * Controls if base64 images are allowed. Enable this if you want to allow
@ -18,14 +18,22 @@ export interface ImageOptions {
* @default false * @default false
* @example true * @example true
*/ */
allowBase64: boolean, allowBase64: boolean;
/** /**
* HTML attributes to add to the image element. * HTML attributes to add to the image element.
* @default {} * @default {}
* @example { class: 'foo' } * @example { class: 'foo' }
*/ */
HTMLAttributes: Record<string, any>, HTMLAttributes: Record<string, any>;
}
export interface SetImageOptions {
src: string;
alt?: string;
title?: string;
width?: string;
height?: string;
} }
declare module '@tiptap/core' { declare module '@tiptap/core' {
@ -39,8 +47,8 @@ declare module '@tiptap/core' {
* .commands * .commands
* .setImage({ src: 'https://tiptap.dev/logo.png', alt: 'tiptap', title: 'tiptap logo' }) * .setImage({ src: 'https://tiptap.dev/logo.png', alt: 'tiptap', title: 'tiptap logo' })
*/ */
setImage: (options: { src: string, alt?: string, title?: string }) => ReturnType, setImage: (options: SetImageOptions) => ReturnType;
} };
} }
} }
@ -85,6 +93,12 @@ export const Image = Node.create<ImageOptions>({
title: { title: {
default: null, default: null,
}, },
width: {
default: null,
},
height: {
default: null,
},
} }
}, },

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-italic", "name": "@tiptap/extension-italic",
"description": "italic extension for tiptap", "description": "italic extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-link", "name": "@tiptap/extension-link",
"description": "link extension for tiptap", "description": "link extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -32,8 +32,8 @@
"linkifyjs": "^4.2.0" "linkifyjs": "^4.2.0"
}, },
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"@tiptap/pm": "^2.11.9" "@tiptap/pm": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0", "@tiptap/core": "^2.7.0",

View File

@ -19,6 +19,11 @@ export function clickHandler(options: ClickHandlerOptions): Plugin {
return false return false
} }
let link: HTMLAnchorElement | null = null
if (event.target instanceof HTMLAnchorElement) {
link = event.target
} else {
let a = event.target as HTMLElement let a = event.target as HTMLElement
const els = [] const els = []
@ -26,14 +31,16 @@ export function clickHandler(options: ClickHandlerOptions): Plugin {
els.push(a) els.push(a)
a = a.parentNode as HTMLElement a = a.parentNode as HTMLElement
} }
link = els.find(
value => value.nodeName === 'A',
) as HTMLAnchorElement
}
if (!els.find(value => value.nodeName === 'A')) { if (!link) {
return false return false
} }
const attrs = getAttributes(view.state, options.type.name) const attrs = getAttributes(view.state, options.type.name)
const link = (event.target as HTMLAnchorElement)
const href = link?.href ?? attrs.href const href = link?.href ?? attrs.href
const target = link?.target ?? attrs.target const target = link?.target ?? attrs.target

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-list-item", "name": "@tiptap/extension-list-item",
"description": "list item extension for tiptap", "description": "list item extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-list-keymap", "name": "@tiptap/extension-list-keymap",
"description": "list keymap extension for tiptap", "description": "list keymap extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-mention", "name": "@tiptap/extension-mention",
"description": "mention extension for tiptap", "description": "mention extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,9 +29,9 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"@tiptap/pm": "^2.11.9", "@tiptap/pm": "^2.12.0",
"@tiptap/suggestion": "^2.11.9" "@tiptap/suggestion": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0", "@tiptap/core": "^2.7.0",

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-ordered-list", "name": "@tiptap/extension-ordered-list",
"description": "ordered list extension for tiptap", "description": "ordered list extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-paragraph", "name": "@tiptap/extension-paragraph",
"description": "paragraph extension for tiptap", "description": "paragraph extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-placeholder", "name": "@tiptap/extension-placeholder",
"description": "placeholder extension for tiptap", "description": "placeholder extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,8 +29,8 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"@tiptap/pm": "^2.11.9" "@tiptap/pm": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0", "@tiptap/core": "^2.7.0",

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-strike", "name": "@tiptap/extension-strike",
"description": "strike extension for tiptap", "description": "strike extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-subscript", "name": "@tiptap/extension-subscript",
"description": "subscript extension for tiptap", "description": "subscript extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-superscript", "name": "@tiptap/extension-superscript",
"description": "superscript extension for tiptap", "description": "superscript extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-table-cell", "name": "@tiptap/extension-table-cell",
"description": "table cell extension for tiptap", "description": "table cell extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-table-header", "name": "@tiptap/extension-table-header",
"description": "table cell extension for tiptap", "description": "table cell extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-table-row", "name": "@tiptap/extension-table-row",
"description": "table row extension for tiptap", "description": "table row extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,7 +29,7 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9" "@tiptap/core": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0" "@tiptap/core": "^2.7.0"

View File

@ -1,5 +1,7 @@
# Change Log # Change Log
## 2.12.0
## 2.11.9 ## 2.11.9
## 2.11.8 ## 2.11.8

View File

@ -1,7 +1,7 @@
{ {
"name": "@tiptap/extension-table", "name": "@tiptap/extension-table",
"description": "table extension for tiptap", "description": "table extension for tiptap",
"version": "2.11.9", "version": "2.12.0",
"homepage": "https://tiptap.dev", "homepage": "https://tiptap.dev",
"keywords": [ "keywords": [
"tiptap", "tiptap",
@ -29,8 +29,8 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@tiptap/core": "^2.11.9", "@tiptap/core": "^2.12.0",
"@tiptap/pm": "^2.11.9" "@tiptap/pm": "^2.12.0"
}, },
"peerDependencies": { "peerDependencies": {
"@tiptap/core": "^2.7.0", "@tiptap/core": "^2.7.0",

Some files were not shown because too many files have changed in this diff Show More