Commit Graph

2509 Commits

Author SHA1 Message Date
Nick the Sick
045d9871f1 chore: update package versions for prosemirror 2024-06-28 08:17:13 +02:00
bdbch
f3ff7cae3a move CHANGELOG notice to correct file 2024-06-27 18:19:22 +02:00
bdbch
58e43bb2ae
switch from lerna to changesets for versioning and publishing (#5274)
* chore: get rid of lerna and install changesets

* chore: dont ignore demos in changesets

* chore: add deprecation notice for global CHANGELOG.md

* chore: remove commitlint from husky

* update package-lock

* join pre track for develop

* add new publish workflow with changesets

* update CONTRIBUTING guidelines

* fix typo in CONTRIBUTING

* update PR template

* rename release script to publish

* added pre actions

* use singular workflow for publishing
2024-06-27 17:48:30 +02:00
Dominik Biedebach
6af368e703 chore: removed old rollup plugin sizes plugin 2024-06-27 16:15:04 +02:00
bdbch
8c017d88f6 chore: merged main branch into beta branch 2024-06-26 23:53:44 +02:00
Nick the Sick
45f58cae06
chore: update types 2024-06-26 22:47:07 +02:00
Nick the Sick
c121d53d19
refactor: fix types 2024-06-26 22:27:31 +02:00
Nick the Sick
05856fbe56
v2.5.0-beta.6 2024-06-26 11:14:55 +02:00
Nick the Sick
6f59052d79
chore: make prosemirrror-model a range 2024-06-26 09:22:57 +02:00
Nick the Sick
1cab33f26f
chore: update prosemirror-model dep to non-breaking version 2024-06-26 09:15:14 +02:00
Nick the Sick
0e96a2c35e
v2.5.0-beta.5 2024-06-25 17:00:21 +02:00
bdbch
81d3b8a671
feat(core): normalize setContent and insertContentAt (#4895)
When `parseOptions.whitespace === 'full' or parseOptions.whitespace === true` setting content will no longer strip whitespaces on setContent
2024-06-25 16:50:46 +02:00
Nick the Sick
2198991fda
fix: provide the error cause 2024-06-25 16:40:26 +02:00
Nick the Sick
1175b9c110
revert: reverts a52118c34b to fix centering extension issue #5254
https://github.com/ueberdosis/tiptap/issues/5254
2024-06-25 16:29:51 +02:00
Alec Larson
cd64e01ebd
chore(docs): fix @see links in Extension.ts (#5253) 2024-06-19 20:28:55 +02:00
Nick the Sick
08125c4000
v2.5.0-beta.4 2024-06-18 08:09:54 +02:00
Nick Perez
c540c7d2e8
fix: apply #5147 fix to marks and nodes resolves #4704 (#5156)
* fix: apply #5147 fix to marks and nodes

* fix: resolve Issue #4704 by reverting PR #4191

* test: more robust tests for nodes and marks too
2024-06-18 08:00:28 +02:00
Nick Perez
3556d5812b
fix(core): the whitespace value for a node was not being sent to prosemirror (#5245) 2024-06-18 06:54:06 +02:00
Nick Perez
2ef43e9251
fix(core): make exitable resolve it's value through inheritance (#5244) 2024-06-18 06:07:14 +02:00
Nazar
d122980cec
fix(core): update tabindex on state change (#5231) (#5232) 2024-06-14 05:35:50 +02:00
Daniel Pivovarov
33de6fef67
fix(horizontal-rule): fix insertion behavior (#4898) 2024-06-14 04:51:52 +02:00
Nick the Sick
d6dc1e0ccf
v2.5.0-beta.3 2024-06-12 09:17:13 +02:00
Yousef
fe78faab55
fix(core): mergeDeep now can merge nulls (#4088) 2024-06-12 08:36:44 +02:00
Nick Perez
171924ee49
revert: "fix: (vue-3) component rendering" (#5221)
This reverts commit 95a1d4b7de.
2024-06-12 07:39:57 +02:00
Rirax
31f3746491
fix(vue-3): faster component rendering (#5206) 2024-06-12 07:38:28 +02:00
Rirax
95a1d4b7de
fix(vue-3): faster component rendering (#5206) 2024-06-12 07:37:12 +02:00
Francisco Vergara
8d93070bbe
fix(suggestion): fixes re-rendering logic (#4380) 2024-06-12 07:30:55 +02:00
Nick the Sick
4e4c622e1b
refactor: rm circular dependency 2024-06-12 06:41:58 +02:00
Nick the Sick
747985b3a7
chore: update package versions for prosemirror 2024-06-11 23:03:14 +02:00
Nick the Sick
f4a7dbaf5c refactor: use the faster .eq method for determining equality 2024-06-08 10:42:45 +02:00
Nick the Sick
aee15c2874 fix: use a faster type check for determining if a fragment or not 2024-06-08 10:42:45 +02:00
Nick the Sick
3d3263911f feat: pass node & mark extensions as a contextual variable to addGlobalAttributes 2024-06-08 10:42:45 +02:00
Nick the Sick
4a01716408
v2.5.0-beta.2 2024-06-07 16:49:52 +02:00
Nick the Sick
65cef599bc
Merge branch 'main' into develop 2024-06-07 16:48:53 +02:00
moander
ea6dd09728
docs: define keepOnSplit and default optional (#4404) 2024-06-07 16:46:40 +02:00
Daniel Pivovarov
716c5ef53b
refactor: unnecessarily resolved positions (#4857) 2024-06-07 16:44:44 +02:00
Nick Perez
a95ba3fa6f
fix(extension-link): make links exitable resolving #3293 (#5181) 2024-06-07 16:38:54 +02:00
Henry Stelle
ff6e00a356
feat(extension-link): add support for default protocol (#5022) 2024-06-07 16:37:48 +02:00
Julien Cigar
a52118c34b
fix(core): updateAttributes command update only the current node(#5154) 2024-06-07 16:35:43 +02:00
Wilson Zhong
b45fb70fa8
fix(extension-table): update insertion position of new tables fix #5143
Typically when inserting a new table we want to select within the first cell of the newly inserted
table. This change should ensure that occurs even if original selection's head precedes the anchor.

fix #5143
2024-06-07 16:30:06 +02:00
Nick the Sick
e542330170
chore: upgrade y-prosemirror 2024-06-07 15:11:48 +02:00
Nick the Sick
52002feeed
v2.5.0-beta.1 2024-06-04 10:39:58 +02:00
Nick the Sick
65a06136ac
Merge branch 'main' into develop 2024-06-04 10:30:30 +02:00
Nick Perez
f635d7b4f5
fix: revert font-family escaping introduced by #4545 (#5164)
Using `CSS.escape` is the wrong tool for the job here:
 - it is meant for CSS selectors and does not handle CSS variables properly.
 - you can't use `var(--title)` as a font-family because it was getting escaped to `var\(--title\)`
2024-06-04 09:37:43 +02:00
Nick Perez
74bfdc5bef
feat: error handling of invalid content for a schema (#5178)
This change introduces two new top-level options to the editor: `enableContentCheck` & `onContentError` for dealing with content supplied that does not match the prose-mirror schema generated by the set of tiptap extensions.

`enableContentCheck` allows the app developer to opt into the behavior to check for invalid schemas (this change is otherwise backwards compatible).
When true, this will try to parse the document, and any content that does not match the schema will emit a `contentError` which can be listened to via the `onContentError` callback.
2024-06-04 09:32:54 +02:00
Stanislav Volar
8d1af5fbe5
fix: parse only available configured text-align values (#5169)
---------

Co-authored-by: volar <stanislav.volar@petitpress.sk>
Co-authored-by: Nick Perez <nicholas.perez@tiptap.dev>
2024-05-30 17:09:44 +02:00
Nick the Sick
d36a7ef1d9
v2.5.0-beta.0 2024-05-29 10:43:43 +02:00
Nick the Sick
69917881ce
chore: merge branch 'main' into develop 2024-05-29 10:17:05 +02:00
LoneRifle
326c993628
build(deps): bump prosemirror-trailing-node to 2.0.8 (#4949) 2024-05-27 14:48:33 +02:00
Benjamin Kroeger
ef635db6c0
revert: remove 'whenNotEditable' as option for openOnClick" (#5040)
This reverts commit 0f41e389b3.

Co-authored-by: Nick Perez <nicholas.perez@tiptap.dev>
2024-05-24 16:58:58 +02:00
Nantris
e95140c889
fix: validate pasted links (#5061) 2024-05-24 14:02:37 +02:00
Aaron HS
ae14557906
fix: whitespace being stripped from generateJSON (#5158) 2024-05-24 13:55:45 +02:00
AlphaX-Projects
c1e115c98c
Fix unexpected token in index.js (Rollup) (#4538) 2024-05-23 22:23:44 +02:00
REMY Matthieu
393d83e199
fix(suggestion): unused parameter oldState in apply. (#4771) 2024-05-23 22:20:39 +02:00
Mekhi
ec1752374e
fix: Allow emit to be accessed anywhere (#3848) 2024-05-23 22:14:17 +02:00
tomi-bigpi
32ed87b409
fix: don't init when editor is already destroyed (#4029) 2024-05-17 16:18:47 +02:00
Liao Jinyuan
daa5e52ba2
fix(extension-code-block): #3604 paste code from vscode (#3606)
* fix(extension-code-block): paste code from vscode

* fix: remove unused import

* fix: put cursor inside the created code block

---------

Co-authored-by: Nick the Sick <nicholas.perez@tiptap.dev>
2024-05-17 07:50:14 +02:00
Steven DeMartini
f55171fb43
fix: types for Suggestion command, allowing generic overrides (#4136)
* Fix typing for Suggestion `command` with new MentionAttrs generic

As of
7cae9673f0,
new generics were added for Suggestion options and props. However,
there is a subtle bug in the current typing: the object selected with
the suggestion `command` need not have the same types as the `items` in
the suggestion options. For instance, in Tiptap's official demo
https://tiptap.dev/api/nodes/mention, the suggestion `items` are all
`string`s, but the selected Mention is of type `{id: string}` (which are
the attributes of the Mention node, as the Mention extension requires):

```ts
  const selectItem = index => {
    const item = props.items[index]

    if (item) {
      props.command({ id: item })
    }
  }
```

i.e., there should be no restriction that when you select something with
the suggestion `command`, it must use the identical structure as the
suggested items. When using the suggestion plugin with the Mention
extension, for instance, the value passed to the SuggestionProps
`props.command()` function must be a `Record<string, any>`, as it's
directly/exclusively used to set the `attrs` of a `Node` via
`insertContentAt` (and you need not use that shape for suggestion
options, as in the Tiptap example above):
44996d60be/packages/extension-mention/src/mention.ts (L42)
f869507396/packages/core/src/types.ts (L79)

This fixes the typing so that suggestions can correctly refer separately
to their own items (of any type), while ensuring the `command`ed item be
of whatever type is necessary (and so in the Mention context, could be
restricted further).

* Add generics to override selected suggestion type

---------

Co-authored-by: Steven DeMartini <sjdemartini@users.noreply.github.com>
2024-05-17 05:12:04 +02:00
Nick the Sick
738c436a9f
fix: disable parsing javascript: links, add tests 2024-05-16 17:10:15 +02:00
Christofer Roth
980b54f62b fix(extension-link): use whitelist for allowed href values 2024-05-16 09:05:42 +02:00
Dominik Biedebach
80ba352941 Merge branch 'main' of github.com:ueberdosis/tiptap into develop 2024-05-14 15:20:07 +02:00
bdbch
6a581153d8 v2.4.0 2024-05-14 14:45:38 +02:00
Nick Perez
4db463c6bb
fix(core): configure should use the parent of the current instance, to avoid duplication (#5147) 2024-05-14 14:45:03 +02:00
bdbch
6049985c04
refactor(core): clean up constructor & extension setup in extension manager (#5035)
* refactor(core): refactor extension manager

* refactor(core): update comment for setupExtensions function
2024-05-14 14:43:53 +02:00
Nick Perez
1ff58aea21
test: get tests running on macOS again by leveraging built-in platform detection (#5144) 2024-05-14 14:42:57 +02:00
bdbch
d70e8a70b6
refactor(core): add jsdocs for utility functions (#5141)
* refactor(core): add jsdocs to utilitiy functions

* refactor(core): add jsdocs to more utility functions
2024-05-13 18:28:53 +02:00
bdbch
bc6d081fa1
refactor(core): add jsdoc comments for ExtensionManager (#5140) 2024-05-13 18:19:46 +02:00
bdbch
5ae2de2e21 chore: merge main into develop 2024-05-13 11:29:50 +02:00
bdbch
b941eea6da
feat: added jsdocs (#4356)
* added JSDocs for almost all extensions

* start adding commands jsdocs

* add jsdocs for rest of extensions

* add jsdocs for Extensions

* add js docs for all extensions

* add more jsdocs

* add js docs for node spec definitions
2024-05-11 14:30:44 +02:00
Illia Sakovich
edceec4898
Fix getTextBetween (#5055) 2024-05-10 02:51:22 +02:00
cosine
baff4af39e
fix: fix ts error for BubbleMenu and FloatingMenu in @tiptap/react (#5126) 2024-05-10 02:50:12 +02:00
echatzief
152c7cb8ae
fixed issue with blocking update attribute when we have multiple types at text-align-extension (#5097) 2024-05-10 02:32:59 +02:00
Nantris
c52a6026fc
Prevent history checkpoints during backspace in empty editor (#5063)
* Prevent history checkpoints during backspace in empty editor

* Remove errant comment/lint problem
2024-05-09 15:49:59 +02:00
Joel
3a21bc1d2f
Update Context.tsx (#5102) 2024-05-09 15:47:28 +02:00
PHillemans
fb2b1c0b02
fix: only start at block with removing if not an inline node (#4791)
Co-authored-by: Pepijn Hillemans <pepijn.hillemans@cm.com>
2024-05-09 15:47:13 +02:00
Dominik Biedebach
ca4f13461e v2.3.2 2024-05-08 17:43:53 +02:00
bdbch
e307034088
upgrade y-prosemirror (#5124) 2024-05-08 17:41:53 +02:00
Dalius C
4900a27c53
fix: NodePos querySelectorAll function (#5094)
* fix nodepos queryselector

* fix NodePos querySelectorAll function

* tests

* remove test variable

* test fix
2024-05-08 12:22:13 +02:00
bdbch
dfd5ff5c6b v2.3.1 2024-04-30 17:27:07 +02:00
icode
ad89de3c86
Fix packing ySyncPluginOptions error (#5101)
* Fix package ySyncPluginOptions error

* remove semi
2024-04-30 17:25:56 +02:00
bdbch
7343c518ae
fix issue with code pasting from VS Code when at the last line of code (#5106) 2024-04-30 17:22:37 +02:00
Jan Thurau
e73073c020
Feature/y sync options: allow passing ySyncOptions to extension-collaboration (#4976)
* extension-collaboration: allow passing ySyncOptions

* fixes import
2024-04-11 19:16:44 +02:00
svenadlung
b132d9207d v2.3.0 2024-04-09 13:17:27 +02:00
bdbch
22ced31872
fix(core): fix nodepos child lookup (#5038) 2024-04-09 13:12:28 +02:00
Sven Adlung
96b6abcf6e
feat(core): apply input and paste rules when using insertContent methods (#5046) 2024-04-09 13:04:16 +02:00
Benjamin Kroeger
0f41e389b3
extension/link: adds 'whenNotEditable' as option for openOnClick (#3312)
* checks whenNotEditable condition in clickHandler

* passes whenNotEditable option from to helper

* adds docs for whenNotEditable

* adds  to ClickHandlerOptions type
2024-04-08 13:21:10 +02:00
Illia Sakovich
b7107832c0
Add blockSeparator option to clipboardTextSerializer core extension (#5019)
* Update clipboardTextSerializer.ts

* Update clipboardTextSerializer.ts

* feat(core): add core extension options to editor options

---------

Co-authored-by: Dominik Biedebach <dominik.biedebach@ueber.io>
2024-04-08 13:12:40 +02:00
Pontus Lundin
677642eda8
return invokation of command (#4882)
Co-authored-by: Pontus Lundin <pontus.lundin@klarna.com>
2024-04-06 19:02:55 +02:00
bdbch
e79523fb8b v2.2.6 2024-04-06 17:46:17 +02:00
bdbch
d78f99920d style(react): fix linting issues 2024-04-06 13:15:34 +02:00
Karol Firmanty
8d5077a1a5
fix editor cleanup (#4973) 2024-04-06 04:02:05 +02:00
bdbch
7213843951 merge main into develop 2024-04-06 01:37:57 +02:00
Solomon Astley
1439a91624
check if (pos - 1) >= 0 before resolving in handleBackspace keymap helper (#4835)
Co-authored-by: bdbch <6538827+bdbch@users.noreply.github.com>
2024-04-06 01:30:39 +02:00
Myles J
d6c71a838d
fix: unexpected renderText() for contentful nodes (#3410) 2024-04-06 01:29:46 +02:00
Tommy-Sun
ee645c1eca
Optionally delete full mention chip (#3341)
* Optionally delete full mention chip

* Added documentation for deleteOnBackspace

* rename all references of deleteOnBackspace to deleteTriggerWithBackspace
2024-04-06 00:26:48 +02:00
bdbch
51c5e5fc5c fix linting issues in react exports 2024-04-06 00:15:52 +02:00
bdbch
0e5af53778 v2.2.5 2024-04-06 00:09:00 +02:00
MOHAMMAD RASIM
cc41c4c2d2 fix for data attributes not rendering after pr #4082 (#4980) 2024-04-05 23:55:44 +02:00
MOHAMMAD RASIM
2390cf20c1
fix for data attributes not rendering after pr #4082 (#4980) 2024-04-05 23:54:54 +02:00
Ricardo Amaral
4474d056da
fix(extension-link): Avoid auto-linking partial text for invalid TLDs (#4865) 2024-03-28 22:00:24 +01:00
Jan Thurau
1bcef0379f
Feature/y sync options: allow passing ySyncOptions to extension-collaboration (#4976)
* extension-collaboration: allow passing ySyncOptions

* fixes import
2024-03-27 19:37:18 +01:00
Laurens Lavaert
82979740a6
Export useReactNodeView (#4996) 2024-03-27 19:25:51 +01:00
Ricardo Amaral
aa029fe224
fix: Disallow only whitespace between markdown shortcuts delimiters (#4866) 2024-03-27 19:23:04 +01:00
Dominik Biedebach
9a615643ac v2.2.4 2024-02-23 13:01:19 +01:00
Dominik Biedebach
bbee9a3c30 fix: typecheck drag and clipboard events for testing environments 2024-02-23 12:19:20 +01:00
Lukas Hirt
099e10df92
fix: mark nocookie youtube url as valid when parsing html (#4883) 2024-02-19 10:32:57 +01:00
Dominik Biedebach
f8baf792cf v2.2.3 2024-02-15 16:41:48 +01:00
Dominik Biedebach
e8cfe043b7 fix links not being pasted correctly 2024-02-15 16:40:57 +01:00
svenadlung
d308d7c31f v2.2.2 2024-02-07 13:47:00 +01:00
Sven Adlung
56a5737ed1
fix(react): use ref instead of state in useEditor to prevent rerenders (#4856) 2024-02-06 12:13:09 +01:00
bdbch
1c5c087641 v2.2.1 2024-01-31 09:04:52 +01:00
bdbch
56c228a4f4
Refactor NodePos class to support block nodes (#4841)
Co-authored-by: bdbch <dominik@bdbch.com>
2024-01-31 09:04:24 +01:00
bdbch
6ad92fbd28 v2.2.0 2024-01-29 13:25:37 +01:00
svenadlung
8e36d65b6f Merge branch 'main' into develop 2024-01-29 13:16:04 +01:00
bdbch
8954007b2b
fix: fix newline stripping via insertContent
* fix(core): fix whitespace handling in elementFromString function

* demos: add button to insert HTML content with span tags

* Move tests and demo to insertContent demo

---------

Co-authored-by: bdbch <dominik@bdbch.com>
2024-01-29 13:15:39 +01:00
Sven Adlung
681aa577bf
fix: fix imports, fix demos, unpin y-prosemirror
* use @tiptap/pm

* unpin y-prosemirror

* fix lock file

* fix IsolatingClear demo

* fix OnUpdateRenderer demo

* fix YouTube demo video

* update demos

* remove unneeded function call
2024-01-29 13:03:52 +01:00
stevobm
f3cba1e0b0
fix: fix bug #4785 (#4836)
https://github.com/ueberdosis/tiptap/issues/4785
2024-01-29 09:19:34 +01:00
Dominik Biedebach
abee6d5ce3 fix(collaboration): fix typing issues 2024-01-11 12:58:48 +01:00
bdbch
731109b566 merge main 2024-01-10 13:57:46 +01:00
bdbch
23b32f805f v2.1.16 2024-01-10 13:45:34 +01:00
bdbch
2235908c28 fix(core): fix new lines being added via elementFromString (#4767)
Co-authored-by: bdbch <dominik@bdbch.com>
2024-01-10 13:44:56 +01:00
bdbch
b7a2504f16
fix(core): fix new lines being added via elementFromString (#4767)
Co-authored-by: bdbch <dominik@bdbch.com>
2024-01-10 13:43:48 +01:00
Jan Thurau
1b34271edf Revert "fix(extension-link): fix link not being kept when pasting url with link (#3975)"
This reverts commit e7d7d49637.
2024-01-09 11:38:38 +01:00
bdbch
46e391aa9d merge main 2024-01-08 22:30:06 +01:00
bdbch
412b0b92f0 v2.1.15 2024-01-08 20:25:21 +01:00
bdbch
c2232e74a4 v2.2.0-rc.8 2024-01-08 20:22:38 +01:00
bdbch
135a12f7aa
fix(core): fix insertContentAt keeping new lines in html content (#4465)
* fix(core): fix insertContentAt keeping new lines in html content

* test(core): add tests

* chore: remove stray console.log

* chore: remove buttons from demo

* fix(core): fix replacement on multiple breaks
2024-01-08 20:21:45 +01:00
bdbch
57eba08f46
feature: nodepos (#4701)
* start writing docs for nodepos
* added nodepos docs
* added to links

---------

Co-authored-by: bdbch <dominik@bdbch.com>
2024-01-08 20:21:23 +01:00
Dominik Biedebach
8c99685545 sync with main 2024-01-08 12:54:37 +01:00
Dominik Biedebach
6c7b27f39b v2.1.14 2024-01-08 12:49:20 +01:00
bdbch
eaee9c7177
Fix/link pasting (#4700)
* revert link paste handling to behavior before

* fix(link): fix linking while typing

* add validate support for autolinking back

* revert autolink behaviour

* fix autolinking on pasting text

* remove broken link

* fix react link test

* fix savvy test

---------

Co-authored-by: bdbch <dominik@bdbch.com>
2024-01-08 12:48:14 +01:00
bdbch
894c732d29
chore(pm): update all prosemirror package dependencies (#4714)
* chore(pm): update all prosemirror package dependencies

* rchore(core): remove filterTransaction from state

* fix(demo): fix typings in vue demo

* feat(core): add missing prosemirror commands for joining textblocks

* adoc: added documentation for missing commands

---------

Co-authored-by: bdbch <dominik@bdbch.com>
2024-01-02 13:38:28 +01:00
Eric Hynds
fd8d4c0901
Forward EditorContent ref (#4396)
* forward EditorContent ref

* make ref optional
2024-01-02 12:10:13 +01:00
Hiroshi Fujita
8030c11e2c
Export createColGroup utility function (#4737)
Co-authored-by: bdbch <6538827+bdbch@users.noreply.github.com>
2024-01-02 12:08:58 +01:00
Dominik Biedebach
2456ac7a74 Merge branch 'main' of github.com:ueberdosis/tiptap into develop 2023-12-15 12:32:00 +01:00
bdbch
f6d7e00a74
fix(typography): require spaces after divisions to not break date formats (#4696) 2023-12-14 15:10:08 +01:00
Dominik Biedebach
e128f6cac0 merge main 2023-12-14 13:00:09 +01:00
Dominik Biedebach
b18d729101 v2.1.13 2023-11-30 18:04:49 +01:00
bdbch
ad7f659ed0
fix(react): fix performance regression because of select/deselect (#4661) 2023-11-30 18:03:53 +01:00
Dominik Biedebach
fc67cb1b71 fix(core): fix options now being empty 2023-11-30 17:54:06 +01:00
Dominik Biedebach
fab5e963ce v2.2.0-rc.7 2023-11-27 14:14:28 +01:00
Dominik Biedebach
448b433ee7 fix(core): set defaultOptions to undefined by default 2023-11-27 14:13:29 +01:00
Dominik Biedebach
e2ac6003fb v2.2.0-rc.6 2023-11-23 14:42:38 +01:00
Dominik Biedebach
a4af83ca52 Revert "fix/react-renderer-node-attrs (#4321)"
This reverts commit 5b407ef08e.
2023-11-23 14:42:15 +01:00
Dominik Biedebach
2bb371126e merge main 2023-11-23 09:28:26 +01:00
Dominik Biedebach
b62c87a07e v2.2.0-rc.5 2023-11-23 09:24:24 +01:00
Mateus Barbosa
5b407ef08e
fix/react-renderer-node-attrs (#4321) 2023-11-23 09:23:37 +01:00
Mohammad Rasim
d43c477249 fix an issue of duplicate span elements 2023-11-22 20:47:35 +01:00
Mohammad Rasim
6058a53330 warn if user is using the deprecated renderLabel 2023-11-22 20:47:35 +01:00
Mohammad Rasim
865f0be05e Allow the mention extension to have custom renderHTML 2023-11-22 20:47:35 +01:00
Jan Thurau
2bea9d1513
Merge pull request #4435 from webkadiz/fix/undo-redo-wrong-shortcuts
fix(history): use correct shortcuts for undo/redo
2023-11-20 22:13:13 +01:00
Jan Thurau
2e96ed5d7f
Merge pull request #4423 from ioma8/link-click-fix
Link click fix
2023-11-20 21:37:33 +01:00
Jakub Kolčář
ef10ae53b2
Revert "autolink improvement"
This reverts commit 9a9e94b4cb.
2023-11-20 21:13:41 +01:00
Jakub Kolčář
82f16d2d91
link click handler fixed 2023-11-20 21:13:40 +01:00
Jakub Kolčář
d9cdf1e1c1
autolink improvement 2023-11-20 21:12:57 +01:00
Jan Thurau
b7234c8b93
Merge pull request #4490 from arendjantetteroo/patch-1
feat(extension/youtube): Allow youtube shorts urls to be embedded
2023-11-20 20:53:15 +01:00
Cameron Hessler
1bd714a408 fix(extension-youtube) change regex to disallow non-youtube domains 2023-11-20 18:48:22 +01:00
Cameron Hessler
7debf2baf0 fix(extension-youtube) Add fix for link too 2023-11-20 18:48:22 +01:00
Cameron Hessler
04a11355a7 fix(extension-youtube) XSS risk with src tag
Fixes risks outline in #4600 by verifying that any src urls are valid
youtube URLs before rendering as HTML. My thoughts are that this attack
vector would be difficult to use because the attacker would have to have
a way to manipualte the TipTap payload in a manner that bypasses the
youtube extension's `setYoutubeVideo` command, which already checks for
valid URLs.
2023-11-20 18:48:22 +01:00
Jan Thurau
55377ebd3e
Merge pull request #4638 from ueberdosis/feature/yProsemirror1.2.1
chore: upgrades y-prosemirror to ^1.2.1. It used to be locked to 1.0.…
2023-11-18 08:27:43 +01:00
Jan Thurau
0f50b21779
Merge pull request #4515 from estrattonbailey/allow-custom-suggestion-matching
allow users to pass a custom `findSuggestionMatch` to Suggestion plugin
2023-11-18 08:27:13 +01:00
Eric Bailey
ad47c49298 allow users to pass a custom findSuggestionMatch 2023-11-17 12:25:44 +01:00
Sander
d7f1476db2 Added CSS.escape to font-family.ts per font-family name. 2023-11-17 11:55:18 +01:00
SanderLeenders
51eb628754
Merge branch 'develop' into develop 2023-11-17 11:26:56 +01:00
Jan Thurau
6e12777859 fixes typing issue 2023-11-17 11:03:23 +01:00
Jan Thurau
f397bf83c8 chore: upgrades y-prosemirror to ^1.2.1. It used to be locked to 1.0.20 because of a bug, but that got fixed in 1.1.3 2023-11-17 11:03:23 +01:00
Eric Bailey
3383db88cb Bump minor version of zeed-dom to include html parser bugfix 2023-11-17 10:51:47 +01:00
SanderLeenders
ddc78a62ba Added CSS.escape to font-family.ts
Added CSS.escape to renderHTML. Prevents invalid css when using fonts with numbers in their names, like https://fonts.google.com/specimen/Exo+2
2023-11-17 10:51:06 +01:00
Furkan Bayraktar
0c4bff5d27 Pass onFirstRender option to ySyncPlugin
here is an option called `onFirstRender` in the `CollaborationOptions` type; however, it is not used anywhere. This commit passes the option to the Yjs' sync plugin.
2023-10-12 15:58:58 +02:00
Dominik Biedebach
c1d0f30f47 fix clipboard is undefined issue 2023-10-11 17:22:26 +02:00
Dominik Biedebach
01135be60c v2.1.12 2023-10-11 15:55:10 +02:00
bdbch
1a7b4280d2
fix(link): restore pasteHandler and add existing url check (#4523)
* fix(link): restore pasteHandler and add existing url check

* make pasteEvent optional
2023-10-11 15:54:14 +02:00
bdbch
42039c05f0 v2.2.0-rc.4 2023-10-10 12:34:15 +02:00
Thibault Leruitte
fda6310e74
Fix: configured/extended extensions should keep their original config (#4191) 2023-10-10 04:24:27 +02:00
Timo Santi
6b2edc5d82
[Bug]: HTML output of Table is missing colgroup element (#4281)
* [Bug]: HTML output of Table is missing colgroup element
Fixes #4280

* Fixed typo and added some documentation
2023-10-10 04:22:58 +02:00
Arend-Jan Tetteroo
4d79cb85c9
feat(extension/youtube): Allow youtube shorts urls to be embedded
Youtube uses /shorts/ for their shorts video. The /embed url works with these id's, the regex did not support them though.

This updates the videoId regex to also support the /shorts/ urls.
2023-09-29 14:25:14 +02:00
Vladislav Tkachenko
520ce790c3 fix(history): use correct shortcuts for undo/redo 2023-09-22 22:13:55 +03:00
bdbch
b5cb36058b merge main into develop 2023-09-20 17:36:56 +02:00
bdbch
634cb68f6c v2.1.11 2023-09-20 17:31:41 +02:00
bdbch
6aa755a04b Revert "v2.2.11"
This reverts commit 99a5f2d77f.
2023-09-20 17:30:40 +02:00
bdbch
99a5f2d77f v2.2.11 2023-09-20 17:29:31 +02:00
bdbch
361a821245
feature(core): pass through paste event to pasteHandler getAttributes (#4354)
* add pass through of paste event for paste handlers

* remove unused pasteHandler.ts

* remove link extension from youtube demo

* added missing prop for handler
2023-09-20 17:23:43 +02:00
Dominik Biedebach
39cf6979c4 merge main with develop 2023-09-15 17:04:38 +02:00
Dominik Biedebach
8b89b97d5b v2.1.10 2023-09-15 15:43:55 +02:00
bdbch
2e199b0a59
Fix React and Vue NodeView renderers not adding correct selection classes (#4452)
* fix(react): add correct / remove selected class
* fix(vue-2): add correct / remove selected class
* fix(vue-3): add correct / remove selected class
2023-09-15 15:06:02 +02:00
Dominik Biedebach
b2f74f209c sync with main 2023-09-14 17:40:39 +02:00
Dominik Biedebach
a7156b347b v.2.1.9 2023-09-14 17:35:24 +02:00
Dominik Biedebach
a5f7fe0a89 Sync develop with main
Sync develop branch with main – develop (RC) releases won't generate CHANGELOG.md entries anymore.
2023-09-14 17:33:32 +02:00
Manueljlin
74b6444388 fix: add missing attributes in extension-link (#4429)
Despite `rel` and `class` already being defined as an attribute in `addAttributes()`, the interface was missing these two particular attributes so it wasn't accessible when using TypeScript without workarounds.
2023-09-14 17:09:55 +02:00
Manueljlin
0578265bfe
fix: add missing attributes in extension-link (#4429)
Despite `rel` and `class` already being defined as an attribute in `addAttributes()`, the interface was missing these two particular attributes so it wasn't accessible when using TypeScript without workarounds.
2023-09-14 17:05:16 +02:00
bdbch
6f218be6e4 v2.1.8 2023-09-04 21:40:25 +02:00
bdbch
5437814920 v2.1.7 2023-09-04 21:39:38 +02:00
Aldin Nezirić
73202a0afb
prevent opening link when clicking on selection containing a link (#4346)
* prevent opening link when clicking on selection containing a link

* Fix lint err
2023-09-04 21:38:11 +02:00
bdbch
2a83166a46
fix(horizontal-rule): fix insertion being broken on empty docs (#4375)
* fix(horizontal-rule): fix insertion being broken on empty docs
* add back text selection offset
2023-08-23 09:35:47 -07:00
Dominik Biedebach
9dc6b8f1ab v2.2.0-rc.3 2023-08-18 12:37:06 -07:00
Dominik Biedebach
d5ce8e5b7b v2.2.0-rc.2 2023-08-18 11:54:37 -07:00
Dominik Biedebach
f99c4f64dd merge main 2023-08-18 11:53:44 -07:00
Dominik Biedebach
028411e735 v2.1.6 2023-08-18 11:08:52 -07:00
Dominik Biedebach
4227f324a5 fix(core): fix broken export 2023-08-18 11:06:50 -07:00
Dominik Biedebach
3cefcf12f9 v2.2.0-rc.1 2023-08-18 11:02:41 -07:00
Sam Sudar
2a2eb71247
feature(html): allow caller to specify a document implementation in generateHTML() (#4047)
* allow caller to specify a document implementation
* fix up lint errors
2023-08-18 11:01:59 -07:00
Dominik Biedebach
f315706af1 v2.2.0-rc.0 2023-08-18 10:55:25 -07:00
Dominik Biedebach
441519185b Merge branch 'main' of github.com:ueberdosis/tiptap into develop 2023-08-18 10:54:26 -07:00
bdbch
ff929b179d
feat(placeholder): allow editor-is-empty class on any node (#4335) 2023-08-18 10:52:33 -07:00
Nik Graf
fa121d665c
feature: allow to customize the tag of the contentDOMElement (#3984) 2023-08-18 10:51:46 -07:00
Dominik Biedebach
92be1e8cb0 v2.1.5 2023-08-18 09:25:35 -07:00
bdbch
e40ac2584e
fix(list-key-map): fix broken imports (#4350) 2023-08-18 09:23:25 -07:00
Dominik Biedebach
571bea436c v2.1.4 2023-08-18 09:09:17 -07:00
Dominik Biedebach
5686dfa86b style(link): fix linting 2023-08-18 08:54:22 -07:00
bdbch
ffeefe21ff
fix: replace the whole node in nodeInputRule (#4341)
Co-authored-by: Nicolas Gryman <ngryman@gmail.com>
2023-08-18 08:32:06 -07:00
Dominik Biedebach
c09d9e9e42 v2.1.3 2023-08-17 23:28:54 -07:00
Steven Qi
f2ac7b9091
fix: fix autolink when code is not enabled for editor (#4344) 2023-08-17 23:28:16 -07:00
Dominik Biedebach
af017d18ad v2.1.2 2023-08-17 09:06:39 -07:00
bdbch
a251946858
fix(core): fix error when merging class attributes (#4340)
* fix(core): fix error when merging class attributes
* added test
2023-08-17 09:05:48 -07:00
Dominik Biedebach
141dd269b4 v2.1.1 2023-08-16 11:41:19 -07:00
bdbch
0d7daedfa4
hotfix(core): Fix input rules not working if at last position of a block (#4337)
* chore(core): remove log

* fix(core): fix inputRules breaking if last item in hierarchy

* fix(core): use default doc node if no parent default node is found

* chore: update .eslintrc

* chore: fix linting

* chore: fix linting
2023-08-16 11:40:47 -07:00
Dominik Biedebach
9575dd3639 v2.1.0 2023-08-15 17:52:43 -07:00
bdbch
dd6d3d39d1
HorizontalRule: fix setHorizontalRule putting cursor at non-text positions (#4319)
* fix setHorizontalRule putting cursor at non-text positions

* improve selections after inserting horizontalRules
2023-08-15 17:49:38 -07:00
bdbch
0e65d9519d
Core: Fix classes being duplicated on mergeAttributes function (#4320)
* fix classes being duplicated on mergeAttributes function
* use array split and joining to check individual classes
2023-08-15 17:49:09 -07:00
Dominik Biedebach
63267019f5 v2.1.0-rc.14 2023-08-10 20:32:03 -07:00
bdbch
4fe87d35e5
add overrides to typography extension (#4287) 2023-08-10 20:30:56 -07:00
Dominik Biedebach
58351ae3b7 v2.1.0-rc.13 2023-08-10 18:13:45 -07:00
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