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
Tova Schreier
f3f36754f9
Custom text serializers should override text serializers defined in the schema ( #3546 )
2022-12-16 12:47:03 +01:00
Dominik
343ce756a8
feat(commands): add joinUp and joinDown command ( #3455 )
2022-11-25 20:37:25 +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
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 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
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
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
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
Etienne de la Broïse
bda6e8d308
fix(core): insert PasteRule Node at matched position ( #2942 ) ( #2943 )
2022-09-10 14:07:46 +02:00
Rhys-T
4851fc5e9b
fix(core): make setEditable trigger all 'update' listeners ( #3140 )
2022-09-01 13:55:19 +02:00
Dominik
5fed0f2fc6
feature(core): add exit handling for marks ( #2925 )
...
* feat(core): add exit handling for marks
* docs(core): add information about exitable marks
2022-08-22 15:23:44 +02:00
Dominik
de1253a8b0
fix(core): make setEditable trigger onUpdate function ( #2935 )
2022-08-22 14:24:21 +02:00
Asherah Connor
313b8b8d0a
fix(core): setNodeSelection should not clamp pos by Selection.atStart/atEnd ( #3091 )
...
Fixes #3090 .
2022-08-22 14:22:44 +02:00
Asherah Connor
40f4ea31ef
fix(core): createCan command props shouldn't try dispatch ( #3025 ) ( #3026 )
2022-08-22 14:19:44 +02:00
Billiam
18336a8255
Fix paste rule adding one character to paste range ( #2968 )
...
Fixes #2939
2022-08-22 13:26:26 +02:00
Asherah Connor
574cd69e06
fix(core): isNodeSelection, isTextSelection not always false ( #3089 )
...
Fixes #2979 . Since the ProseMirror TypeScript upgrade, these have
always returned false, since the Selection type tree are all classes
now.
2022-08-22 13:05:53 +02:00
ahhshm
f4b9a46a0b
refactor: remove duplicated function ( #2956 )
2022-07-06 20:11:20 +02:00
Dominik
134a4bd1fb
fix(core): dont use selection for setContent replacement ( #2934 )
2022-07-06 12:59:16 +02:00
Sven Adlung
e280a02597
fix(core): only respect text of node before current position ( #2937 ) ( #2941 )
2022-07-06 12:01:23 +02:00
Dominik Biedebach
5b0b7d9102
fix(core): fix focus command passing through editor state instead of existing transaction
...
this fixes a bug introduced a few months ago that caused positions not resolving on the most recent transaction but the editor state that was existing before the last transactions beforehand existed causing the editor to crash
2022-06-26 09:53:45 +02:00
Dominik Biedebach
15123ee092
feat(core): add nodePasteRule to core
2022-06-25 12:07:33 +02:00
Dominik
53e39d0c47
refactor(maintainment): set dependency versions for prosemirror and y… ( #2904 )
...
* refactor(maintainment): set dependency versions for prosemirror and yjs to fixed versions
* refactor(docs): fix dependency versions in demos
* chore: update package-lock.json
* chore: update latest prosemirror packages
2022-06-21 00:17:10 +02:00
Dominik
1ebc8f8e14
chore: migrate to new versions of prosemirror packages ( #2854 )
...
* refactor: upgrade prosemirror packages to new typescript versions
* refactor: migrate to new typings from prosemirror
* style: fix linting issues
* style: fix linting issues
* style: fix linting issues
* fix(ci): fix build process by reimplement filterTransaction
* fix(extension-test): fix broken build because of wrong output file names
* fix: fix prosemirror-tables not being bundled correctly for ES6
* fix: move to prosemirror-tables-contently until es6 build is working
* fix: fix tests for youtube
* fix: fix youtube test
* fix(demos): fix demos build
2022-06-20 11:45:37 +02:00
Dominik
fa8c4ca639
refactor: use index files for imports to simplify the export flow ( #2870 )
2022-06-11 07:11:14 +02:00
Dominik
8c6751f0c6
add precommit hook for linting and automatic eslint fixes + update eslint packages ( #2862 )
...
* chore: add precommit hook for eslint fixes, fix linting issues
* chore: add eslint import sort plugin
2022-06-08 14:10:25 +02:00
Jon Noronha
13a03425b3
lint fixes
2022-05-21 01:05:00 +02:00
Jon Noronha
23483d5e1a
isRequired on attrs
2022-05-21 01:05:00 +02:00
Dominik Biedebach
ecee74a94d
refactor: export new helper from index.ts
2022-05-20 19:04:55 +02:00
Dominik Biedebach
0597e474af
style: move node text content into helper function
2022-05-20 19:04:55 +02:00
Dominik Biedebach
30c39c94c9
style: remove stray console log from input rule
2022-05-20 19:04:55 +02:00
Dominik Biedebach
64b23e120c
fix(core): 🐛 fix inputrule not recognizing text content of non-text leaf nodes
2022-05-20 19:04:55 +02:00
Steven DeMartini
819622c202
Fix typo in text-serializers-from-schema function
2022-05-17 17:38:00 +02:00
Steven DeMartini
155955c9a9
Export helper for text serializers
...
For plugins and other user-defined extensions, it's useful to be able to
be able to use the text-serializers-from-schema helper, like is done in
the built-in clipboardTextSerializer extension
(43611ea2e7/packages/core/src/extensions/clipboardTextSerializer.ts (L21)
).
2022-05-17 17:38:00 +02:00
Ivan Pantic
feef365b53
Expose "range" to textSerializer. Used in "getTextBetween"
2022-05-17 17:36:49 +02:00
JDinABox
0fb68af3a1
Fix extendMarkRange doesn't work when cursor is at end of mark
2022-05-17 13:30:54 +02:00
Felix Klein
ccc37d5f24
add support for CSP nonces in createStyleTag
2022-05-13 14:11:52 +02:00
David Ilizarov
e17c41498a
fix: lint error
2022-05-11 10:22:00 +02:00
David Ilizarov
7401d45b7e
fix: properly calculate setDragImage position
2022-05-11 10:22:00 +02:00
Scott Sidwell
d270419ad8
fix: don't override behaviour of Home / End in pc keymap
...
Similarly removed in Prosemirror at ProseMirror/prosemirror-commands@20371c58
For users who wish to preserve this behaviour, they can achieve this via:
```javascript
const CustomKeyboardBehaviour = Extension.create({
addKeyboardShortcuts() {
return {
['Home']: () => this.editor.commands.selectTextblockStart(),
['End']: () => this.editor.commands.selectTextblockEnd(),
}
}
})
const editor = new Editor({
extensions: [
// Register your custom extension with the editor.
CustomKeyboardBehaviour,
]
});
```
2022-04-08 11:06:37 +10:00
Philipp Kühn
bdab760cdb
fix: revert changes to selectAll command, fix #2491
2022-02-07 10:19:46 +01:00
Philipp Kühn
70422dd107
fix: fix RangeError bug when selecting all text, fix #2490
2022-02-07 09:07:17 +01:00
Philipp Kühn
01411f8462
fix: don’t add tabindex when readonly, fix #2458
2022-02-03 14:54:37 +01:00
Philipp Kühn
d899141a1a
fix lint
2022-01-27 21:37:29 +01:00
Philipp Kühn
4be16fcd2e
fix: set max textselection correctly, fix #2401
2022-01-27 09:44:53 +01:00
Philipp Kühn
b584920ea1
fix: fix End key handler, fix #2446
2022-01-27 09:07:03 +01:00
Philipp Kühn
85fcc29ac6
fix: add attributes to pre tag instead of code tag by default, fix #2440
2022-01-26 09:36:56 +01:00
Philipp Kühn
75e5601767
fix: add correct windows and px keymap
2022-01-25 10:52:36 +01:00
Philipp Kühn
0aa39f93cb
feat: add selectTextblockStart and selectTextblockEnd commands
2022-01-25 10:35:39 +01:00
Philipp Kühn
d2427064ff
fix: insertContent keeps marks when using plain text, fix #2406
2022-01-20 22:15:12 +01:00
Philipp Kühn
9d317128a0
fix: fix removing the caret on blur in some situations when using safari, fix #2405
2022-01-20 21:37:31 +01:00
Philipp Kühn
bc03c0d778
fix: run pasterules for pasted content, fix #2408
2022-01-20 15:04:34 +01:00
Philipp Kühn
42d3ee8fc9
fix: support all characters for suggestion char, fix #2385
2022-01-13 13:57:33 +01:00
Philipp Kühn
6a813686f5
dont return tr in input rules and pasterules
2022-01-10 14:55:53 +01:00
Philipp Kühn
669efd00e9
fix: add way to cancel inputrules and pasterules ( #2368 )
...
Co-authored-by: Philipp Kühn <philippkuehn@MacBook-Pro-von-Philipp.local>
2022-01-10 14:43:56 +01:00
Philipp Kühn
6a94e2fa62
dependencies: update
2022-01-04 10:02:24 +01:00
Philipp Kühn
ded6f9618f
fix: allow input rules after hard break, fix #2302
2021-12-22 12:27:06 +01:00
Philipp Kühn
07cabe65f4
fix: remove empty mark attributes from getDebugJSON
2021-12-17 00:09:09 +01:00
Philipp Kühn
8ed485ba53
fix: Improve backspace handling ( #2284 ), fix #2281
...
* improve backspace handling
* revert codeblock changes
* revert codeblock changes
* fix tests
Co-authored-by: Philipp Kühn <philippkuehn@MacBook-Pro-von-Philipp.local>
2021-12-16 13:55:32 +01:00
Philipp Kühn
66eb2f2a47
fix: prevent error in toggleList command, fix #2279
2021-12-15 10:51:23 +01:00
Philipp Kühn
9e6fbd6c88
refactoring
2021-12-13 14:17:52 +01:00
Philipp Kühn
f2ced6971d
fix: improve setNode
behavior for list items, fix #2261
2021-12-13 13:40:33 +01:00
Philipp Kühn
e09fd93e59
fix: check for invalid content in insertContentAt
command
2021-12-13 13:33:13 +01:00
Philipp Kühn
170ec4be5b
fix: don’t check for active node in wrapIn command, fix #1059
2021-12-13 13:32:19 +01:00
Philipp Kühn
126ad722c7
feat: join lists on toggleList ( #2260 ), fix #1329
...
Co-authored-by: Philipp Kühn <philippkuehn@MacBook-Pro-von-Philipp.local>
2021-12-10 14:07:34 +01:00
Philipp Kühn
5daa870b09
feat: add some improvements to CharacterCount
extension ( #2256 ), fix #1049 , fix #1550 , fix #1839 , fix #2245
...
* fix a bug when exceeding the character limit
* find a better way to limit the doc size
* check paste events
* add storage method
* refactoring
* use textBetween instead of textContent
* return early if no limit is set
* add words method to storage
* show word count in charactercount demo
Co-authored-by: Philipp Kühn <philippkuehn@MacBook-Pro-von-Philipp.local>
2021-12-08 21:26:30 +01:00
Philipp Kühn
2995d00275
fix lint error
2021-12-06 12:34:14 +01:00
Philipp Kühn
f8ce8942f5
refactor: simplify unsetAllMarks
2021-12-06 12:25:00 +01:00
Philipp Kühn
e07a5b625d
refactor: Use named exports instead of default exports ( #2238 )
...
* use named exports instead of default exports
* fix tests
Co-authored-by: Philipp Kühn <philippkuehn@MacBook-Pro-von-Philipp.local>
2021-12-06 12:00:09 +01:00
Philipp Kühn
98a1cb3640
fix: add support for multiple ranges in clipboardTextSerializer, fix #1982
2021-12-05 17:20:43 +01:00
Philipp Kühn
a96a57dd81
code style
2021-12-03 10:40:56 +01:00
philippkuehn
b4ab7f079b
ci: fix code style linting errors
2021-12-03 09:36:51 +00:00
BrianHung
de39853026
fix: initialize autofocus selection in createView
( #2212 )
...
* initialize autofocus selection in `createView`
* fix missing variable and null error
* remove unused imports
2021-12-03 10:35:17 +01:00
Philipp Kühn
3d68981b47
feat: Add support for autolink ( #2226 )
...
* wip
* WIP
* add autolink implementation
* refactoring
* set keepOnSplit to false
* refactoring
* improve changed ranges detection
* move some helpers into core
Co-authored-by: Philipp Kühn <philippkuehn@MacBook-Pro-von-Philipp.local>
2021-12-03 08:53:58 +01:00
Philipp Kühn
40a9404c94
add newline-after-var rule to eslint config
2021-12-03 00:03:39 +01:00
Philipp Kühn
20b6d79f33
fix: remove defaultOptions fallback, fix #2219
2021-12-02 20:04:45 +01:00
Philipp Kühn
fa18ffe6d7
update eslint config
2021-12-01 15:40:50 +01:00
Philipp Kühn
e0f64904b6
feat: add scrollIntoView option to focus command, fix #2172
2021-11-25 17:18:30 +01:00
Philipp Kühn
403c147d4d
feat: add defaultBlockAt helper
2021-11-23 14:32:54 +01:00
Philipp Kühn
3c571c9a3f
feat: add 'all' option to focus command, fix #2181
2021-11-22 10:17:06 +01:00
Philipp Kühn
cd14731612
fix: improve default gapcursor position when surrounded by margins
2021-11-18 14:02:53 +01:00
Philipp Kühn
7ea55279a3
refactoring
2021-11-18 12:46:21 +01:00
aguingand
3158c37324
feat: Allow array of extensions for enableInputRules
and enablePasteRules
options ( #2119 )
2021-11-18 12:44:34 +01:00
Philipp Kühn
7e1ca4c8bd
refactoring
2021-11-18 12:38:02 +01:00
Jon Noronha
10fea3b44e
fix: Ignore iOS mutations when unfocused ( #2170 )
2021-11-18 12:37:21 +01:00
Philipp Kühn
53ffce5018
fix: prevent removing inline nodes when using insertContentAt, fix #2156
2021-11-10 21:16:02 +01:00
Jason Galea
6583edeb1f
fix: update getJSON return type to JSONContent ( #2153 )
2021-11-10 00:24:18 +01:00
Philipp Kühn
a0a88acd13
fix: don't remove the tiptap styles on destroy, fix #2120 , fix #2143
2021-11-09 17:16:38 +01:00
Philipp Kühn
5da313a548
fix: fix a bug when parsing attributes if no parseHTML method is provided, fix #2058
2021-11-08 21:27:46 +01:00
Philipp Kühn
8fc915cade
fix: Improve behavior when using insertContent ( #2147 )
...
* check if we can replace the wrapping node by the newly inserted content
/
* we dont need this anymore
* set selection to inserted content instead of below
* improve hr cursor behavior
2021-11-08 20:37:12 +01:00
Philipp Kühn
ce7f52a8f0
fix: improve JSONContent type to allow pure JSON content
2021-11-03 21:11:24 +01:00
Philipp Kühn
010418d0fd
fix: prevent RangeError for posToDOMRect, fix #2112
2021-10-31 12:03:24 +01:00
Philipp Kühn
9afadeb7fe
feat!: Replace defaultOptions
with addOptions
( #2088 )
...
* add new addOptions option
* replace defaultOptions with addOptions for all extensions
* replace defaultOptions with addOptions for all demos
* replace defaultOptions with addOptions in docs
* refactoring
* refactoring
* drop object support for addOptions
* fix optional options
* fix tests
2021-10-26 18:31:13 +02:00
Philipp Kühn
ef254cead7
fix: fix storage context when using configure
2021-10-25 00:27:24 +02:00
Jon Noronha
bebaa4045e
fix: Separate drags from drops in stopEvent ( #2070 )
...
* Separate drags from drops in stopEvent
* Move !isDropEvent
2021-10-22 21:27:58 +02:00
Philipp Kühn
0e94afe42a
fix: improve default styling for .ProseMirror-separator
2021-10-22 15:05:18 +02:00
Philipp Kühn
ff67ee1da3
fix: fix a bug where paste rules doesn’t worked at the start of the document, see #1225
2021-10-22 09:04:09 +02:00
Philipp Kühn
7ffabf251c
feat: Add extension storage ( #2069 )
2021-10-22 08:52:54 +02:00
Philipp Kühn
22c82ba61f
fix: check for storedMarks in getMarkAttributes, fix #2039
2021-10-14 20:45:44 +02:00