Commit Graph

2237 Commits

Author SHA1 Message Date
bdbch
a922f09a5c
added new options for nodeInputRules for block replacements (#4289) 2023-08-10 16:45:13 -07:00
bdbch
7e7057ea43
chore(lists): move list keymap to extra extension (#4290)
* move list keymap to extra extension

* update docs and readme

* move list helpers out of core
2023-08-10 16:44:46 -07:00
bdbch
a2ce734d68
fix(link): Fix autolinking and pasting (#4292)
* fix linkOnPaste
* fix link on paste breaking links / link behavior
2023-08-10 16:44:31 -07:00
bdbch
fd35db4d09
fix(strikethrough): update strikethrough shortcut (#4288)
* update strikethrough shortcut
* update tests
2023-08-05 11:38:35 +02:00
svenadlung
4f4a389e00 refactor(vue-3): use pm package 2023-08-04 15:30:34 +02:00
Ben Lewis
7cf17d0b0c
Add support for custom selection builders (#4128)
* Add support for custom cursor builders

* Add documentation for selectionRender

---------

Co-authored-by: Ben Lewis <ben@engageli.com>
2023-08-03 10:30:28 +02:00
bdbch
d1e879dfab
Fix List issues & add support for Mod keys (#4210)
* add support for mod-delete and mod-backspace

* fix backspace not working right behind a list

* move list helpers to core, add support for task lists

* add option to check for node in isAtEndOfNode

---------

Co-authored-by: bdbch <dominik@bdbch.com>
2023-08-03 10:19:32 +02:00
svenadlung
bdc51d12b5 Merge branch 'main' into develop
# Conflicts:
#	CHANGELOG.md
#	demos/CHANGELOG.md
#	demos/package-lock.json
#	demos/package.json
#	demos/src/Examples/CollaborativeEditing/React/index.jsx
#	lerna.json
#	package-lock.json
#	packages/core/CHANGELOG.md
#	packages/core/package.json
#	packages/extension-blockquote/CHANGELOG.md
#	packages/extension-blockquote/package.json
#	packages/extension-bold/CHANGELOG.md
#	packages/extension-bold/package.json
#	packages/extension-bubble-menu/CHANGELOG.md
#	packages/extension-bubble-menu/package.json
#	packages/extension-bullet-list/CHANGELOG.md
#	packages/extension-bullet-list/package.json
#	packages/extension-character-count/CHANGELOG.md
#	packages/extension-character-count/package.json
#	packages/extension-code-block-lowlight/CHANGELOG.md
#	packages/extension-code-block-lowlight/package.json
#	packages/extension-code-block/CHANGELOG.md
#	packages/extension-code-block/package.json
#	packages/extension-code/CHANGELOG.md
#	packages/extension-code/package.json
#	packages/extension-collaboration-cursor/CHANGELOG.md
#	packages/extension-collaboration-cursor/package.json
#	packages/extension-collaboration/CHANGELOG.md
#	packages/extension-collaboration/package.json
#	packages/extension-color/CHANGELOG.md
#	packages/extension-color/package.json
#	packages/extension-document/CHANGELOG.md
#	packages/extension-document/package.json
#	packages/extension-dropcursor/CHANGELOG.md
#	packages/extension-dropcursor/package.json
#	packages/extension-floating-menu/CHANGELOG.md
#	packages/extension-floating-menu/package.json
#	packages/extension-focus/CHANGELOG.md
#	packages/extension-focus/package.json
#	packages/extension-font-family/CHANGELOG.md
#	packages/extension-font-family/package.json
#	packages/extension-gapcursor/CHANGELOG.md
#	packages/extension-gapcursor/package.json
#	packages/extension-hard-break/CHANGELOG.md
#	packages/extension-hard-break/package.json
#	packages/extension-heading/CHANGELOG.md
#	packages/extension-heading/package.json
#	packages/extension-highlight/CHANGELOG.md
#	packages/extension-highlight/package.json
#	packages/extension-history/CHANGELOG.md
#	packages/extension-history/package.json
#	packages/extension-horizontal-rule/CHANGELOG.md
#	packages/extension-horizontal-rule/package.json
#	packages/extension-image/CHANGELOG.md
#	packages/extension-image/package.json
#	packages/extension-italic/CHANGELOG.md
#	packages/extension-italic/package.json
#	packages/extension-link/CHANGELOG.md
#	packages/extension-link/package.json
#	packages/extension-list-item/CHANGELOG.md
#	packages/extension-list-item/package.json
#	packages/extension-mention/CHANGELOG.md
#	packages/extension-mention/package.json
#	packages/extension-ordered-list/CHANGELOG.md
#	packages/extension-ordered-list/package.json
#	packages/extension-paragraph/CHANGELOG.md
#	packages/extension-paragraph/package.json
#	packages/extension-placeholder/CHANGELOG.md
#	packages/extension-placeholder/package.json
#	packages/extension-strike/CHANGELOG.md
#	packages/extension-strike/package.json
#	packages/extension-subscript/CHANGELOG.md
#	packages/extension-subscript/package.json
#	packages/extension-superscript/CHANGELOG.md
#	packages/extension-superscript/package.json
#	packages/extension-table-cell/CHANGELOG.md
#	packages/extension-table-cell/package.json
#	packages/extension-table-header/CHANGELOG.md
#	packages/extension-table-header/package.json
#	packages/extension-table-row/CHANGELOG.md
#	packages/extension-table-row/package.json
#	packages/extension-table/CHANGELOG.md
#	packages/extension-table/package.json
#	packages/extension-task-item/CHANGELOG.md
#	packages/extension-task-item/package.json
#	packages/extension-task-list/CHANGELOG.md
#	packages/extension-task-list/package.json
#	packages/extension-text-align/CHANGELOG.md
#	packages/extension-text-align/package.json
#	packages/extension-text-style/CHANGELOG.md
#	packages/extension-text-style/package.json
#	packages/extension-text/CHANGELOG.md
#	packages/extension-text/package.json
#	packages/extension-typography/CHANGELOG.md
#	packages/extension-typography/package.json
#	packages/extension-underline/CHANGELOG.md
#	packages/extension-underline/package.json
#	packages/extension-youtube/CHANGELOG.md
#	packages/extension-youtube/package.json
#	packages/html/CHANGELOG.md
#	packages/html/package.json
#	packages/pm/CHANGELOG.md
#	packages/pm/package.json
#	packages/react/CHANGELOG.md
#	packages/react/package.json
#	packages/starter-kit/CHANGELOG.md
#	packages/starter-kit/package.json
#	packages/suggestion/CHANGELOG.md
#	packages/suggestion/package.json
#	packages/vue-2/CHANGELOG.md
#	packages/vue-2/package.json
#	packages/vue-3/CHANGELOG.md
#	packages/vue-3/package.json
2023-07-17 13:03:44 +02:00
svenadlung
c4e655fb07 v2.0.4 2023-07-17 09:40:21 +02:00
Sven Adlung
7f2c6194fd
feat(core): add the ability to register CSS via extension 2023-07-17 09:32:58 +02:00
bdbch
73ea998514 v.2.1.0-rc-12 2023-07-14 06:08:29 +02:00
bdbch
d689e2d9c1
React context implementation for Tiptap (#4192)
* feat(react): add react context implementation

* chore(docs): updated react docs & demos for new context

* chore(docs): added slot docs

* chore(docs): fix typo

* chore(react): use correct editor package

* fix typo in react installation docs

* update react typings to latest version

* fix types

---------

Co-authored-by: bdbch <dominik@bdbch.com>
2023-07-11 18:20:43 +02:00
Flo Edelmann
c30594498e
Make Vue 2 nodeViewProps compatible with @vue/composition-api (#4123)
* Add `vue-ts-types` as dependency for `@tiptap/vue-2`

* Use `vue-ts-types` for Vue 2 `nodeViewProps`

to make them compatible with `@vue/composition-api`
2023-07-10 16:26:34 +02:00
Dominik Biedebach
706508e975 v2.1.0-rc.11 2023-07-07 16:22:50 +02:00
Dominik
6b65af8fc3
fix(core): fix cut and insertContentAt functions (#4187) 2023-07-07 16:21:58 +02:00
Dominik Biedebach
f92916d2ea v2.1.0-rc.10 2023-07-07 15:58:26 +02:00
Segev Finer
87b83e312c
Fix component names in Vue 3 devtools (#3970) 2023-07-07 15:32:25 +02:00
Abdullah Atta
4bca77e4e9
fix: do not use window.open for links in readonly mode (#4073)
* fix: do not use window.open for links in readonly mode

When `contenteditable` is `true`, the browser doesn't allow
direct link opens on clicking the `a` element. This is why we
need to call `window.open` to open our links.

However, when `contenteditable` is `false`, the default
browser mechanism for opening links works and there is no
need for using `window.open`.

* fix: linting errors
2023-07-07 15:31:41 +02:00
joenarus
3053865475
fix(extension-link): fixes link going to wrong url (#4078)
Co-authored-by: Joe Narus <joe@status.cx>
2023-07-07 15:30:13 +02:00
Thomas Portelange
193b991acc
Rel cannot be set (#4112)
Without the addAttributes entry, passing the rel attribute doesn't work (tested in 2.0.3)
2023-07-07 15:18:02 +02:00
Kento Moriwaki
6984ea11d7
Destroy editor in safe (#4000)
* Destroy editor in safe

* Use class component

* Use createElement
2023-07-07 15:17:32 +02:00
Slapbox
babf84b3e6
Fix mod+z/mod+y failed with capslock (#4132) 2023-07-07 15:09:24 +02:00
Dominik
7e38c0fa0a
New Cut Command & Position Mapping for insertContentAt (#4141)
* feature(core): add cut commandd and map positions for insertContent

* docs(core): added docs for cut command

* chore(demos): added demo for cut command

---------

Co-authored-by: bdbch <dominik@bdbch.com>
2023-07-07 13:17:13 +02:00
Dominik
5bd5bd4ecd
fix(react): update select state when text selection is around node (#4148) 2023-07-07 11:21:58 +02:00
Cameron Hessler
7b4c792034
fix(core) Allow text style to be clearable on new lines (#4151)
* Fix text style not clearing on new line

Fixes #3702

* Fix preserving marks when wrapping/setting nodes

* Uncomment tests

* Revert "Uncomment tests"

This reverts commit 8979bbda81.

* Revert "Fix preserving marks when wrapping/setting nodes"

This reverts commit fe3613b587.
2023-07-07 11:21:28 +02:00
Cameron Hessler
26610cdff3
fix(core) Nested chain not preserving dispatch state (#4152)
* Fix nested chain not preserving dispatch state

* Change test to read as sentence
2023-07-07 11:20:29 +02:00
Ricardo Amaral
b24df3aa4c
fix(link): Prevent auto-linking when typing URL inside inline code mark (#4160) 2023-07-07 11:05:34 +02:00
Brent McSharry
18946b1e35
remove unused let in mark input rules (#4162)
trivial change - the markEnd variable was assigned outside the block and then reassigned within the block without ever using the initial value. Using const assignment just above the first use of the variable improves readability.
2023-07-07 11:01:20 +02:00
Ben Asher
e97630c639
Require file extensions for imports and exports (#4001)
* Require .js endings

* add extension alias for cypress to resolve ts files with js endings
2023-06-30 21:03:49 +02:00
Cameron Hessler
b7dc5d4712
Fix 'enter' behavior on android custom node views (#4153) 2023-06-25 02:33:48 +02:00
Dominik Biedebach
44996d60be v2.1.0-rc.9 2023-06-15 11:52:59 +02:00
Dominik Biedebach
2281a2273d refactor(lists): start refactoring lists code 2023-06-13 13:53:02 +02:00
Dominik Biedebach
d6c6dd8596 Merge branch 'develop' of github.com:ueberdosis/tiptap into bdbch/list-editing-improvements 2023-06-13 11:34:52 +02:00
svenadlung
83c98aea92 v2.1.0-rc.8 2023-05-25 18:59:12 +02:00
svenadlung
e49171885b v2.1.0-rc.7 2023-05-25 17:57:40 +02:00
svenadlung
55d975d01c v2.1.0-rc.5 2023-05-25 14:29:15 +02:00
Sven Adlung
d19267ecef
fix(extension-link): fix paste handling
* do not dispatch transaction without any links getting pasted
* prevent onPaste handling in code blocks
2023-05-25 13:47:27 +02:00
Patrick Baber
614fc8082c
feat: add tiptap class
* update docs
* update demos
2023-05-25 13:45:06 +02:00
Dominik Biedebach
ccf05b04e3 v2.1.0-rc.4 2023-04-27 12:03:37 +02:00
Dominik
71946c18ac
fix(link): fix links autolinking when not needed (#3989) 2023-04-27 12:02:56 +02:00
Dominik Biedebach
ee496a0c6d v2.1.0-rc.3 2023-04-26 16:09:42 +02:00
Dominik Biedebach
4af54da3e0 fix(core): remove configure from extend functionality 2023-04-26 16:05:43 +02:00
Dominik Biedebach
79255abd65 v2.1.0-rc.2 2023-04-26 14:19:13 +02:00
Dominik
e7d7d49637
fix(extension-link): fix link not being kept when pasting url with link (#3975)
* fix(extension-link): fix llinks not being kept when pasted text includes url

* fix(extension-link): fix links not being linked correctly on the correct pos

* fix(link): fix pasting behavior and move all to one plugin

* fix(link): dont do custom behavior if no links were pasted

* fix(link): copied text link should be kept

* fix(link): fix autolink overriding pasted links

* fix(link): fix links not pasting the correct link on selected text
2023-04-26 14:17:59 +02:00
Nick Holden
0dcc68412f
Retain existing config when calling configure() on Marks and Extensions (#3822) 2023-04-21 10:10:42 +02:00
Dominik Biedebach
56288d791f Merge branch 'main' into 'develop' 2023-04-13 14:00:40 +02:00
Dominik Biedebach
20359ee27d v2.0.3 2023-04-13 12:58:21 +02:00
Dominik
a78f8cd964 fix(bubble-menu): fix debounce not working with collab/collaboration cursor (#3956) 2023-04-13 12:57:29 +02:00
Dominik Biedebach
beebae1d0a v2.1.0-pre.1 2023-04-12 16:01:57 +02:00
Dominik
e8cef0404b
fix(bubble-menu): fix debounce not working with collab/collaboration cursor (#3956) 2023-04-12 16:00:22 +02:00
Dominik Biedebach
cf175a31cb v2.1.0-pre.0 2023-04-05 15:00:54 +02:00
Dominik
7278ee2b05
fix: clear nodes when cursor at start of empty isolating parent (#3943)
* fix: clear nodes when cursor at start of empty isolating parent

* fix: dont break backspace behavior when childCount is over 1

* fix: check if parent is textblock

* fix: add strict pos check for parent isolating pos

* demo: add isolation clear demo
2023-04-05 14:59:58 +02:00
Dominik Biedebach
ae10f0d58e Merge branch 'main' of github.com:ueberdosis/tiptap into develop 2023-04-03 17:32:26 +02:00
Dominik Biedebach
7fd164202a v2.0.2 2023-04-03 17:31:16 +02:00
Dominik
64ab3570c1
fix(react): fix rebinding events not overwriting editor.on (#3935)
* fix(react): fix rebinding events not overwriting editor.on

* fix(react): move ref assignment inside if
2023-04-03 17:30:35 +02:00
Dominik Biedebach
09782a5b06 fix(list-item): improve delete behaviour 2023-03-30 21:40:57 +02:00
Dominik Biedebach
b9ba227f86 Merge branch 'develop' of github.com:ueberdosis/tiptap into bdbch/list-editing-improvements 2023-03-30 15:18:36 +02:00
Dominik Biedebach
85d3ebbd70 merge main into develop 2023-03-30 13:16:51 +02:00
Dominik Biedebach
8302d23c65 v2.0.1 2023-03-30 12:42:00 +02:00
Dominik
0534f76401 fix: Update peerDependencies to fix lerna version tasks (#3914)
* v2.1.0-rc.0

* revert version to 2.0.0

* dev: temporarily disable commits for release

* dev: set back lerna version

* disable commits for releases by default

* chore(core): add peerDeps

* chore(extension-blockquote): add peerDeps

* chore: add peerDeps

* chore: add peerDeps

* chore: add peerDeps

* chore: add peerDeps

* chore: add peerDeps

* chore: add peerDeps

* chore: add peerDeps

* chore: add peerDeps

* chore: revert 2.1.0 test changes

* chore: allow react 17 and upwards

* chore: update package-lock.json

* chore: move y-prosemirror to peerDeps

* chore: move y-prosemirror to dev deps

* chore: move y-prosemirror to dev deps
2023-03-30 12:41:10 +02:00
jhsy
3eb5869c99 Update clickHandler.ts (#3917)
Fix left click invalid
2023-03-30 12:39:27 +02:00
jhsy
98144a86c8
Update clickHandler.ts (#3917)
Fix left click invalid
2023-03-30 12:38:56 +02:00
Dominik
0c1bba3137
fix: Update peerDependencies to fix lerna version tasks (#3914)
* v2.1.0-rc.0

* revert version to 2.0.0

* dev: temporarily disable commits for release

* dev: set back lerna version

* disable commits for releases by default

* chore(core): add peerDeps

* chore(extension-blockquote): add peerDeps

* chore: add peerDeps

* chore: add peerDeps

* chore: add peerDeps

* chore: add peerDeps

* chore: add peerDeps

* chore: add peerDeps

* chore: add peerDeps

* chore: add peerDeps

* chore: revert 2.1.0 test changes

* chore: allow react 17 and upwards

* chore: update package-lock.json

* chore: move y-prosemirror to peerDeps

* chore: move y-prosemirror to dev deps

* chore: move y-prosemirror to dev deps
2023-03-30 12:36:15 +02:00
Dominik Biedebach
bb7479b88a chore: remove core from pm dependencies 2023-03-29 18:08:12 +02:00
Dominik Biedebach
393320bf23 v2.0.0 2023-03-29 16:43:08 +02:00
Dominik Biedebach
57bc4cc1a1 v2.0.0-rc.3 2023-03-29 15:18:40 +02:00
Dominik
020fd0ed79
feat(core): add editor to this context in schema functions (#3909) 2023-03-29 15:16:43 +02:00
Dominik Biedebach
08a14c60de chore: change peerDeps 2023-03-28 16:28:35 +02:00
Dominik Biedebach
34102ee0e5 2.0.0-rc.2 2023-03-28 16:24:44 +02:00
Sven Adlung
fdf6301a61
Collaboration: Fix history after late-registering plugins (#3901)
* fix(extension-collaboration): fix history after late-registering plugins

* fix(extension-collaboration): fix history after late-registering plugins
2023-03-28 16:00:16 +02:00
Dominik Biedebach
684e48a4a7 fix(lists): improve list behaviour 2023-03-28 14:21:16 +02:00
Dominik Biedebach
0d1c2fd197 Merge branch 'develop' of github.com:ueberdosis/tiptap into bdbch/list-editing-improvements 2023-03-28 11:18:04 +02:00
Dominik Biedebach
4ee7b5351e 2.0.0-rc.1 2023-03-27 17:35:48 +02:00
Dominik
80bf31810a
Release Candidate Preparation (#3890)
* 2.0.0-rc.0

* chore: make fixed version dependencies while on rc
2023-03-27 17:34:40 +02:00
Kento Moriwaki
357f3b609c
Fixing reoccurring issue #3331 and improving related PR #3533 (#3862)
* Add custom paragraph example

* Remove unnecessary queueMicrotask
2023-03-27 15:43:02 +02:00
Dominik
65371b7353
Handle NodeViews in BubbleMenu positioning (#3881)
* fix(bubble-menu): use correct children of node view renderers for clientRect

* fix(bubble-menu): remove lodash

* fix(bubble-menu): support vue node views

* fix(demos): revert bubble menu demo
2023-03-27 15:20:45 +02:00
Dominik
00aad1fd9a
style(core): fix linting issues (#3884) 2023-03-27 12:26:34 +02:00
Myles J
aa3068b1cd
feat(attributes): dynamic default (#3379) 2023-03-27 11:57:11 +02:00
Sven Adlung
189cb51811
docs: consistent naming (#3882) 2023-03-27 11:20:31 +02:00
Dominik Biedebach
6ff56fe816 temporary changes 2023-03-23 11:37:03 +01:00
Sven Adlung
e22b873e55
refactor(extension-youtube): command types (#3842) 2023-03-23 09:54:58 +01:00
Hari Haran
3937c44c43
fix: Ordered list start support broke in #3541 (#3833)
* fix: #3831

* fix: default attribute + predicate
2023-03-18 23:14:01 +01:00
svenadlung
928bd36f5f fix inconsistent tiptap spelling 2023-03-13 19:07:22 +01:00
Dominik Biedebach
d71dc59beb WIP - fix undoInputRule 2023-03-04 02:40:52 +01:00
Dominik Biedebach
4ab1bbe64a WIP - add handling when backspace is pressed at start of a list item 2023-03-04 02:17:52 +01:00
Dominik Biedebach
0b7120c21b WIP - list backspace behaviour 2023-03-03 17:43:29 +01:00
Dominik
6283cee5c7
fix(react): allow updating event handlers on editor (#3811) 2023-03-03 11:35:53 +01:00
Dominik
1615d7a9bb
feat(react): allow react renderer to assign attributes to react renderer element (#3812) 2023-03-03 11:35:24 +01:00
René Eschke
b2ec51374d
Adds attributes to toggleList (#3776)
* Adds attributes to toggleList

When dealing with different variants of bullet lists, I wanted to adopt the same technique I used for different paragraph variants. Since `wrapInList` is capable of receiving attributes, just like `setNode` is, I don't see any reason why `toggleList` should not be capable of the same. 

Here's my bullet list extension in action that is in need of attributes support.

```js
export const CustomBulletList = BulletList.extend({
  content: 'listItem*',

  addAttributes() {
    return {
      variant: {
        default: DEFAULT_LIST,

        renderHTML: attributes => {
          return {
            class: `list-${attributes.variant}`,
          };
        },
      },
    };
  },

  addCommands() {
    return {
      toggleBulletList: attributes => (c) => {
        return c.commands.toggleListCustom(this.name, this.options.itemTypeName, attributes);
      },
    };
  },
});
```

* Update toggle-list.md

* Update toggle-list.md
2023-03-03 09:59:45 +01:00
Dominik Biedebach
10a4a46584 fix(core): fix linting issues 2023-03-03 09:57:49 +01:00
Abdullah Atta
dd6547da42
core: only check doc.textBetween if other checks pass (#3778) 2023-03-02 17:01:36 +01:00
Abdullah Atta
dd3c7618ac
Only allow left mouse button to open links (#3777)
* Only allow left mouse button to open links

* fix lint errors
2023-03-02 17:00:23 +01:00
Dominik Biedebach
da5c5864ed v2.0.0-beta.209 2023-02-28 11:11:02 +01:00
Dominik
3c07ca0b9c
fix(core): fix destroyed view causing errors on dispatchTransaction (#3799) 2023-02-28 10:50:43 +01:00
Dominik Biedebach
26a1d96099 v2.0.0-beta.219 2023-02-27 21:42:53 +01:00
Dominik
f869507396
fix: update typings for node view decorations (#3783)
* fix: update typings for node view decorations

* fix(core): update types for NodeView

* fix(core): declare props.decorations as decorationWithType
2023-02-27 21:23:30 +01:00
Dominik
38b7e412bb
fix(react): reset initialized when editorcontent is unmounting (#3781)
* fix(react): reset initialized when editorcontent is unmounting

* style: remove unneeded if statement
2023-02-27 19:33:42 +01:00
Dominik
0300630a5b
fix(core): allow insertContentAt and insertContent text node arrays (#3790)
* fix(core): allow insertContentAt and insertContent to handle array of text nodes

* fix(core): allow insertContent via json including a text content
2023-02-27 19:26:14 +01:00
taras-turchenko-moc
1ac3070abc
add optionalSlashSlash to protocol options (#3675)
* add optionalSlashSlash to protocol options

* Update documentation

* rename optionalSlashSlash to optionalSlashes

* regenerate package-lock.json with node v16
2023-02-27 14:03:47 +01:00
Hari Haran
89cc59a837
fix: #3773 - Array for content breaks editor (#3786)
* fix: #3773 - Array for content breaks editor

* fix: lint warning
2023-02-24 15:03:20 +01:00
Sven Adlung
8bf8fd2452
fix: move y-prosemirror to peer-deps (#3763)
Co-authored-by: Dominik <6538827+bdbch@users.noreply.github.com>
2023-02-22 10:14:19 +01:00
Hari Haran
36bb1e1041
feat: #3540 Ability to preserve marks on lists (#3541)
* feat: #3540 Ability to preserve marks on lists

* feat: preserveAttrs in list items

* `keepMarks` is working, but need help with `keepAttrs`

* fix: conflict

* avoid casting
2023-02-22 10:13:28 +01:00
Kyle Alwyn
aa4389883a
Queue flushSync microtask (#3533)
Do the same thing as https://github.com/ueberdosis/tiptap/pull/3188
2023-02-18 22:47:11 +01:00
Jack Sleight
26c349848e
Export createNodeFromContent and other missing helpers (#3558) 2023-02-18 22:44:32 +01:00
Ta'zirah Marwan
125caf4965
Add Plugin Key to placeholder component. (#3652)
* Add Plugin Key to placeholder component.

Key added to fix error duplicate plugin when using `Placeholder` component.

* Add PluginKey import

---------

Co-authored-by: Dominik <6538827+bdbch@users.noreply.github.com>
2023-02-18 21:33:33 +01:00
Flamenco
c8f8295146
Add onFirstRender callback option (#3600)
* Added onFirstRender callback option

This PR is a simple forwarding of a very useful callback from the ySyncPlugin.

* Fix invalid function name
2023-02-18 18:41:00 +01:00
Harrison Lo
c2f8347025
Override schema text serializers if provided in getText options (#3672) 2023-02-18 18:26:49 +01:00
Dominik Biedebach
1b3d0f5ecb v2.0.0-beta.218 2023-02-18 17:42:09 +01:00
Dominik
7ad54ea86a
fix(typography): dont create fractions in the middle of a string (#3762) 2023-02-18 17:41:37 +01:00
James Taber
6997bcad6b
fix(extension-link): Click handler opens selected link instead of clicked link (#3732) 2023-02-18 17:19:04 +01:00
Jie
a81019a6b7
Extend nodePasteRule find type to most generic PasteRuleFinder (#3759) 2023-02-18 16:48:45 +01:00
Ray Bateman
d8967a7d63
Fix type for BubbleMenu prop pluginKey (#3678) 2023-02-18 16:47:19 +01:00
Justin Maier
4cd35d438c
Update regex to exclude channel URL unfurling (#3750) 2023-02-18 15:06:34 +01:00
Matthew Mullin
2b6e4e3691
fix: Prevent drag event from being ignored (#3677) 2023-02-09 12:12:54 +01:00
Dominik Biedebach
33ef3f0988 v2.0.0-beta.217 2023-02-09 09:12:53 +01:00
Dominik Biedebach
516f28f788 fix(bubble-menu): exclude lodash/debounce from externals 2023-02-09 09:11:04 +01:00
Dominik Biedebach
609d444f32 v2.0.0-beta.216 2023-02-08 17:03:14 +01:00
Dominik Biedebach
06a3d6300d fix(bubble-menu): fix lodash import 2023-02-08 16:58:07 +01:00
Dominik Biedebach
9e9e489368 v2.0.0-beta.215 2023-02-08 11:51:32 +01:00
Dominik Biedebach
a380ec41d1 fix: fix builds including prosemirror 2023-02-08 11:51:10 +01:00
Dominik Biedebach
a8f2901b02 v2.0.0-beta.214 2023-02-08 11:13:13 +01:00
Dominik
243c6ab0d2
Move back from tsup/esbuild to rollup (#3720)
* fix: bring back global rollup config

* fix: add rollup build for packages except pm

* fix: rollup global build

* fix: fix memory leak on build

* fix(character-count): revert files

* fix: builds run individual per rollup and lerna

* chore: remove old rollup

* fix(blockquote): correct the main module path

* fix(character count): bump version number
2023-02-08 11:12:43 +01:00
Dominik Biedebach
e9581283af fix(bubble-menu): move from lodash-es back to lodash, use named import 2023-02-07 13:04:05 +01:00
Sven Adlung
ab7e6ca90b
Remove lodash dependencies in extension-floating-menu (#3695)
* refactor(extension-floating-menu): remove lodash dependencies

* fix: typo

---------

Co-authored-by: Dominik <6538827+bdbch@users.noreply.github.com>
2023-02-07 10:21:58 +01:00
Sven Adlung
3ea40a707c
refactor(extension-bubble-menu): remove lodash types, replace pm deps with tiptap/pm (#3696) 2023-02-07 10:21:04 +01:00
Sven Adlung
a66eb6b62a
Make y-prosemirror a peer dependency (extension-collaboration) (#3697)
* refactor(extension-collaboration): make y-prosemirror a peer dep

* docs: update installation of extension-collaboration

---------

Co-authored-by: Dominik <6538827+bdbch@users.noreply.github.com>
2023-02-07 10:20:37 +01:00
Dominik Biedebach
970727fbbf v2.0.0-beta.213 2023-02-07 09:42:41 +01:00
Dominik Biedebach
2d7661c910 fix(bubble-menu): change lodash to lodash-es for esbuild 2023-02-03 10:18:22 +01:00
Dominik Biedebach
c866e77404 v2.0.0-beta.212 2023-02-03 01:47:24 +01:00
Dominik Biedebach
f659037d52 fix(core): fix broken types in definition file 2023-02-03 01:19:12 +01:00
Dominik Biedebach
ef108df92c fix(collaboration): fix missing y-prosemirror dependency 2023-02-03 00:50:38 +01:00
Dominik Biedebach
b9b3e5877a v2.0.0-beta.211 2023-02-02 18:13:23 +01:00
Dominik Biedebach
1e6f2382eb fix(bubble-menu): fix bubble menu imports 2023-02-02 18:13:07 +01:00
Dominik Biedebach
0aa06f218f v2.0.0-beta.210 2023-02-02 17:39:06 +01:00
Dominik
f387ad3dd4
feat(pm): new prosemirror package for dependency resolving
* chore:(core): migrate to tsup

* chore: migrate blockquote and bold to tsup

* chore: migrated bubble-menu and bullet-list to tsup

* chore: migrated more packages to tsup

* chore: migrate code and character extensions to tsup

* chore: update package.json to simplify build for all packages

* chore: move all packages to tsup as a build process

* chore: change ci build task

* feat(pm): add prosemirror meta package

* rfix: resolve issues with build paths & export mappings

* docs: update documentation to include notes for @tiptap/pm

* chore(pm): update tsconfig

* chore(packages): update packages

* fix(pm): add package export infos & fix dependencies

* chore(general): start moving to pm package as deps

* chore: move to tiptap pm package internally

* fix(demos): fix demos working with new pm package

* fix(tables): fix tables package

* fix(tables): fix tables package

* chore(demos): pinned typescript version

* chore: remove unnecessary tsconfig

* chore: fix netlify build

* fix(demos): fix package resolving for pm packages

* fix(tests): fix package resolving for pm packages

* fix(tests): fix package resolving for pm packages

* chore(tests): fix tests not running correctly after pm package

* chore(pm): add files to files array

* chore: update build workflow

* chore(tests): increase timeout time back to 12s

* chore(docs): update docs

* chore(docs): update installation guides & pm information to docs

* chore(docs): add link to prosemirror docs

* fix(vue-3): add missing build step

* chore(docs): comment out cdn link

* chore(docs): remove semicolons from docs

* chore(docs): remove unnecessary installation note

* chore(docs): remove unnecessary installation note
2023-02-02 17:37:33 +01:00
Dominik
e46f8e3334
Change Build Process to Lerna + tsup & prepare for prosemirror-meta package (#3555)
* chore:(core): migrate to tsup

* chore: migrate blockquote and bold to tsup

* chore: migrated bubble-menu and bullet-list to tsup

* chore: migrated more packages to tsup

* chore: migrate code and character extensions to tsup

* chore: update package.json to simplify build for all packages

* chore: move all packages to tsup as a build process

* chore: change ci build task

* chore: clean up and fix issues related to new build

* fix: fix demo build

* fix: fix demo build

* fix: fix tsconfig files to reference only one source

* fix: fix minor ts issues
2023-01-25 10:19:51 +01:00
Zaymon Antonio
acf833abec
🧹 Allow editor.setEditable to omit updates (#3301)
* 🧹 Allow `editor.setEditable` to omit updates

* 📚 Document change to `editor.setEditable`
2023-01-20 09:55:28 +01:00
Dominik Biedebach
8da85c8901 v2.0.0-beta.209 2022-12-16 13:44:12 +01:00
Dominik Biedebach
72d9fbf7bf 2.0.0-beta.208 2022-12-16 12:52:17 +01:00
Dominik Biedebach
13d46a00ce Merge branch 'main' of github.com:ueberdosis/tiptap 2022-12-16 12:48:06 +01:00
Tova Schreier
f3f36754f9
Custom text serializers should override text serializers defined in the schema (#3546) 2022-12-16 12:47:03 +01:00
Dominik Biedebach
6b61955ff2 v2.0.0-beta.207 2022-12-08 17:25:53 +01:00
Dominik Biedebach
c187e0e258 fix(extension-table): add prosemirror-tables to peerDependencies 2022-12-08 17:24:07 +01:00
Dominik Biedebach
51d1f719e1 2.0.0-beta.206 2022-12-08 11:55:29 +01:00
Sven Adlung
8b854b67a4
refactor(extension-youtube): rename utility function name (#3498) 2022-12-07 00:45:51 +01:00
Sven Adlung
e9d9d88511
fix(extension-bubble-menu): don't debounce without valid selection (#3501) 2022-12-07 00:45:31 +01:00
Dominik Biedebach
5682d04f3e v2.0.0-beta.205 2022-12-05 09:14:57 +01:00
Jan Thurau
30e799c67f
Moves all prosemirror deps to peerDependencies & devDependencies (for package development) (#3487) 2022-12-05 09:13:53 +01:00
Dominik
343ce756a8
feat(commands): add joinUp and joinDown command (#3455) 2022-11-25 20:37:25 +01:00
Jonas Thelemann
1c3568dcd9
fix(link): allow to unset target attribute (#3425)
Resolves #3276.
2022-11-25 16:48:28 +01:00
Dominik
ef8a1a2f3d
fix(core): implement deleteCurrentNode command & fix node joining on Delete key (#3192)
* fix(core): 🐛 fix delete on empty nodes joining next node incorrectly

This PR implements a "deleteCurrentNode" action in combination with registering this command inside the keymap for the delete key. This way, we editor will check, if the current node is empty before joining - if the current node is empty, the node will be removed. Joining will still work if the current node is not empty and the selection is at the end of the current node

2924

* refactor(core): ♻️ remove unnecessary return on handleDelete keymap
2022-11-25 16:42:13 +01:00
Dominik Biedebach
28d436ffbd v2.0.0-beta.204 2022-11-25 15:27:27 +01:00
Dominik Biedebach
c1a0c3ae43 fix(core): rename esm modules to esm.js 2022-11-25 15:26:42 +01:00
Rui Serra
369f109fc7
Fix cursor not following to new node when using a react node view (#3331)
* Refactor: extract `setRenderer` and `removeRenderer` methods

* Refactor: avoid using a mutable ES6 Map in React component state

The React docs recommend treating the `state` as immutable. See e.g.:
https://reactjs.org/docs/react-component.html#state

* Fix: flush EditorContent state changes immediately once initialized

This fixes the cursor problem described in tiptap#3200

Node views need to be rendered immediately when they're created so that
the editor can correctly position the cursor. That's achieved using
`flushSync` whenever a new node view renderer is added.

However, `flushSync` cannot be used from inside a React component
lifecycle method.

By keeping an instance variable to determine if initialization has
happened, we can avoid using `flushSync` from inside the `componentDidMount`
and `componentDidUpdate` methods, and still call it whenever a new node view
is created afterwards.
2022-11-25 12:01:07 +01:00
Dominik Biedebach
4d7f05a2a7 v2.0.0-beta.203 2022-11-24 16:11:10 +01:00
tomi-bigpi
d3aeac4afa
Fix #3435 - CommonJS and ESM loading confusion (#3436)
* Fix TipTap getting loaded as CommonJS when the intent is to use the ES Module version.
* `package.json` change also makes explicit exports required
* Update `core` utilities exports to include all utilities
* Update tests to use exported utilities
2022-11-24 16:06:42 +01:00
Dominik
31c3a9aad9
fix(extension/table): move dependency from @_ueberdosis to @tiptap (#3448) 2022-11-24 14:48:48 +01:00
Sven Adlung
2c1c557a8b
Merge pull request #3386 from alejandrogarciasalas/patch-1
docs: fixes typo in suggestion.ts
2022-11-07 21:49:24 +01:00
svenadlung
5fb4d98c12 Merge branch 'main' of github.com:ueberdosis/tiptap
# Conflicts:
#	README.md
2022-11-07 21:42:04 +01:00
svenadlung
b43eecfcc1 docs: fix typos 2022-11-07 21:41:00 +01:00
Alejandro García Salas
154a82a007
Update suggestion.ts
fixes typo
2022-11-04 15:18:56 -07:00
Dominik Biedebach
0c6757c01e v2.0.0-beta.202 2022-11-04 22:05:08 +01:00
Dominik Biedebach
3d04941c64 style(extension/bubble-menu): change delay option to updateDelay 2022-11-04 22:04:47 +01:00
Dominik Biedebach
e889e10e68 v2.0.0-beta.201 2022-11-04 18:23:50 +01:00
Dominik Biedebach
403b99cd1a Revert "Fixed dragged text not being deleted after drop on another editor (#3279)"
This reverts commit ac626c8e1e.
2022-11-04 18:21:12 +01:00
Mihir Shah
aca6c88f2d
fix: remove blur event listener from tippy element (#3365) (#3366) 2022-11-04 17:51:01 +01:00
Dominik Biedebach
4841c05c72 fix(extension-youtube): set allowFullscreen to default 2022-11-04 17:21:52 +01:00
Dominik Biedebach
bf5812461b fix(extension-youtube): remove default options from youtube extension 2022-11-04 16:51:06 +01:00
Dominik
cd5fd606d1
refactor(extension/bubble-menu): add debounce to bubble menu updates (#3385)
* refactor(extension/bubble-menu): add debounce to bubble menu updates

* fix: change default duration in react bubble menu demo
2022-11-04 16:39:41 +01:00
Dominik Biedebach
cd78f1d863 v2.0.0-beta.200 2022-11-04 12:33:51 +01:00
Dominik Biedebach
b38c9eb139 fix(suggestion): revert #3239 2022-11-04 12:32:01 +01:00
Cameron Hessler
6e5d19f65d
fix(extension-placeholder) Fix perf issue w/empty nodes (#3361)
Co-authored-by: Cameron Hessler <cameron.hessler@buildertrend.com>
2022-11-04 00:32:21 +01:00
Luis Cateura
c1cf33c7bf
Feature/youtube parameters (#3307)
* Fixed allowFullscreen not working correctly. Added autoplay and progress bar color parameters

* Added cc language preference, cc load policy, disable keyboard controls, end time and interface language parameters

* Added enable IFrame API, iv load policy, loop, modest branding, origin and playlist parameters

* Updated the youtube extension documentation

Co-authored-by: luis.feliu <luis.feliu@mentormate.com>
2022-10-17 17:28:30 +02:00
Eduard Castellano
1c493f3593
Cleanup linkifyjs when the editor is destroyed (#3316) 2022-10-17 12:58:04 +02:00
Nikita Konev
a966059dc0
Fixed using both color and highlight (#3311) 2022-10-17 12:57:53 +02:00
Luis Cateura
ac626c8e1e
Fixed dragged text not being deleted after drop on another editor (#3279)
* Fixed dragged text not being deleted after drop on another editor

* refactor code solved typescript errors

Co-authored-by: luis.feliu <luis.feliu@mentormate.com>
2022-10-17 12:56:40 +02:00
Dominik Biedebach
921bbdd4bb v2.0.0-beta.199 2022-09-30 04:43:37 +02:00
Dominik
69923e2b0e
fix(extension/link): 🐛 fix last word value not being passed through when undefined (#3258) 2022-09-30 04:40:33 +02:00
Dominik Biedebach
801b436d7a v2.0.0-beta.198 2022-09-29 15:20:55 +02:00
matrixbirds
04b9da4760
fix(suggestion): set default allowedPrefixes null (#3239)
Co-authored-by: Zoe.L <yang.li06@mihoyo.com>
2022-09-29 15:20:08 +02:00
Alberto Giunta
f6c6b67096
Fix #3032 (#3245) 2022-09-29 15:05:27 +02:00
hamflx
2f9ba324a0
fix(core): InputRules does not work for ranges containing multiple text nodes (#3205)
* fix: InputRules does not work for ranges containing multiple text nodes. #3071

* chore: rename `to` to `sliceEndPos`
2022-09-29 15:05:03 +02:00
Guy Marriott
539afce4fd
fix(link): ensure text blocks exist before referencing them (#3251)
Fixes #3250
2022-09-29 15:03:04 +02:00
Dominik Biedebach
be4cde0e02 v2.0.0-beta.197 2022-09-26 15:26:23 +02:00
Cameron Hessler
17a41da5a7
fix(core): Can() does not work for setting marks (#3223)
Previously, setting marks did no schema validation checks for dry runs
(like the `.can()` command). The `setMark` raw command will now properly
check if the mark is possible to be set given the editor node/mark
schema.

Co-authored-by: Cameron Hessler <cameron.hessler@buildertrend.com>
2022-09-26 14:56:25 +02:00
Dominik
8c088b6b88
chore(maintainment): 🚀 update prosemirror packages to the most recent versions (#3237) 2022-09-26 14:56:14 +02:00
Cameron Hessler
8f5fbef742
feat(extension-link) Change autolink to only apply on space (#3232)
Co-authored-by: Cameron Hessler <cameron.hessler@buildertrend.com>
2022-09-26 11:08:10 +02:00
Dominik Biedebach
95842e18f6 v2.0.0-beta.196 2022-09-21 00:49:19 +02:00
John Franey
ae13cf61ad
fix(types): fix link and table type errors (#3208) 2022-09-20 23:54:36 +02:00
Sven Adlung
a3978353ff
feat(extension-typography): add servicemark input rule (#3220)
* feat(extension-typography): add servicemark input rule

* fix formatting issue
2022-09-20 23:53:34 +02:00
Dominik Biedebach
ea1fbeda7d v2.0.0-beta.195 2022-09-14 02:10:19 +02:00
Molly
b01ccff7b2
feat: Add alias condition to code-block-lowlight (#3155) 2022-09-14 02:06:01 +02:00
Dominik
fa96749ce2
fix(extension/bubble-menu): 🐛 fix bubble menu and floating menu being available when editor not editable (#3195) 2022-09-14 02:05:36 +02:00
Daniel Spitzer
9093cdfcf5
fix: move React flushSync to microtask (#3188)
To avoid seeing the `Warning: flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task.` error, we need to move the `flushSync()` code that avoids automatic batching to a microtask to not fire a lifecycle event `setState()` during rendering.

Fixes warning introduced in #2985
2022-09-13 20:36:35 +02:00
Dominik Biedebach
009f79991d v2.0.0-beta.194 2022-09-11 11:11:52 +02:00
Dominik Biedebach
56c138671b chore: sync package versions 2022-09-11 11:11:31 +02:00
Dominik Biedebach
e25d4a3710 v2.0.0-beta.193 2022-09-10 21:12:56 +02:00
Dominik Biedebach
d15aa38cd2 refactor(extension/mention): move @tiptap/sugesstion into peerDependencies 2022-09-10 21:09:58 +02:00
Dominik Biedebach
1024892454 Revert "Merge branch 'add-empty-editor-class-to-root-div'"
This reverts commit 1d0158d5c5, reversing
changes made to bda6e8d308.
2022-09-10 16:16:47 +02:00
Dominik Biedebach
6a85f73659 style(extension/placeholder): fix linting issues 2022-09-10 15:31:54 +02:00