Commit Graph

2384 Commits

Author SHA1 Message Date
Nick the Sick
e90ac35b0e
build: try to get demos working again 2024-07-15 11:46:15 +02:00
Nick the Sick
acf86b01d6
chore: update package version 2024-07-14 15:55:36 +02:00
Nick the Sick
9b566b9c35
chore: release version 2.5 2024-07-14 15:44:37 +02:00
Nick the Sick
fb4514946c
revert: "chore(release): publish a new pre-release version"
This reverts commit ff157042a3.
2024-07-14 15:04:56 +02:00
github-actions[bot]
ff157042a3 chore(release): publish a new pre-release version 2024-07-14 12:52:24 +02:00
github-actions[bot]
c15f89bb7e chore(release): publish a new pre-release version (pre) 2024-07-13 11:13:17 +02:00
Nick Perez
1110280b2b
fix(react): useEditor should not destroy still mounted instances (#5338)
This forces the editor to re-use the editor instance that existed prior to an unmount and remount of the same component.
This fixes a bug in `React.StrictMode` introduced with the latest performance updates by PR #5161
2024-07-13 10:59:33 +02:00
github-actions[bot]
db0d007660
Publish a new pre-release version (pre) (#5328)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-11 11:53:34 +02:00
Alistair Smith
e902c12a88
refactor(react): flip order of useEditorState overloads
So that TypeScript will resolve the non-nullable one first, unless the editor is nullable, in which case the other one will resolve.
2024-07-11 10:07:13 +02:00
github-actions[bot]
91d8f5898a
Publish a new pre-release version (pre) (#5322)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-10 11:45:05 +02:00
Nick Perez
df5609cdff
fix: default to rendering the editor immediately, while staying backward compatible (#5161)
* fix: default to rendering the editor immediately, while staying backward compatible

* feat: add `useEditorWithState` hook for extracting state and editor instance simultaneously

* feat(react): add `useEditorState` hook for subscribing to selected editor state

* docs: add an example to show the concept

* chore: add changeset
2024-07-10 11:41:43 +02:00
github-actions[bot]
5c2f67f44d chore(release): publish a new pre-release version (pre) 2024-07-03 22:55:13 +02:00
Nick the Sick
6b7dacaedc
chore: make pm not rebuild everytime 2024-07-03 21:41:34 +02:00
github-actions[bot]
3f5be5ed7e chore(release): publish a new pre-release version (pre) 2024-07-03 21:30:07 +02:00
github-actions[bot]
1f87cd9411 chore(release): publish a new pre-release version (pre) 2024-07-03 20:56:00 +02:00
github-actions[bot]
a20b18cdf0 chore(release): publish a new pre-release version (pre) 2024-07-03 19:55:20 +02:00
github-actions[bot]
42af7a1b7b
chore: version packages (pre) (#5308)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-03 19:00:05 +02:00
Mathias Stang
d5e10dc4b0
fix: make blockquote shortcut work in starter-kit (#4995)
* fix: make blockquote shortcut work in starter-kit

Because blockquote uses Mod-Shift-b, and bold uses Mod-b,
the bold shortcut will override the blockquote shortcut if added
to the extensions later.

Fixes #4994

* chore: add changeset

---------

Co-authored-by: Nick Perez <nicholas.perez@tiptap.dev>
2024-07-03 18:43:35 +02:00
github-actions[bot]
4cbb09ef6d
chore: version packages
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-02 22:26:28 +02:00
Segev Finer
509676ed4a
fix(vue-3): fix editor.state updating too late during a transaction due to reactiveState fixes #4870 (#5252) 2024-07-02 21:58:46 +02:00
Nick the Sick
c96d332364
Merge branch 'main' into develop 2024-07-02 16:21:06 +02:00
github-actions[bot]
d1c5c97e95
chore: version Packages (pre) (#5280)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-02 05:31:09 +02:00
Nick Perez
89fefab9ac
fix: placeholders now check for empty content compared to their "true" empty state (#5278)
* fix: placeholders now check for empty content compared to their "true" empty state

* chore: add changeset
2024-06-28 09:05:43 +02:00
bdbch
10c537aac9 move CHANGELOG notice to correct file 2024-06-28 08:44:12 +02:00
bdbch
2a63d23ad3 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-28 08:28:59 +02:00
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