When [we fixed a XSS vuln](https://github.com/ueberdosis/tiptap/pull/5160), we inadvertently broke the ability to use custom protocols, this resolves that by allowing additional custom protocols to be considered valid and not stripped out
* added JSDocs for almost all extensions
* start adding commands jsdocs
* add jsdocs for rest of extensions
* add jsdocs for Extensions
* add js docs for all extensions
* add more jsdocs
* add js docs for node spec definitions
* checks whenNotEditable condition in clickHandler
* passes whenNotEditable option from to helper
* adds docs for whenNotEditable
* adds to ClickHandlerOptions type
* 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>
* add pass through of paste event for paste handlers
* remove unused pasteHandler.ts
* remove link extension from youtube demo
* added missing prop for handler
Despite `rel` and `class` already being defined as an attribute in `addAttributes()`, the interface was missing these two particular attributes so it wasn't accessible when using TypeScript without workarounds.
* fix: do not use window.open for links in readonly mode
When `contenteditable` is `true`, the browser doesn't allow
direct link opens on clicking the `a` element. This is why we
need to call `window.open` to open our links.
However, when `contenteditable` is `false`, the default
browser mechanism for opening links works and there is no
need for using `window.open`.
* fix: linting errors
* fix(extension-link): fix llinks not being kept when pasted text includes url
* fix(extension-link): fix links not being linked correctly on the correct pos
* fix(link): fix pasting behavior and move all to one plugin
* fix(link): dont do custom behavior if no links were pasted
* fix(link): copied text link should be kept
* fix(link): fix autolink overriding pasted links
* fix(link): fix links not pasting the correct link on selected text