Commit Graph

765 Commits

Author SHA1 Message Date
bdbch
8954007b2b
fix: fix newline stripping via insertContent
* fix(core): fix whitespace handling in elementFromString function

* demos: add button to insert HTML content with span tags

* Move tests and demo to insertContent demo

---------

Co-authored-by: bdbch <dominik@bdbch.com>
2024-01-29 13:15:39 +01:00
bdbch
2235908c28 fix(core): fix new lines being added via elementFromString (#4767)
Co-authored-by: bdbch <dominik@bdbch.com>
2024-01-10 13:44:56 +01:00
bdbch
135a12f7aa
fix(core): fix insertContentAt keeping new lines in html content (#4465)
* fix(core): fix insertContentAt keeping new lines in html content

* test(core): add tests

* chore: remove stray console.log

* chore: remove buttons from demo

* fix(core): fix replacement on multiple breaks
2024-01-08 20:21:45 +01:00
bdbch
eaee9c7177
Fix/link pasting (#4700)
* revert link paste handling to behavior before

* fix(link): fix linking while typing

* add validate support for autolinking back

* revert autolink behaviour

* fix autolinking on pasting text

* remove broken link

* fix react link test

* fix savvy test

---------

Co-authored-by: bdbch <dominik@bdbch.com>
2024-01-08 12:48:14 +01:00
bdbch
361a821245
feature(core): pass through paste event to pasteHandler getAttributes (#4354)
* add pass through of paste event for paste handlers

* remove unused pasteHandler.ts

* remove link extension from youtube demo

* added missing prop for handler
2023-09-20 17:23:43 +02:00
Dominik Biedebach
4227f324a5 fix(core): fix broken export 2023-08-18 11:06:50 -07:00
bdbch
ffeefe21ff
fix: replace the whole node in nodeInputRule (#4341)
Co-authored-by: Nicolas Gryman <ngryman@gmail.com>
2023-08-18 08:32:06 -07:00
bdbch
a251946858
fix(core): fix error when merging class attributes (#4340)
* fix(core): fix error when merging class attributes
* added test
2023-08-17 09:05:48 -07:00
bdbch
0d7daedfa4
hotfix(core): Fix input rules not working if at last position of a block (#4337)
* chore(core): remove log

* fix(core): fix inputRules breaking if last item in hierarchy

* fix(core): use default doc node if no parent default node is found

* chore: update .eslintrc

* chore: fix linting

* chore: fix linting
2023-08-16 11:40:47 -07:00
bdbch
dd6d3d39d1
HorizontalRule: fix setHorizontalRule putting cursor at non-text positions (#4319)
* fix setHorizontalRule putting cursor at non-text positions

* improve selections after inserting horizontalRules
2023-08-15 17:49:38 -07:00
bdbch
0e65d9519d
Core: Fix classes being duplicated on mergeAttributes function (#4320)
* fix classes being duplicated on mergeAttributes function
* use array split and joining to check individual classes
2023-08-15 17:49:09 -07:00
bdbch
a922f09a5c
added new options for nodeInputRules for block replacements (#4289) 2023-08-10 16:45:13 -07:00
bdbch
7e7057ea43
chore(lists): move list keymap to extra extension (#4290)
* move list keymap to extra extension

* update docs and readme

* move list helpers out of core
2023-08-10 16:44:46 -07:00
bdbch
d1e879dfab
Fix List issues & add support for Mod keys (#4210)
* add support for mod-delete and mod-backspace

* fix backspace not working right behind a list

* move list helpers to core, add support for task lists

* add option to check for node in isAtEndOfNode

---------

Co-authored-by: bdbch <dominik@bdbch.com>
2023-08-03 10:19:32 +02:00
svenadlung
bdc51d12b5 Merge branch 'main' into develop
# Conflicts:
#	CHANGELOG.md
#	demos/CHANGELOG.md
#	demos/package-lock.json
#	demos/package.json
#	demos/src/Examples/CollaborativeEditing/React/index.jsx
#	lerna.json
#	package-lock.json
#	packages/core/CHANGELOG.md
#	packages/core/package.json
#	packages/extension-blockquote/CHANGELOG.md
#	packages/extension-blockquote/package.json
#	packages/extension-bold/CHANGELOG.md
#	packages/extension-bold/package.json
#	packages/extension-bubble-menu/CHANGELOG.md
#	packages/extension-bubble-menu/package.json
#	packages/extension-bullet-list/CHANGELOG.md
#	packages/extension-bullet-list/package.json
#	packages/extension-character-count/CHANGELOG.md
#	packages/extension-character-count/package.json
#	packages/extension-code-block-lowlight/CHANGELOG.md
#	packages/extension-code-block-lowlight/package.json
#	packages/extension-code-block/CHANGELOG.md
#	packages/extension-code-block/package.json
#	packages/extension-code/CHANGELOG.md
#	packages/extension-code/package.json
#	packages/extension-collaboration-cursor/CHANGELOG.md
#	packages/extension-collaboration-cursor/package.json
#	packages/extension-collaboration/CHANGELOG.md
#	packages/extension-collaboration/package.json
#	packages/extension-color/CHANGELOG.md
#	packages/extension-color/package.json
#	packages/extension-document/CHANGELOG.md
#	packages/extension-document/package.json
#	packages/extension-dropcursor/CHANGELOG.md
#	packages/extension-dropcursor/package.json
#	packages/extension-floating-menu/CHANGELOG.md
#	packages/extension-floating-menu/package.json
#	packages/extension-focus/CHANGELOG.md
#	packages/extension-focus/package.json
#	packages/extension-font-family/CHANGELOG.md
#	packages/extension-font-family/package.json
#	packages/extension-gapcursor/CHANGELOG.md
#	packages/extension-gapcursor/package.json
#	packages/extension-hard-break/CHANGELOG.md
#	packages/extension-hard-break/package.json
#	packages/extension-heading/CHANGELOG.md
#	packages/extension-heading/package.json
#	packages/extension-highlight/CHANGELOG.md
#	packages/extension-highlight/package.json
#	packages/extension-history/CHANGELOG.md
#	packages/extension-history/package.json
#	packages/extension-horizontal-rule/CHANGELOG.md
#	packages/extension-horizontal-rule/package.json
#	packages/extension-image/CHANGELOG.md
#	packages/extension-image/package.json
#	packages/extension-italic/CHANGELOG.md
#	packages/extension-italic/package.json
#	packages/extension-link/CHANGELOG.md
#	packages/extension-link/package.json
#	packages/extension-list-item/CHANGELOG.md
#	packages/extension-list-item/package.json
#	packages/extension-mention/CHANGELOG.md
#	packages/extension-mention/package.json
#	packages/extension-ordered-list/CHANGELOG.md
#	packages/extension-ordered-list/package.json
#	packages/extension-paragraph/CHANGELOG.md
#	packages/extension-paragraph/package.json
#	packages/extension-placeholder/CHANGELOG.md
#	packages/extension-placeholder/package.json
#	packages/extension-strike/CHANGELOG.md
#	packages/extension-strike/package.json
#	packages/extension-subscript/CHANGELOG.md
#	packages/extension-subscript/package.json
#	packages/extension-superscript/CHANGELOG.md
#	packages/extension-superscript/package.json
#	packages/extension-table-cell/CHANGELOG.md
#	packages/extension-table-cell/package.json
#	packages/extension-table-header/CHANGELOG.md
#	packages/extension-table-header/package.json
#	packages/extension-table-row/CHANGELOG.md
#	packages/extension-table-row/package.json
#	packages/extension-table/CHANGELOG.md
#	packages/extension-table/package.json
#	packages/extension-task-item/CHANGELOG.md
#	packages/extension-task-item/package.json
#	packages/extension-task-list/CHANGELOG.md
#	packages/extension-task-list/package.json
#	packages/extension-text-align/CHANGELOG.md
#	packages/extension-text-align/package.json
#	packages/extension-text-style/CHANGELOG.md
#	packages/extension-text-style/package.json
#	packages/extension-text/CHANGELOG.md
#	packages/extension-text/package.json
#	packages/extension-typography/CHANGELOG.md
#	packages/extension-typography/package.json
#	packages/extension-underline/CHANGELOG.md
#	packages/extension-underline/package.json
#	packages/extension-youtube/CHANGELOG.md
#	packages/extension-youtube/package.json
#	packages/html/CHANGELOG.md
#	packages/html/package.json
#	packages/pm/CHANGELOG.md
#	packages/pm/package.json
#	packages/react/CHANGELOG.md
#	packages/react/package.json
#	packages/starter-kit/CHANGELOG.md
#	packages/starter-kit/package.json
#	packages/suggestion/CHANGELOG.md
#	packages/suggestion/package.json
#	packages/vue-2/CHANGELOG.md
#	packages/vue-2/package.json
#	packages/vue-3/CHANGELOG.md
#	packages/vue-3/package.json
2023-07-17 13:03:44 +02:00
Sven Adlung
7f2c6194fd
feat(core): add the ability to register CSS via extension 2023-07-17 09:32:58 +02:00
Dominik
6b65af8fc3
fix(core): fix cut and insertContentAt functions (#4187) 2023-07-07 16:21:58 +02:00
Dominik
7e38c0fa0a
New Cut Command & Position Mapping for insertContentAt (#4141)
* feature(core): add cut commandd and map positions for insertContent

* docs(core): added docs for cut command

* chore(demos): added demo for cut command

---------

Co-authored-by: bdbch <dominik@bdbch.com>
2023-07-07 13:17:13 +02:00
Cameron Hessler
7b4c792034
fix(core) Allow text style to be clearable on new lines (#4151)
* 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.
2023-07-07 11:21:28 +02:00
Cameron Hessler
26610cdff3
fix(core) Nested chain not preserving dispatch state (#4152)
* Fix nested chain not preserving dispatch state

* Change test to read as sentence
2023-07-07 11:20:29 +02:00
Brent McSharry
18946b1e35
remove unused let in mark input rules (#4162)
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.
2023-07-07 11:01:20 +02:00
Ben Asher
e97630c639
Require file extensions for imports and exports (#4001)
* Require .js endings

* add extension alias for cypress to resolve ts files with js endings
2023-06-30 21:03:49 +02:00
Cameron Hessler
b7dc5d4712
Fix 'enter' behavior on android custom node views (#4153) 2023-06-25 02:33:48 +02:00
Dominik Biedebach
d6c6dd8596 Merge branch 'develop' of github.com:ueberdosis/tiptap into bdbch/list-editing-improvements 2023-06-13 11:34:52 +02:00
Patrick Baber
614fc8082c
feat: add tiptap class
* update docs
* update demos
2023-05-25 13:45:06 +02:00
Dominik Biedebach
4af54da3e0 fix(core): remove configure from extend functionality 2023-04-26 16:05:43 +02:00
Nick Holden
0dcc68412f
Retain existing config when calling configure() on Marks and Extensions (#3822) 2023-04-21 10:10:42 +02:00
Dominik
7278ee2b05
fix: clear nodes when cursor at start of empty isolating parent (#3943)
* 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
2023-04-05 14:59:58 +02:00
Dominik Biedebach
b9ba227f86 Merge branch 'develop' of github.com:ueberdosis/tiptap into bdbch/list-editing-improvements 2023-03-30 15:18:36 +02:00
Dominik
020fd0ed79
feat(core): add editor to this context in schema functions (#3909) 2023-03-29 15:16:43 +02:00
Sven Adlung
fdf6301a61
Collaboration: Fix history after late-registering plugins (#3901)
* fix(extension-collaboration): fix history after late-registering plugins

* fix(extension-collaboration): fix history after late-registering plugins
2023-03-28 16:00:16 +02:00
Dominik Biedebach
684e48a4a7 fix(lists): improve list behaviour 2023-03-28 14:21:16 +02:00
Dominik
00aad1fd9a
style(core): fix linting issues (#3884) 2023-03-27 12:26:34 +02:00
Myles J
aa3068b1cd
feat(attributes): dynamic default (#3379) 2023-03-27 11:57:11 +02:00
svenadlung
928bd36f5f fix inconsistent tiptap spelling 2023-03-13 19:07:22 +01:00
René Eschke
b2ec51374d
Adds attributes to toggleList (#3776)
* 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
2023-03-03 09:59:45 +01:00
Dominik Biedebach
10a4a46584 fix(core): fix linting issues 2023-03-03 09:57:49 +01:00
Abdullah Atta
dd6547da42
core: only check doc.textBetween if other checks pass (#3778) 2023-03-02 17:01:36 +01:00
Dominik
3c07ca0b9c
fix(core): fix destroyed view causing errors on dispatchTransaction (#3799) 2023-02-28 10:50:43 +01:00
Dominik
f869507396
fix: update typings for node view decorations (#3783)
* fix: update typings for node view decorations

* fix(core): update types for NodeView

* fix(core): declare props.decorations as decorationWithType
2023-02-27 21:23:30 +01:00
Dominik
0300630a5b
fix(core): allow insertContentAt and insertContent text node arrays (#3790)
* fix(core): allow insertContentAt and insertContent to handle array of text nodes

* fix(core): allow insertContent via json including a text content
2023-02-27 19:26:14 +01:00
Hari Haran
89cc59a837
fix: #3773 - Array for content breaks editor (#3786)
* fix: #3773 - Array for content breaks editor

* fix: lint warning
2023-02-24 15:03:20 +01:00
Hari Haran
36bb1e1041
feat: #3540 Ability to preserve marks on lists (#3541)
* 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
2023-02-22 10:13:28 +01:00
Jack Sleight
26c349848e
Export createNodeFromContent and other missing helpers (#3558) 2023-02-18 22:44:32 +01:00
Harrison Lo
c2f8347025
Override schema text serializers if provided in getText options (#3672) 2023-02-18 18:26:49 +01:00
Jie
a81019a6b7
Extend nodePasteRule find type to most generic PasteRuleFinder (#3759) 2023-02-18 16:48:45 +01:00
Matthew Mullin
2b6e4e3691
fix: Prevent drag event from being ignored (#3677) 2023-02-09 12:12:54 +01:00
Dominik Biedebach
f659037d52 fix(core): fix broken types in definition file 2023-02-03 01:19:12 +01:00
Dominik
f387ad3dd4
feat(pm): new prosemirror package for dependency resolving
* 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

* feat(pm): add prosemirror meta package

* rfix: resolve issues with build paths & export mappings

* docs: update documentation to include notes for @tiptap/pm

* chore(pm): update tsconfig

* chore(packages): update packages

* fix(pm): add package export infos & fix dependencies

* chore(general): start moving to pm package as deps

* chore: move to tiptap pm package internally

* fix(demos): fix demos working with new pm package

* fix(tables): fix tables package

* fix(tables): fix tables package

* chore(demos): pinned typescript version

* chore: remove unnecessary tsconfig

* chore: fix netlify build

* fix(demos): fix package resolving for pm packages

* fix(tests): fix package resolving for pm packages

* fix(tests): fix package resolving for pm packages

* chore(tests): fix tests not running correctly after pm package

* chore(pm): add files to files array

* chore: update build workflow

* chore(tests): increase timeout time back to 12s

* chore(docs): update docs

* chore(docs): update installation guides & pm information to docs

* chore(docs): add link to prosemirror docs

* fix(vue-3): add missing build step

* chore(docs): comment out cdn link

* chore(docs): remove semicolons from docs

* chore(docs): remove unnecessary installation note

* chore(docs): remove unnecessary installation note
2023-02-02 17:37:33 +01:00
Dominik
e46f8e3334
Change Build Process to Lerna + tsup & prepare for prosemirror-meta package (#3555)
* 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
2023-01-25 10:19:51 +01:00