Commit Graph

184 Commits

Author SHA1 Message Date
bdbch
d9b6ef5ce2
fix emptyTextBlock detection to handle leaf nodes too (#5838)
* fix: #4327

* merge forked PR

---------

Co-authored-by: Tony Hallett <tonyhallett74@gmail.com>
2024-11-30 14:19:16 +01:00
bdbch
ca6269e928
feat: allow support for drag-and-drop between multiple editors (#5893)
* feat: drag and drop across multi editors

* feat: drag and drop across multi editors optimize

* feat: drag and drop across multi editors optimize

* added changeset

---------

Co-authored-by: songhandong <songhandong@baidu.com>
Co-authored-by: songispm <38745323+songispm@users.noreply.github.com>
Co-authored-by: songispm <songispm@gmail.com>
2024-11-30 13:16:45 +01:00
bdbch
01547d5b2f
Fix headline rules ignoring level 1 headlines (#5890)
Some checks are pending
build / lint (20) (push) Waiting to run
build / test (20, map[name:Demos/Examples spec:./demos/src/Examples/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Experiments spec:./demos/src/Experiments/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Extensions spec:./demos/src/Extensions/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideContent spec:./demos/src/GuideContent/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideGettingStarted spec:./demos/src/GuideGettingStarted/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Marks spec:./demos/src/Marks/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Nodes spec:./demos/src/Nodes/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Integration spec:./tests/cypress/integration/**/*.spec.{js,ts}]) (push) Waiting to run
build / build (20) (push) Blocked by required conditions
Publish / Release (20) (push) Waiting to run
* Fix input rules not honouring levels settings

* added changeset

---------

Co-authored-by: fridaystreet <paultrappitt@gmail.com>
2024-11-30 08:44:51 +01:00
Alex Casillas
2acf260f85
fix(link): object replacement character sanitization #5679 (#5887)
Some checks are pending
build / lint (20) (push) Waiting to run
build / test (20, map[name:Demos/Examples spec:./demos/src/Examples/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Experiments spec:./demos/src/Experiments/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Extensions spec:./demos/src/Extensions/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideContent spec:./demos/src/GuideContent/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideGettingStarted spec:./demos/src/GuideGettingStarted/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Marks spec:./demos/src/Marks/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Nodes spec:./demos/src/Nodes/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Integration spec:./tests/cypress/integration/**/*.spec.{js,ts}]) (push) Waiting to run
build / build (20) (push) Blocked by required conditions
Publish / Release (20) (push) Waiting to run
---------

Co-authored-by: Alex Casillas <alexvcasilas@gmail.com>
2024-11-29 12:38:36 +01:00
Nick the Sick
e7e88b7dc2
Merge branch 'main' into develop 2024-11-26 11:00:09 +01:00
Nick the Sick
e0dfecc7e6
chore: add changeset 2024-11-26 10:52:22 +01:00
Marwan Zaarab
f79c05edd4
fix(code): more robust regex for text enclosed in backticks #4487 (#4468) 2024-11-25 16:30:46 +01:00
Glenn Allen
86250c6e9e
fix(list-keymap): prevent selection deletions at the end of list items from joining lists (#5863)
Some checks are pending
build / lint (20) (push) Waiting to run
build / test (20, map[name:Demos/Examples spec:./demos/src/Examples/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Experiments spec:./demos/src/Experiments/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Extensions spec:./demos/src/Extensions/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideContent spec:./demos/src/GuideContent/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideGettingStarted spec:./demos/src/GuideGettingStarted/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Marks spec:./demos/src/Marks/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Nodes spec:./demos/src/Nodes/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Integration spec:./tests/cypress/integration/**/*.spec.{js,ts}]) (push) Waiting to run
build / build (20) (push) Blocked by required conditions
Publish / Release (20) (push) Waiting to run
If starting a selection at the end of a list item, then pressing delete, the selected text wasn't being deleted, but instead the following list item was joined to the end.

Now the selected text will be deleted.

Joining will only occur if the selection spans multiple nodes or it's collapsed.
2024-11-25 10:36:45 +01:00
Hari Haran
14681a1906
fix(character-count): setting content larger than limit should truncate #5851 (#5862) 2024-11-25 10:33:52 +01:00
github-actions[bot]
c5d87d6765
chore(release): release version 2.10.2 (#5861)
Some checks failed
build / lint (20) (push) Has been cancelled
build / test (20, map[name:Demos/Examples spec:./demos/src/Examples/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Experiments spec:./demos/src/Experiments/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Extensions spec:./demos/src/Extensions/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/GuideContent spec:./demos/src/GuideContent/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/GuideGettingStarted spec:./demos/src/GuideGettingStarted/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Marks spec:./demos/src/Marks/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Nodes spec:./demos/src/Nodes/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Integration spec:./tests/cypress/integration/**/*.spec.{js,ts}]) (push) Has been cancelled
Publish / Release (20) (push) Has been cancelled
build / build (20) (push) Has been cancelled
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-22 10:54:17 +01:00
Nick the Sick
b4009e315b
chore: update to point to issue 2024-11-22 10:51:28 +01:00
Nick the Sick
e7f143d614
chore: add changeset 2024-11-22 10:49:05 +01:00
github-actions[bot]
9d1c41eb3e
chore(release): publish a new release version (#5855)
Some checks are pending
build / lint (20) (push) Waiting to run
build / test (20, map[name:Demos/Examples spec:./demos/src/Examples/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Experiments spec:./demos/src/Experiments/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Extensions spec:./demos/src/Extensions/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideContent spec:./demos/src/GuideContent/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideGettingStarted spec:./demos/src/GuideGettingStarted/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Marks spec:./demos/src/Marks/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Nodes spec:./demos/src/Nodes/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Integration spec:./tests/cypress/integration/**/*.spec.{js,ts}]) (push) Waiting to run
build / build (20) (push) Blocked by required conditions
Publish / Release (20) (push) Waiting to run
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-21 15:37:12 +01:00
Nick Perez
87d63d8d17
fix(core): update the typings to be that options and storage are partials on an extended config #5852 (#5854)
Some checks are pending
build / lint (20) (push) Waiting to run
build / test (20, map[name:Demos/Examples spec:./demos/src/Examples/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Experiments spec:./demos/src/Experiments/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Extensions spec:./demos/src/Extensions/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideContent spec:./demos/src/GuideContent/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideGettingStarted spec:./demos/src/GuideGettingStarted/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Marks spec:./demos/src/Marks/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Nodes spec:./demos/src/Nodes/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Integration spec:./tests/cypress/integration/**/*.spec.{js,ts}]) (push) Waiting to run
build / build (20) (push) Blocked by required conditions
Publish / Release (20) (push) Waiting to run
2024-11-21 14:39:13 +01:00
github-actions[bot]
4b2de3394a
chore(release): release version 2.10.0 (#5843)
Some checks are pending
build / lint (20) (push) Waiting to run
build / test (20, map[name:Demos/Examples spec:./demos/src/Examples/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Experiments spec:./demos/src/Experiments/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Extensions spec:./demos/src/Extensions/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideContent spec:./demos/src/GuideContent/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideGettingStarted spec:./demos/src/GuideGettingStarted/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Marks spec:./demos/src/Marks/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Nodes spec:./demos/src/Nodes/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Integration spec:./tests/cypress/integration/**/*.spec.{js,ts}]) (push) Waiting to run
build / build (20) (push) Blocked by required conditions
Publish / Release (20) (push) Waiting to run
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-20 11:05:37 +01:00
Nick Perez
5eee48093b
fix(react): improve React 19 compatibility by using JSX transform instead #5846 (#5848) 2024-11-20 10:46:29 +01:00
Felix Gabler
1959eb5920
fix(bubble-menu): prevent null pointer exception in BubbleMenu (#5842) 2024-11-19 03:27:06 +01:00
Nick Perez
2ea807d1db
fix(core): getMarkRange match only the current mark of a type #3872 (#5826)
Some checks failed
build / lint (20) (push) Has been cancelled
build / test (20, map[name:Demos/Examples spec:./demos/src/Examples/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Experiments spec:./demos/src/Experiments/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Extensions spec:./demos/src/Extensions/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/GuideContent spec:./demos/src/GuideContent/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/GuideGettingStarted spec:./demos/src/GuideGettingStarted/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Marks spec:./demos/src/Marks/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Nodes spec:./demos/src/Nodes/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Integration spec:./tests/cypress/integration/**/*.spec.{js,ts}]) (push) Has been cancelled
Publish / Release (20) (push) Has been cancelled
build / build (20) (push) Has been cancelled
2024-11-17 18:35:59 +01:00
Nick the Sick
76192158e0
revert: "chore(release): publish a new pre-release version (#5769)"
Some checks are pending
build / lint (20) (push) Waiting to run
build / test (20, map[name:Demos/Examples spec:./demos/src/Examples/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Experiments spec:./demos/src/Experiments/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Extensions spec:./demos/src/Extensions/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideContent spec:./demos/src/GuideContent/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideGettingStarted spec:./demos/src/GuideGettingStarted/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Marks spec:./demos/src/Marks/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Nodes spec:./demos/src/Nodes/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Integration spec:./tests/cypress/integration/**/*.spec.{js,ts}]) (push) Waiting to run
build / build (20) (push) Blocked by required conditions
Publish / Release (20) (push) Waiting to run
This reverts commit 177868a286.
2024-11-17 15:02:34 +01:00
SanderLeenders
38abfdf9ea
fix(font-family): Prevent removal of quotes in parseHTML (#5828)
Removed the quote removal step in font-family parsing to support fonts that contain both spaces and numbers, such as "Exo 2", which require quotes for proper recognition.

---------

Co-authored-by: Sander <sander@blueberry.nl>
Co-authored-by: Nick Perez <nicholas.perez@tiptap.dev>
2024-11-17 14:56:26 +01:00
github-actions[bot]
177868a286
chore(release): publish a new pre-release version (#5769)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-17 14:55:22 +01:00
Nick Perez
f67b217b30
fix(bubble-menu): avoid bluring if event is on the editor (#5835) 2024-11-17 14:52:33 +01:00
Nick Perez
3c82af3842
fix(react): useLayoutEffect instead of useEffect to cut down on reflow (#5825)
Some checks failed
build / lint (20) (push) Has been cancelled
build / test (20, map[name:Demos/Examples spec:./demos/src/Examples/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Experiments spec:./demos/src/Experiments/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Extensions spec:./demos/src/Extensions/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/GuideContent spec:./demos/src/GuideContent/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/GuideGettingStarted spec:./demos/src/GuideGettingStarted/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Marks spec:./demos/src/Marks/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Demos/Nodes spec:./demos/src/Nodes/**/*.spec.{js,ts}]) (push) Has been cancelled
build / test (20, map[name:Integration spec:./tests/cypress/integration/**/*.spec.{js,ts}]) (push) Has been cancelled
Publish / Release (20) (push) Has been cancelled
build / build (20) (push) Has been cancelled
2024-11-12 09:57:47 +01:00
Glenn Allen
2178118991
feat: add Node linebreakReplacement support and enable on hardBreak nodes (#5821)
Some checks are pending
build / lint (20) (push) Waiting to run
build / test (20, map[name:Demos/Examples spec:./demos/src/Examples/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Experiments spec:./demos/src/Experiments/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Extensions spec:./demos/src/Extensions/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideContent spec:./demos/src/GuideContent/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideGettingStarted spec:./demos/src/GuideGettingStarted/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Marks spec:./demos/src/Marks/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Nodes spec:./demos/src/Nodes/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Integration spec:./tests/cypress/integration/**/*.spec.{js,ts}]) (push) Waiting to run
build / build (20) (push) Blocked by required conditions
Publish / Release (20) (push) Waiting to run
* Support the Node linebreakReplacement property

Support the [linebreakReplacement](https://prosemirror.net/docs/ref/#model.NodeSpec.linebreakReplacement) property on Nodes, allowing a node to be used wherever a newline character is, when converting between blocks that don't support the linebreak node, but have their whitespace set to "pre".

This is useful, for example, when converting between code blocks & normal paragraphs. Code blocks don't support the linebreak node, but do allow newline characters ('\n').
Marking the `hardBreak` node as the `linebreakReplacement` will mean the newline characters within codeBlock nodes will be converted to `hardBreak` nodes in the paragraph.

* Make hardBreak the default linebreakReplacement node

When converting between codeBlocks and normal paragraphs, the hardBreak node should be used in place of newline '\n' characters.
2024-11-11 09:05:32 +01:00
Nick Perez
53673fbfe0
feat: add once to EventEmitters (#5818) 2024-11-08 10:49:50 +01:00
Juraj Garaj
88371561bb
fix(list-keymap): early exit when selection is not collapsed (#5810) 2024-11-07 09:21:19 +01:00
Éric Le Maître
94a8d258f8
fix(vue-3): on editor destruction, transition smoothly (#5772) 2024-11-07 09:19:46 +01:00
Armando Guarino
efac420c9f chore: improve changeset description 2024-11-06 14:16:39 +01:00
Armando Guarino
444e6e5a11 refactor: adjust validate and add shouldAutoLink to improve URL handling 2024-11-06 13:43:54 +01:00
Nick the Sick
4ee59c1f7d
chore: add changeset & package-lock 2024-11-06 13:01:37 +01:00
Nick Perez
ddd3d713e5
fix(react): allow react 19 (#5807) 2024-11-06 12:48:37 +01:00
Alan Poulain
830e683dde
fix(bubble-menu): add element to shouldShow in BubbleMenu opts (#5790) 2024-11-04 11:16:05 +01:00
Julien Cigar
c50eb4bc2b
fix(core): handle selections better for updateAttributes (#5738) 2024-11-04 11:04:58 +01:00
Rägnar O'ock
152390130e
fix(table): set min-width for cols #5435 (#5464) 2024-10-30 10:31:25 +01:00
Armando Guarino
48cba5493a fix: preserve attributes of set node 2024-10-29 14:14:53 +01:00
Nick Perez
d2f366d6d4
fix(core): update the typing of addOptions, addStorage to have an optional parent #5768 (#5770) 2024-10-28 21:44:47 +01:00
Armando Guarino
6b2df67219
fix: add zero-width space to resolve cursor selection issue (#5774) 2024-10-28 14:19:25 +01:00
Nick the Sick
f323e5bf49
chore: add changeset 2024-10-25 19:35:32 +02:00
Nick the Sick
893e44e533
chore: add changeset 2024-10-25 19:27:00 +02:00
github-actions[bot]
c206464619
chore(release): release version 2.9.1 (#5757)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-23 11:20:21 +02:00
Nick Perez
0c9004f2ca
fix(lists): bullet-list and ordered-list no longer depend on list-item or text-style extensions #5707 (#5756) 2024-10-23 11:18:29 +02:00
github-actions[bot]
cbbb8a5d71
chore(release): release version v2.9.0 (#5751)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-22 15:22:38 +02:00
Nick Perez
873a67c6e3
feat: in a collab setting, disable transactions that are trying to sync invalid content (#5207)
When collaborating on a document, a client may send changes which are invalid to the current client. This change makes it so that the client can be disabled from synchronizing any further changes to avoid the default behavior of stripping unknown content. This would allow the other client to continue editing on the document while still synchronizing any known changes.
2024-10-21 17:15:06 +02:00
Armando Guarino
304eedb769 fix(react): preserve editable option across renders 2024-10-21 16:38:31 +02:00
Nick Perez
ffb51d3b7e
fix(core): respect the editor's parseOptions (#5742)
Co-authored-by: guarmo <armando.guarino@tiptap.dev>
2024-10-21 12:55:35 +02:00
Kartikeya Choudhary
ae711abe32
fix(mention): update priority #5680 (#5687) 2024-10-20 05:51:03 +02:00
Markus Greystone
6fae240f88
fix: add clear mark parse rules to bold & italic marks (#5705) 2024-10-20 05:23:33 +02:00
bdbch
a2eea24b5b
Improve accessibility on the editor DOM element (#5734)
* added accessibility attributes to the editor DOM element

* added changesets
2024-10-16 11:34:26 +02:00
Éric Le Maître
364231a1bd
Fix editor destruction at the end of Vue transition (#5648)
* wip: destruction éditeur

* fix: replacing DOM nodes at unmount

* fix: event for useEditor destroy

* chore: Generating changeset

* chore: generating changeset

* chore: delete duplicate changeset

* revert: note tutorial

* feat: add Vue transition example

* fix: test for Vue transition

* fix: components within editor

* chore: remove useless ref
2024-10-14 10:26:12 +02:00
bdbch
4efd2278a1
Fix getMarkRange not finding marks when at the start of a mark (#5717)
* fix getMarkRange to always find a mark, even if cursor is at start of mark

* added changesets

* added integration tests for getMarkRange

* remove console.logs

* added forward and backward boundary checks for tests
2024-10-11 06:44:05 +02:00