* Fix text style not clearing on new line
Fixes#3702
* Fix preserving marks when wrapping/setting nodes
* Uncomment tests
* Revert "Uncomment tests"
This reverts commit 8979bbda81.
* Revert "Fix preserving marks when wrapping/setting nodes"
This reverts commit fe3613b587.
trivial change - the markEnd variable was assigned outside the block and then reassigned within the block without ever using the initial value. Using const assignment just above the first use of the variable improves readability.
* fix: clear nodes when cursor at start of empty isolating parent
* fix: dont break backspace behavior when childCount is over 1
* fix: check if parent is textblock
* fix: add strict pos check for parent isolating pos
* demo: add isolation clear demo
* Adds attributes to toggleList
When dealing with different variants of bullet lists, I wanted to adopt the same technique I used for different paragraph variants. Since `wrapInList` is capable of receiving attributes, just like `setNode` is, I don't see any reason why `toggleList` should not be capable of the same.
Here's my bullet list extension in action that is in need of attributes support.
```js
export const CustomBulletList = BulletList.extend({
content: 'listItem*',
addAttributes() {
return {
variant: {
default: DEFAULT_LIST,
renderHTML: attributes => {
return {
class: `list-${attributes.variant}`,
};
},
},
};
},
addCommands() {
return {
toggleBulletList: attributes => (c) => {
return c.commands.toggleListCustom(this.name, this.options.itemTypeName, attributes);
},
};
},
});
```
* Update toggle-list.md
* Update toggle-list.md
* feat: #3540 Ability to preserve marks on lists
* feat: preserveAttrs in list items
* `keepMarks` is working, but need help with `keepAttrs`
* fix: conflict
* avoid casting
* chore:(core): migrate to tsup
* chore: migrate blockquote and bold to tsup
* chore: migrated bubble-menu and bullet-list to tsup
* chore: migrated more packages to tsup
* chore: migrate code and character extensions to tsup
* chore: update package.json to simplify build for all packages
* chore: move all packages to tsup as a build process
* chore: change ci build task
* chore: clean up and fix issues related to new build
* fix: fix demo build
* fix: fix demo build
* fix: fix tsconfig files to reference only one source
* fix: fix minor ts issues
* 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
* 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
* 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>
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>
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
* 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
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,
]
});
```
* 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>