Commit Graph

731 Commits

Author SHA1 Message Date
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
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 (#2035)
* 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 #2003 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 #2002 2021-10-08 22:40:06 +02:00
Philipp Kühn
723b955cec
feat: Integrate input rules and paste rules into the core (#1997)
* 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 #1547 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: #1898 Made the EventEmitter generic to improve the types of the tiptap events (#1959) 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 #1947 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 #1930 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 (#1574)
* 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 #1908 2021-09-22 00:03:32 +02:00
Philipp Kühn
0255dbdfcd refactoring 2021-09-21 20:21:36 +02:00
Flávio Carvalho
4178281a74 feat: add enableCoreExtensions flag (#1923) 2021-09-21 20:21:36 +02:00
Philipp Kühn
15f90ec591 fix: fix extension name for clipboardTextSerializer 2021-09-18 21:06:48 +02:00
Philipp Kühn
6437790431 fix: improve active mark detection for inline nodes, fix #1893 2021-09-15 23:25:28 +02:00
Philipp Kühn
6faceef3f6 fix bug in clipboardTextSerializer 2021-09-09 23:58:43 +02:00
Philipp Kühn
4ecd41b922 fix lint error 2021-09-09 23:56:17 +02:00
Philipp Kühn
fe6a3e7491
feat: add getText() and generateText() methods (fix #1428) (#1875)
* move getTextBetween method

* add getText method

* refactoring

* refactoring

* refactoring

* move renderText to schema, add generateText method

* add GenerateText demo

* docs: update

* remove demo from html page
2021-09-09 23:51:05 +02:00
Philipp Kühn
8a3b47a529 feat: parseHTML for attributes should return the value instead of an object now, fix #1863 2021-09-08 23:53:44 +02:00
Philipp Kühn
d3285e9308 refactoring 2021-09-08 12:04:02 +02:00
Philipp Kühn
a5dca087ee fix calculating mark range for unsetMark command 2021-09-08 12:02:43 +02:00
Philipp Kühn
14e458ea7d
feat: add extendEmptyMarkRange option to mark commands (#1859) 2021-09-08 09:32:22 +02:00
Philipp Kühn
3a0693869d fix: fix focus on iOS, fix #1806 2021-08-26 22:32:32 +02:00
Philipp Kühn
f65e1b32a1 fix: add topNode to getDebugJSON 2021-08-24 17:11:13 +02:00