Commit Graph

744 Commits

Author SHA1 Message Date
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… ()
* 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 ()
* 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 () 2022-06-11 07:11:14 +02:00
Dominik
8c6751f0c6
add precommit hook for linting and automatic eslint fixes + update eslint packages ()
* 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 2022-02-07 10:19:46 +01:00
Philipp Kühn
70422dd107 fix: fix RangeError bug when selecting all text, fix 2022-02-07 09:07:17 +01:00
Philipp Kühn
01411f8462 fix: don’t add tabindex when readonly, fix 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 2022-01-27 09:44:53 +01:00
Philipp Kühn
b584920ea1 fix: fix End key handler, fix 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 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 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 2022-01-20 21:37:31 +01:00
Philipp Kühn
bc03c0d778 fix: run pasterules for pasted content, fix 2022-01-20 15:04:34 +01:00
Philipp Kühn
42d3ee8fc9 fix: support all characters for suggestion char, fix 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 ()
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 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 (), fix
* 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 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 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 2021-12-13 13:32:19 +01:00
Philipp Kühn
126ad722c7
feat: join lists on toggleList (), fix
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 (), fix , fix , fix , fix
* 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 ()
* 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 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 ()
* 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 ()
* 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 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 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 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 () 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 () 2021-11-18 12:37:21 +01:00
Philipp Kühn
53ffce5018 fix: prevent removing inline nodes when using insertContentAt, fix 2021-11-10 21:16:02 +01:00
Jason Galea
6583edeb1f
fix: update getJSON return type to JSONContent () 2021-11-10 00:24:18 +01:00
Philipp Kühn
a0a88acd13 fix: don't remove the tiptap styles on destroy, fix , fix 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 2021-11-08 21:27:46 +01:00
Philipp Kühn
8fc915cade
fix: Improve behavior when using insertContent ()
* 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 2021-10-31 12:03:24 +01:00
Philipp Kühn
9afadeb7fe
feat!: Replace defaultOptions with addOptions ()
* 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 ()
* 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 2021-10-22 09:04:09 +02:00
Philipp Kühn
7ffabf251c
feat: Add extension storage () 2021-10-22 08:52:54 +02:00
Philipp Kühn
22c82ba61f fix: check for storedMarks in getMarkAttributes, fix 2021-10-14 20:45:44 +02:00
Philipp Kühn
4295c6bd21 fix: fix type for insertContent command 2021-10-14 12:30:16 +02:00
Philipp Kühn
9f2c36896b feat: add updateSelection option to insertContentAt command 2021-10-14 12:08:39 +02:00
Philipp Kühn
4303637a78
feat: Allow to use commands within InputRule and PasteRule ()
* add optional state prop to commandmanager

* add commands, chain and can getter to commandmanager

* use custom CommandManager for input rules and paste rules

* export commandmanager
2021-10-14 11:56:40 +02:00
Philipp Kühn
3958bf1c22 fix: allow to re-apply current mark for input rules and paste rules, fix 2021-10-10 22:23:32 +02:00
Philipp Kühn
9d281e9e99 fix: do not apply paste rules for ProseMirror HTML 2021-10-10 19:25:50 +02:00
Philipp Kühn
770c4e18e1 fix: fix mappes positions for paste rules, fix 2021-10-08 22:40:06 +02:00
Philipp Kühn
723b955cec
feat: Integrate input rules and paste rules into the core ()
* refactoring

* improve link regex

* WIP: add new markPasteRule und linkify to image mark

* move copy of inputrule to core

* trigger codeblock inputrule on enter

* refactoring

* add regex match to markpasterulematch

* refactoring

* improve link regex

* WIP: add new markPasteRule und linkify to image mark

* move copy of inputrule to core

* trigger codeblock inputrule on enter

* refactoring

* add regex match to markpasterulematch

* update linkify

* wip

* wip

* log

* wip

* remove debug code

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* rename matcher

* add data to ExtendedRegExpMatchArray

* remove logging

* add code option to marks, prevent inputrules in code mark

* remove link regex

* fix codeblock inputrule on enter

* refactoring

* refactoring

* refactoring

* refactoring

* fix position bug

* add test

* export InputRule and PasteRule

* clean up link demo

* fix types
2021-10-08 15:02:09 +02:00
Philipp Kühn
f8efdf797a fix: fix order of executed plugins, fix 2021-10-03 18:55:33 +02:00
Philipp Kühn
e61521c858 refactoring 2021-09-30 09:38:57 +02:00
Philipp Kühn
8db5a943d2 refactoring 2021-09-30 09:34:45 +02:00
HuiiBuh
54e85fd284
feat: Made the EventEmitter generic to improve the types of the tiptap events () 2021-09-30 09:25:40 +02:00
Philipp Kühn
2c9cf03398 fix: getHTMLFromFragment now expects a fragment instead of node 2021-09-28 21:34:57 +02:00
Philipp Kühn
b42e442a5a fix: add support for CellSelection in isActive helper, fix 2021-09-27 23:33:32 +02:00
Philipp Kühn
32ae3868ea fix: handle backspace also on shift 2021-09-27 23:03:51 +02:00
Philipp Kühn
aa25d362f9 refactoring 2021-09-27 23:03:23 +02:00
Philipp Kühn
e5c765c8e4 refactoring 2021-09-22 22:45:27 +02:00
Philipp Kühn
c91b2f29be refactoring 2021-09-22 21:14:07 +02:00
Philipp Kühn
fcca1e6f4d fix: improve performance for isActive method, see 2021-09-22 19:43:55 +02:00
philippkuehn
39e1be59bb ci: fix code style linting errors 2021-09-22 11:00:24 +00:00
Nokola
8ee0d67b83
fix: nodeInputRule() support for group match ()
* Fix: nodeInputRule() support for group match

Fixes in nodeInputRule()
- add support for "first group match, if any" similar to https://prosemirror.net/docs/ref/#inputrules
- fix issue where rewriting includes extra unnecessary character from the match

* Insert last typed in nodeInputRule group match
2021-09-22 12:59:25 +02:00
Philipp Kühn
bad16d9f3a fix: call selectAll on 'cmd+a', set a TextSelection instead of AllSelection, fix 2021-09-22 00:03:32 +02:00