From e5f61e88f13ac38ac71a04ba3bf8b0cac539b8ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=A3=E8=A2=8B?= <983171730@qq.com> Date: Mon, 24 Apr 2023 08:28:36 +0800 Subject: [PATCH 01/30] Update js.md Delete redundant the vue file --- docs/guide/node-views/js.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/guide/node-views/js.md b/docs/guide/node-views/js.md index f895a8a83..8601d6efa 100644 --- a/docs/guide/node-views/js.md +++ b/docs/guide/node-views/js.md @@ -19,7 +19,6 @@ This is how your node extension could look like: ```js import { Node } from '@tiptap/core' -import Component from './Component.vue' export default Node.create({ // configuration … From 63a56639fc3c736ff7e60d9ba4e6bfe3b4c0954c Mon Sep 17 00:00:00 2001 From: Jan Thurau Date: Sun, 7 May 2023 21:11:23 +0200 Subject: [PATCH 02/30] TiptapCollab blog post series: first WIP --- demos/src/Posts/1-1-textarea/Vue/Note.vue | 19 ++++++ demos/src/Posts/1-1-textarea/Vue/index.html | 0 demos/src/Posts/1-1-textarea/Vue/index.vue | 17 ++++++ demos/src/Posts/1-1-textarea/Vue/types.ts | 4 ++ demos/src/Posts/1-2-tiptap/Vue/Note.vue | 26 +++++++++ demos/src/Posts/1-2-tiptap/Vue/index.html | 0 demos/src/Posts/1-2-tiptap/Vue/index.vue | 17 ++++++ demos/src/Posts/1-2-tiptap/Vue/types.ts | 4 ++ demos/src/Posts/1-3-yjs/Vue/Note.vue | 30 ++++++++++ demos/src/Posts/1-3-yjs/Vue/index.html | 0 demos/src/Posts/1-3-yjs/Vue/index.vue | 17 ++++++ demos/src/Posts/1-3-yjs/Vue/types.ts | 4 ++ demos/src/Posts/1-4-collab/Vue/Note.vue | 54 +++++++++++++++++ demos/src/Posts/1-4-collab/Vue/index.html | 0 demos/src/Posts/1-4-collab/Vue/index.vue | 17 ++++++ demos/src/Posts/1-4-collab/Vue/types.ts | 4 ++ docs/posts/1.md | 64 +++++++++++++++++++++ 17 files changed, 277 insertions(+) create mode 100644 demos/src/Posts/1-1-textarea/Vue/Note.vue create mode 100644 demos/src/Posts/1-1-textarea/Vue/index.html create mode 100644 demos/src/Posts/1-1-textarea/Vue/index.vue create mode 100644 demos/src/Posts/1-1-textarea/Vue/types.ts create mode 100644 demos/src/Posts/1-2-tiptap/Vue/Note.vue create mode 100644 demos/src/Posts/1-2-tiptap/Vue/index.html create mode 100644 demos/src/Posts/1-2-tiptap/Vue/index.vue create mode 100644 demos/src/Posts/1-2-tiptap/Vue/types.ts create mode 100644 demos/src/Posts/1-3-yjs/Vue/Note.vue create mode 100644 demos/src/Posts/1-3-yjs/Vue/index.html create mode 100644 demos/src/Posts/1-3-yjs/Vue/index.vue create mode 100644 demos/src/Posts/1-3-yjs/Vue/types.ts create mode 100644 demos/src/Posts/1-4-collab/Vue/Note.vue create mode 100644 demos/src/Posts/1-4-collab/Vue/index.html create mode 100644 demos/src/Posts/1-4-collab/Vue/index.vue create mode 100644 demos/src/Posts/1-4-collab/Vue/types.ts create mode 100644 docs/posts/1.md diff --git a/demos/src/Posts/1-1-textarea/Vue/Note.vue b/demos/src/Posts/1-1-textarea/Vue/Note.vue new file mode 100644 index 000000000..1a4aa40a1 --- /dev/null +++ b/demos/src/Posts/1-1-textarea/Vue/Note.vue @@ -0,0 +1,19 @@ + + + diff --git a/demos/src/Posts/1-1-textarea/Vue/index.html b/demos/src/Posts/1-1-textarea/Vue/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/demos/src/Posts/1-1-textarea/Vue/index.vue b/demos/src/Posts/1-1-textarea/Vue/index.vue new file mode 100644 index 000000000..827321cc0 --- /dev/null +++ b/demos/src/Posts/1-1-textarea/Vue/index.vue @@ -0,0 +1,17 @@ + + + diff --git a/demos/src/Posts/1-1-textarea/Vue/types.ts b/demos/src/Posts/1-1-textarea/Vue/types.ts new file mode 100644 index 000000000..9d53cf575 --- /dev/null +++ b/demos/src/Posts/1-1-textarea/Vue/types.ts @@ -0,0 +1,4 @@ +export type TNote = { + id: string; + content: string; +}; diff --git a/demos/src/Posts/1-2-tiptap/Vue/Note.vue b/demos/src/Posts/1-2-tiptap/Vue/Note.vue new file mode 100644 index 000000000..34a134166 --- /dev/null +++ b/demos/src/Posts/1-2-tiptap/Vue/Note.vue @@ -0,0 +1,26 @@ + + + diff --git a/demos/src/Posts/1-2-tiptap/Vue/index.html b/demos/src/Posts/1-2-tiptap/Vue/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/demos/src/Posts/1-2-tiptap/Vue/index.vue b/demos/src/Posts/1-2-tiptap/Vue/index.vue new file mode 100644 index 000000000..827321cc0 --- /dev/null +++ b/demos/src/Posts/1-2-tiptap/Vue/index.vue @@ -0,0 +1,17 @@ + + + diff --git a/demos/src/Posts/1-2-tiptap/Vue/types.ts b/demos/src/Posts/1-2-tiptap/Vue/types.ts new file mode 100644 index 000000000..9d53cf575 --- /dev/null +++ b/demos/src/Posts/1-2-tiptap/Vue/types.ts @@ -0,0 +1,4 @@ +export type TNote = { + id: string; + content: string; +}; diff --git a/demos/src/Posts/1-3-yjs/Vue/Note.vue b/demos/src/Posts/1-3-yjs/Vue/Note.vue new file mode 100644 index 000000000..4b2862631 --- /dev/null +++ b/demos/src/Posts/1-3-yjs/Vue/Note.vue @@ -0,0 +1,30 @@ + + + diff --git a/demos/src/Posts/1-3-yjs/Vue/index.html b/demos/src/Posts/1-3-yjs/Vue/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/demos/src/Posts/1-3-yjs/Vue/index.vue b/demos/src/Posts/1-3-yjs/Vue/index.vue new file mode 100644 index 000000000..b59061467 --- /dev/null +++ b/demos/src/Posts/1-3-yjs/Vue/index.vue @@ -0,0 +1,17 @@ + + + diff --git a/demos/src/Posts/1-3-yjs/Vue/types.ts b/demos/src/Posts/1-3-yjs/Vue/types.ts new file mode 100644 index 000000000..bbe4cfa95 --- /dev/null +++ b/demos/src/Posts/1-3-yjs/Vue/types.ts @@ -0,0 +1,4 @@ +export type TNote = { + id: string; + defaultContent: string; +}; diff --git a/demos/src/Posts/1-4-collab/Vue/Note.vue b/demos/src/Posts/1-4-collab/Vue/Note.vue new file mode 100644 index 000000000..264b9b571 --- /dev/null +++ b/demos/src/Posts/1-4-collab/Vue/Note.vue @@ -0,0 +1,54 @@ + + + diff --git a/demos/src/Posts/1-4-collab/Vue/index.html b/demos/src/Posts/1-4-collab/Vue/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/demos/src/Posts/1-4-collab/Vue/index.vue b/demos/src/Posts/1-4-collab/Vue/index.vue new file mode 100644 index 000000000..844b2aae0 --- /dev/null +++ b/demos/src/Posts/1-4-collab/Vue/index.vue @@ -0,0 +1,17 @@ + + + diff --git a/demos/src/Posts/1-4-collab/Vue/types.ts b/demos/src/Posts/1-4-collab/Vue/types.ts new file mode 100644 index 000000000..ddc3ca56b --- /dev/null +++ b/demos/src/Posts/1-4-collab/Vue/types.ts @@ -0,0 +1,4 @@ +export type TNote = { + id: string; + documentBase64: string; +}; diff --git a/docs/posts/1.md b/docs/posts/1.md new file mode 100644 index 000000000..ba5be5021 --- /dev/null +++ b/docs/posts/1.md @@ -0,0 +1,64 @@ +Hi there! + +Welcome to the first post of a series of blog posts about collaboration in Tiptap using TiptapCollab. This series will start covering the basics, and cover more specific use-cases in the next posts. For today, we’ll start moving from a simple textarea box to a fully collaborative Tiptap editor instance. + +Imagine that you are building a simple sticky note app, where a user can create notes. Just like Apple Notes, but with better collaboration. + +So you have like a textarea and a button 'create new note'. Depending on your framework (Vue, React, ..), the code probably looks similar to this: +(for simplicity, we haven't added the 'new note' logic here) + + + +In order to incorporate the Tiptap editor instance for better collaboration and formatting options, you start by modifying your code to include Tiptap in the Note component. + +You begin by importing the necessary Tiptap components and creating a new editor instance within the Note component. + +```bash +npm install @tiptap/vue-3 @tiptap/pm @tiptap/starter-kit +``` + + + +Now your Note component has a fully functional Tiptap editor instance! The user can now format their text (see https://tiptap.dev/guide/menus on how to add a menu bar, in our example you can make text bold using cmd+b). But what about collaboration? + +To enable collaboration, you need to add the Collaboration extension to your editor instance. This extension allows multiple users to edit the same document simultaneously, with changes being synced in real-time. + + +To add the Collaboration extension to your editor instance, you first need to install the `@tiptap/extension-collaboration` package: + +```bash +npm install @tiptap/extension-collaboration @yjs/yjs +``` + +Then, you can import the `Collaboration` extension and add it to your editor extensions: + + + +ok, so what have we done? + +We just added the collaboration extension as well as the technology behind it, Yjs. Basically instead of text we are passing the Y.Doc which basically takes care of merging changes. But so far, there is no collaboration... + +To enable real-time collaboration, we need to connect Yjs with the HocuspocusProvider. The HocuspocusProvider is a package that provides a simple way to share Yjs documents across different clients. It sets up a Yjs room and connects all participants to that room. + +To start using HocuspocusProvider, we need to create a new instance of the HocuspocusProvider class and pass it our Yjs document. We also need to provide a document name to connect all participants. + +To get started, let's sign up for a Tiptap Pro account, which comes with a free licence for Tiptap Collab: https://tiptap.dev/pricing + +After you signed up, go to tiptap.dev/pro and click "Join the Beta". Just follow the instructions and you'll be set up within a few minutes. + +Your app ID is shown in the collab admin interface: https://collab.tiptap.dev/ - just copy that and also already get the JWT from the settings area. It's valid for two hours, so more than enough for our quick test. We'll cover generating JWTs using your secret later.. + + +Now, back to our application: + +```bash +npm install @hocuspocus/provider +``` + +Let's now create the TiptapCollabProvider to finally get syncing: + + + +And that's it! With these changes, our Tiptap note-taking application is now fully collaborative. Notes will get synced to other users in real-time. + +Of course, this is just the beginning of what is possible with TiptapCollab and Hocuspocus. In future articles, we'll explore more advanced use cases, such as permissions, presence indicators, and more. Stay tuned! From 56bc95759809b7c2b1c181404ee21d34bb96aaf8 Mon Sep 17 00:00:00 2001 From: Martin Kriegeskorte Date: Mon, 8 May 2023 11:37:20 +0200 Subject: [PATCH 03/30] bump tailwind; add tailwind to demos --- demos/package.json | 5 +- demos/postcss.config.js | 2 + demos/src/Posts/1-1-textarea/Vue/Note.vue | 2 +- demos/src/Posts/1-1-textarea/Vue/index.vue | 7 +- demos/src/Posts/1-1-textarea/Vue/styles.css | 3 + demos/tailwind.config.js | 4 +- package-lock.json | 1037 +++++++------------ 7 files changed, 375 insertions(+), 685 deletions(-) create mode 100644 demos/src/Posts/1-1-textarea/Vue/styles.css diff --git a/demos/package.json b/demos/package.json index cc62ed5df..f7814b122 100644 --- a/demos/package.json +++ b/demos/package.json @@ -26,14 +26,15 @@ "@types/uuid": "^8.3.4", "@vitejs/plugin-react": "^1.3.1", "@vitejs/plugin-vue": "^1.10.2", - "autoprefixer": "^10.4.2", + "autoprefixer": "^10.4.14", "iframe-resizer": "^4.3.2", "postcss": "^8.4.6", + "postcss-import": "^15.1.0", "react": "^18.0.0", "react-dom": "^18.0.0", "sass": "^1.49.7", "svelte": "^3.49.0", - "tailwindcss": "^2.2.19", + "tailwindcss": "^3.3.2", "typescript": "4.7.4", "uuid": "^8.3.2", "vite": "^2.9.13", diff --git a/demos/postcss.config.js b/demos/postcss.config.js index 33ad091d2..825cb1862 100644 --- a/demos/postcss.config.js +++ b/demos/postcss.config.js @@ -1,5 +1,7 @@ module.exports = { plugins: { + 'postcss-import': {}, + 'tailwindcss/nesting': {}, tailwindcss: {}, autoprefixer: {}, }, diff --git a/demos/src/Posts/1-1-textarea/Vue/Note.vue b/demos/src/Posts/1-1-textarea/Vue/Note.vue index 1a4aa40a1..c29f034ab 100644 --- a/demos/src/Posts/1-1-textarea/Vue/Note.vue +++ b/demos/src/Posts/1-1-textarea/Vue/Note.vue @@ -15,5 +15,5 @@ watch(props, () => modelValueProxy.value = props.note?.content, { diff --git a/demos/src/Posts/1-1-textarea/Vue/index.vue b/demos/src/Posts/1-1-textarea/Vue/index.vue index 827321cc0..670c5dbcc 100644 --- a/demos/src/Posts/1-1-textarea/Vue/index.vue +++ b/demos/src/Posts/1-1-textarea/Vue/index.vue @@ -1,4 +1,5 @@ diff --git a/demos/src/Posts/1-1-textarea/Vue/styles.css b/demos/src/Posts/1-1-textarea/Vue/styles.css new file mode 100644 index 000000000..76fcadcc0 --- /dev/null +++ b/demos/src/Posts/1-1-textarea/Vue/styles.css @@ -0,0 +1,3 @@ +@import "tailwindcss/base"; +@import "tailwindcss/components"; +@import "tailwindcss/utilities"; diff --git a/demos/tailwind.config.js b/demos/tailwind.config.js index d7b2165d4..37d913b5b 100644 --- a/demos/tailwind.config.js +++ b/demos/tailwind.config.js @@ -1,9 +1,9 @@ const defaultTheme = require('tailwindcss/defaultTheme') module.exports = { - mode: 'jit', - purge: [ + content: [ './preview/**/*.{vue,js,ts,jsx,tsx}', + './src/**/*.{vue,js,ts,jsx,tsx}', ], theme: { diff --git a/package-lock.json b/package-lock.json index ce9ebc2d0..15e0ef631 100644 --- a/package-lock.json +++ b/package-lock.json @@ -69,14 +69,15 @@ "@types/uuid": "^8.3.4", "@vitejs/plugin-react": "^1.3.1", "@vitejs/plugin-vue": "^1.10.2", - "autoprefixer": "^10.4.2", + "autoprefixer": "^10.4.14", "iframe-resizer": "^4.3.2", "postcss": "^8.4.6", + "postcss-import": "^15.1.0", "react": "^18.0.0", "react-dom": "^18.0.0", "sass": "^1.49.7", "svelte": "^3.49.0", - "tailwindcss": "^2.2.19", + "tailwindcss": "^3.3.2", "typescript": "4.7.4", "uuid": "^8.3.2", "vite": "^2.9.13", @@ -85,6 +86,18 @@ "vue-router": "^4.0.11" } }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@ampproject/remapping": { "version": "2.2.0", "dev": true, @@ -7333,35 +7346,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/acorn-node": { - "version": "1.8.2", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - } - }, - "node_modules/acorn-node/node_modules/acorn": { - "version": "7.4.1", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/add-stream": { "version": "1.0.0", "dev": true, @@ -7672,7 +7656,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.7", + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", "dev": true, "funding": [ { @@ -7684,10 +7670,9 @@ "url": "https://tidelift.com/funding/github/npm/autoprefixer" } ], - "license": "MIT", "dependencies": { - "browserslist": "^4.20.3", - "caniuse-lite": "^1.0.30001335", + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -7951,7 +7936,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.0", + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "dev": true, "funding": [ { @@ -7963,12 +7950,11 @@ "url": "https://tidelift.com/funding/github/npm/browserslist" } ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001358", - "electron-to-chromium": "^1.4.164", - "node-releases": "^2.0.5", - "update-browserslist-db": "^1.0.0" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" }, "bin": { "browserslist": "cli.js" @@ -8056,14 +8042,6 @@ "node": ">=10" } }, - "node_modules/bytes": { - "version": "3.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/cac": { "version": "6.7.14", "dev": true, @@ -8183,8 +8161,9 @@ }, "node_modules/camelcase-css": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 6" } @@ -8206,7 +8185,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001359", + "version": "1.0.30001486", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001486.tgz", + "integrity": "sha512-uv7/gXuHi10Whlj0pp5q/tsK/32J2QSqVRKQhs2j8VsDCjgyruAh/eEXHF822VqO9yT6iZKw3nRwZRSPBE9OQg==", "dev": true, "funding": [ { @@ -8216,9 +8197,12 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } - ], - "license": "CC-BY-4.0" + ] }, "node_modules/case-anything": { "version": "2.1.10", @@ -8436,18 +8420,6 @@ "node": ">=0.10.0" } }, - "node_modules/color": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - }, - "engines": { - "node": ">=12.5.0" - } - }, "node_modules/color-convert": { "version": "1.9.3", "dev": true, @@ -8461,15 +8433,6 @@ "dev": true, "license": "MIT" }, - "node_modules/color-string": { - "version": "1.9.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, "node_modules/color-support": { "version": "1.1.3", "dev": true, @@ -8478,22 +8441,6 @@ "color-support": "bin.js" } }, - "node_modules/color/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, "node_modules/colorette": { "version": "2.0.19", "dev": true, @@ -8795,19 +8742,6 @@ "node": ">= 8" } }, - "node_modules/css-color-names": { - "version": "0.0.4", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/css-unit-converter": { - "version": "1.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/css-what": { "version": "6.1.0", "license": "BSD-2-Clause", @@ -9498,11 +9432,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/defined": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/delaunator": { "version": "5.0.0", "license": "ISC", @@ -9544,22 +9473,6 @@ "node": ">=8" } }, - "node_modules/detective": { - "version": "5.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn-node": "^1.8.2", - "defined": "^1.0.0", - "minimist": "^1.2.6" - }, - "bin": { - "detective": "bin/detective.js" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/dezalgo": { "version": "1.0.4", "dev": true, @@ -9715,9 +9628,10 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.170", - "dev": true, - "license": "ISC" + "version": "1.4.385", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.385.tgz", + "integrity": "sha512-L9zlje9bIw0h+CwPQumiuVlfMcV4boxRjFIWDcLfFqTZNbkwOExBzfmswytHawObQX4OUhtNv8gIiB21kOurIg==", + "dev": true }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -10531,8 +10445,9 @@ "license": "MIT" }, "node_modules/fast-glob": { - "version": "3.2.11", - "license": "MIT", + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -11309,11 +11224,6 @@ "dev": true, "license": "ISC" }, - "node_modules/hex-color-regex": { - "version": "1.1.0", - "dev": true, - "license": "MIT" - }, "node_modules/highlight.js": { "version": "11.6.0", "license": "BSD-3-Clause", @@ -11332,27 +11242,6 @@ "node": ">=10" } }, - "node_modules/hsl-regex": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/hsla-regex": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/html-tags": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/htmlparser2": { "version": "7.2.0", "dev": true, @@ -11888,23 +11777,11 @@ "is-ci": "bin.js" } }, - "node_modules/is-color-stop": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, "node_modules/is-core-module": { - "version": "2.9.0", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", "dev": true, - "license": "MIT", "dependencies": { "has": "^1.0.3" }, @@ -12360,6 +12237,15 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/jiti": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", + "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, "node_modules/joycon": { "version": "3.1.1", "dev": true, @@ -13360,11 +13246,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.topath": { - "version": "4.5.2", - "dev": true, - "license": "MIT" - }, "node_modules/log-symbols": { "version": "4.1.0", "dev": true, @@ -14012,17 +13893,6 @@ "node": ">=10" } }, - "node_modules/modern-normalize": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/modify-values": { "version": "1.0.1", "dev": true, @@ -14077,9 +13947,16 @@ } }, "node_modules/nanoid": { - "version": "3.3.4", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "dev": true, - "license": "MIT", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -14110,14 +13987,6 @@ "dev": true, "license": "MIT" }, - "node_modules/node-emoji": { - "version": "1.11.0", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.21" - } - }, "node_modules/node-fetch": { "version": "2.6.7", "dev": true, @@ -14243,9 +14112,10 @@ } }, "node_modules/node-releases": { - "version": "2.0.5", - "dev": true, - "license": "MIT" + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true }, "node_modules/nopt": { "version": "5.0.0", @@ -14898,9 +14768,10 @@ } }, "node_modules/object-hash": { - "version": "2.2.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 6" } @@ -15612,7 +15483,9 @@ } }, "node_modules/postcss": { - "version": "8.4.14", + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", "dev": true, "funding": [ { @@ -15622,11 +15495,14 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -15634,20 +15510,40 @@ "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss-js": { - "version": "3.0.3", + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, - "license": "MIT", "dependencies": { - "camelcase-css": "^2.0.1", - "postcss": "^8.1.6" + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" }, "engines": { - "node": ">=10.0" + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" } }, "node_modules/postcss-load-config": { @@ -15679,11 +15575,12 @@ } }, "node_modules/postcss-nested": { - "version": "5.0.6", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", "dev": true, - "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.6" + "postcss-selector-parser": "^6.0.11" }, "engines": { "node": ">=12.0" @@ -15697,9 +15594,10 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.10", + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz", + "integrity": "sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==", "dev": true, - "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -15732,14 +15630,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pretty-hrtime": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/proc-log": { "version": "2.0.1", "dev": true, @@ -15999,28 +15889,6 @@ "node": ">=6" } }, - "node_modules/purgecss": { - "version": "4.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "commander": "^8.0.0", - "glob": "^7.1.7", - "postcss": "^8.3.5", - "postcss-selector-parser": "^6.0.6" - }, - "bin": { - "purgecss": "bin/purgecss.js" - } - }, - "node_modules/purgecss/node_modules/commander": { - "version": "8.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, "node_modules/q": { "version": "1.5.1", "dev": true, @@ -16113,6 +15981,15 @@ "node": ">=0.8" } }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, "node_modules/read-cmd-shim": { "version": "3.0.1", "dev": true, @@ -16387,20 +16264,6 @@ "node": ">=8" } }, - "node_modules/reduce-css-calc": { - "version": "2.1.8", - "dev": true, - "license": "MIT", - "dependencies": { - "css-unit-converter": "^1.1.1", - "postcss-value-parser": "^3.3.0" - } - }, - "node_modules/reduce-css-calc/node_modules/postcss-value-parser": { - "version": "3.3.1", - "dev": true, - "license": "MIT" - }, "node_modules/regenerate": { "version": "1.4.2", "dev": true, @@ -16516,11 +16379,12 @@ } }, "node_modules/resolve": { - "version": "1.22.1", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, - "license": "MIT", "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.11.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -16583,16 +16447,6 @@ "dev": true, "license": "MIT" }, - "node_modules/rgb-regex": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/rgba-regex": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/rimraf": { "version": "3.0.2", "dev": true, @@ -16957,19 +16811,6 @@ "integrity": "sha512-iflPccjsYtTN+Rqj35v/G+i9A04g2HgOPkPp/B5evznUD4VZ4egi/qcFwrUHgGZwJMZz+Aq5elow4Qqsodfflw==", "dev": true }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "dev": true, - "license": "MIT" - }, "node_modules/simplify-js": { "version": "1.2.4", "license": "BSD-2-Clause" @@ -17348,10 +17189,12 @@ } }, "node_modules/sucrase": { - "version": "3.29.0", + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", + "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", "dev": true, - "license": "MIT", "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "glob": "7.1.6", "lines-and-columns": "^1.1.6", @@ -17367,6 +17210,20 @@ "node": ">=8" } }, + "node_modules/sucrase/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/sucrase/node_modules/commander": { "version": "4.1.1", "dev": true, @@ -17436,111 +17293,41 @@ } }, "node_modules/tailwindcss": { - "version": "2.2.19", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz", + "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", "dev": true, - "license": "MIT", "dependencies": { - "arg": "^5.0.1", - "bytes": "^3.0.0", - "chalk": "^4.1.2", - "chokidar": "^3.5.2", - "color": "^4.0.1", - "cosmiconfig": "^7.0.1", - "detective": "^5.2.0", + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", "didyoumean": "^1.2.2", "dlv": "^1.1.3", - "fast-glob": "^3.2.7", - "fs-extra": "^10.0.0", - "glob-parent": "^6.0.1", - "html-tags": "^3.1.0", - "is-color-stop": "^1.1.0", - "is-glob": "^4.0.1", - "lodash": "^4.17.21", - "lodash.topath": "^4.5.2", - "modern-normalize": "^1.1.0", - "node-emoji": "^1.11.0", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", "normalize-path": "^3.0.0", - "object-hash": "^2.2.0", - "postcss-js": "^3.0.3", - "postcss-load-config": "^3.1.0", - "postcss-nested": "5.0.6", - "postcss-selector-parser": "^6.0.6", - "postcss-value-parser": "^4.1.0", - "pretty-hrtime": "^1.0.3", - "purgecss": "^4.0.3", - "quick-lru": "^5.1.1", - "reduce-css-calc": "^2.1.8", - "resolve": "^1.20.0", - "tmp": "^0.2.1" + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" }, "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "autoprefixer": "^10.0.2", - "postcss": "^8.0.9" - } - }, - "node_modules/tailwindcss/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/tailwindcss/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/tailwindcss/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/tailwindcss/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/tailwindcss/node_modules/fs-extra": { - "version": "10.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" + "node": ">=14.0.0" } }, "node_modules/tailwindcss/node_modules/glob-parent": { @@ -17554,34 +17341,51 @@ "node": ">=10.13.0" } }, - "node_modules/tailwindcss/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/tailwindcss/node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/tailwindcss/node_modules/quick-lru": { - "version": "5.1.1", - "dev": true, - "license": "MIT", "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tailwindcss/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/tailwindcss/node_modules/postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" }, "engines": { - "node": ">=8" + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/tailwindcss/node_modules/yaml": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", + "dev": true, + "engines": { + "node": ">= 14" } }, "node_modules/tapable": { @@ -18367,7 +18171,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.4", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, "funding": [ { @@ -18377,15 +18183,18 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "escalade": "^3.1.1", "picocolors": "^1.0.0" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -20218,6 +20027,12 @@ } }, "dependencies": { + "@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true + }, "@ampproject/remapping": { "version": "2.2.0", "dev": true, @@ -25466,25 +25281,6 @@ "dev": true, "requires": {} }, - "acorn-node": { - "version": "1.8.2", - "dev": true, - "requires": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "dev": true - } - } - }, - "acorn-walk": { - "version": "7.2.0", - "dev": true - }, "add-stream": { "version": "1.0.0", "dev": true @@ -25682,11 +25478,13 @@ "dev": true }, "autoprefixer": { - "version": "10.4.7", + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", "dev": true, "requires": { - "browserslist": "^4.20.3", - "caniuse-lite": "^1.0.30001335", + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -25863,13 +25661,15 @@ } }, "browserslist": { - "version": "4.21.0", + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001358", - "electron-to-chromium": "^1.4.164", - "node-releases": "^2.0.5", - "update-browserslist-db": "^1.0.0" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" } }, "buffer": { @@ -25914,10 +25714,6 @@ "version": "7.0.1", "dev": true }, - "bytes": { - "version": "3.1.2", - "dev": true - }, "cac": { "version": "6.7.14", "dev": true @@ -25999,6 +25795,8 @@ }, "camelcase-css": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", "dev": true }, "camelcase-keys": { @@ -26011,7 +25809,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001359", + "version": "1.0.30001486", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001486.tgz", + "integrity": "sha512-uv7/gXuHi10Whlj0pp5q/tsK/32J2QSqVRKQhs2j8VsDCjgyruAh/eEXHF822VqO9yT6iZKw3nRwZRSPBE9OQg==", "dev": true }, "case-anything": { @@ -26141,27 +25941,6 @@ "version": "1.1.0", "dev": true }, - "color": { - "version": "4.2.3", - "dev": true, - "requires": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - }, - "dependencies": { - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - } - } - }, "color-convert": { "version": "1.9.3", "dev": true, @@ -26173,14 +25952,6 @@ "version": "1.1.3", "dev": true }, - "color-string": { - "version": "1.9.1", - "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, "color-support": { "version": "1.1.3", "dev": true @@ -26402,14 +26173,6 @@ "which": "^2.0.1" } }, - "css-color-names": { - "version": "0.0.4", - "dev": true - }, - "css-unit-converter": { - "version": "1.1.2", - "dev": true - }, "css-what": { "version": "6.1.0" }, @@ -26830,10 +26593,6 @@ "object-keys": "^1.1.1" } }, - "defined": { - "version": "1.0.0", - "dev": true - }, "delaunator": { "version": "5.0.0", "requires": { @@ -26860,15 +26619,6 @@ "version": "6.1.0", "dev": true }, - "detective": { - "version": "5.2.1", - "dev": true, - "requires": { - "acorn-node": "^1.8.2", - "defined": "^1.0.0", - "minimist": "^1.2.6" - } - }, "dezalgo": { "version": "1.0.4", "dev": true, @@ -26969,7 +26719,9 @@ } }, "electron-to-chromium": { - "version": "1.4.170", + "version": "1.4.385", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.385.tgz", + "integrity": "sha512-L9zlje9bIw0h+CwPQumiuVlfMcV4boxRjFIWDcLfFqTZNbkwOExBzfmswytHawObQX4OUhtNv8gIiB21kOurIg==", "dev": true }, "emoji-regex": { @@ -27515,7 +27267,9 @@ "version": "3.1.3" }, "fast-glob": { - "version": "3.2.11", + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -28018,10 +27772,6 @@ "version": "2.0.1", "dev": true }, - "hex-color-regex": { - "version": "1.1.0", - "dev": true - }, "highlight.js": { "version": "11.6.0" }, @@ -28032,18 +27782,6 @@ "lru-cache": "^6.0.0" } }, - "hsl-regex": { - "version": "1.0.0", - "dev": true - }, - "hsla-regex": { - "version": "1.0.0", - "dev": true - }, - "html-tags": { - "version": "3.2.0", - "dev": true - }, "htmlparser2": { "version": "7.2.0", "dev": true, @@ -28376,20 +28114,10 @@ "ci-info": "^3.2.0" } }, - "is-color-stop": { - "version": "1.1.0", - "dev": true, - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, "is-core-module": { - "version": "2.9.0", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", "dev": true, "requires": { "has": "^1.0.3" @@ -28652,6 +28380,12 @@ } } }, + "jiti": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", + "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", + "dev": true + }, "joycon": { "version": "3.1.1", "dev": true @@ -29281,10 +29015,6 @@ "version": "4.7.0", "dev": true }, - "lodash.topath": { - "version": "4.5.2", - "dev": true - }, "log-symbols": { "version": "4.1.0", "dev": true, @@ -29698,10 +29428,6 @@ "mkdirp": "^1.0.3" } }, - "modern-normalize": { - "version": "1.1.0", - "dev": true - }, "modify-values": { "version": "1.0.1", "dev": true @@ -29740,7 +29466,9 @@ } }, "nanoid": { - "version": "3.3.4", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "dev": true }, "natural-compare": { @@ -29759,13 +29487,6 @@ "version": "3.2.1", "dev": true }, - "node-emoji": { - "version": "1.11.0", - "dev": true, - "requires": { - "lodash": "^4.17.21" - } - }, "node-fetch": { "version": "2.6.7", "dev": true, @@ -29842,7 +29563,9 @@ "dev": true }, "node-releases": { - "version": "2.0.5", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", "dev": true }, "nopt": { @@ -30284,7 +30007,9 @@ "dev": true }, "object-hash": { - "version": "2.2.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", "dev": true }, "object-inspect": { @@ -30731,20 +30456,34 @@ } }, "postcss": { - "version": "8.4.14", + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", "dev": true, "requires": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } }, - "postcss-js": { - "version": "3.0.3", + "postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, "requires": { - "camelcase-css": "^2.0.1", - "postcss": "^8.1.6" + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1" } }, "postcss-load-config": { @@ -30756,14 +30495,18 @@ } }, "postcss-nested": { - "version": "5.0.6", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", "dev": true, "requires": { - "postcss-selector-parser": "^6.0.6" + "postcss-selector-parser": "^6.0.11" } }, "postcss-selector-parser": { - "version": "6.0.10", + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz", + "integrity": "sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -30782,10 +30525,6 @@ "version": "5.6.0", "dev": true }, - "pretty-hrtime": { - "version": "1.0.3", - "dev": true - }, "proc-log": { "version": "2.0.1", "dev": true @@ -30989,22 +30728,6 @@ "version": "2.1.1", "dev": true }, - "purgecss": { - "version": "4.1.3", - "dev": true, - "requires": { - "commander": "^8.0.0", - "glob": "^7.1.7", - "postcss": "^8.3.5", - "postcss-selector-parser": "^6.0.6" - }, - "dependencies": { - "commander": { - "version": "8.3.0", - "dev": true - } - } - }, "q": { "version": "1.5.1", "dev": true @@ -31052,6 +30775,15 @@ "mute-stream": "~0.0.4" } }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "requires": { + "pify": "^2.3.0" + } + }, "read-cmd-shim": { "version": "3.0.1", "dev": true @@ -31238,20 +30970,6 @@ "strip-indent": "^3.0.0" } }, - "reduce-css-calc": { - "version": "2.1.8", - "dev": true, - "requires": { - "css-unit-converter": "^1.1.1", - "postcss-value-parser": "^3.3.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "dev": true - } - } - }, "regenerate": { "version": "1.4.2", "dev": true @@ -31330,10 +31048,12 @@ "dev": true }, "resolve": { - "version": "1.22.1", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, "requires": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.11.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -31368,14 +31088,6 @@ "version": "1.3.0", "dev": true }, - "rgb-regex": { - "version": "1.0.1", - "dev": true - }, - "rgba-regex": { - "version": "1.0.0", - "dev": true - }, "rimraf": { "version": "3.0.2", "dev": true, @@ -31606,19 +31318,6 @@ "integrity": "sha512-iflPccjsYtTN+Rqj35v/G+i9A04g2HgOPkPp/B5evznUD4VZ4egi/qcFwrUHgGZwJMZz+Aq5elow4Qqsodfflw==", "dev": true }, - "simple-swizzle": { - "version": "0.2.2", - "dev": true, - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "dev": true - } - } - }, "simplify-js": { "version": "1.2.4" }, @@ -31861,9 +31560,12 @@ } }, "sucrase": { - "version": "3.29.0", + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", + "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", "dev": true, "requires": { + "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "glob": "7.1.6", "lines-and-columns": "^1.1.6", @@ -31872,6 +31574,17 @@ "ts-interface-checker": "^0.1.9" }, "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, "commander": { "version": "4.1.1", "dev": true @@ -31911,78 +31624,36 @@ "requires": {} }, "tailwindcss": { - "version": "2.2.19", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz", + "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", "dev": true, "requires": { - "arg": "^5.0.1", - "bytes": "^3.0.0", - "chalk": "^4.1.2", - "chokidar": "^3.5.2", - "color": "^4.0.1", - "cosmiconfig": "^7.0.1", - "detective": "^5.2.0", + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", "didyoumean": "^1.2.2", "dlv": "^1.1.3", - "fast-glob": "^3.2.7", - "fs-extra": "^10.0.0", - "glob-parent": "^6.0.1", - "html-tags": "^3.1.0", - "is-color-stop": "^1.1.0", - "is-glob": "^4.0.1", - "lodash": "^4.17.21", - "lodash.topath": "^4.5.2", - "modern-normalize": "^1.1.0", - "node-emoji": "^1.11.0", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", "normalize-path": "^3.0.0", - "object-hash": "^2.2.0", - "postcss-js": "^3.0.3", - "postcss-load-config": "^3.1.0", - "postcss-nested": "5.0.6", - "postcss-selector-parser": "^6.0.6", - "postcss-value-parser": "^4.1.0", - "pretty-hrtime": "^1.0.3", - "purgecss": "^4.0.3", - "quick-lru": "^5.1.1", - "reduce-css-calc": "^2.1.8", - "resolve": "^1.20.0", - "tmp": "^0.2.1" + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "fs-extra": { - "version": "10.1.0", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, "glob-parent": { "version": "6.0.2", "dev": true, @@ -31990,20 +31661,27 @@ "is-glob": "^4.0.3" } }, - "has-flag": { - "version": "4.0.0", + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true }, - "quick-lru": { - "version": "5.1.1", - "dev": true - }, - "supports-color": { - "version": "7.2.0", + "postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" } + }, + "yaml": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", + "dev": true } } }, @@ -32134,13 +31812,14 @@ "@types/uuid": "^8.3.4", "@vitejs/plugin-react": "^1.3.1", "@vitejs/plugin-vue": "^1.10.2", - "autoprefixer": "^10.4.2", + "autoprefixer": "10.4.14", "d3": "^7.3.0", "fast-glob": "^3.2.11", "highlight.js": "^11.6.0", "iframe-resizer": "^4.3.2", "lowlight": "^2.7.0", "postcss": "^8.4.6", + "postcss-import": "^15.1.0", "react": "^18.0.0", "react-dom": "^18.0.0", "remixicon": "^2.5.0", @@ -32148,7 +31827,7 @@ "shiki": "^0.10.0", "simplify-js": "^1.2.4", "svelte": "^3.49.0", - "tailwindcss": "^2.2.19", + "tailwindcss": "3.3.2", "typescript": "4.7.4", "uuid": "^8.3.2", "vite": "^2.9.13", @@ -32530,7 +32209,9 @@ } }, "update-browserslist-db": { - "version": "1.0.4", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, "requires": { "escalade": "^3.1.1", From 62d436569a44fd14966e9a9625f8a981b8a275cd Mon Sep 17 00:00:00 2001 From: Philip Isik Date: Wed, 10 May 2023 11:07:25 +0200 Subject: [PATCH 04/30] Update LICENSE.md --- LICENSE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE.md b/LICENSE.md index 2c106a1b1..8cb208498 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2021, überdosis GbR +Copyright (c) 2023, Tiptap GmbH Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From 64731e1a1a3f16ea49a1370b641a28d5738a2940 Mon Sep 17 00:00:00 2001 From: Marcus Lyons <10541922+marcuslyons@users.noreply.github.com> Date: Thu, 11 May 2023 10:00:31 -0600 Subject: [PATCH 05/30] fix: typo in focus.md --- docs/api/commands/focus.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/commands/focus.md b/docs/api/commands/focus.md index 0f2d588ad..103e8efcd 100644 --- a/docs/api/commands/focus.md +++ b/docs/api/commands/focus.md @@ -8,7 +8,7 @@ See also: [setTextSelection](/api/commands/set-text-selection), [blur](/api/comm ## Parameters `position: 'start' | 'end' | 'all' | number | boolean | null (false)` -By default, it’s restoring the cursor position (and text selection). Pass a position to move the cursor too. +By default, it’s restoring the cursor position (and text selection). Pass a position to move the cursor to. `options: { scrollIntoView: boolean }` From 1436f3e24ef44a6e26c2e6f53bcace7c58803fdf Mon Sep 17 00:00:00 2001 From: Marcus Lyons <10541922+marcuslyons@users.noreply.github.com> Date: Thu, 11 May 2023 11:56:36 -0600 Subject: [PATCH 06/30] fix: missing word in toggle-node.md --- docs/api/commands/toggle-node.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/commands/toggle-node.md b/docs/api/commands/toggle-node.md index 15c3ea1e3..6ee3ee806 100644 --- a/docs/api/commands/toggle-node.md +++ b/docs/api/commands/toggle-node.md @@ -1,5 +1,5 @@ # toggleNode -`toggleNode` will a node with another node. +`toggleNode` will toggle a node with another node. ## Parameters `typeOrName: string | NodeType` From 9cc6c67685fa9ac088d1d94f8cb7ce294c447f86 Mon Sep 17 00:00:00 2001 From: Martin Kriegeskorte Date: Fri, 12 May 2023 12:14:35 +0200 Subject: [PATCH 07/30] docs: add tiptap collab ctas --- docs/about.md | 9 +++++++++ docs/api/extensions/collaboration-cursor.md | 2 ++ docs/api/extensions/collaboration.md | 2 ++ docs/guide/collaborative-editing.md | 11 +++++++++++ docs/introduction.md | 9 +++++++++ 5 files changed, 33 insertions(+) diff --git a/docs/about.md b/docs/about.md index d99a729c0..148e4a649 100644 --- a/docs/about.md +++ b/docs/about.md @@ -39,3 +39,12 @@ If you have an issue, a question, want to talk something through or anything els ### Can we have a call? Nope, we are big fans of asynchronous communication. If you really need to reach out in private, send us an email to [humans@tiptap.dev](mailto:humans@tiptap.dev), but don’t expect technical email support. That all happens on [GitHub](https://github.com/ueberdosis/tiptap/issues) + + +## P.S. Did you know, we’re also into realtime text editing? + +With [Tiptap Collab](https://tiptap.dev/collab) we built a realtime backend for conflict-free text editing. And the best part: Integration into Tiptap is just a few clicks away. + +Make sure to check it out! + +!!tiptap-collab-cta diff --git a/docs/api/extensions/collaboration-cursor.md b/docs/api/extensions/collaboration-cursor.md index 0e1c0d6b7..4a4a43b91 100644 --- a/docs/api/extensions/collaboration-cursor.md +++ b/docs/api/extensions/collaboration-cursor.md @@ -55,3 +55,5 @@ The content of this editor is shared with other users. ::: https://embed.tiptap.dev/preview/Extensions/CollaborationCursor?hideSource https://embed.tiptap.dev/preview/Extensions/CollaborationCursor + +!!tiptap-collab-cta diff --git a/docs/api/extensions/collaboration.md b/docs/api/extensions/collaboration.md index 3195c60eb..41643f78f 100644 --- a/docs/api/extensions/collaboration.md +++ b/docs/api/extensions/collaboration.md @@ -83,3 +83,5 @@ The content of this editor is shared with other users. ::: https://embed.tiptap.dev/preview/Extensions/Collaboration?hideSource https://embed.tiptap.dev/preview/Extensions/Collaboration + +!!tiptap-collab-cta diff --git a/docs/guide/collaborative-editing.md b/docs/guide/collaborative-editing.md index cc947a89d..731c6d07c 100644 --- a/docs/guide/collaborative-editing.md +++ b/docs/guide/collaborative-editing.md @@ -128,6 +128,9 @@ Try opening http://127.0.0.1:1234 in your browser. You should see a plain text ` Go back to your Tiptap editor and hit reload, it should now connect to the Hocuspocus WebSocket server and changes should sync with all other clients. Amazing, isn’t it? + +!!tiptap-collab-cta + ### Multiple network providers You can even combine multiple providers. That’s not needed, but could keep clients connected, even if one connection - for example the WebSocket server - goes down for a while. Here is an example: @@ -282,6 +285,14 @@ const server = Server.configure({ server.listen() ``` +## Tiptap Collab – our hosted solution + +If you don’t want the struggle of self-hosting and scaling Hocuspocus, make sure to check out our managed solution Tiptap Collab. + +It’s just a few clicks away, really. + +!!tiptap-collab-cta + ## Pitfalls ### Schema updates diff --git a/docs/introduction.md b/docs/introduction.md index 9ecce8339..4ba836fb1 100644 --- a/docs/introduction.md +++ b/docs/introduction.md @@ -19,3 +19,12 @@ There is no provided user interface, you are absolutely free to build whatever i ## Why should I use Tiptap? [ProseMirror](https://ProseMirror.net) is a well-written, reliable and very powerful editor toolkit. It’s not so much the ready-to-use editor most people look for, but with Tiptap you can start in minutes, choose from tons of amazing extensions and still have that powerful ProseMirror API accessible when you really need it. + +## Do you enjoy real-time editing? + +Great! We do so, too. [Hocupocus](https://hocuspocus.dev) is our yjs-based real-time solution for conflict-free text editing with Tiptap. + +Even better: Our managed solution [Tiptap Collab](https://tiptap.dev/collab) is just a few clicks away.
+– Enhance your Tiptap experience with multiplayer support in minutes instead of hours. + +!!tiptap-collab-cta From 6e420b602ccd57e5bee8bebae39a4c5301f5b54c Mon Sep 17 00:00:00 2001 From: Jan Thurau Date: Sun, 14 May 2023 23:09:57 +0200 Subject: [PATCH 08/30] TiptapCollab blog post series: WIP 2 --- demos/src/Posts/1-2-tiptap/Vue/Note.vue | 5 ++++ demos/src/Posts/1-2-tiptap/Vue/index.vue | 2 ++ demos/src/Posts/1-2-tiptap/Vue/styles.css | 3 +++ demos/src/Posts/1-3-yjs/Vue/Note.vue | 5 ++++ demos/src/Posts/1-3-yjs/Vue/index.vue | 2 ++ demos/src/Posts/1-3-yjs/Vue/styles.css | 3 +++ demos/src/Posts/1-4-collab/Vue/Note.vue | 21 ++++++++--------- demos/src/Posts/1-4-collab/Vue/index.vue | 6 +++-- demos/src/Posts/1-4-collab/Vue/styles.css | 3 +++ demos/src/Posts/1-4-collab/Vue/types.ts | 1 - docs/posts/1.md | 28 +++++++++++------------ 11 files changed, 51 insertions(+), 28 deletions(-) create mode 100644 demos/src/Posts/1-2-tiptap/Vue/styles.css create mode 100644 demos/src/Posts/1-3-yjs/Vue/styles.css create mode 100644 demos/src/Posts/1-4-collab/Vue/styles.css diff --git a/demos/src/Posts/1-2-tiptap/Vue/Note.vue b/demos/src/Posts/1-2-tiptap/Vue/Note.vue index 34a134166..6a6b6ab84 100644 --- a/demos/src/Posts/1-2-tiptap/Vue/Note.vue +++ b/demos/src/Posts/1-2-tiptap/Vue/Note.vue @@ -14,6 +14,11 @@ watch(props, () => modelValueProxy.value = props.note.content) const editor = useEditor({ content: props.note.content, + editorProps: { + attributes: { + class: 'm-2 p-2 border border-black rounded-lg', + }, + }, extensions: [ StarterKit, ], diff --git a/demos/src/Posts/1-2-tiptap/Vue/index.vue b/demos/src/Posts/1-2-tiptap/Vue/index.vue index 827321cc0..fe98eb059 100644 --- a/demos/src/Posts/1-2-tiptap/Vue/index.vue +++ b/demos/src/Posts/1-2-tiptap/Vue/index.vue @@ -1,5 +1,7 @@ diff --git a/demos/src/Posts/1-4-collab/Vue/styles.css b/demos/src/Posts/1-4-collab/Vue/styles.css new file mode 100644 index 000000000..76fcadcc0 --- /dev/null +++ b/demos/src/Posts/1-4-collab/Vue/styles.css @@ -0,0 +1,3 @@ +@import "tailwindcss/base"; +@import "tailwindcss/components"; +@import "tailwindcss/utilities"; diff --git a/demos/src/Posts/1-4-collab/Vue/types.ts b/demos/src/Posts/1-4-collab/Vue/types.ts index ddc3ca56b..550caf0af 100644 --- a/demos/src/Posts/1-4-collab/Vue/types.ts +++ b/demos/src/Posts/1-4-collab/Vue/types.ts @@ -1,4 +1,3 @@ export type TNote = { id: string; - documentBase64: string; }; diff --git a/docs/posts/1.md b/docs/posts/1.md index ba5be5021..00f3011da 100644 --- a/docs/posts/1.md +++ b/docs/posts/1.md @@ -1,11 +1,8 @@ -Hi there! - -Welcome to the first post of a series of blog posts about collaboration in Tiptap using TiptapCollab. This series will start covering the basics, and cover more specific use-cases in the next posts. For today, we’ll start moving from a simple textarea box to a fully collaborative Tiptap editor instance. +**Welcome** to the first post of a series of blog posts about collaboration in Tiptap using TiptapCollab. This series will start covering the basics, and expand to more specific use cases in the next posts. For today, we’ll start moving from a simple textarea box to a fully collaborative Tiptap editor instance. Imagine that you are building a simple sticky note app, where a user can create notes. Just like Apple Notes, but with better collaboration. -So you have like a textarea and a button 'create new note'. Depending on your framework (Vue, React, ..), the code probably looks similar to this: -(for simplicity, we haven't added the 'new note' logic here) +So let's say you have a few textareas. Depending on your framework (Vue, React, ..), the code probably looks similar to this: @@ -19,9 +16,9 @@ npm install @tiptap/vue-3 @tiptap/pm @tiptap/starter-kit -Now your Note component has a fully functional Tiptap editor instance! The user can now format their text (see https://tiptap.dev/guide/menus on how to add a menu bar, in our example you can make text bold using cmd+b). But what about collaboration? +Now your Note component has a fully functional Tiptap editor instance! The user can now format their text (see https://tiptap.dev/guide/menus on how to add a menu bar, in our example, you can make text bold using cmd+b). But what about collaboration? -To enable collaboration, you need to add the Collaboration extension to your editor instance. This extension allows multiple users to edit the same document simultaneously, with changes being synced in real-time. +To enable collaboration, you need to add the Collaboration extension to your editor instance. This extension allows multiple users to edit the same document simultaneously, with changes being synced in realtime. To add the Collaboration extension to your editor instance, you first need to install the `@tiptap/extension-collaboration` package: @@ -36,15 +33,17 @@ Then, you can import the `Collaboration` extension and add it to your editor ext ok, so what have we done? -We just added the collaboration extension as well as the technology behind it, Yjs. Basically instead of text we are passing the Y.Doc which basically takes care of merging changes. But so far, there is no collaboration... +We just added the collaboration extension as well as the technology behind it, Yjs. Instead of raw text we are passing the Y.Doc which basically takes care of merging changes. But so far, there is no collaboration... -To enable real-time collaboration, we need to connect Yjs with the HocuspocusProvider. The HocuspocusProvider is a package that provides a simple way to share Yjs documents across different clients. It sets up a Yjs room and connects all participants to that room. +To enable real-time collaboration, we need to connect the Y.Doc with the HocuspocusProvider. The HocuspocusProvider is a package that provides a simple way to synchronize Y.Doc's across different clients. -To start using HocuspocusProvider, we need to create a new instance of the HocuspocusProvider class and pass it our Yjs document. We also need to provide a document name to connect all participants. +To start using HocuspocusProvider, we need to create a new instance of the HocuspocusProvider class and pass our Y.Doc. We also need to provide a document name. -To get started, let's sign up for a Tiptap Pro account, which comes with a free licence for Tiptap Collab: https://tiptap.dev/pricing +To get started, let's sign up for a Tiptap Pro account, which comes with a free licence of Tiptap Collab: -After you signed up, go to tiptap.dev/pro and click "Join the Beta". Just follow the instructions and you'll be set up within a few minutes. +!!tiptap-collab-cta + +After you signed up, click on "Join the Beta". Just follow the instructions and you'll be set up within a few minutes. Your app ID is shown in the collab admin interface: https://collab.tiptap.dev/ - just copy that and also already get the JWT from the settings area. It's valid for two hours, so more than enough for our quick test. We'll cover generating JWTs using your secret later.. @@ -59,6 +58,7 @@ Let's now create the TiptapCollabProvider to finally get syncing: -And that's it! With these changes, our Tiptap note-taking application is now fully collaborative. Notes will get synced to other users in real-time. +And that's it! With these changes, our Tiptap note-taking application is now fully collaborative. Notes will get synced to other users in realtime. -Of course, this is just the beginning of what is possible with TiptapCollab and Hocuspocus. In future articles, we'll explore more advanced use cases, such as permissions, presence indicators, and more. Stay tuned! + +We've only scratched the surface of what TiptapCollab and Hocuspocus can do. Keep an eye out for future articles where we'll delve into more complex scenarios like permissions, presence indicators, and beyond. Don't miss out! From e7bdd34279a31612018d35bd7183cb97b9028288 Mon Sep 17 00:00:00 2001 From: Jan Thurau Date: Mon, 15 May 2023 21:17:02 +0200 Subject: [PATCH 09/30] TiptapCollab blog post series: WIP 3 --- docs/posts/{1.md => 1-get-started-with-tiptapcollab.md} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename docs/posts/{1.md => 1-get-started-with-tiptapcollab.md} (91%) diff --git a/docs/posts/1.md b/docs/posts/1-get-started-with-tiptapcollab.md similarity index 91% rename from docs/posts/1.md rename to docs/posts/1-get-started-with-tiptapcollab.md index 00f3011da..5329003f0 100644 --- a/docs/posts/1.md +++ b/docs/posts/1-get-started-with-tiptapcollab.md @@ -35,9 +35,9 @@ ok, so what have we done? We just added the collaboration extension as well as the technology behind it, Yjs. Instead of raw text we are passing the Y.Doc which basically takes care of merging changes. But so far, there is no collaboration... -To enable real-time collaboration, we need to connect the Y.Doc with the HocuspocusProvider. The HocuspocusProvider is a package that provides a simple way to synchronize Y.Doc's across different clients. +To enable real-time collaboration, we need to connect the Y.Doc with the TiptapCollabProvider. The TiptapCollabProvider is a package that provides a simple way to synchronize Y.Doc's across different clients. -To start using HocuspocusProvider, we need to create a new instance of the HocuspocusProvider class and pass our Y.Doc. We also need to provide a document name. +To start using TiptapCollabProvider, we need to create a new instance of the TiptapCollabProvider class and pass our Y.Doc. We also need to provide a document name. To get started, let's sign up for a Tiptap Pro account, which comes with a free licence of Tiptap Collab: From d0c78bae56624fecc0a6f5aff7486b280ca4daad Mon Sep 17 00:00:00 2001 From: Jan Thurau Date: Tue, 16 May 2023 19:35:02 +0200 Subject: [PATCH 10/30] TiptapCollab blog post series: WIP 4 --- docs/posts/1-get-started-with-tiptapcollab.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/posts/1-get-started-with-tiptapcollab.md b/docs/posts/1-get-started-with-tiptapcollab.md index 5329003f0..873827942 100644 --- a/docs/posts/1-get-started-with-tiptapcollab.md +++ b/docs/posts/1-get-started-with-tiptapcollab.md @@ -1,11 +1,17 @@ -**Welcome** to the first post of a series of blog posts about collaboration in Tiptap using TiptapCollab. This series will start covering the basics, and expand to more specific use cases in the next posts. For today, we’ll start moving from a simple textarea box to a fully collaborative Tiptap editor instance. +# Getting started with TiptapCollab -Imagine that you are building a simple sticky note app, where a user can create notes. Just like Apple Notes, but with better collaboration. +## Introduction + +**Welcome** to the first of a series of tutorials about collaboration in Tiptap using TiptapCollab. This series will start covering the basics, and expand to more specific use cases in the next posts. For today, we’ll start moving from a simple textarea box to a fully collaborative Tiptap editor instance. + +Imagine that you are building a simple sticky note app, where a user can create notes. So let's say you have a few textareas. Depending on your framework (Vue, React, ..), the code probably looks similar to this: +## Setting Up Tiptap + In order to incorporate the Tiptap editor instance for better collaboration and formatting options, you start by modifying your code to include Tiptap in the Note component. You begin by importing the necessary Tiptap components and creating a new editor instance within the Note component. @@ -18,6 +24,8 @@ npm install @tiptap/vue-3 @tiptap/pm @tiptap/starter-kit Now your Note component has a fully functional Tiptap editor instance! The user can now format their text (see https://tiptap.dev/guide/menus on how to add a menu bar, in our example, you can make text bold using cmd+b). But what about collaboration? +## Adding Yjs + To enable collaboration, you need to add the Collaboration extension to your editor instance. This extension allows multiple users to edit the same document simultaneously, with changes being synced in realtime. @@ -35,6 +43,8 @@ ok, so what have we done? We just added the collaboration extension as well as the technology behind it, Yjs. Instead of raw text we are passing the Y.Doc which basically takes care of merging changes. But so far, there is no collaboration... +## Real-Time Collaboration with TiptapCollab + To enable real-time collaboration, we need to connect the Y.Doc with the TiptapCollabProvider. The TiptapCollabProvider is a package that provides a simple way to synchronize Y.Doc's across different clients. To start using TiptapCollabProvider, we need to create a new instance of the TiptapCollabProvider class and pass our Y.Doc. We also need to provide a document name. From ac4a18cf05b19356719c7433aaa5ecba3079b308 Mon Sep 17 00:00:00 2001 From: Marcus Lyons <10541922+marcuslyons@users.noreply.github.com> Date: Thu, 18 May 2023 06:37:13 -0600 Subject: [PATCH 11/30] Fix typo in vue.md --- docs/guide/node-views/vue.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/node-views/vue.md b/docs/guide/node-views/vue.md index 417734f71..b2340f870 100644 --- a/docs/guide/node-views/vue.md +++ b/docs/guide/node-views/vue.md @@ -86,7 +86,7 @@ this.updateAttributes({ }) ``` -And yes, all of that is reactive, too. A pretty seemless communication, isn’t it? +And yes, all of that is reactive, too. A pretty seamless communication, isn’t it? ## Adding a content editable There is another component called `NodeViewContent` which helps you adding editable content to your node view. Here is an example: From acf81b19b7f1274857067ad6146b578668e928d9 Mon Sep 17 00:00:00 2001 From: Jan Thurau Date: Wed, 24 May 2023 17:51:52 +0200 Subject: [PATCH 12/30] docs/posts/1: TiptapCollab -> Tiptap Collab --- docs/posts/1-get-started-with-tiptapcollab.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/posts/1-get-started-with-tiptapcollab.md b/docs/posts/1-get-started-with-tiptapcollab.md index 873827942..ca7f1be29 100644 --- a/docs/posts/1-get-started-with-tiptapcollab.md +++ b/docs/posts/1-get-started-with-tiptapcollab.md @@ -1,8 +1,8 @@ -# Getting started with TiptapCollab +# Getting started with Tiptap Collab ## Introduction -**Welcome** to the first of a series of tutorials about collaboration in Tiptap using TiptapCollab. This series will start covering the basics, and expand to more specific use cases in the next posts. For today, we’ll start moving from a simple textarea box to a fully collaborative Tiptap editor instance. +**Welcome** to the first of a series of tutorials about collaboration in Tiptap using Tiptap Collab. This series will start covering the basics, and expand to more specific use cases in the next posts. For today, we’ll start moving from a simple textarea box to a fully collaborative Tiptap editor instance. Imagine that you are building a simple sticky note app, where a user can create notes. @@ -43,7 +43,7 @@ ok, so what have we done? We just added the collaboration extension as well as the technology behind it, Yjs. Instead of raw text we are passing the Y.Doc which basically takes care of merging changes. But so far, there is no collaboration... -## Real-Time Collaboration with TiptapCollab +## Real-Time Collaboration with Tiptap Collab To enable real-time collaboration, we need to connect the Y.Doc with the TiptapCollabProvider. The TiptapCollabProvider is a package that provides a simple way to synchronize Y.Doc's across different clients. @@ -71,4 +71,4 @@ Let's now create the TiptapCollabProvider to finally get syncing: And that's it! With these changes, our Tiptap note-taking application is now fully collaborative. Notes will get synced to other users in realtime. -We've only scratched the surface of what TiptapCollab and Hocuspocus can do. Keep an eye out for future articles where we'll delve into more complex scenarios like permissions, presence indicators, and beyond. Don't miss out! +We've only scratched the surface of what Tiptap Collab and Hocuspocus can do. Keep an eye out for future articles where we'll delve into more complex scenarios like permissions, presence indicators, and beyond. Don't miss out! From c8eb9c3249692a6aa141f929ecff43421176abe2 Mon Sep 17 00:00:00 2001 From: Jan Thurau Date: Wed, 24 May 2023 17:52:32 +0200 Subject: [PATCH 13/30] docs/posts/1: TiptapCollab -> Tiptap Collab --- ...d-with-tiptapcollab.md => 1-get-started-with-tiptap-collab.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/posts/{1-get-started-with-tiptapcollab.md => 1-get-started-with-tiptap-collab.md} (100%) diff --git a/docs/posts/1-get-started-with-tiptapcollab.md b/docs/posts/1-get-started-with-tiptap-collab.md similarity index 100% rename from docs/posts/1-get-started-with-tiptapcollab.md rename to docs/posts/1-get-started-with-tiptap-collab.md From 220d5646cd188d88780c6035e315542ec8321a48 Mon Sep 17 00:00:00 2001 From: Jan Thurau Date: Wed, 24 May 2023 19:40:08 +0200 Subject: [PATCH 14/30] docs: tiptap collab tutorial --- .../get-started-with-tiptap-collab.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename docs/{posts/1-get-started-with-tiptap-collab.md => tutorials/get-started-with-tiptap-collab.md} (99%) diff --git a/docs/posts/1-get-started-with-tiptap-collab.md b/docs/tutorials/get-started-with-tiptap-collab.md similarity index 99% rename from docs/posts/1-get-started-with-tiptap-collab.md rename to docs/tutorials/get-started-with-tiptap-collab.md index ca7f1be29..bc1272f6a 100644 --- a/docs/posts/1-get-started-with-tiptap-collab.md +++ b/docs/tutorials/get-started-with-tiptap-collab.md @@ -55,7 +55,7 @@ To get started, let's sign up for a Tiptap Pro account, which comes with a free After you signed up, click on "Join the Beta". Just follow the instructions and you'll be set up within a few minutes. -Your app ID is shown in the collab admin interface: https://collab.tiptap.dev/ - just copy that and also already get the JWT from the settings area. It's valid for two hours, so more than enough for our quick test. We'll cover generating JWTs using your secret later.. +Your app ID is shown in the collab admin interface: https://collab.tiptap.dev/ - just copy that and also already get the JWT from the settings area. It's valid for two hours, so more than enough for our quick test. We'll cover generating JWTs using your secret later. Now, back to our application: From 87925f2b91fcd519fa65fcdd8a17b75fe5aa5748 Mon Sep 17 00:00:00 2001 From: Jan Thurau Date: Wed, 31 May 2023 22:39:18 +0200 Subject: [PATCH 15/30] docs: tutorials: adds react examples, makes it possible to add Lexical-React as a code type --- demos/setup/react.ts | 21 ++++++-- demos/setup/svelte.ts | 6 +-- demos/setup/vue.ts | 6 +-- .../src/Tutorials/1-1-textarea/React/Note.tsx | 15 ++++++ .../1-1-textarea/React}/index.html | 0 .../Tutorials/1-1-textarea/React/index.tsx | 26 ++++++++++ .../1-1-textarea/React}/styles.css | 0 .../1-1-textarea/React}/types.ts | 0 .../1-1-textarea/Vue/Note.vue | 0 .../1-1-textarea}/Vue/index.html | 0 .../1-1-textarea/Vue/index.vue | 0 .../1-1-textarea}/Vue/styles.css | 0 .../1-1-textarea}/Vue/types.ts | 0 demos/src/Tutorials/1-2-tiptap/React/Note.tsx | 31 +++++++++++ .../1-2-tiptap/React}/index.html | 0 .../src/Tutorials/1-2-tiptap/React/index.tsx | 26 ++++++++++ .../1-2-tiptap/React}/styles.css | 0 demos/src/Tutorials/1-2-tiptap/React/types.ts | 4 ++ .../1-2-tiptap/Vue/Note.vue | 0 .../1-2-tiptap}/Vue/index.html | 0 .../1-2-tiptap/Vue/index.vue | 0 .../1-2-tiptap}/Vue/styles.css | 0 demos/src/Tutorials/1-2-tiptap/Vue/types.ts | 4 ++ demos/src/Tutorials/1-3-yjs/React/Note.tsx | 35 +++++++++++++ demos/src/Tutorials/1-3-yjs/React/index.html | 0 demos/src/Tutorials/1-3-yjs/React/index.tsx | 26 ++++++++++ demos/src/Tutorials/1-3-yjs/React/styles.css | 3 ++ .../Vue => Tutorials/1-3-yjs/React}/types.ts | 0 .../{Posts => Tutorials}/1-3-yjs/Vue/Note.vue | 0 demos/src/Tutorials/1-3-yjs/Vue/index.html | 0 .../1-3-yjs/Vue/index.vue | 0 demos/src/Tutorials/1-3-yjs/Vue/styles.css | 3 ++ demos/src/Tutorials/1-3-yjs/Vue/types.ts | 4 ++ demos/src/Tutorials/1-4-collab/React/Note.tsx | 52 +++++++++++++++++++ .../src/Tutorials/1-4-collab/React/index.html | 0 .../src/Tutorials/1-4-collab/React/index.tsx | 26 ++++++++++ .../src/Tutorials/1-4-collab/React/styles.css | 3 ++ demos/src/Tutorials/1-4-collab/React/types.ts | 4 ++ .../1-4-collab/Vue/Note.vue | 0 demos/src/Tutorials/1-4-collab/Vue/index.html | 0 .../1-4-collab/Vue/index.vue | 0 demos/src/Tutorials/1-4-collab/Vue/styles.css | 3 ++ .../1-4-collab/Vue/types.ts | 0 demos/vite.config.ts | 18 +++---- docs/cloud.md | 13 +++++ docs/links.yaml | 14 +++++ docs/tutorials.md | 5 ++ .../get-started-with-tiptap-collab.md | 21 +++++--- docs/tutorials/jwt-authentication.md | 46 ++++++++++++++++ package-lock.json | 4 +- 50 files changed, 389 insertions(+), 30 deletions(-) create mode 100644 demos/src/Tutorials/1-1-textarea/React/Note.tsx rename demos/src/{Posts/1-1-textarea/Vue => Tutorials/1-1-textarea/React}/index.html (100%) create mode 100644 demos/src/Tutorials/1-1-textarea/React/index.tsx rename demos/src/{Posts/1-1-textarea/Vue => Tutorials/1-1-textarea/React}/styles.css (100%) rename demos/src/{Posts/1-1-textarea/Vue => Tutorials/1-1-textarea/React}/types.ts (100%) rename demos/src/{Posts => Tutorials}/1-1-textarea/Vue/Note.vue (100%) rename demos/src/{Posts/1-2-tiptap => Tutorials/1-1-textarea}/Vue/index.html (100%) rename demos/src/{Posts => Tutorials}/1-1-textarea/Vue/index.vue (100%) rename demos/src/{Posts/1-2-tiptap => Tutorials/1-1-textarea}/Vue/styles.css (100%) rename demos/src/{Posts/1-2-tiptap => Tutorials/1-1-textarea}/Vue/types.ts (100%) create mode 100644 demos/src/Tutorials/1-2-tiptap/React/Note.tsx rename demos/src/{Posts/1-3-yjs/Vue => Tutorials/1-2-tiptap/React}/index.html (100%) create mode 100644 demos/src/Tutorials/1-2-tiptap/React/index.tsx rename demos/src/{Posts/1-3-yjs/Vue => Tutorials/1-2-tiptap/React}/styles.css (100%) create mode 100644 demos/src/Tutorials/1-2-tiptap/React/types.ts rename demos/src/{Posts => Tutorials}/1-2-tiptap/Vue/Note.vue (100%) rename demos/src/{Posts/1-4-collab => Tutorials/1-2-tiptap}/Vue/index.html (100%) rename demos/src/{Posts => Tutorials}/1-2-tiptap/Vue/index.vue (100%) rename demos/src/{Posts/1-4-collab => Tutorials/1-2-tiptap}/Vue/styles.css (100%) create mode 100644 demos/src/Tutorials/1-2-tiptap/Vue/types.ts create mode 100644 demos/src/Tutorials/1-3-yjs/React/Note.tsx create mode 100644 demos/src/Tutorials/1-3-yjs/React/index.html create mode 100644 demos/src/Tutorials/1-3-yjs/React/index.tsx create mode 100644 demos/src/Tutorials/1-3-yjs/React/styles.css rename demos/src/{Posts/1-3-yjs/Vue => Tutorials/1-3-yjs/React}/types.ts (100%) rename demos/src/{Posts => Tutorials}/1-3-yjs/Vue/Note.vue (100%) create mode 100644 demos/src/Tutorials/1-3-yjs/Vue/index.html rename demos/src/{Posts => Tutorials}/1-3-yjs/Vue/index.vue (100%) create mode 100644 demos/src/Tutorials/1-3-yjs/Vue/styles.css create mode 100644 demos/src/Tutorials/1-3-yjs/Vue/types.ts create mode 100644 demos/src/Tutorials/1-4-collab/React/Note.tsx create mode 100644 demos/src/Tutorials/1-4-collab/React/index.html create mode 100644 demos/src/Tutorials/1-4-collab/React/index.tsx create mode 100644 demos/src/Tutorials/1-4-collab/React/styles.css create mode 100644 demos/src/Tutorials/1-4-collab/React/types.ts rename demos/src/{Posts => Tutorials}/1-4-collab/Vue/Note.vue (100%) create mode 100644 demos/src/Tutorials/1-4-collab/Vue/index.html rename demos/src/{Posts => Tutorials}/1-4-collab/Vue/index.vue (100%) create mode 100644 demos/src/Tutorials/1-4-collab/Vue/styles.css rename demos/src/{Posts => Tutorials}/1-4-collab/Vue/types.ts (100%) create mode 100644 docs/cloud.md create mode 100644 docs/tutorials.md create mode 100644 docs/tutorials/jwt-authentication.md diff --git a/demos/setup/react.ts b/demos/setup/react.ts index bf45b1507..b5e3bba40 100644 --- a/demos/setup/react.ts +++ b/demos/setup/react.ts @@ -4,22 +4,35 @@ import './style.scss' import React from 'react' import { createRoot } from 'react-dom/client' -import { debug, splitName } from './helper' +import { debug } from './helper' export default function init(name: string, source: any) { // @ts-ignore window.source = source document.title = name - const [demoCategory, demoName] = splitName(name) + const path = `../src/${name}/index` - import(`../src/${demoCategory}/${demoName}/React/index.jsx`) + import(`${path}.tsx`) .then(module => { const root = document.getElementById('app') if (root) { - createRoot(root).render(React.createElement(module.default)) + createRoot(root) + .render(React.createElement(module.default)) } debug() }) + .catch(() => { + import(`${path}.jsx`) + .then(module => { + const root = document.getElementById('app') + + if (root) { + createRoot(root) + .render(React.createElement(module.default)) + } + debug() + }) + }) } diff --git a/demos/setup/svelte.ts b/demos/setup/svelte.ts index 2332823ee..84e62fe12 100644 --- a/demos/setup/svelte.ts +++ b/demos/setup/svelte.ts @@ -1,16 +1,14 @@ import 'iframe-resizer/js/iframeResizer.contentWindow' import './style.scss' -import { debug, splitName } from './helper' +import { debug } from './helper' export default function init(name: string, source: any) { // @ts-ignore window.source = source document.title = name - const [demoCategory, demoName] = splitName(name) - - import(`../src/${demoCategory}/${demoName}/Svelte/index.svelte`) + import(`../src/${name}/index.svelte`) .then(Module => { const Component = Module.default diff --git a/demos/setup/vue.ts b/demos/setup/vue.ts index eb9aeb95b..1cfe1f2fe 100644 --- a/demos/setup/vue.ts +++ b/demos/setup/vue.ts @@ -3,16 +3,14 @@ import './style.scss' import { createApp } from 'vue' -import { debug, splitName } from './helper' +import { debug } from './helper' export default function init(name: string, source: any) { // @ts-ignore window.source = source document.title = name - const [demoCategory, demoName] = splitName(name) - - import(`../src/${demoCategory}/${demoName}/Vue/index.vue`) + import(`../src/${name}/index.vue`) .then(module => { createApp(module.default).mount('#app') debug() diff --git a/demos/src/Tutorials/1-1-textarea/React/Note.tsx b/demos/src/Tutorials/1-1-textarea/React/Note.tsx new file mode 100644 index 000000000..0b9980b10 --- /dev/null +++ b/demos/src/Tutorials/1-1-textarea/React/Note.tsx @@ -0,0 +1,15 @@ +import './styles.css' + +import React, { useState } from 'react' + +import { TNote } from './types' + +export default ({ note }: { note: TNote }) => { + const [modelValue, setModelValue] = useState(note.content) + + return ( + + ) +} diff --git a/demos/src/Posts/1-1-textarea/Vue/index.html b/demos/src/Tutorials/1-1-textarea/React/index.html similarity index 100% rename from demos/src/Posts/1-1-textarea/Vue/index.html rename to demos/src/Tutorials/1-1-textarea/React/index.html diff --git a/demos/src/Tutorials/1-1-textarea/React/index.tsx b/demos/src/Tutorials/1-1-textarea/React/index.tsx new file mode 100644 index 000000000..8a1925b02 --- /dev/null +++ b/demos/src/Tutorials/1-1-textarea/React/index.tsx @@ -0,0 +1,26 @@ +import './styles.css' + +import React from 'react' + +import Note from './Note' +import { TNote } from './types' + +const notes: TNote[] = [ + { + id: 'note-1', + content: 'some random note text', + }, + { + id: 'note-2', + content: 'some really random note text', + }, +] + +export default () => { + + return ( +
+ {notes.map(note => )} +
+ ) +} diff --git a/demos/src/Posts/1-1-textarea/Vue/styles.css b/demos/src/Tutorials/1-1-textarea/React/styles.css similarity index 100% rename from demos/src/Posts/1-1-textarea/Vue/styles.css rename to demos/src/Tutorials/1-1-textarea/React/styles.css diff --git a/demos/src/Posts/1-1-textarea/Vue/types.ts b/demos/src/Tutorials/1-1-textarea/React/types.ts similarity index 100% rename from demos/src/Posts/1-1-textarea/Vue/types.ts rename to demos/src/Tutorials/1-1-textarea/React/types.ts diff --git a/demos/src/Posts/1-1-textarea/Vue/Note.vue b/demos/src/Tutorials/1-1-textarea/Vue/Note.vue similarity index 100% rename from demos/src/Posts/1-1-textarea/Vue/Note.vue rename to demos/src/Tutorials/1-1-textarea/Vue/Note.vue diff --git a/demos/src/Posts/1-2-tiptap/Vue/index.html b/demos/src/Tutorials/1-1-textarea/Vue/index.html similarity index 100% rename from demos/src/Posts/1-2-tiptap/Vue/index.html rename to demos/src/Tutorials/1-1-textarea/Vue/index.html diff --git a/demos/src/Posts/1-1-textarea/Vue/index.vue b/demos/src/Tutorials/1-1-textarea/Vue/index.vue similarity index 100% rename from demos/src/Posts/1-1-textarea/Vue/index.vue rename to demos/src/Tutorials/1-1-textarea/Vue/index.vue diff --git a/demos/src/Posts/1-2-tiptap/Vue/styles.css b/demos/src/Tutorials/1-1-textarea/Vue/styles.css similarity index 100% rename from demos/src/Posts/1-2-tiptap/Vue/styles.css rename to demos/src/Tutorials/1-1-textarea/Vue/styles.css diff --git a/demos/src/Posts/1-2-tiptap/Vue/types.ts b/demos/src/Tutorials/1-1-textarea/Vue/types.ts similarity index 100% rename from demos/src/Posts/1-2-tiptap/Vue/types.ts rename to demos/src/Tutorials/1-1-textarea/Vue/types.ts diff --git a/demos/src/Tutorials/1-2-tiptap/React/Note.tsx b/demos/src/Tutorials/1-2-tiptap/React/Note.tsx new file mode 100644 index 000000000..0cd8a1779 --- /dev/null +++ b/demos/src/Tutorials/1-2-tiptap/React/Note.tsx @@ -0,0 +1,31 @@ +import './styles.css' + +import { EditorContent, useEditor } from '@tiptap/react' +import { StarterKit } from '@tiptap/starter-kit' +import React, { useState } from 'react' + +import { TNote } from './types' + +export default ({ note }: { note: TNote }) => { + const [modelValue, setModelValue] = useState(note.content) + + const editor = useEditor({ + content: modelValue, + editorProps: { + attributes: { + class: 'm-2 p-2 border border-black rounded-lg', + }, + }, + onUpdate() { + setModelValue(editor?.getText() ?? '') + }, + extensions: [ + StarterKit, + ], + }) + + return ( + // @ts-ignore + + ) +} diff --git a/demos/src/Posts/1-3-yjs/Vue/index.html b/demos/src/Tutorials/1-2-tiptap/React/index.html similarity index 100% rename from demos/src/Posts/1-3-yjs/Vue/index.html rename to demos/src/Tutorials/1-2-tiptap/React/index.html diff --git a/demos/src/Tutorials/1-2-tiptap/React/index.tsx b/demos/src/Tutorials/1-2-tiptap/React/index.tsx new file mode 100644 index 000000000..8a1925b02 --- /dev/null +++ b/demos/src/Tutorials/1-2-tiptap/React/index.tsx @@ -0,0 +1,26 @@ +import './styles.css' + +import React from 'react' + +import Note from './Note' +import { TNote } from './types' + +const notes: TNote[] = [ + { + id: 'note-1', + content: 'some random note text', + }, + { + id: 'note-2', + content: 'some really random note text', + }, +] + +export default () => { + + return ( +
+ {notes.map(note => )} +
+ ) +} diff --git a/demos/src/Posts/1-3-yjs/Vue/styles.css b/demos/src/Tutorials/1-2-tiptap/React/styles.css similarity index 100% rename from demos/src/Posts/1-3-yjs/Vue/styles.css rename to demos/src/Tutorials/1-2-tiptap/React/styles.css diff --git a/demos/src/Tutorials/1-2-tiptap/React/types.ts b/demos/src/Tutorials/1-2-tiptap/React/types.ts new file mode 100644 index 000000000..9d53cf575 --- /dev/null +++ b/demos/src/Tutorials/1-2-tiptap/React/types.ts @@ -0,0 +1,4 @@ +export type TNote = { + id: string; + content: string; +}; diff --git a/demos/src/Posts/1-2-tiptap/Vue/Note.vue b/demos/src/Tutorials/1-2-tiptap/Vue/Note.vue similarity index 100% rename from demos/src/Posts/1-2-tiptap/Vue/Note.vue rename to demos/src/Tutorials/1-2-tiptap/Vue/Note.vue diff --git a/demos/src/Posts/1-4-collab/Vue/index.html b/demos/src/Tutorials/1-2-tiptap/Vue/index.html similarity index 100% rename from demos/src/Posts/1-4-collab/Vue/index.html rename to demos/src/Tutorials/1-2-tiptap/Vue/index.html diff --git a/demos/src/Posts/1-2-tiptap/Vue/index.vue b/demos/src/Tutorials/1-2-tiptap/Vue/index.vue similarity index 100% rename from demos/src/Posts/1-2-tiptap/Vue/index.vue rename to demos/src/Tutorials/1-2-tiptap/Vue/index.vue diff --git a/demos/src/Posts/1-4-collab/Vue/styles.css b/demos/src/Tutorials/1-2-tiptap/Vue/styles.css similarity index 100% rename from demos/src/Posts/1-4-collab/Vue/styles.css rename to demos/src/Tutorials/1-2-tiptap/Vue/styles.css diff --git a/demos/src/Tutorials/1-2-tiptap/Vue/types.ts b/demos/src/Tutorials/1-2-tiptap/Vue/types.ts new file mode 100644 index 000000000..9d53cf575 --- /dev/null +++ b/demos/src/Tutorials/1-2-tiptap/Vue/types.ts @@ -0,0 +1,4 @@ +export type TNote = { + id: string; + content: string; +}; diff --git a/demos/src/Tutorials/1-3-yjs/React/Note.tsx b/demos/src/Tutorials/1-3-yjs/React/Note.tsx new file mode 100644 index 000000000..1f2d49f08 --- /dev/null +++ b/demos/src/Tutorials/1-3-yjs/React/Note.tsx @@ -0,0 +1,35 @@ +import './styles.css' + +import { Collaboration } from '@tiptap/extension-collaboration' +import { EditorContent, useEditor } from '@tiptap/react' +import { StarterKit } from '@tiptap/starter-kit' +import React from 'react' +import * as Y from 'yjs' + +import { TNote } from './types' + +export default ({ note }: { note: TNote }) => { + const doc = new Y.Doc() + + const editor = useEditor({ + content: note.defaultContent, + editorProps: { + attributes: { + class: 'm-2 p-2 border border-black rounded-lg', + }, + }, + extensions: [ + StarterKit.configure({ + history: false, // important because history will now be handled by Y.js + }), + Collaboration.configure({ + document: doc, + }), + ], + }) + + return ( + // @ts-ignore + + ) +} diff --git a/demos/src/Tutorials/1-3-yjs/React/index.html b/demos/src/Tutorials/1-3-yjs/React/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/demos/src/Tutorials/1-3-yjs/React/index.tsx b/demos/src/Tutorials/1-3-yjs/React/index.tsx new file mode 100644 index 000000000..61dbcf2e5 --- /dev/null +++ b/demos/src/Tutorials/1-3-yjs/React/index.tsx @@ -0,0 +1,26 @@ +import './styles.css' + +import React from 'react' + +import Note from './Note' +import { TNote } from './types' + +const notes: TNote[] = [ + { + id: 'note-1', + defaultContent: 'some random note text', + }, + { + id: 'note-2', + defaultContent: 'some really random note text', + }, +] + +export default () => { + + return ( +
+ {notes.map(note => )} +
+ ) +} diff --git a/demos/src/Tutorials/1-3-yjs/React/styles.css b/demos/src/Tutorials/1-3-yjs/React/styles.css new file mode 100644 index 000000000..76fcadcc0 --- /dev/null +++ b/demos/src/Tutorials/1-3-yjs/React/styles.css @@ -0,0 +1,3 @@ +@import "tailwindcss/base"; +@import "tailwindcss/components"; +@import "tailwindcss/utilities"; diff --git a/demos/src/Posts/1-3-yjs/Vue/types.ts b/demos/src/Tutorials/1-3-yjs/React/types.ts similarity index 100% rename from demos/src/Posts/1-3-yjs/Vue/types.ts rename to demos/src/Tutorials/1-3-yjs/React/types.ts diff --git a/demos/src/Posts/1-3-yjs/Vue/Note.vue b/demos/src/Tutorials/1-3-yjs/Vue/Note.vue similarity index 100% rename from demos/src/Posts/1-3-yjs/Vue/Note.vue rename to demos/src/Tutorials/1-3-yjs/Vue/Note.vue diff --git a/demos/src/Tutorials/1-3-yjs/Vue/index.html b/demos/src/Tutorials/1-3-yjs/Vue/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/demos/src/Posts/1-3-yjs/Vue/index.vue b/demos/src/Tutorials/1-3-yjs/Vue/index.vue similarity index 100% rename from demos/src/Posts/1-3-yjs/Vue/index.vue rename to demos/src/Tutorials/1-3-yjs/Vue/index.vue diff --git a/demos/src/Tutorials/1-3-yjs/Vue/styles.css b/demos/src/Tutorials/1-3-yjs/Vue/styles.css new file mode 100644 index 000000000..76fcadcc0 --- /dev/null +++ b/demos/src/Tutorials/1-3-yjs/Vue/styles.css @@ -0,0 +1,3 @@ +@import "tailwindcss/base"; +@import "tailwindcss/components"; +@import "tailwindcss/utilities"; diff --git a/demos/src/Tutorials/1-3-yjs/Vue/types.ts b/demos/src/Tutorials/1-3-yjs/Vue/types.ts new file mode 100644 index 000000000..bbe4cfa95 --- /dev/null +++ b/demos/src/Tutorials/1-3-yjs/Vue/types.ts @@ -0,0 +1,4 @@ +export type TNote = { + id: string; + defaultContent: string; +}; diff --git a/demos/src/Tutorials/1-4-collab/React/Note.tsx b/demos/src/Tutorials/1-4-collab/React/Note.tsx new file mode 100644 index 000000000..2d7b72317 --- /dev/null +++ b/demos/src/Tutorials/1-4-collab/React/Note.tsx @@ -0,0 +1,52 @@ +import './styles.css' + +import { TiptapCollabProvider } from '@hocuspocus/provider' +import { Collaboration } from '@tiptap/extension-collaboration' +import { EditorContent, useEditor } from '@tiptap/react' +import { StarterKit } from '@tiptap/starter-kit' +import React, { useEffect } from 'react' +import * as Y from 'yjs' + +import { TNote } from './types' + +export default ({ note }: { note: TNote }) => { + const doc = new Y.Doc() + + useEffect(() => { + const provider = new TiptapCollabProvider({ + name: note.id, // any identifier - all connections sharing the same identifier will be synced + appId: '7j9y6m10', // replace with YOUR_APP_ID + token: 'notoken', // replace with your JWT + document: doc, + }) + + return () => { + provider.destroy() + } + }, []) + + const editor = useEditor({ + // make sure that you don't use `content` property anymore! + // If you want to add default content, feel free to just write text to the tiptap editor (i.e. editor.setContent (https://tiptap.dev/api/commands/set-content), but make sure that + // you do this only once per document, otherwise the content will + // be added again, and again, and again .. + editorProps: { + attributes: { + class: 'm-2 p-2 border border-black rounded-lg', + }, + }, + extensions: [ + StarterKit.configure({ + history: false, // important because history will now be handled by Y.js + }), + Collaboration.configure({ + document: doc, + }), + ], + }) + + return ( + // @ts-ignore + + ) +} diff --git a/demos/src/Tutorials/1-4-collab/React/index.html b/demos/src/Tutorials/1-4-collab/React/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/demos/src/Tutorials/1-4-collab/React/index.tsx b/demos/src/Tutorials/1-4-collab/React/index.tsx new file mode 100644 index 000000000..61dbcf2e5 --- /dev/null +++ b/demos/src/Tutorials/1-4-collab/React/index.tsx @@ -0,0 +1,26 @@ +import './styles.css' + +import React from 'react' + +import Note from './Note' +import { TNote } from './types' + +const notes: TNote[] = [ + { + id: 'note-1', + defaultContent: 'some random note text', + }, + { + id: 'note-2', + defaultContent: 'some really random note text', + }, +] + +export default () => { + + return ( +
+ {notes.map(note => )} +
+ ) +} diff --git a/demos/src/Tutorials/1-4-collab/React/styles.css b/demos/src/Tutorials/1-4-collab/React/styles.css new file mode 100644 index 000000000..76fcadcc0 --- /dev/null +++ b/demos/src/Tutorials/1-4-collab/React/styles.css @@ -0,0 +1,3 @@ +@import "tailwindcss/base"; +@import "tailwindcss/components"; +@import "tailwindcss/utilities"; diff --git a/demos/src/Tutorials/1-4-collab/React/types.ts b/demos/src/Tutorials/1-4-collab/React/types.ts new file mode 100644 index 000000000..bbe4cfa95 --- /dev/null +++ b/demos/src/Tutorials/1-4-collab/React/types.ts @@ -0,0 +1,4 @@ +export type TNote = { + id: string; + defaultContent: string; +}; diff --git a/demos/src/Posts/1-4-collab/Vue/Note.vue b/demos/src/Tutorials/1-4-collab/Vue/Note.vue similarity index 100% rename from demos/src/Posts/1-4-collab/Vue/Note.vue rename to demos/src/Tutorials/1-4-collab/Vue/Note.vue diff --git a/demos/src/Tutorials/1-4-collab/Vue/index.html b/demos/src/Tutorials/1-4-collab/Vue/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/demos/src/Posts/1-4-collab/Vue/index.vue b/demos/src/Tutorials/1-4-collab/Vue/index.vue similarity index 100% rename from demos/src/Posts/1-4-collab/Vue/index.vue rename to demos/src/Tutorials/1-4-collab/Vue/index.vue diff --git a/demos/src/Tutorials/1-4-collab/Vue/styles.css b/demos/src/Tutorials/1-4-collab/Vue/styles.css new file mode 100644 index 000000000..76fcadcc0 --- /dev/null +++ b/demos/src/Tutorials/1-4-collab/Vue/styles.css @@ -0,0 +1,3 @@ +@import "tailwindcss/base"; +@import "tailwindcss/components"; +@import "tailwindcss/utilities"; diff --git a/demos/src/Posts/1-4-collab/Vue/types.ts b/demos/src/Tutorials/1-4-collab/Vue/types.ts similarity index 100% rename from demos/src/Posts/1-4-collab/Vue/types.ts rename to demos/src/Tutorials/1-4-collab/Vue/types.ts diff --git a/demos/vite.config.ts b/demos/vite.config.ts index f198a550b..98c035e71 100644 --- a/demos/vite.config.ts +++ b/demos/vite.config.ts @@ -70,10 +70,8 @@ export default defineConfig({ transform(html: string, context) { const dir = dirname(context.path) const data = dir.split('/') - const demoCategory = data[2] - const demoName = data[3] - if (dir.endsWith('/JS')) { + if (dir.endsWith('/JS') || dir.endsWith('-JS')) { return { html: ` @@ -87,7 +85,7 @@ export default defineConfig({ @@ -96,7 +94,7 @@ export default defineConfig({ } } - if (dir.endsWith('/Vue')) { + if (dir.endsWith('/Vue') || dir.endsWith('-Vue')) { return { html: ` @@ -110,7 +108,7 @@ export default defineConfig({ @@ -119,7 +117,7 @@ export default defineConfig({ } } - if (dir.endsWith('/Svelte')) { + if (dir.endsWith('/Svelte') || dir.endsWith('-Svelte')) { return { html: ` @@ -133,7 +131,7 @@ export default defineConfig({ @@ -142,7 +140,7 @@ export default defineConfig({ } } - if (dir.endsWith('/React')) { + if (dir.endsWith('/React') || dir.endsWith('-React')) { return { html: ` @@ -156,7 +154,7 @@ export default defineConfig({ diff --git a/docs/cloud.md b/docs/cloud.md new file mode 100644 index 000000000..55194c48e --- /dev/null +++ b/docs/cloud.md @@ -0,0 +1,13 @@ +--- +tableOfContents: true +--- + +# Tiptap Collab + +Tiptap Collab is our hosted solution of Hocuspocus for those who don't want to maintain their own deployment. + +TODO: Maybe remove Cloud from hocuspocus docs, or keep the link but redirect to tiptap.dev/cloud? + +:::warning Pro Feature +To get started, you need a Tiptap Pro account ([sign up / login here](https://tiptap.dev/pro)). +::: diff --git a/docs/links.yaml b/docs/links.yaml index 9275d105a..db2cf94f5 100644 --- a/docs/links.yaml +++ b/docs/links.yaml @@ -115,6 +115,20 @@ - title: Jobs link: /jobs +- title: Tiptap Collab + items: + - title: Cloud + link: /cloud + type: new + - title: Tutorials + link: /tutorials + type: new + items: + - title: Getting Started + link: /tutorials/get-started-with-tiptap-collab + - title: JWT Authentication + link: /tutorials/jwt-authentication + - title: Guide items: - title: Configuration diff --git a/docs/tutorials.md b/docs/tutorials.md new file mode 100644 index 000000000..c9faa75db --- /dev/null +++ b/docs/tutorials.md @@ -0,0 +1,5 @@ +--- +tableOfContents: true +--- + +# Introduction diff --git a/docs/tutorials/get-started-with-tiptap-collab.md b/docs/tutorials/get-started-with-tiptap-collab.md index bc1272f6a..6a3b98ae6 100644 --- a/docs/tutorials/get-started-with-tiptap-collab.md +++ b/docs/tutorials/get-started-with-tiptap-collab.md @@ -2,13 +2,15 @@ ## Introduction -**Welcome** to the first of a series of tutorials about collaboration in Tiptap using Tiptap Collab. This series will start covering the basics, and expand to more specific use cases in the next posts. For today, we’ll start moving from a simple textarea box to a fully collaborative Tiptap editor instance. +**Welcome** to the first of a series of tutorials about collaboration in Tiptap (or Lexical, Quill, Slate, and others that have a [Yjs editor binding](https://docs.yjs.dev/ecosystem/editor-bindings)) using Tiptap Collab. This series will start covering the basics, and expand to more specific use cases in the next posts. For today, we’ll start moving from a simple textarea box to a fully collaborative editor instance. + +_For simplicity, I'm always referring to Tiptap from here, but you can switch each code sample to Lexical, Quill or Slate._ Imagine that you are building a simple sticky note app, where a user can create notes. So let's say you have a few textareas. Depending on your framework (Vue, React, ..), the code probably looks similar to this: - + ## Setting Up Tiptap @@ -18,9 +20,13 @@ You begin by importing the necessary Tiptap components and creating a new editor ```bash npm install @tiptap/vue-3 @tiptap/pm @tiptap/starter-kit +# for React: npm install @tiptap/react @tiptap/pm @tiptap/starter-kit +# for Lexical: npm install lexical @lexical/react +# for Quill: npm install quill +# for Slate: npm install slate slate-react react react-dom ``` - + Now your Note component has a fully functional Tiptap editor instance! The user can now format their text (see https://tiptap.dev/guide/menus on how to add a menu bar, in our example, you can make text bold using cmd+b). But what about collaboration? @@ -32,12 +38,15 @@ To enable collaboration, you need to add the Collaboration extension to your edi To add the Collaboration extension to your editor instance, you first need to install the `@tiptap/extension-collaboration` package: ```bash -npm install @tiptap/extension-collaboration @yjs/yjs +npm install @tiptap/extension-collaboration yjs +# for Lexical: npm install yjs +# for Quill: npm install y-quill yjs +# for Slate: npm install @slate-yjs/react yjs ``` Then, you can import the `Collaboration` extension and add it to your editor extensions: - + ok, so what have we done? @@ -66,7 +75,7 @@ npm install @hocuspocus/provider Let's now create the TiptapCollabProvider to finally get syncing: - + And that's it! With these changes, our Tiptap note-taking application is now fully collaborative. Notes will get synced to other users in realtime. diff --git a/docs/tutorials/jwt-authentication.md b/docs/tutorials/jwt-authentication.md new file mode 100644 index 000000000..67bb24ce5 --- /dev/null +++ b/docs/tutorials/jwt-authentication.md @@ -0,0 +1,46 @@ +# JWT authentication with Tiptap Collab + +In our first tutorial, we've gone from a simple textarea to a fully collaborative Tiptap editor instance. +However, the JWT that is given by Tiptap Collab is valid for just a few hours, which is enough for testing, +but certainly not enough for a real live application. + +## What is a JWT + +In a short explanation, a JWT (JSON Web Token) is a json object that is cryptographically signed, which means a generated JWT cannot be altered. + +## How to generate a JWT + +The JWT **must** be generated on the server side, as your `secret` **must not** leave your server (i.e. don't even try to generate the JWT on the frontend). +You can use the following snippet on a NodeJS server and build an API around it. + +```typescript +import jsonwebtoken from 'jsonwebtoken' + +const jwt = jsonwebtoken.sign({ /* object to be encoded in the JWT */ }, 'your_secret') +// this JWT should be sent in the `token` field of the provider. Never expose 'your_secret' to a frontend! +``` + +A full server / API example is available [here](https://github.com/ueberdosis/tiptap-collab-replit/blob/main/src/server-collab.ts). +Make sure to put the `secret` inside the server environment variable (or just make it a constant in the server file, don't transfer it from the client). +You probably want to create an API call like `GET /getCollabToken` which will generate the JWT based on the server secret and the list of documents that the user is allowed to access. + +## How to limit access to specific documents + +Documents can only be accessed by knowing the exact document name, as there is no way to get a list of documents from TiptapCollab. +Thus, it's a good practice to name them like `userUuid/documentUuid` (i.e. `1500c624-8f9f-496a-b196-5e5dd8ec3c25/7865975c-38d0-4bb5-846b-df909cdc66d3`), which +already makes it impossible to open random documents by guessing the name. + +If you want to further limit which documents can be accessed using which JWT, you can encode the `allowedDocumentNames` property in the JWT, as in the following +example. The created JWT will only allow access to the document(s) specified. + +```typescript +import jsonwebtoken from 'jsonwebtoken' + +const jwt = jsonwebtoken.sign({ + allowedDocumentNames: [ + '1500c624-8f9f-496a-b196-5e5dd8ec3c25/7865975c-38d0-4bb5-846b-df909cdc66d3', // userUuid/documentUuid + '1500c624-8f9f-496a-b196-5e5dd8ec3c25/*' // userUuid/* + ] +}, 'your_secret') +// this JWT should be sent in the `token` field of the provider. Never expose 'your_secret' to a frontend! +``` diff --git a/package-lock.json b/package-lock.json index 15e0ef631..5c72290b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31812,7 +31812,7 @@ "@types/uuid": "^8.3.4", "@vitejs/plugin-react": "^1.3.1", "@vitejs/plugin-vue": "^1.10.2", - "autoprefixer": "10.4.14", + "autoprefixer": "^10.4.14", "d3": "^7.3.0", "fast-glob": "^3.2.11", "highlight.js": "^11.6.0", @@ -31827,7 +31827,7 @@ "shiki": "^0.10.0", "simplify-js": "^1.2.4", "svelte": "^3.49.0", - "tailwindcss": "3.3.2", + "tailwindcss": "^3.3.2", "typescript": "4.7.4", "uuid": "^8.3.2", "vite": "^2.9.13", From 89bce5e650476f7d86d62f7583999cb0f4c5ca3f Mon Sep 17 00:00:00 2001 From: Jan Thurau Date: Thu, 1 Jun 2023 18:21:47 +0200 Subject: [PATCH 16/30] WIP: trying to fix prod builds, adds first lexical example --- demos/package.json | 2 + demos/setup/helper.ts | 2 +- demos/setup/react.ts | 8 +- demos/setup/svelte.ts | 6 +- demos/setup/vue.ts | 6 +- .../1-2-tiptap/Lexical-React/Note.tsx | 36 ++ .../1-2-tiptap/Lexical-React/index.html | 0 .../1-2-tiptap/Lexical-React/index.tsx | 26 + .../1-2-tiptap/Lexical-React/styles.css | 3 + .../1-2-tiptap/Lexical-React/types.ts | 4 + demos/vite.config.ts | 12 +- package-lock.json | 472 +++++++++++++++++- 12 files changed, 553 insertions(+), 24 deletions(-) create mode 100644 demos/src/Tutorials/1-2-tiptap/Lexical-React/Note.tsx create mode 100644 demos/src/Tutorials/1-2-tiptap/Lexical-React/index.html create mode 100644 demos/src/Tutorials/1-2-tiptap/Lexical-React/index.tsx create mode 100644 demos/src/Tutorials/1-2-tiptap/Lexical-React/styles.css create mode 100644 demos/src/Tutorials/1-2-tiptap/Lexical-React/types.ts diff --git a/demos/package.json b/demos/package.json index f7814b122..76875787a 100644 --- a/demos/package.json +++ b/demos/package.json @@ -10,9 +10,11 @@ }, "dependencies": { "@hocuspocus/provider": "^2.0.1", + "@lexical/react": "^0.11.1", "d3": "^7.3.0", "fast-glob": "^3.2.11", "highlight.js": "^11.6.0", + "lexical": "^0.11.1", "lowlight": "^2.7.0", "remixicon": "^2.5.0", "shiki": "^0.10.0", diff --git a/demos/setup/helper.ts b/demos/setup/helper.ts index e9e07e4dc..ee7af5cfd 100644 --- a/demos/setup/helper.ts +++ b/demos/setup/helper.ts @@ -17,7 +17,7 @@ const sendData = (eventName: string, data: any) => { export function splitName(name: string) { const parts = name.split('/') - if (parts.length !== 2) { + if (parts.length !== 3) { throw Error('Demos must always be within exactly one category. Nested categories are not supported.') } diff --git a/demos/setup/react.ts b/demos/setup/react.ts index b5e3bba40..40661dcd2 100644 --- a/demos/setup/react.ts +++ b/demos/setup/react.ts @@ -4,16 +4,16 @@ import './style.scss' import React from 'react' import { createRoot } from 'react-dom/client' -import { debug } from './helper' +import { debug, splitName } from './helper' export default function init(name: string, source: any) { // @ts-ignore window.source = source document.title = name - const path = `../src/${name}/index` + const [demoCategory, demoName, frameworkName] = splitName(name) - import(`${path}.tsx`) + import(`../src/${demoCategory}/${demoName}/${frameworkName}/index.tsx`) .then(module => { const root = document.getElementById('app') @@ -24,7 +24,7 @@ export default function init(name: string, source: any) { debug() }) .catch(() => { - import(`${path}.jsx`) + import(`../src/${demoCategory}/${demoName}/${frameworkName}/index.jsx`) .then(module => { const root = document.getElementById('app') diff --git a/demos/setup/svelte.ts b/demos/setup/svelte.ts index 84e62fe12..f9cc28d52 100644 --- a/demos/setup/svelte.ts +++ b/demos/setup/svelte.ts @@ -1,14 +1,16 @@ import 'iframe-resizer/js/iframeResizer.contentWindow' import './style.scss' -import { debug } from './helper' +import { debug, splitName } from './helper' export default function init(name: string, source: any) { // @ts-ignore window.source = source document.title = name - import(`../src/${name}/index.svelte`) + const [demoCategory, demoName, frameworkName] = splitName(name) + + import(`../src/${demoCategory}/${demoName}/${frameworkName}/index.svelte`) .then(Module => { const Component = Module.default diff --git a/demos/setup/vue.ts b/demos/setup/vue.ts index 1cfe1f2fe..8346a48dd 100644 --- a/demos/setup/vue.ts +++ b/demos/setup/vue.ts @@ -3,14 +3,16 @@ import './style.scss' import { createApp } from 'vue' -import { debug } from './helper' +import { debug, splitName } from './helper' export default function init(name: string, source: any) { // @ts-ignore window.source = source document.title = name - import(`../src/${name}/index.vue`) + const [demoCategory, demoName, frameworkName] = splitName(name) + + import(`../src/${demoCategory}/${demoName}/${frameworkName}/index.vue`) .then(module => { createApp(module.default).mount('#app') debug() diff --git a/demos/src/Tutorials/1-2-tiptap/Lexical-React/Note.tsx b/demos/src/Tutorials/1-2-tiptap/Lexical-React/Note.tsx new file mode 100644 index 000000000..a1f5470d0 --- /dev/null +++ b/demos/src/Tutorials/1-2-tiptap/Lexical-React/Note.tsx @@ -0,0 +1,36 @@ +import './styles.css' + +import { InitialConfigType, LexicalComposer } from '@lexical/react/LexicalComposer' +import { ContentEditable } from '@lexical/react/LexicalContentEditable' +import LexicalErrorBoundary from '@lexical/react/LexicalErrorBoundary' +import { HistoryPlugin } from '@lexical/react/LexicalHistoryPlugin' +import { OnChangePlugin } from '@lexical/react/LexicalOnChangePlugin' +import { RichTextPlugin } from '@lexical/react/LexicalRichTextPlugin' +import { EditorState } from 'lexical/LexicalEditorState' +import React, { useRef } from 'react' + +import { TNote } from './types' + +export default ({ note }: { note: TNote }) => { + const editorStateRef = useRef() + + const initialConfig: InitialConfigType = { + onError(error: Error): void { + throw error + }, + namespace: 'myeditor', + editable: true, + } + + return ( + + } + placeholder={

{note.content}

} + ErrorBoundary={LexicalErrorBoundary} + /> + + editorStateRef.current = editorState}/> +
+ ) +} diff --git a/demos/src/Tutorials/1-2-tiptap/Lexical-React/index.html b/demos/src/Tutorials/1-2-tiptap/Lexical-React/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/demos/src/Tutorials/1-2-tiptap/Lexical-React/index.tsx b/demos/src/Tutorials/1-2-tiptap/Lexical-React/index.tsx new file mode 100644 index 000000000..8a1925b02 --- /dev/null +++ b/demos/src/Tutorials/1-2-tiptap/Lexical-React/index.tsx @@ -0,0 +1,26 @@ +import './styles.css' + +import React from 'react' + +import Note from './Note' +import { TNote } from './types' + +const notes: TNote[] = [ + { + id: 'note-1', + content: 'some random note text', + }, + { + id: 'note-2', + content: 'some really random note text', + }, +] + +export default () => { + + return ( +
+ {notes.map(note => )} +
+ ) +} diff --git a/demos/src/Tutorials/1-2-tiptap/Lexical-React/styles.css b/demos/src/Tutorials/1-2-tiptap/Lexical-React/styles.css new file mode 100644 index 000000000..76fcadcc0 --- /dev/null +++ b/demos/src/Tutorials/1-2-tiptap/Lexical-React/styles.css @@ -0,0 +1,3 @@ +@import "tailwindcss/base"; +@import "tailwindcss/components"; +@import "tailwindcss/utilities"; diff --git a/demos/src/Tutorials/1-2-tiptap/Lexical-React/types.ts b/demos/src/Tutorials/1-2-tiptap/Lexical-React/types.ts new file mode 100644 index 000000000..9d53cf575 --- /dev/null +++ b/demos/src/Tutorials/1-2-tiptap/Lexical-React/types.ts @@ -0,0 +1,4 @@ +export type TNote = { + id: string; + content: string; +}; diff --git a/demos/vite.config.ts b/demos/vite.config.ts index 98c035e71..1349df9d5 100644 --- a/demos/vite.config.ts +++ b/demos/vite.config.ts @@ -71,6 +71,10 @@ export default defineConfig({ const dir = dirname(context.path) const data = dir.split('/') + const demoCategory = data[2] + const demoName = data[3] + const frameworkName = data[4] + if (dir.endsWith('/JS') || dir.endsWith('-JS')) { return { html: ` @@ -85,7 +89,7 @@ export default defineConfig({ @@ -108,7 +112,7 @@ export default defineConfig({ @@ -131,7 +135,7 @@ export default defineConfig({ @@ -154,7 +158,7 @@ export default defineConfig({ diff --git a/package-lock.json b/package-lock.json index 5c72290b8..5ad8fb972 100644 --- a/package-lock.json +++ b/package-lock.json @@ -53,9 +53,11 @@ "version": "2.0.3", "dependencies": { "@hocuspocus/provider": "^2.0.1", + "@lexical/react": "^0.11.1", "d3": "^7.3.0", "fast-glob": "^3.2.11", "highlight.js": "^11.6.0", + "lexical": "^0.11.1", "lowlight": "^2.7.0", "remixicon": "^2.5.0", "shiki": "^0.10.0", @@ -5470,6 +5472,242 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/@lexical/clipboard": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/clipboard/-/clipboard-0.11.1.tgz", + "integrity": "sha512-xwesC2BMv+/ZF0DRMaTPHr4hrnaEbqsfkL1MG+xtqHZOM+paavXqEYp2Uh4WEAaSsmkIFWbrxP1Kraq9O8EZbw==", + "dependencies": { + "@lexical/html": "0.11.1", + "@lexical/list": "0.11.1", + "@lexical/selection": "0.11.1", + "@lexical/utils": "0.11.1" + }, + "peerDependencies": { + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/code": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/code/-/code-0.11.1.tgz", + "integrity": "sha512-6XIclSRdPI3E6QtM0sVvip4M5xSvbghoyUnG0hiGjYv5py73748VrRnkr1JF0narSXeKSLKKe4j7IssTaKYS0A==", + "dependencies": { + "@lexical/utils": "0.11.1", + "prismjs": "^1.27.0" + }, + "peerDependencies": { + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/dragon": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/dragon/-/dragon-0.11.1.tgz", + "integrity": "sha512-Yg4lsaHgHdgxMFdz8bapfPHXevxk5rgegleJxsmx/c59+MLG7/R7h1ZIVRoZesIhlYF1rvvZHuWzQCJRqleCrQ==", + "peerDependencies": { + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/hashtag": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/hashtag/-/hashtag-0.11.1.tgz", + "integrity": "sha512-DcAhrVmJ7pJ49z3oGkA8kd+oPtgglsoM89GkBTOOTh0hF8f2y0xpsaRVY/+YnOn7mxE3SAC2DDVh5txqOzZ1HQ==", + "dependencies": { + "@lexical/utils": "0.11.1" + }, + "peerDependencies": { + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/history": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/history/-/history-0.11.1.tgz", + "integrity": "sha512-JDwTb3GvD3GwIsAekdSLSZkKKA9iGVwt/ncnf75hKC19dLogsRmFqlT7gvZGnYmX8QlYhKTb3wyUQsn7Iax3qA==", + "dependencies": { + "@lexical/utils": "0.11.1" + }, + "peerDependencies": { + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/html": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/html/-/html-0.11.1.tgz", + "integrity": "sha512-tkXPpJCM73VwMynnWwZPqdL8gN9ydGtJsPz28Q1m5P3WD6sFERwCasJxYyMPCcL3KfGQ6a0WZCCEtnyUn7VQkg==", + "dependencies": { + "@lexical/selection": "0.11.1" + }, + "peerDependencies": { + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/link": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/link/-/link-0.11.1.tgz", + "integrity": "sha512-eEVZfSvdYKyjv5g35Rm50y+gglg4d5hgjiWuHzynT6XknU1VmR/WknEdSQybPK9vo2E2qf3qURyp1oAUaAPVjw==", + "dependencies": { + "@lexical/utils": "0.11.1" + }, + "peerDependencies": { + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/list": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/list/-/list-0.11.1.tgz", + "integrity": "sha512-gONvM0q0eyA7yaSQ9WnoVs0riUrgilqVS4mdXDu3UKlr0hcDfJICEZO8ooorFu9yRkNzp8HRIkGByW6oQBa1cQ==", + "dependencies": { + "@lexical/utils": "0.11.1" + }, + "peerDependencies": { + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/mark": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/mark/-/mark-0.11.1.tgz", + "integrity": "sha512-HA9XTrfXFmipxsFbtDTN8uQl7v9EPm40C4LgJKc2PFV7uNXnz/KF6FE5Gwe/iz/ueMF0EH288t7w3J2KuHbFkQ==", + "dependencies": { + "@lexical/utils": "0.11.1" + }, + "peerDependencies": { + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/markdown": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/markdown/-/markdown-0.11.1.tgz", + "integrity": "sha512-yk8q2808PJrW7yT5ym/4j78lkNCdi/rWmbZN49tNtetWClddHPEYifdOfuSsf2aAOx65/23B7zHs87BuyzXWFw==", + "dependencies": { + "@lexical/code": "0.11.1", + "@lexical/link": "0.11.1", + "@lexical/list": "0.11.1", + "@lexical/rich-text": "0.11.1", + "@lexical/text": "0.11.1", + "@lexical/utils": "0.11.1" + }, + "peerDependencies": { + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/offset": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/offset/-/offset-0.11.1.tgz", + "integrity": "sha512-x6ERzo1cHoL9tcetpomqnf52EJ8f/wAF4vnEbJ9k/BRAZJQBc3UX/WYx+IyycxCBVeh3mxOhjZHqesYCvPFTRw==", + "peerDependencies": { + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/overflow": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/overflow/-/overflow-0.11.1.tgz", + "integrity": "sha512-mx99fWfGjbr6Va/jPgsagUJzYzC0WV7us43HYk98XSJJpz/dPapNyRUARJrSinv/iu47HkA1X4Kvgd6LqbIvxA==", + "peerDependencies": { + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/plain-text": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/plain-text/-/plain-text-0.11.1.tgz", + "integrity": "sha512-G4OlqDTPWR2S58ONzEtyJW0XvTh0M46mhCzldrvJatcOUNrnCqL9ZeL3LSld/IRz8T4sjCRD6E1QjAFy51DUxg==", + "peerDependencies": { + "@lexical/clipboard": "0.11.1", + "@lexical/selection": "0.11.1", + "@lexical/utils": "0.11.1", + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/react": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/react/-/react-0.11.1.tgz", + "integrity": "sha512-iXZusD0Z+eqttuh8s58ZP3H+tn0V1JYOay/Xo3y6/N+UXJ3NpBfVXRQB97cY/861jezMgbmvcjXuhH/rlKCvSg==", + "dependencies": { + "@lexical/clipboard": "0.11.1", + "@lexical/code": "0.11.1", + "@lexical/dragon": "0.11.1", + "@lexical/hashtag": "0.11.1", + "@lexical/history": "0.11.1", + "@lexical/link": "0.11.1", + "@lexical/list": "0.11.1", + "@lexical/mark": "0.11.1", + "@lexical/markdown": "0.11.1", + "@lexical/overflow": "0.11.1", + "@lexical/plain-text": "0.11.1", + "@lexical/rich-text": "0.11.1", + "@lexical/selection": "0.11.1", + "@lexical/table": "0.11.1", + "@lexical/text": "0.11.1", + "@lexical/utils": "0.11.1", + "@lexical/yjs": "0.11.1", + "react-error-boundary": "^3.1.4" + }, + "peerDependencies": { + "lexical": "0.11.1", + "react": ">=17.x", + "react-dom": ">=17.x" + } + }, + "node_modules/@lexical/rich-text": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/rich-text/-/rich-text-0.11.1.tgz", + "integrity": "sha512-cwko/7VuvHd8nuvt0GTaOxxpDpT24NnP15C0ZMJ6LVBgqKz7hOqhZZ6iAB/JOrivifF9nGBlC+jabZF75Gz3Fw==", + "peerDependencies": { + "@lexical/clipboard": "0.11.1", + "@lexical/selection": "0.11.1", + "@lexical/utils": "0.11.1", + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/selection": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/selection/-/selection-0.11.1.tgz", + "integrity": "sha512-sSiwWlu7LmxasdXAWcphtf5+ZK/6GRe3e/SAuCULfcrvYtEQrXIeyZt1IAvMxStELdQgf8vd0PzwajKcYjEM4A==", + "peerDependencies": { + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/table": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/table/-/table-0.11.1.tgz", + "integrity": "sha512-v5HNW6jk4BHFsxsr8tPhAgokWUxL/ekvIHByXnikgEXVQiG7NPXMt7PWKVdOhH4Pn+OeF/OeeqcsTSh1/I8ZKQ==", + "dependencies": { + "@lexical/utils": "0.11.1" + }, + "peerDependencies": { + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/text": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/text/-/text-0.11.1.tgz", + "integrity": "sha512-TQ9vb24sStMicnJaGT9U6yUCVXTIVFHAzt5cMPtr7hK6b1CsJPMTRmsM7n5vIo9xnHM9SLLe01AxwL2O7I1QKg==", + "peerDependencies": { + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/utils": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/utils/-/utils-0.11.1.tgz", + "integrity": "sha512-Sssv82m0yJgRBvShZDZnE4KNX+8O49sAI1Mc2kRKoTlSSbpmpEcrbJnz8S2bmbYcyHalP8+Id/GFziOclI3zUQ==", + "dependencies": { + "@lexical/list": "0.11.1", + "@lexical/selection": "0.11.1", + "@lexical/table": "0.11.1" + }, + "peerDependencies": { + "lexical": "0.11.1" + } + }, + "node_modules/@lexical/yjs": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/yjs/-/yjs-0.11.1.tgz", + "integrity": "sha512-69Q462s4roXN6S8mk/ogMRZNyqLY024w38RzMVvJkY/W7sz30vPNX1RyEDHvTjgBhPXQqhRgmDUPT2V3lE7dRg==", + "dependencies": { + "@lexical/offset": "0.11.1" + }, + "peerDependencies": { + "lexical": "0.11.1", + "yjs": ">=13.5.22" + } + }, "node_modules/@lifeomic/attempt": { "version": "3.0.3", "license": "MIT" @@ -12256,7 +12494,6 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "dev": true, "license": "MIT" }, "node_modules/js-yaml": { @@ -12514,6 +12751,11 @@ "node": ">= 0.8.0" } }, + "node_modules/lexical": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/lexical/-/lexical-0.11.1.tgz", + "integrity": "sha512-PhAGADxqzwJldmkVK5tvkaARTULCdeJjfhxWTnJQXTAlApE9heJir7SWxbxeUx1G5gdKZQFicGhOQlDXJmma2Q==" + }, "node_modules/lib0": { "version": "0.2.51", "license": "MIT", @@ -13403,7 +13645,6 @@ }, "node_modules/loose-envify": { "version": "1.4.0", - "dev": true, "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -15630,6 +15871,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, "node_modules/proc-log": { "version": "2.0.1", "dev": true, @@ -15941,7 +16190,6 @@ }, "node_modules/react": { "version": "18.2.0", - "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" @@ -15952,7 +16200,6 @@ }, "node_modules/react-dom": { "version": "18.2.0", - "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", @@ -15962,6 +16209,21 @@ "react": "^18.2.0" } }, + "node_modules/react-error-boundary": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", + "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "react": ">=16.13.1" + } + }, "node_modules/react-refresh": { "version": "0.13.0", "dev": true, @@ -16651,7 +16913,6 @@ }, "node_modules/scheduler": { "version": "0.23.0", - "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" @@ -23706,6 +23967,180 @@ } } }, + "@lexical/clipboard": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/clipboard/-/clipboard-0.11.1.tgz", + "integrity": "sha512-xwesC2BMv+/ZF0DRMaTPHr4hrnaEbqsfkL1MG+xtqHZOM+paavXqEYp2Uh4WEAaSsmkIFWbrxP1Kraq9O8EZbw==", + "requires": { + "@lexical/html": "0.11.1", + "@lexical/list": "0.11.1", + "@lexical/selection": "0.11.1", + "@lexical/utils": "0.11.1" + } + }, + "@lexical/code": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/code/-/code-0.11.1.tgz", + "integrity": "sha512-6XIclSRdPI3E6QtM0sVvip4M5xSvbghoyUnG0hiGjYv5py73748VrRnkr1JF0narSXeKSLKKe4j7IssTaKYS0A==", + "requires": { + "@lexical/utils": "0.11.1", + "prismjs": "^1.27.0" + } + }, + "@lexical/dragon": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/dragon/-/dragon-0.11.1.tgz", + "integrity": "sha512-Yg4lsaHgHdgxMFdz8bapfPHXevxk5rgegleJxsmx/c59+MLG7/R7h1ZIVRoZesIhlYF1rvvZHuWzQCJRqleCrQ==", + "requires": {} + }, + "@lexical/hashtag": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/hashtag/-/hashtag-0.11.1.tgz", + "integrity": "sha512-DcAhrVmJ7pJ49z3oGkA8kd+oPtgglsoM89GkBTOOTh0hF8f2y0xpsaRVY/+YnOn7mxE3SAC2DDVh5txqOzZ1HQ==", + "requires": { + "@lexical/utils": "0.11.1" + } + }, + "@lexical/history": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/history/-/history-0.11.1.tgz", + "integrity": "sha512-JDwTb3GvD3GwIsAekdSLSZkKKA9iGVwt/ncnf75hKC19dLogsRmFqlT7gvZGnYmX8QlYhKTb3wyUQsn7Iax3qA==", + "requires": { + "@lexical/utils": "0.11.1" + } + }, + "@lexical/html": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/html/-/html-0.11.1.tgz", + "integrity": "sha512-tkXPpJCM73VwMynnWwZPqdL8gN9ydGtJsPz28Q1m5P3WD6sFERwCasJxYyMPCcL3KfGQ6a0WZCCEtnyUn7VQkg==", + "requires": { + "@lexical/selection": "0.11.1" + } + }, + "@lexical/link": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/link/-/link-0.11.1.tgz", + "integrity": "sha512-eEVZfSvdYKyjv5g35Rm50y+gglg4d5hgjiWuHzynT6XknU1VmR/WknEdSQybPK9vo2E2qf3qURyp1oAUaAPVjw==", + "requires": { + "@lexical/utils": "0.11.1" + } + }, + "@lexical/list": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/list/-/list-0.11.1.tgz", + "integrity": "sha512-gONvM0q0eyA7yaSQ9WnoVs0riUrgilqVS4mdXDu3UKlr0hcDfJICEZO8ooorFu9yRkNzp8HRIkGByW6oQBa1cQ==", + "requires": { + "@lexical/utils": "0.11.1" + } + }, + "@lexical/mark": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/mark/-/mark-0.11.1.tgz", + "integrity": "sha512-HA9XTrfXFmipxsFbtDTN8uQl7v9EPm40C4LgJKc2PFV7uNXnz/KF6FE5Gwe/iz/ueMF0EH288t7w3J2KuHbFkQ==", + "requires": { + "@lexical/utils": "0.11.1" + } + }, + "@lexical/markdown": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/markdown/-/markdown-0.11.1.tgz", + "integrity": "sha512-yk8q2808PJrW7yT5ym/4j78lkNCdi/rWmbZN49tNtetWClddHPEYifdOfuSsf2aAOx65/23B7zHs87BuyzXWFw==", + "requires": { + "@lexical/code": "0.11.1", + "@lexical/link": "0.11.1", + "@lexical/list": "0.11.1", + "@lexical/rich-text": "0.11.1", + "@lexical/text": "0.11.1", + "@lexical/utils": "0.11.1" + } + }, + "@lexical/offset": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/offset/-/offset-0.11.1.tgz", + "integrity": "sha512-x6ERzo1cHoL9tcetpomqnf52EJ8f/wAF4vnEbJ9k/BRAZJQBc3UX/WYx+IyycxCBVeh3mxOhjZHqesYCvPFTRw==", + "requires": {} + }, + "@lexical/overflow": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/overflow/-/overflow-0.11.1.tgz", + "integrity": "sha512-mx99fWfGjbr6Va/jPgsagUJzYzC0WV7us43HYk98XSJJpz/dPapNyRUARJrSinv/iu47HkA1X4Kvgd6LqbIvxA==", + "requires": {} + }, + "@lexical/plain-text": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/plain-text/-/plain-text-0.11.1.tgz", + "integrity": "sha512-G4OlqDTPWR2S58ONzEtyJW0XvTh0M46mhCzldrvJatcOUNrnCqL9ZeL3LSld/IRz8T4sjCRD6E1QjAFy51DUxg==", + "requires": {} + }, + "@lexical/react": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/react/-/react-0.11.1.tgz", + "integrity": "sha512-iXZusD0Z+eqttuh8s58ZP3H+tn0V1JYOay/Xo3y6/N+UXJ3NpBfVXRQB97cY/861jezMgbmvcjXuhH/rlKCvSg==", + "requires": { + "@lexical/clipboard": "0.11.1", + "@lexical/code": "0.11.1", + "@lexical/dragon": "0.11.1", + "@lexical/hashtag": "0.11.1", + "@lexical/history": "0.11.1", + "@lexical/link": "0.11.1", + "@lexical/list": "0.11.1", + "@lexical/mark": "0.11.1", + "@lexical/markdown": "0.11.1", + "@lexical/overflow": "0.11.1", + "@lexical/plain-text": "0.11.1", + "@lexical/rich-text": "0.11.1", + "@lexical/selection": "0.11.1", + "@lexical/table": "0.11.1", + "@lexical/text": "0.11.1", + "@lexical/utils": "0.11.1", + "@lexical/yjs": "0.11.1", + "react-error-boundary": "^3.1.4" + } + }, + "@lexical/rich-text": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/rich-text/-/rich-text-0.11.1.tgz", + "integrity": "sha512-cwko/7VuvHd8nuvt0GTaOxxpDpT24NnP15C0ZMJ6LVBgqKz7hOqhZZ6iAB/JOrivifF9nGBlC+jabZF75Gz3Fw==", + "requires": {} + }, + "@lexical/selection": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/selection/-/selection-0.11.1.tgz", + "integrity": "sha512-sSiwWlu7LmxasdXAWcphtf5+ZK/6GRe3e/SAuCULfcrvYtEQrXIeyZt1IAvMxStELdQgf8vd0PzwajKcYjEM4A==", + "requires": {} + }, + "@lexical/table": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/table/-/table-0.11.1.tgz", + "integrity": "sha512-v5HNW6jk4BHFsxsr8tPhAgokWUxL/ekvIHByXnikgEXVQiG7NPXMt7PWKVdOhH4Pn+OeF/OeeqcsTSh1/I8ZKQ==", + "requires": { + "@lexical/utils": "0.11.1" + } + }, + "@lexical/text": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/text/-/text-0.11.1.tgz", + "integrity": "sha512-TQ9vb24sStMicnJaGT9U6yUCVXTIVFHAzt5cMPtr7hK6b1CsJPMTRmsM7n5vIo9xnHM9SLLe01AxwL2O7I1QKg==", + "requires": {} + }, + "@lexical/utils": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/utils/-/utils-0.11.1.tgz", + "integrity": "sha512-Sssv82m0yJgRBvShZDZnE4KNX+8O49sAI1Mc2kRKoTlSSbpmpEcrbJnz8S2bmbYcyHalP8+Id/GFziOclI3zUQ==", + "requires": { + "@lexical/list": "0.11.1", + "@lexical/selection": "0.11.1", + "@lexical/table": "0.11.1" + } + }, + "@lexical/yjs": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@lexical/yjs/-/yjs-0.11.1.tgz", + "integrity": "sha512-69Q462s4roXN6S8mk/ogMRZNyqLY024w38RzMVvJkY/W7sz30vPNX1RyEDHvTjgBhPXQqhRgmDUPT2V3lE7dRg==", + "requires": { + "@lexical/offset": "0.11.1" + } + }, "@lifeomic/attempt": { "version": "3.0.3" }, @@ -28391,8 +28826,7 @@ "dev": true }, "js-tokens": { - "version": "4.0.0", - "dev": true + "version": "4.0.0" }, "js-yaml": { "version": "4.1.0", @@ -28567,6 +29001,11 @@ "type-check": "~0.4.0" } }, + "lexical": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/lexical/-/lexical-0.11.1.tgz", + "integrity": "sha512-PhAGADxqzwJldmkVK5tvkaARTULCdeJjfhxWTnJQXTAlApE9heJir7SWxbxeUx1G5gdKZQFicGhOQlDXJmma2Q==" + }, "lib0": { "version": "0.2.51", "requires": { @@ -29112,7 +29551,6 @@ }, "loose-envify": { "version": "1.4.0", - "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } @@ -30525,6 +30963,11 @@ "version": "5.6.0", "dev": true }, + "prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" + }, "proc-log": { "version": "2.0.1", "dev": true @@ -30751,19 +31194,25 @@ }, "react": { "version": "18.2.0", - "dev": true, "requires": { "loose-envify": "^1.1.0" } }, "react-dom": { "version": "18.2.0", - "dev": true, "requires": { "loose-envify": "^1.1.0", "scheduler": "^0.23.0" } }, + "react-error-boundary": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", + "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, "react-refresh": { "version": "0.13.0", "dev": true @@ -31220,7 +31669,6 @@ }, "scheduler": { "version": "0.23.0", - "dev": true, "requires": { "loose-envify": "^1.1.0" } @@ -31808,6 +32256,7 @@ "version": "file:demos", "requires": { "@hocuspocus/provider": "^2.0.1", + "@lexical/react": "^0.11.1", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.49", "@types/uuid": "^8.3.4", "@vitejs/plugin-react": "^1.3.1", @@ -31817,6 +32266,7 @@ "fast-glob": "^3.2.11", "highlight.js": "^11.6.0", "iframe-resizer": "^4.3.2", + "lexical": "^0.11.1", "lowlight": "^2.7.0", "postcss": "^8.4.6", "postcss-import": "^15.1.0", From 4ad21341f2ee76bccbbff5a1ce9877091e07e337 Mon Sep 17 00:00:00 2001 From: Jan Thurau Date: Fri, 2 Jun 2023 18:26:24 +0200 Subject: [PATCH 17/30] react docs --- .../Lexical-React/Note.tsx | 0 .../Lexical-React/index.html | 0 .../Lexical-React/index.tsx | 0 .../Lexical-React/styles.css | 0 .../Lexical-React/types.ts | 0 .../1-3-yjs_lexical/Lexical-React/Note.tsx | 52 ++++++++++ .../1-3-yjs_lexical/Lexical-React/index.html | 0 .../1-3-yjs_lexical/Lexical-React/index.tsx | 26 +++++ .../1-3-yjs_lexical/Lexical-React/styles.css | 3 + .../1-3-yjs_lexical/Lexical-React/types.ts | 4 + demos/src/Tutorials/1-4-collab/React/Note.tsx | 2 +- demos/vite.config.ts | 5 + docs/cloud.md | 95 ++++++++++++++++++- docs/tutorials.md | 2 +- .../get-started-with-tiptap-collab.md | 8 -- 15 files changed, 184 insertions(+), 13 deletions(-) rename demos/src/Tutorials/{1-2-tiptap => 1-2-tiptap_lexical}/Lexical-React/Note.tsx (100%) rename demos/src/Tutorials/{1-2-tiptap => 1-2-tiptap_lexical}/Lexical-React/index.html (100%) rename demos/src/Tutorials/{1-2-tiptap => 1-2-tiptap_lexical}/Lexical-React/index.tsx (100%) rename demos/src/Tutorials/{1-2-tiptap => 1-2-tiptap_lexical}/Lexical-React/styles.css (100%) rename demos/src/Tutorials/{1-2-tiptap => 1-2-tiptap_lexical}/Lexical-React/types.ts (100%) create mode 100644 demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/Note.tsx create mode 100644 demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/index.html create mode 100644 demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/index.tsx create mode 100644 demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/styles.css create mode 100644 demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/types.ts diff --git a/demos/src/Tutorials/1-2-tiptap/Lexical-React/Note.tsx b/demos/src/Tutorials/1-2-tiptap_lexical/Lexical-React/Note.tsx similarity index 100% rename from demos/src/Tutorials/1-2-tiptap/Lexical-React/Note.tsx rename to demos/src/Tutorials/1-2-tiptap_lexical/Lexical-React/Note.tsx diff --git a/demos/src/Tutorials/1-2-tiptap/Lexical-React/index.html b/demos/src/Tutorials/1-2-tiptap_lexical/Lexical-React/index.html similarity index 100% rename from demos/src/Tutorials/1-2-tiptap/Lexical-React/index.html rename to demos/src/Tutorials/1-2-tiptap_lexical/Lexical-React/index.html diff --git a/demos/src/Tutorials/1-2-tiptap/Lexical-React/index.tsx b/demos/src/Tutorials/1-2-tiptap_lexical/Lexical-React/index.tsx similarity index 100% rename from demos/src/Tutorials/1-2-tiptap/Lexical-React/index.tsx rename to demos/src/Tutorials/1-2-tiptap_lexical/Lexical-React/index.tsx diff --git a/demos/src/Tutorials/1-2-tiptap/Lexical-React/styles.css b/demos/src/Tutorials/1-2-tiptap_lexical/Lexical-React/styles.css similarity index 100% rename from demos/src/Tutorials/1-2-tiptap/Lexical-React/styles.css rename to demos/src/Tutorials/1-2-tiptap_lexical/Lexical-React/styles.css diff --git a/demos/src/Tutorials/1-2-tiptap/Lexical-React/types.ts b/demos/src/Tutorials/1-2-tiptap_lexical/Lexical-React/types.ts similarity index 100% rename from demos/src/Tutorials/1-2-tiptap/Lexical-React/types.ts rename to demos/src/Tutorials/1-2-tiptap_lexical/Lexical-React/types.ts diff --git a/demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/Note.tsx b/demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/Note.tsx new file mode 100644 index 000000000..6880ebf8d --- /dev/null +++ b/demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/Note.tsx @@ -0,0 +1,52 @@ +import './styles.css' + +import { TiptapCollabProvider } from '@hocuspocus/provider' +import { CollaborationPlugin } from '@lexical/react/LexicalCollaborationPlugin' +import { InitialConfigType, LexicalComposer } from '@lexical/react/LexicalComposer' +import { ContentEditable } from '@lexical/react/LexicalContentEditable' +import LexicalErrorBoundary from '@lexical/react/LexicalErrorBoundary' +import { RichTextPlugin } from '@lexical/react/LexicalRichTextPlugin' +import React from 'react' +import * as Y from 'yjs' + +import { TNote } from './types' + +export default ({ note }: { note: TNote }) => { + const initialConfig: InitialConfigType = { + onError(error: Error): void { + throw error + }, + namespace: 'myeditor', + editable: true, + } + + return ( + + } + placeholder={

{note.defaultContent}

} + ErrorBoundary={LexicalErrorBoundary} + /> + { + const doc = new Y.Doc() + + yjsDocMap.set(id, doc) + + const provider = new TiptapCollabProvider({ + name: note.id, // any identifier - all connections sharing the same identifier will be synced + appId: '7j9y6m10', // replace with YOUR_APP_ID + token: 'notoken', // replace with your JWT + document: doc, + }) + + return provider + }} + shouldBootstrap={true} + /> +
+ ) +} diff --git a/demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/index.html b/demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/index.tsx b/demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/index.tsx new file mode 100644 index 000000000..61dbcf2e5 --- /dev/null +++ b/demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/index.tsx @@ -0,0 +1,26 @@ +import './styles.css' + +import React from 'react' + +import Note from './Note' +import { TNote } from './types' + +const notes: TNote[] = [ + { + id: 'note-1', + defaultContent: 'some random note text', + }, + { + id: 'note-2', + defaultContent: 'some really random note text', + }, +] + +export default () => { + + return ( +
+ {notes.map(note => )} +
+ ) +} diff --git a/demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/styles.css b/demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/styles.css new file mode 100644 index 000000000..76fcadcc0 --- /dev/null +++ b/demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/styles.css @@ -0,0 +1,3 @@ +@import "tailwindcss/base"; +@import "tailwindcss/components"; +@import "tailwindcss/utilities"; diff --git a/demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/types.ts b/demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/types.ts new file mode 100644 index 000000000..bbe4cfa95 --- /dev/null +++ b/demos/src/Tutorials/1-3-yjs_lexical/Lexical-React/types.ts @@ -0,0 +1,4 @@ +export type TNote = { + id: string; + defaultContent: string; +}; diff --git a/demos/src/Tutorials/1-4-collab/React/Note.tsx b/demos/src/Tutorials/1-4-collab/React/Note.tsx index 2d7b72317..44e7ec381 100644 --- a/demos/src/Tutorials/1-4-collab/React/Note.tsx +++ b/demos/src/Tutorials/1-4-collab/React/Note.tsx @@ -23,7 +23,7 @@ export default ({ note }: { note: TNote }) => { return () => { provider.destroy() } - }, []) + }, [note.id]) const editor = useEditor({ // make sure that you don't use `content` property anymore! diff --git a/demos/vite.config.ts b/demos/vite.config.ts index 1349df9d5..dce9117d9 100644 --- a/demos/vite.config.ts +++ b/demos/vite.config.ts @@ -17,6 +17,11 @@ import { defineConfig } from 'vite' const getPackageDependencies = () => { const paths: Array<{ find: string, replacement: any }> = [] + paths.push({ + find: 'yjs', + replacement: resolve('../node_modules/yjs/src/index.js'), + }) + fg.sync('../packages/*', { onlyDirectories: true }) .map(name => name.replace('../packages/', '')) .forEach(name => { diff --git a/docs/cloud.md b/docs/cloud.md index 55194c48e..2a240ebba 100644 --- a/docs/cloud.md +++ b/docs/cloud.md @@ -2,12 +2,101 @@ tableOfContents: true --- +"Embed real-time collaboration into your app in under one minute, and everything is in sync." ([Live-Demo](/collab))- If that sounds interesting to you, we might have something :) + # Tiptap Collab -Tiptap Collab is our hosted solution of Hocuspocus for those who don't want to maintain their own deployment. - -TODO: Maybe remove Cloud from hocuspocus docs, or keep the link but redirect to tiptap.dev/cloud? +Tiptap Collab is our hosted solution of Hocuspocus (The plug’n’play collaborative editing backend) making it a blast to add real-time collaboration to any app. :::warning Pro Feature To get started, you need a Tiptap Pro account ([sign up / login here](https://tiptap.dev/pro)). ::: + +[![Cloud Dashboard](https://tiptap.dev/images/docs/server/cloud/dashboard.png)](https://tiptap.dev/images/docs/server/cloud/dashboard.png) + +Note that you need `@hocuspocus/provider` [~v2.0.0](https://github.com/ueberdosis/hocuspocus/releases/tag/v2.0.0) + + +## Getting started + +Tiptap Collab makes your app collaborative by syncing your Y.Doc across users using websockets. If you are already using yjs in your app, getting started is as simple as shown below. + +If you are not, you might want to start in our [Tutorials](/tutorials) section. + +```typescript +import { TiptapCollabProvider } from '@hocuspocus/provider' +import * as Y from 'yjs' + +const provider = new TiptapCollabProvider({ + appId: 'your_app_id', // get this at collab.tiptap.dev + name: 'your_document_name', // e.g. a uuid uuidv4(); + token: 'your_JWT', // see "Authentication" below + doc: new Y.Doc() // pass your existing doc, or leave this out and use provider.document +}); + +// That's it! Your Y.Doc will now be synced to any other user currently connected +``` + +### Upgrade from self-hosted deployments + +If you are upgrading from a self-hosted deployment, on the frontend you just need to replace `HocuspocusProvider` with the new `TiptapCollabProvider`. The API is the same, it's just a wrapper that handles hostnames / auth. + +## Examples + +##### replit / Sandbox: Fully functional prototype + +[![Cloud Documents](https://tiptap.dev/images/docs/server/cloud/tiptapcollab-demo.png)](https://tiptap.dev/images/docs/server/cloud/tiptapcollab-demo.png) + +We have created a simple client / server setup using replit, which you can review and fork here: + +[Github](https://github.com/janthurau/TiptapCollab) or [Replit (Live-Demo)](https://replit.com/@ueberdosis/TiptapCollab?v=1) + +The example load multiple documents over the same websocket (multiplexing), and shows how to realize per-document authentication using JWT. + +##### Authentication + +Authentication is done using JWT. You can see your secret in the admin interface and use it to generate tokens for your clients. If you want to generate a JWT and add some attributes for testing, you can use http://jwtbuilder.jamiekurtz.com/ . You can leave all fields default, just replace the "key" with the secret from your settings. + +In Node.js, you can generate a JWT like this: + +```typescript +import jsonwebtoken from 'jsonwebtoken' + +const data = { + // use this list to limit the number of documents that can be accessed by this client. + // empty array means no access at all + // not sending this property means access to all documents + // we are supporting a wildcard at the end of the string (only there) + allowedDocumentNames: ['document-1', 'document-2', 'my-user-uuid/*', 'my-organization-uuid/*'] +} + +const jwt = jsonwebtoken.sign(data, 'your_secret') +// this JWT should be sent in the `token` field of the provider. Never expose 'your_secret' to a frontend! +``` + +#### Getting the JSON document + +If you want to access the JSON representation (we're currently exporting the `default` fragment of the YDoc), you can add a webhook in the admin interface. We are calling it when storing to our database, so it's debounced by 2 seconds (max 10 seconds). + +All requests contain a header `X-Hocuspocus-Signature-256` which signs the entire message using 'your_secret' (find it in the settings). The payload looks like this: + +```json +{ + "appName": '', // name of your app + "name": '', // name of the document + "time": // current time as ISOString (new Date()).toISOString()) + "tiptapData": {}, // JSON output from Tiptap (see https://tiptap.dev/guide/output#option-1-json): TiptapTransformer.fromYdoc() + "ydocState"?: {}, // optionally contains the entire yDoc as base64. Contact us to enable this property! + "clientsCount": 100 // number of currently connected clients +} +``` + +### Screenshots + +[![Cloud Documents](https://tiptap.dev/images/docs/server/cloud/documents.png)](https://tiptap.dev/images/docs/server/cloud/documents.png) + +[![Cloud Settings](https://tiptap.dev/images/docs/server/cloud/settings.png)](https://tiptap.dev/images/docs/server/cloud/settings.png) + +### Need anything else? + +Contact us on [Discord](https://tiptap.dev/discord) or send an email to [humans@tiptap.dev](mailto:humans@tiptap.dev). diff --git a/docs/tutorials.md b/docs/tutorials.md index c9faa75db..809eacb49 100644 --- a/docs/tutorials.md +++ b/docs/tutorials.md @@ -2,4 +2,4 @@ tableOfContents: true --- -# Introduction +# Tutorials diff --git a/docs/tutorials/get-started-with-tiptap-collab.md b/docs/tutorials/get-started-with-tiptap-collab.md index 6a3b98ae6..e16dd4369 100644 --- a/docs/tutorials/get-started-with-tiptap-collab.md +++ b/docs/tutorials/get-started-with-tiptap-collab.md @@ -4,8 +4,6 @@ **Welcome** to the first of a series of tutorials about collaboration in Tiptap (or Lexical, Quill, Slate, and others that have a [Yjs editor binding](https://docs.yjs.dev/ecosystem/editor-bindings)) using Tiptap Collab. This series will start covering the basics, and expand to more specific use cases in the next posts. For today, we’ll start moving from a simple textarea box to a fully collaborative editor instance. -_For simplicity, I'm always referring to Tiptap from here, but you can switch each code sample to Lexical, Quill or Slate._ - Imagine that you are building a simple sticky note app, where a user can create notes. So let's say you have a few textareas. Depending on your framework (Vue, React, ..), the code probably looks similar to this: @@ -21,9 +19,6 @@ You begin by importing the necessary Tiptap components and creating a new editor ```bash npm install @tiptap/vue-3 @tiptap/pm @tiptap/starter-kit # for React: npm install @tiptap/react @tiptap/pm @tiptap/starter-kit -# for Lexical: npm install lexical @lexical/react -# for Quill: npm install quill -# for Slate: npm install slate slate-react react react-dom ``` @@ -39,9 +34,6 @@ To add the Collaboration extension to your editor instance, you first need to in ```bash npm install @tiptap/extension-collaboration yjs -# for Lexical: npm install yjs -# for Quill: npm install y-quill yjs -# for Slate: npm install @slate-yjs/react yjs ``` Then, you can import the `Collaboration` extension and add it to your editor extensions: From 75a17ba21fd58ecb52992f7e11d05910ca455576 Mon Sep 17 00:00:00 2001 From: Martin Date: Wed, 7 Jun 2023 11:54:02 +0200 Subject: [PATCH 18/30] Update README.md --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index f1049be2a..8b6d657c0 100644 --- a/README.md +++ b/README.md @@ -87,6 +87,12 @@ For help, discussion about best practices, or any other conversation that would dotCMS + + +
+ Basewell +
+ From 2cb2d379f171c2c6d6e9dfea5d5001d775668f86 Mon Sep 17 00:00:00 2001 From: Jan Thurau Date: Mon, 12 Jun 2023 21:45:39 +0200 Subject: [PATCH 19/30] adds overview page for /docs/tutorials --- docs/tutorials.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/tutorials.md b/docs/tutorials.md index 809eacb49..816c5b755 100644 --- a/docs/tutorials.md +++ b/docs/tutorials.md @@ -3,3 +3,17 @@ tableOfContents: true --- # Tutorials + +## Introduction + +We have prepared a few tutorials on to get started with a fully collaborative Tiptap editor using Tiptap Collab. More instructions on more complex usages are already on their way :) + +## Tiptap Collab Tutorials + +- [Get started with Tiptap Collab](/tutorials/get-started-with-tiptap-collab) +- [JWT Authentication](/tutorials/jwt-authentication) + +### Need something else? + +- [Discord](https://discord.gg/WtJ49jGshW) +- [Github](https://github.com/ueberdosis/tiptap/discussions) From 2a86ac077473f1d84c2845568d7a55b943370863 Mon Sep 17 00:00:00 2001 From: Jan Thurau Date: Wed, 14 Jun 2023 22:01:37 +0200 Subject: [PATCH 20/30] adds cloud docs --- docs/cloud.md | 62 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 60 insertions(+), 2 deletions(-) diff --git a/docs/cloud.md b/docs/cloud.md index 2a240ebba..049e4e9ee 100644 --- a/docs/cloud.md +++ b/docs/cloud.md @@ -91,12 +91,70 @@ All requests contain a header `X-Hocuspocus-Signature-256` which signs the entir } ``` -### Screenshots + +## API + +Each Tiptap Collab instance comes with an API for the most common operations. Is is provided directly by your Tiptap Collab instance, so it's available under your custom URL: + +`https://YOUR_APP_ID.collab.tiptap.cloud/` + +Authentication is done using an admin secret which you can find in your collab [settings area](https://collab.tiptap.dev/). The secret has to be sent as an `Authorization` header. +If your document identifier contains a slash (`/`), just make sure that you encode it as `%2F` (e.g. using javascripts `encodeURIComponent`). + +### POST /api/documents/:identifier + +This call takes a binary yjs update message (an existing Ydoc on your side must be encoded using `Y.encodeStateAsUpdate`) and creates a document. This can be used to seed documents before a user connects to the Tiptap Collab server. + +```bash +curl --location 'https://YOUR_APP_ID.collab.tiptap.cloud/api/documents/DOCUMENT_NAME' \ +--header 'Authorization: YOUR_SECRET_FROM_SETTINGS_AREA' \ +--data '@yjsUpdate.binary.txt' + +// returns either http status 204 if the document was created successfully +// or http status 409 if the document already exists (if you wish to overwrite it, just delete it first) +``` + +### GET /api/documents/:identifier?format=:format&fragment=:fragment + +This call exports the given document (all fragments) in json format. We are exporting either the current in-memory version (in case the document is currently open on your server, or we fetch the most recent version from the database). + +`format` supports either `yjs` or `json`, default=`json` + +If you choose the `yjs` format, you'll get the binary Y.js update message (created using `Y.encodeStateAsUpdate`) + +`fragment` can be an array of (`fragment=a&fragment=b`) or a single fragment that you want exported. By default we're exporting all fragments. Note that this is only considered when using `json` format, otherwise you'll always get the entire Y.doc. + +```bash +curl --location 'https://YOUR_APP_ID.collab.tiptap.cloud/api/documents/DOCUMENT_NAME' \ +--header 'Authorization: YOUR_SECRET_FROM_SETTINGS_AREA' + +// returns either http status 200 and the requested document +// or http status 404 if the document was not found +``` + +### DELETE /api/documents/:identifier + +This simply deletes a document from the server after terminating any open connection to the document. + +```bash +curl --location --request DELETE 'https://YOUR_APP_ID.collab.tiptap.cloud/api/documents/DOCUMENT_NAME' \ +--header 'Authorization: YOUR_SECRET_FROM_SETTINGS_AREA' + +// returns either http status 204 if the document was deleted successfully +// or http status 404 if the document was not found +``` + +### ANY /api/ + +Need something else? Hit us up and we'll see what we can do (links below) + + +## Screenshots [![Cloud Documents](https://tiptap.dev/images/docs/server/cloud/documents.png)](https://tiptap.dev/images/docs/server/cloud/documents.png) [![Cloud Settings](https://tiptap.dev/images/docs/server/cloud/settings.png)](https://tiptap.dev/images/docs/server/cloud/settings.png) -### Need anything else? +## Need anything else? Contact us on [Discord](https://tiptap.dev/discord) or send an email to [humans@tiptap.dev](mailto:humans@tiptap.dev). From 238a3f0fde5fd87fe88d8d4873c7de9c2f5f465b Mon Sep 17 00:00:00 2001 From: svenadlung Date: Sat, 24 Jun 2023 12:13:28 -0700 Subject: [PATCH 21/30] remove link to support packages --- docs/links.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/links.yaml b/docs/links.yaml index db2cf94f5..0cc2385cd 100644 --- a/docs/links.yaml +++ b/docs/links.yaml @@ -110,8 +110,8 @@ type: sponsor - title: Contributing link: /overview/contributing - - title: Support - link: /support + # - title: Support + # link: /support - title: Jobs link: /jobs From 781cdfa54ebd1ba4733f63bb9d5844a59703a7e8 Mon Sep 17 00:00:00 2001 From: Patrick Baber Date: Wed, 28 Jun 2023 18:46:43 -0700 Subject: [PATCH 22/30] remove outdated screencasts (#4169) --- docs/guide/collaborative-editing.md | 5 ----- docs/installation/react.md | 5 ----- 2 files changed, 10 deletions(-) diff --git a/docs/guide/collaborative-editing.md b/docs/guide/collaborative-editing.md index 731c6d07c..3aa52efe0 100644 --- a/docs/guide/collaborative-editing.md +++ b/docs/guide/collaborative-editing.md @@ -7,11 +7,6 @@ tableOfContents: true ## Introduction Real-time collaboration, syncing between different devices and working offline used to be hard. We provide everything you need to keep everything in sync with the power of [Y.js](https://github.com/yjs/yjs). The following guide helps you get started with collaborative editing in Tiptap. Don’t worry, a production-grade setup doesn’t require much code. -## The video course -We are working on a video course which teaches everything you need to know about collaborative text editing with Tiptap. The first video is available for sponsors here: - -https://tiptap.dev/screencasts/collaborative-editing/make-tiptap-collaborative - ## Configure the editor The underyling schema Tiptap uses is an excellent foundation to sync documents. With the [`Collaboration`](/api/extensions/collaboration) extension you can tell Tiptap to track changes to the document with [Y.js](https://github.com/yjs/yjs). diff --git a/docs/installation/react.md b/docs/installation/react.md index e20f4824e..eb3f70274 100644 --- a/docs/installation/react.md +++ b/docs/installation/react.md @@ -17,11 +17,6 @@ If you just want to get up and running with Tiptap you can use the [Tiptap Creat npx create-react-app my-tiptap-project --template tiptap ``` -### Step by step -All steps are listed below, but if you prefer to watch a video we’ve got something for you, too: - -https://tiptap.dev/screencasts/installation/install-tiptap-with-create-react-app - #### 1. Create a project (optional) Let’s start with a fresh React project called `my-tiptap-project`. [Create React App](https://reactjs.org/docs/getting-started.html) will set up everything we need. From c716ca199c3e343068f3985c47e8e86a8eeaac0b Mon Sep 17 00:00:00 2001 From: Hadi El Yakhni Date: Fri, 7 Jul 2023 11:57:06 +0300 Subject: [PATCH 23/30] typo (#4175) --- docs/api/schema.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/schema.md b/docs/api/schema.md index db672ff2b..7597bfc62 100644 --- a/docs/api/schema.md +++ b/docs/api/schema.md @@ -261,7 +261,7 @@ Mark.create({ ``` #### Excludes -By default all nodes can be applied at the same time. With the excludes attribute you can define which marks must not coexist with the mark. For example, the inline code mark excludes any other mark (bold, italic, and all others). +By default all marks can be applied at the same time. With the excludes attribute you can define which marks must not coexist with the mark. For example, the inline code mark excludes any other mark (bold, italic, and all others). ```js Mark.create({ From 1fe94efa2d77dc6590fd54de5ebe60320ecf9a4d Mon Sep 17 00:00:00 2001 From: Patrick Baber Date: Mon, 10 Jul 2023 14:58:33 -0700 Subject: [PATCH 24/30] add link to version 1 of the docs (#4197) --- docs/overview/upgrade-guide.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/overview/upgrade-guide.md b/docs/overview/upgrade-guide.md index b33aa3bc0..cbc2b305d 100644 --- a/docs/overview/upgrade-guide.md +++ b/docs/overview/upgrade-guide.md @@ -7,6 +7,8 @@ tableOfContents: true ## Introduction First of all, Tiptap v1 isn’t supported anymore and won’t receive any further updates. +If you’re still using Tiptap v1, you can find the documentation [here](https://v1.tiptap.dev/), but we strongly recommend that you upgrade to version 2. + Yes, it’s tedious work to upgrade your favorite text editor to a new API, but we made sure you’ve got enough reasons to upgrade to the newest version. * Autocompletion in your IDE (thanks to TypeScript) From b38c1143a0b41a543906404fa1884f1f08e6a2a5 Mon Sep 17 00:00:00 2001 From: bdbch Date: Tue, 11 Jul 2023 10:11:32 +0200 Subject: [PATCH 25/30] temporary disable collaboration demo --- .../CollaborativeEditing/React/index.jsx | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/demos/src/Examples/CollaborativeEditing/React/index.jsx b/demos/src/Examples/CollaborativeEditing/React/index.jsx index aba19939c..3358a67b1 100644 --- a/demos/src/Examples/CollaborativeEditing/React/index.jsx +++ b/demos/src/Examples/CollaborativeEditing/React/index.jsx @@ -1,3 +1,4 @@ +/* eslint-disable */ import './styles.scss' import { TiptapCollabProvider } from '@hocuspocus/provider' @@ -18,6 +19,10 @@ import * as Y from 'yjs' import { variables } from '../../../variables' import MenuBar from './MenuBar' +const content = ` +

Hello World!

+` + const colors = ['#958DF1', '#F98181', '#FBBC88', '#FAF594', '#70CFF8', '#94FADB', '#B9F18D'] const names = [ 'Lea Thompson', @@ -78,6 +83,7 @@ export default () => { const [currentUser, setCurrentUser] = useState(getInitialUser) const editor = useEditor({ + content, extensions: [ StarterKit.configure({ history: false, @@ -88,12 +94,12 @@ export default () => { CharacterCount.configure({ limit: 10000, }), - Collaboration.configure({ + /* Collaboration.configure({ document: ydoc, }), CollaborationCursor.configure({ provider: websocketProvider, - }), + }), */ ], }) @@ -108,7 +114,7 @@ export default () => { useEffect(() => { if (editor && currentUser) { localStorage.setItem('currentUser', JSON.stringify(currentUser)) - editor.chain().focus().updateUser(currentUser).run() + // editor.chain().focus().updateUser(currentUser).run() } }, [editor, currentUser]) @@ -124,16 +130,16 @@ export default () => {
{editor && } -
-
- {status === 'connected' - ? `${editor.storage.collaborationCursor.users.length} user${editor.storage.collaborationCursor.users.length === 1 ? '' : 's'} online in ${room}` - : 'offline'} -
-
- -
+ {/*
+
+ {status === 'connected' + ? `${editor.storage.collaborationCursor.users.length} user${editor.storage.collaborationCursor.users.length === 1 ? '' : 's'} online in ${room}` + : 'offline'}
+
+ +
+
*/}
) } From cc2a0f1bc98ae1e3dff2e99d7f0fccafa34b7c75 Mon Sep 17 00:00:00 2001 From: bdbch Date: Tue, 11 Jul 2023 10:27:57 +0200 Subject: [PATCH 26/30] update demo --- demos/src/Examples/CollaborativeEditing/React/index.jsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/demos/src/Examples/CollaborativeEditing/React/index.jsx b/demos/src/Examples/CollaborativeEditing/React/index.jsx index 3358a67b1..f28ae4506 100644 --- a/demos/src/Examples/CollaborativeEditing/React/index.jsx +++ b/demos/src/Examples/CollaborativeEditing/React/index.jsx @@ -20,7 +20,8 @@ import { variables } from '../../../variables' import MenuBar from './MenuBar' const content = ` -

Hello World!

+

Hello World Tiptap!

+

Build the next gold standard in content editing experiences that your competitors can´t match.

` const colors = ['#958DF1', '#F98181', '#FBBC88', '#FAF594', '#70CFF8', '#94FADB', '#B9F18D'] @@ -86,7 +87,7 @@ export default () => { content, extensions: [ StarterKit.configure({ - history: false, + history: true, }), Highlight, TaskList, From 39589eda22d0c69dfe750a085ccc2d3a6b9e9d6d Mon Sep 17 00:00:00 2001 From: svenadlung Date: Tue, 11 Jul 2023 09:33:53 -0700 Subject: [PATCH 27/30] reenable collab demo --- .../CollaborativeEditing/React/index.jsx | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/demos/src/Examples/CollaborativeEditing/React/index.jsx b/demos/src/Examples/CollaborativeEditing/React/index.jsx index f28ae4506..2f56effa9 100644 --- a/demos/src/Examples/CollaborativeEditing/React/index.jsx +++ b/demos/src/Examples/CollaborativeEditing/React/index.jsx @@ -1,4 +1,3 @@ -/* eslint-disable */ import './styles.scss' import { TiptapCollabProvider } from '@hocuspocus/provider' @@ -19,11 +18,6 @@ import * as Y from 'yjs' import { variables } from '../../../variables' import MenuBar from './MenuBar' -const content = ` -

Hello World Tiptap!

-

Build the next gold standard in content editing experiences that your competitors can´t match.

-` - const colors = ['#958DF1', '#F98181', '#FBBC88', '#FAF594', '#70CFF8', '#94FADB', '#B9F18D'] const names = [ 'Lea Thompson', @@ -84,10 +78,9 @@ export default () => { const [currentUser, setCurrentUser] = useState(getInitialUser) const editor = useEditor({ - content, extensions: [ StarterKit.configure({ - history: true, + history: false, }), Highlight, TaskList, @@ -95,12 +88,12 @@ export default () => { CharacterCount.configure({ limit: 10000, }), - /* Collaboration.configure({ + Collaboration.configure({ document: ydoc, }), CollaborationCursor.configure({ provider: websocketProvider, - }), */ + }), ], }) @@ -115,7 +108,7 @@ export default () => { useEffect(() => { if (editor && currentUser) { localStorage.setItem('currentUser', JSON.stringify(currentUser)) - // editor.chain().focus().updateUser(currentUser).run() + editor.chain().focus().updateUser(currentUser).run() } }, [editor, currentUser]) @@ -131,7 +124,7 @@ export default () => {
{editor && } - {/*
+
{status === 'connected' ? `${editor.storage.collaborationCursor.users.length} user${editor.storage.collaborationCursor.users.length === 1 ? '' : 's'} online in ${room}` @@ -140,7 +133,7 @@ export default () => {
-
*/} +
) } From 849704c2d674c446dfb33a7b0df6883580a63a82 Mon Sep 17 00:00:00 2001 From: Sebastian Schrama Date: Tue, 11 Jul 2023 11:12:17 -0700 Subject: [PATCH 28/30] fixed wording --- docs/about.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/about.md b/docs/about.md index 148e4a649..29f489bc4 100644 --- a/docs/about.md +++ b/docs/about.md @@ -43,7 +43,7 @@ Nope, we are big fans of asynchronous communication. If you really need to reach ## P.S. Did you know, we’re also into realtime text editing? -With [Tiptap Collab](https://tiptap.dev/collab) we built a realtime backend for conflict-free text editing. And the best part: Integration into Tiptap is just a few clicks away. +With [Collaboration](https://tiptap.dev/collab) we built a realtime backend for conflict-free text editing. And the best part: Integration into Tiptap is just a few clicks away. Make sure to check it out! From 7f2c6194fddc0ebb889cf3622da768f4cba74baf Mon Sep 17 00:00:00 2001 From: Sven Adlung Date: Mon, 17 Jul 2023 09:32:58 +0200 Subject: [PATCH 29/30] feat(core): add the ability to register CSS via extension --- packages/core/src/utilities/createStyleTag.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/core/src/utilities/createStyleTag.ts b/packages/core/src/utilities/createStyleTag.ts index 8095d20ef..ef07e1032 100644 --- a/packages/core/src/utilities/createStyleTag.ts +++ b/packages/core/src/utilities/createStyleTag.ts @@ -1,5 +1,5 @@ -export function createStyleTag(style: string, nonce?: string): HTMLStyleElement { - const tiptapStyleTag = (document.querySelector('style[data-tiptap-style]')) +export function createStyleTag(style: string, nonce?: string, suffix?: string): HTMLStyleElement { + const tiptapStyleTag = (document.querySelector(`style[data-tiptap-style${suffix ? `-${suffix}` : ''}]`)) if (tiptapStyleTag !== null) { return tiptapStyleTag @@ -11,7 +11,7 @@ export function createStyleTag(style: string, nonce?: string): HTMLStyleElement styleNode.setAttribute('nonce', nonce) } - styleNode.setAttribute('data-tiptap-style', '') + styleNode.setAttribute(`data-tiptap-style${suffix ? `-${suffix}` : ''}`, '') styleNode.innerHTML = style document.getElementsByTagName('head')[0].appendChild(styleNode) From c4e655fb07ca516190b2f0b9abfcb825ae5aa52e Mon Sep 17 00:00:00 2001 From: svenadlung Date: Mon, 17 Jul 2023 09:40:21 +0200 Subject: [PATCH 30/30] v2.0.4 --- CHANGELOG.md | 17 + demos/CHANGELOG.md | 8 + demos/package-lock.json | 8 +- demos/package.json | 2 +- lerna.json | 2 +- package-lock.json | 512 +++++++++--------- packages/core/CHANGELOG.md | 11 + packages/core/package.json | 4 +- packages/extension-blockquote/CHANGELOG.md | 8 + packages/extension-blockquote/package.json | 4 +- packages/extension-bold/CHANGELOG.md | 8 + packages/extension-bold/package.json | 4 +- packages/extension-bubble-menu/CHANGELOG.md | 8 + packages/extension-bubble-menu/package.json | 6 +- packages/extension-bullet-list/CHANGELOG.md | 8 + packages/extension-bullet-list/package.json | 4 +- .../extension-character-count/CHANGELOG.md | 8 + .../extension-character-count/package.json | 6 +- .../CHANGELOG.md | 8 + .../package.json | 8 +- packages/extension-code-block/CHANGELOG.md | 8 + packages/extension-code-block/package.json | 6 +- packages/extension-code/CHANGELOG.md | 8 + packages/extension-code/package.json | 4 +- .../CHANGELOG.md | 8 + .../package.json | 4 +- packages/extension-collaboration/CHANGELOG.md | 8 + packages/extension-collaboration/package.json | 6 +- packages/extension-color/CHANGELOG.md | 8 + packages/extension-color/package.json | 6 +- packages/extension-document/CHANGELOG.md | 8 + packages/extension-document/package.json | 4 +- packages/extension-dropcursor/CHANGELOG.md | 8 + packages/extension-dropcursor/package.json | 6 +- packages/extension-floating-menu/CHANGELOG.md | 8 + packages/extension-floating-menu/package.json | 6 +- packages/extension-focus/CHANGELOG.md | 8 + packages/extension-focus/package.json | 6 +- packages/extension-font-family/CHANGELOG.md | 8 + packages/extension-font-family/package.json | 6 +- packages/extension-gapcursor/CHANGELOG.md | 8 + packages/extension-gapcursor/package.json | 6 +- packages/extension-hard-break/CHANGELOG.md | 8 + packages/extension-hard-break/package.json | 4 +- packages/extension-heading/CHANGELOG.md | 8 + packages/extension-heading/package.json | 4 +- packages/extension-highlight/CHANGELOG.md | 8 + packages/extension-highlight/package.json | 4 +- packages/extension-history/CHANGELOG.md | 8 + packages/extension-history/package.json | 6 +- .../extension-horizontal-rule/CHANGELOG.md | 8 + .../extension-horizontal-rule/package.json | 6 +- packages/extension-image/CHANGELOG.md | 8 + packages/extension-image/package.json | 4 +- packages/extension-italic/CHANGELOG.md | 8 + packages/extension-italic/package.json | 4 +- packages/extension-link/CHANGELOG.md | 8 + packages/extension-link/package.json | 6 +- packages/extension-list-item/CHANGELOG.md | 8 + packages/extension-list-item/package.json | 4 +- packages/extension-mention/CHANGELOG.md | 8 + packages/extension-mention/package.json | 8 +- packages/extension-ordered-list/CHANGELOG.md | 8 + packages/extension-ordered-list/package.json | 4 +- packages/extension-paragraph/CHANGELOG.md | 8 + packages/extension-paragraph/package.json | 4 +- packages/extension-placeholder/CHANGELOG.md | 8 + packages/extension-placeholder/package.json | 6 +- packages/extension-strike/CHANGELOG.md | 8 + packages/extension-strike/package.json | 4 +- packages/extension-subscript/CHANGELOG.md | 8 + packages/extension-subscript/package.json | 4 +- packages/extension-superscript/CHANGELOG.md | 8 + packages/extension-superscript/package.json | 4 +- packages/extension-table-cell/CHANGELOG.md | 8 + packages/extension-table-cell/package.json | 4 +- packages/extension-table-header/CHANGELOG.md | 8 + packages/extension-table-header/package.json | 4 +- packages/extension-table-row/CHANGELOG.md | 8 + packages/extension-table-row/package.json | 4 +- packages/extension-table/CHANGELOG.md | 8 + packages/extension-table/package.json | 6 +- packages/extension-task-item/CHANGELOG.md | 8 + packages/extension-task-item/package.json | 6 +- packages/extension-task-list/CHANGELOG.md | 8 + packages/extension-task-list/package.json | 4 +- packages/extension-text-align/CHANGELOG.md | 8 + packages/extension-text-align/package.json | 4 +- packages/extension-text-style/CHANGELOG.md | 8 + packages/extension-text-style/package.json | 4 +- packages/extension-text/CHANGELOG.md | 8 + packages/extension-text/package.json | 4 +- packages/extension-typography/CHANGELOG.md | 8 + packages/extension-typography/package.json | 4 +- packages/extension-underline/CHANGELOG.md | 8 + packages/extension-underline/package.json | 4 +- packages/extension-youtube/CHANGELOG.md | 8 + packages/extension-youtube/package.json | 4 +- packages/html/CHANGELOG.md | 8 + packages/html/package.json | 6 +- packages/pm/CHANGELOG.md | 8 + packages/pm/package.json | 2 +- packages/react/CHANGELOG.md | 8 + packages/react/package.json | 10 +- packages/starter-kit/CHANGELOG.md | 8 + packages/starter-kit/package.json | 40 +- packages/suggestion/CHANGELOG.md | 8 + packages/suggestion/package.json | 6 +- packages/vue-2/CHANGELOG.md | 8 + packages/vue-2/package.json | 10 +- packages/vue-3/CHANGELOG.md | 8 + packages/vue-3/package.json | 10 +- 112 files changed, 868 insertions(+), 416 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c7238b500..1aa4c6397 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,23 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + + +### Bug Fixes + +* missing word in toggle-node.md ([1436f3e](https://github.com/ueberdosis/tiptap/commit/1436f3e24ef44a6e26c2e6f53bcace7c58803fdf)) +* typo in focus.md ([64731e1](https://github.com/ueberdosis/tiptap/commit/64731e1a1a3f16ea49a1370b641a28d5738a2940)) + + +### Features + +* **core:** add the ability to register CSS via extension ([7f2c619](https://github.com/ueberdosis/tiptap/commit/7f2c6194fddc0ebb889cf3622da768f4cba74baf)) + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) diff --git a/demos/CHANGELOG.md b/demos/CHANGELOG.md index 71884da9e..3ba5f7f85 100644 --- a/demos/CHANGELOG.md +++ b/demos/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package tiptap-demos + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) diff --git a/demos/package-lock.json b/demos/package-lock.json index 1cbfd6ff8..2f152ab53 100644 --- a/demos/package-lock.json +++ b/demos/package-lock.json @@ -1,12 +1,12 @@ { "name": "tiptap-demos", - "version": "2.0.3", + "version": "2.0.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "tiptap-demos", - "version": "2.0.3", + "version": "2.0.4", "dependencies": { "@hocuspocus/provider": "^2.0.1", "d3": "^7.3.0", @@ -25,14 +25,14 @@ "@types/uuid": "^8.3.4", "@vitejs/plugin-react": "^1.3.1", "@vitejs/plugin-vue": "^1.10.2", - "autoprefixer": "^10.4.2", + "autoprefixer": "^10.4.14", "iframe-resizer": "^4.3.2", "postcss": "^8.4.6", "react": "^18.0.0", "react-dom": "^18.0.0", "sass": "^1.49.7", "svelte": "^3.49.0", - "tailwindcss": "^2.2.19", + "tailwindcss": "^3.3.2", "typescript": "4.7.4", "uuid": "^8.3.2", "vite": "^2.9.13", diff --git a/demos/package.json b/demos/package.json index 76875787a..b1dcec9ba 100644 --- a/demos/package.json +++ b/demos/package.json @@ -1,6 +1,6 @@ { "name": "tiptap-demos", - "version": "2.0.3", + "version": "2.0.4", "private": true, "scripts": { "start": "vite --host", diff --git a/lerna.json b/lerna.json index aacfa6bdf..5f1781468 100644 --- a/lerna.json +++ b/lerna.json @@ -10,5 +10,5 @@ }, "$schema": "node_modules/lerna/schemas/lerna-schema.json", "useNx": true, - "version": "2.0.3" + "version": "2.0.4" } diff --git a/package-lock.json b/package-lock.json index 5ad8fb972..8e45d2380 100644 --- a/package-lock.json +++ b/package-lock.json @@ -50,7 +50,7 @@ }, "demos": { "name": "tiptap-demos", - "version": "2.0.3", + "version": "2.0.4", "dependencies": { "@hocuspocus/provider": "^2.0.1", "@lexical/react": "^0.11.1", @@ -19368,10 +19368,10 @@ }, "packages/core": { "name": "@tiptap/core", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/pm": "^2.0.3" + "@tiptap/pm": "^2.0.4" }, "funding": { "type": "github", @@ -19383,10 +19383,10 @@ }, "packages/extension-blockquote": { "name": "@tiptap/extension-blockquote", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19398,10 +19398,10 @@ }, "packages/extension-bold": { "name": "@tiptap/extension-bold", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19413,14 +19413,14 @@ }, "packages/extension-bubble-menu": { "name": "@tiptap/extension-bubble-menu", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "dependencies": { "tippy.js": "^6.3.7" }, "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "funding": { "type": "github", @@ -19433,10 +19433,10 @@ }, "packages/extension-bullet-list": { "name": "@tiptap/extension-bullet-list", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19448,11 +19448,11 @@ }, "packages/extension-character-count": { "name": "@tiptap/extension-character-count", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "funding": { "type": "github", @@ -19465,10 +19465,10 @@ }, "packages/extension-code": { "name": "@tiptap/extension-code", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19480,11 +19480,11 @@ }, "packages/extension-code-block": { "name": "@tiptap/extension-code-block", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "funding": { "type": "github", @@ -19497,12 +19497,12 @@ }, "packages/extension-code-block-lowlight": { "name": "@tiptap/extension-code-block-lowlight", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/extension-code-block": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/extension-code-block": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "funding": { "type": "github", @@ -19516,11 +19516,11 @@ }, "packages/extension-collaboration": { "name": "@tiptap/extension-collaboration", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3", + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4", "y-prosemirror": "1.0.20" }, "funding": { @@ -19535,10 +19535,10 @@ }, "packages/extension-collaboration-cursor": { "name": "@tiptap/extension-collaboration-cursor", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3", + "@tiptap/core": "^2.0.4", "y-prosemirror": "1.0.20" }, "funding": { @@ -19552,11 +19552,11 @@ }, "packages/extension-color": { "name": "@tiptap/extension-color", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/extension-text-style": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/extension-text-style": "^2.0.4" }, "funding": { "type": "github", @@ -19569,10 +19569,10 @@ }, "packages/extension-document": { "name": "@tiptap/extension-document", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19584,11 +19584,11 @@ }, "packages/extension-dropcursor": { "name": "@tiptap/extension-dropcursor", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "funding": { "type": "github", @@ -19601,14 +19601,14 @@ }, "packages/extension-floating-menu": { "name": "@tiptap/extension-floating-menu", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "dependencies": { "tippy.js": "^6.3.7" }, "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "funding": { "type": "github", @@ -19621,11 +19621,11 @@ }, "packages/extension-focus": { "name": "@tiptap/extension-focus", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "funding": { "type": "github", @@ -19638,11 +19638,11 @@ }, "packages/extension-font-family": { "name": "@tiptap/extension-font-family", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/extension-text-style": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/extension-text-style": "^2.0.4" }, "funding": { "type": "github", @@ -19655,11 +19655,11 @@ }, "packages/extension-gapcursor": { "name": "@tiptap/extension-gapcursor", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "funding": { "type": "github", @@ -19672,10 +19672,10 @@ }, "packages/extension-hard-break": { "name": "@tiptap/extension-hard-break", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19687,10 +19687,10 @@ }, "packages/extension-heading": { "name": "@tiptap/extension-heading", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19702,10 +19702,10 @@ }, "packages/extension-highlight": { "name": "@tiptap/extension-highlight", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19717,11 +19717,11 @@ }, "packages/extension-history": { "name": "@tiptap/extension-history", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "funding": { "type": "github", @@ -19734,11 +19734,11 @@ }, "packages/extension-horizontal-rule": { "name": "@tiptap/extension-horizontal-rule", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "funding": { "type": "github", @@ -19751,10 +19751,10 @@ }, "packages/extension-image": { "name": "@tiptap/extension-image", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19766,10 +19766,10 @@ }, "packages/extension-italic": { "name": "@tiptap/extension-italic", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19781,14 +19781,14 @@ }, "packages/extension-link": { "name": "@tiptap/extension-link", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "dependencies": { "linkifyjs": "^4.1.0" }, "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "funding": { "type": "github", @@ -19801,10 +19801,10 @@ }, "packages/extension-list-item": { "name": "@tiptap/extension-list-item", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19816,12 +19816,12 @@ }, "packages/extension-mention": { "name": "@tiptap/extension-mention", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3", - "@tiptap/suggestion": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4", + "@tiptap/suggestion": "^2.0.4" }, "funding": { "type": "github", @@ -19835,10 +19835,10 @@ }, "packages/extension-ordered-list": { "name": "@tiptap/extension-ordered-list", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19850,10 +19850,10 @@ }, "packages/extension-paragraph": { "name": "@tiptap/extension-paragraph", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19865,11 +19865,11 @@ }, "packages/extension-placeholder": { "name": "@tiptap/extension-placeholder", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "funding": { "type": "github", @@ -19882,10 +19882,10 @@ }, "packages/extension-strike": { "name": "@tiptap/extension-strike", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19897,10 +19897,10 @@ }, "packages/extension-subscript": { "name": "@tiptap/extension-subscript", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19912,10 +19912,10 @@ }, "packages/extension-superscript": { "name": "@tiptap/extension-superscript", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19927,11 +19927,11 @@ }, "packages/extension-table": { "name": "@tiptap/extension-table", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "funding": { "type": "github", @@ -19944,10 +19944,10 @@ }, "packages/extension-table-cell": { "name": "@tiptap/extension-table-cell", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19959,10 +19959,10 @@ }, "packages/extension-table-header": { "name": "@tiptap/extension-table-header", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19974,10 +19974,10 @@ }, "packages/extension-table-row": { "name": "@tiptap/extension-table-row", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -19989,11 +19989,11 @@ }, "packages/extension-task-item": { "name": "@tiptap/extension-task-item", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "funding": { "type": "github", @@ -20006,10 +20006,10 @@ }, "packages/extension-task-list": { "name": "@tiptap/extension-task-list", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -20021,10 +20021,10 @@ }, "packages/extension-text": { "name": "@tiptap/extension-text", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -20036,10 +20036,10 @@ }, "packages/extension-text-align": { "name": "@tiptap/extension-text-align", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -20051,10 +20051,10 @@ }, "packages/extension-text-style": { "name": "@tiptap/extension-text-style", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -20066,10 +20066,10 @@ }, "packages/extension-typography": { "name": "@tiptap/extension-typography", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -20081,10 +20081,10 @@ }, "packages/extension-underline": { "name": "@tiptap/extension-underline", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -20096,10 +20096,10 @@ }, "packages/extension-youtube": { "name": "@tiptap/extension-youtube", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "funding": { "type": "github", @@ -20111,14 +20111,14 @@ }, "packages/html": { "name": "@tiptap/html", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "dependencies": { "zeed-dom": "^0.9.19" }, "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "funding": { "type": "github", @@ -20131,7 +20131,7 @@ }, "packages/pm": { "name": "@tiptap/pm", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "dependencies": { "prosemirror-changeset": "^2.2.0", @@ -20163,15 +20163,15 @@ }, "packages/react": { "name": "@tiptap/react", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "dependencies": { - "@tiptap/extension-bubble-menu": "^2.0.3", - "@tiptap/extension-floating-menu": "^2.0.3" + "@tiptap/extension-bubble-menu": "^2.0.4", + "@tiptap/extension-floating-menu": "^2.0.4" }, "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3", + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4", "@types/react": "^18.0.1", "@types/react-dom": "^18.0.0", "react": "^18.0.0", @@ -20190,28 +20190,28 @@ }, "packages/starter-kit": { "name": "@tiptap/starter-kit", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "dependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/extension-blockquote": "^2.0.3", - "@tiptap/extension-bold": "^2.0.3", - "@tiptap/extension-bullet-list": "^2.0.3", - "@tiptap/extension-code": "^2.0.3", - "@tiptap/extension-code-block": "^2.0.3", - "@tiptap/extension-document": "^2.0.3", - "@tiptap/extension-dropcursor": "^2.0.3", - "@tiptap/extension-gapcursor": "^2.0.3", - "@tiptap/extension-hard-break": "^2.0.3", - "@tiptap/extension-heading": "^2.0.3", - "@tiptap/extension-history": "^2.0.3", - "@tiptap/extension-horizontal-rule": "^2.0.3", - "@tiptap/extension-italic": "^2.0.3", - "@tiptap/extension-list-item": "^2.0.3", - "@tiptap/extension-ordered-list": "^2.0.3", - "@tiptap/extension-paragraph": "^2.0.3", - "@tiptap/extension-strike": "^2.0.3", - "@tiptap/extension-text": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/extension-blockquote": "^2.0.4", + "@tiptap/extension-bold": "^2.0.4", + "@tiptap/extension-bullet-list": "^2.0.4", + "@tiptap/extension-code": "^2.0.4", + "@tiptap/extension-code-block": "^2.0.4", + "@tiptap/extension-document": "^2.0.4", + "@tiptap/extension-dropcursor": "^2.0.4", + "@tiptap/extension-gapcursor": "^2.0.4", + "@tiptap/extension-hard-break": "^2.0.4", + "@tiptap/extension-heading": "^2.0.4", + "@tiptap/extension-history": "^2.0.4", + "@tiptap/extension-horizontal-rule": "^2.0.4", + "@tiptap/extension-italic": "^2.0.4", + "@tiptap/extension-list-item": "^2.0.4", + "@tiptap/extension-ordered-list": "^2.0.4", + "@tiptap/extension-paragraph": "^2.0.4", + "@tiptap/extension-strike": "^2.0.4", + "@tiptap/extension-text": "^2.0.4" }, "funding": { "type": "github", @@ -20220,11 +20220,11 @@ }, "packages/suggestion": { "name": "@tiptap/suggestion", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "funding": { "type": "github", @@ -20237,15 +20237,15 @@ }, "packages/vue-2": { "name": "@tiptap/vue-2", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "dependencies": { - "@tiptap/extension-bubble-menu": "^2.0.3", - "@tiptap/extension-floating-menu": "^2.0.3" + "@tiptap/extension-bubble-menu": "^2.0.4", + "@tiptap/extension-floating-menu": "^2.0.4" }, "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3", + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4", "vue": "^2.6.0" }, "funding": { @@ -20265,15 +20265,15 @@ }, "packages/vue-3": { "name": "@tiptap/vue-3", - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "dependencies": { - "@tiptap/extension-bubble-menu": "^2.0.3", - "@tiptap/extension-floating-menu": "^2.0.3" + "@tiptap/extension-bubble-menu": "^2.0.4", + "@tiptap/extension-floating-menu": "^2.0.4" }, "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3", + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4", "vue": "^3.0.0" }, "funding": { @@ -24730,309 +24730,309 @@ "@tiptap/core": { "version": "file:packages/core", "requires": { - "@tiptap/pm": "^2.0.3" + "@tiptap/pm": "^2.0.4" } }, "@tiptap/extension-blockquote": { "version": "file:packages/extension-blockquote", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-bold": { "version": "file:packages/extension-bold", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-bubble-menu": { "version": "file:packages/extension-bubble-menu", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3", + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4", "tippy.js": "^6.3.7" } }, "@tiptap/extension-bullet-list": { "version": "file:packages/extension-bullet-list", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-character-count": { "version": "file:packages/extension-character-count", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" } }, "@tiptap/extension-code": { "version": "file:packages/extension-code", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-code-block": { "version": "file:packages/extension-code-block", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" } }, "@tiptap/extension-code-block-lowlight": { "version": "file:packages/extension-code-block-lowlight", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/extension-code-block": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/extension-code-block": "^2.0.4", + "@tiptap/pm": "^2.0.4" } }, "@tiptap/extension-collaboration": { "version": "file:packages/extension-collaboration", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3", + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4", "y-prosemirror": "1.0.20" } }, "@tiptap/extension-collaboration-cursor": { "version": "file:packages/extension-collaboration-cursor", "requires": { - "@tiptap/core": "^2.0.3", + "@tiptap/core": "^2.0.4", "y-prosemirror": "1.0.20" } }, "@tiptap/extension-color": { "version": "file:packages/extension-color", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/extension-text-style": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/extension-text-style": "^2.0.4" } }, "@tiptap/extension-document": { "version": "file:packages/extension-document", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-dropcursor": { "version": "file:packages/extension-dropcursor", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" } }, "@tiptap/extension-floating-menu": { "version": "file:packages/extension-floating-menu", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3", + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4", "tippy.js": "^6.3.7" } }, "@tiptap/extension-focus": { "version": "file:packages/extension-focus", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" } }, "@tiptap/extension-font-family": { "version": "file:packages/extension-font-family", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/extension-text-style": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/extension-text-style": "^2.0.4" } }, "@tiptap/extension-gapcursor": { "version": "file:packages/extension-gapcursor", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" } }, "@tiptap/extension-hard-break": { "version": "file:packages/extension-hard-break", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-heading": { "version": "file:packages/extension-heading", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-highlight": { "version": "file:packages/extension-highlight", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-history": { "version": "file:packages/extension-history", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" } }, "@tiptap/extension-horizontal-rule": { "version": "file:packages/extension-horizontal-rule", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" } }, "@tiptap/extension-image": { "version": "file:packages/extension-image", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-italic": { "version": "file:packages/extension-italic", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-link": { "version": "file:packages/extension-link", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3", + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4", "linkifyjs": "^4.1.0" } }, "@tiptap/extension-list-item": { "version": "file:packages/extension-list-item", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-mention": { "version": "file:packages/extension-mention", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3", - "@tiptap/suggestion": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4", + "@tiptap/suggestion": "^2.0.4" } }, "@tiptap/extension-ordered-list": { "version": "file:packages/extension-ordered-list", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-paragraph": { "version": "file:packages/extension-paragraph", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-placeholder": { "version": "file:packages/extension-placeholder", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" } }, "@tiptap/extension-strike": { "version": "file:packages/extension-strike", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-subscript": { "version": "file:packages/extension-subscript", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-superscript": { "version": "file:packages/extension-superscript", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-table": { "version": "file:packages/extension-table", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" } }, "@tiptap/extension-table-cell": { "version": "file:packages/extension-table-cell", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-table-header": { "version": "file:packages/extension-table-header", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-table-row": { "version": "file:packages/extension-table-row", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-task-item": { "version": "file:packages/extension-task-item", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" } }, "@tiptap/extension-task-list": { "version": "file:packages/extension-task-list", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-text": { "version": "file:packages/extension-text", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-text-align": { "version": "file:packages/extension-text-align", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-text-style": { "version": "file:packages/extension-text-style", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-typography": { "version": "file:packages/extension-typography", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-underline": { "version": "file:packages/extension-underline", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/extension-youtube": { "version": "file:packages/extension-youtube", "requires": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" } }, "@tiptap/html": { "version": "file:packages/html", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3", + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4", "zeed-dom": "^0.9.19" } }, @@ -25062,10 +25062,10 @@ "@tiptap/react": { "version": "file:packages/react", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/extension-bubble-menu": "^2.0.3", - "@tiptap/extension-floating-menu": "^2.0.3", - "@tiptap/pm": "^2.0.3", + "@tiptap/core": "^2.0.4", + "@tiptap/extension-bubble-menu": "^2.0.4", + "@tiptap/extension-floating-menu": "^2.0.4", + "@tiptap/pm": "^2.0.4", "@types/react": "^18.0.1", "@types/react-dom": "^18.0.0", "react": "^18.0.0", @@ -25075,41 +25075,41 @@ "@tiptap/starter-kit": { "version": "file:packages/starter-kit", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/extension-blockquote": "^2.0.3", - "@tiptap/extension-bold": "^2.0.3", - "@tiptap/extension-bullet-list": "^2.0.3", - "@tiptap/extension-code": "^2.0.3", - "@tiptap/extension-code-block": "^2.0.3", - "@tiptap/extension-document": "^2.0.3", - "@tiptap/extension-dropcursor": "^2.0.3", - "@tiptap/extension-gapcursor": "^2.0.3", - "@tiptap/extension-hard-break": "^2.0.3", - "@tiptap/extension-heading": "^2.0.3", - "@tiptap/extension-history": "^2.0.3", - "@tiptap/extension-horizontal-rule": "^2.0.3", - "@tiptap/extension-italic": "^2.0.3", - "@tiptap/extension-list-item": "^2.0.3", - "@tiptap/extension-ordered-list": "^2.0.3", - "@tiptap/extension-paragraph": "^2.0.3", - "@tiptap/extension-strike": "^2.0.3", - "@tiptap/extension-text": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/extension-blockquote": "^2.0.4", + "@tiptap/extension-bold": "^2.0.4", + "@tiptap/extension-bullet-list": "^2.0.4", + "@tiptap/extension-code": "^2.0.4", + "@tiptap/extension-code-block": "^2.0.4", + "@tiptap/extension-document": "^2.0.4", + "@tiptap/extension-dropcursor": "^2.0.4", + "@tiptap/extension-gapcursor": "^2.0.4", + "@tiptap/extension-hard-break": "^2.0.4", + "@tiptap/extension-heading": "^2.0.4", + "@tiptap/extension-history": "^2.0.4", + "@tiptap/extension-horizontal-rule": "^2.0.4", + "@tiptap/extension-italic": "^2.0.4", + "@tiptap/extension-list-item": "^2.0.4", + "@tiptap/extension-ordered-list": "^2.0.4", + "@tiptap/extension-paragraph": "^2.0.4", + "@tiptap/extension-strike": "^2.0.4", + "@tiptap/extension-text": "^2.0.4" } }, "@tiptap/suggestion": { "version": "file:packages/suggestion", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" } }, "@tiptap/vue-2": { "version": "file:packages/vue-2", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/extension-bubble-menu": "^2.0.3", - "@tiptap/extension-floating-menu": "^2.0.3", - "@tiptap/pm": "^2.0.3", + "@tiptap/core": "^2.0.4", + "@tiptap/extension-bubble-menu": "^2.0.4", + "@tiptap/extension-floating-menu": "^2.0.4", + "@tiptap/pm": "^2.0.4", "vue": "^2.6.0" }, "dependencies": { @@ -25122,10 +25122,10 @@ "@tiptap/vue-3": { "version": "file:packages/vue-3", "requires": { - "@tiptap/core": "^2.0.3", - "@tiptap/extension-bubble-menu": "^2.0.3", - "@tiptap/extension-floating-menu": "^2.0.3", - "@tiptap/pm": "^2.0.3", + "@tiptap/core": "^2.0.4", + "@tiptap/extension-bubble-menu": "^2.0.4", + "@tiptap/extension-floating-menu": "^2.0.4", + "@tiptap/pm": "^2.0.4", "vue": "^3.0.0" } }, diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index eb28b860a..fa87fa200 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + + +### Features + +* **core:** add the ability to register CSS via extension ([7f2c619](https://github.com/ueberdosis/tiptap/commit/7f2c6194fddc0ebb889cf3622da768f4cba74baf)) + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/core diff --git a/packages/core/package.json b/packages/core/package.json index 0b88021b6..b6133e43e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/core", "description": "headless rich text editor", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -32,7 +32,7 @@ "dist" ], "devDependencies": { - "@tiptap/pm": "^2.0.3" + "@tiptap/pm": "^2.0.4" }, "peerDependencies": { "@tiptap/pm": "^2.0.0" diff --git a/packages/extension-blockquote/CHANGELOG.md b/packages/extension-blockquote/CHANGELOG.md index 2519aad26..6b681bc41 100644 --- a/packages/extension-blockquote/CHANGELOG.md +++ b/packages/extension-blockquote/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-blockquote + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-blockquote diff --git a/packages/extension-blockquote/package.json b/packages/extension-blockquote/package.json index 9aabbea08..26fe3b8ed 100644 --- a/packages/extension-blockquote/package.json +++ b/packages/extension-blockquote/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-blockquote", "description": "blockquote extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-bold/CHANGELOG.md b/packages/extension-bold/CHANGELOG.md index 76311ea3b..6fefcb4fa 100644 --- a/packages/extension-bold/CHANGELOG.md +++ b/packages/extension-bold/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-bold + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-bold diff --git a/packages/extension-bold/package.json b/packages/extension-bold/package.json index cd8dfaafc..2b89f0f5d 100644 --- a/packages/extension-bold/package.json +++ b/packages/extension-bold/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-bold", "description": "bold extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-bubble-menu/CHANGELOG.md b/packages/extension-bubble-menu/CHANGELOG.md index 150c3c2ab..2c5274da0 100644 --- a/packages/extension-bubble-menu/CHANGELOG.md +++ b/packages/extension-bubble-menu/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-bubble-menu + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) diff --git a/packages/extension-bubble-menu/package.json b/packages/extension-bubble-menu/package.json index 96f1aa763..668c8758b 100644 --- a/packages/extension-bubble-menu/package.json +++ b/packages/extension-bubble-menu/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-bubble-menu", "description": "bubble-menu extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -38,8 +38,8 @@ }, "sideEffects": false, "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/extension-bullet-list/CHANGELOG.md b/packages/extension-bullet-list/CHANGELOG.md index c49e23385..6ab336233 100644 --- a/packages/extension-bullet-list/CHANGELOG.md +++ b/packages/extension-bullet-list/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-bullet-list + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-bullet-list diff --git a/packages/extension-bullet-list/package.json b/packages/extension-bullet-list/package.json index 81bd69298..ec401b2cb 100644 --- a/packages/extension-bullet-list/package.json +++ b/packages/extension-bullet-list/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-bullet-list", "description": "bullet list extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-character-count/CHANGELOG.md b/packages/extension-character-count/CHANGELOG.md index 8a400ae40..d77eb44f4 100644 --- a/packages/extension-character-count/CHANGELOG.md +++ b/packages/extension-character-count/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-character-count + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-character-count diff --git a/packages/extension-character-count/package.json b/packages/extension-character-count/package.json index ffc34f410..0db1e9440 100644 --- a/packages/extension-character-count/package.json +++ b/packages/extension-character-count/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-character-count", "description": "font family extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,8 +29,8 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/extension-code-block-lowlight/CHANGELOG.md b/packages/extension-code-block-lowlight/CHANGELOG.md index 506b78472..282d6d4e7 100644 --- a/packages/extension-code-block-lowlight/CHANGELOG.md +++ b/packages/extension-code-block-lowlight/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-code-block-lowlight + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-code-block-lowlight diff --git a/packages/extension-code-block-lowlight/package.json b/packages/extension-code-block-lowlight/package.json index f3268f37c..fa5a7e4e3 100644 --- a/packages/extension-code-block-lowlight/package.json +++ b/packages/extension-code-block-lowlight/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-code-block-lowlight", "description": "code block extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,9 +29,9 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/extension-code-block": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/extension-code-block": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/extension-code-block/CHANGELOG.md b/packages/extension-code-block/CHANGELOG.md index 9aeda597e..da26abe61 100644 --- a/packages/extension-code-block/CHANGELOG.md +++ b/packages/extension-code-block/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-code-block + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-code-block diff --git a/packages/extension-code-block/package.json b/packages/extension-code-block/package.json index 2889a92b3..33c0b95cb 100644 --- a/packages/extension-code-block/package.json +++ b/packages/extension-code-block/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-code-block", "description": "code block extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,8 +29,8 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/extension-code/CHANGELOG.md b/packages/extension-code/CHANGELOG.md index 12e250e99..02edeac9b 100644 --- a/packages/extension-code/CHANGELOG.md +++ b/packages/extension-code/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-code + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-code diff --git a/packages/extension-code/package.json b/packages/extension-code/package.json index 6e1fc855d..34d9cd24f 100644 --- a/packages/extension-code/package.json +++ b/packages/extension-code/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-code", "description": "code extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-collaboration-cursor/CHANGELOG.md b/packages/extension-collaboration-cursor/CHANGELOG.md index 9a09260d6..3a49628b8 100644 --- a/packages/extension-collaboration-cursor/CHANGELOG.md +++ b/packages/extension-collaboration-cursor/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-collaboration-cursor + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-collaboration-cursor diff --git a/packages/extension-collaboration-cursor/package.json b/packages/extension-collaboration-cursor/package.json index 4d2f591b5..3ec33c41f 100644 --- a/packages/extension-collaboration-cursor/package.json +++ b/packages/extension-collaboration-cursor/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-collaboration-cursor", "description": "collaboration cursor extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", + "@tiptap/core": "^2.0.4", "y-prosemirror": "1.0.20" }, "peerDependencies": { diff --git a/packages/extension-collaboration/CHANGELOG.md b/packages/extension-collaboration/CHANGELOG.md index a838c1a5b..62203f1b6 100644 --- a/packages/extension-collaboration/CHANGELOG.md +++ b/packages/extension-collaboration/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-collaboration + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-collaboration diff --git a/packages/extension-collaboration/package.json b/packages/extension-collaboration/package.json index 68685d7ec..facc0787f 100644 --- a/packages/extension-collaboration/package.json +++ b/packages/extension-collaboration/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-collaboration", "description": "collaboration extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,8 +29,8 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3", + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4", "y-prosemirror": "1.0.20" }, "peerDependencies": { diff --git a/packages/extension-color/CHANGELOG.md b/packages/extension-color/CHANGELOG.md index e94a27c0c..42985bd73 100644 --- a/packages/extension-color/CHANGELOG.md +++ b/packages/extension-color/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-color + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-color diff --git a/packages/extension-color/package.json b/packages/extension-color/package.json index 56df8c886..780293024 100644 --- a/packages/extension-color/package.json +++ b/packages/extension-color/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-color", "description": "text color extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,8 +29,8 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/extension-text-style": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/extension-text-style": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/extension-document/CHANGELOG.md b/packages/extension-document/CHANGELOG.md index ffaa756e4..210d9e2a2 100644 --- a/packages/extension-document/CHANGELOG.md +++ b/packages/extension-document/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-document + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-document diff --git a/packages/extension-document/package.json b/packages/extension-document/package.json index 2901de3e7..e3a6ff120 100644 --- a/packages/extension-document/package.json +++ b/packages/extension-document/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-document", "description": "document extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-dropcursor/CHANGELOG.md b/packages/extension-dropcursor/CHANGELOG.md index 204571b02..0a5c67d49 100644 --- a/packages/extension-dropcursor/CHANGELOG.md +++ b/packages/extension-dropcursor/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-dropcursor + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-dropcursor diff --git a/packages/extension-dropcursor/package.json b/packages/extension-dropcursor/package.json index 149817dfc..1a5c27a96 100644 --- a/packages/extension-dropcursor/package.json +++ b/packages/extension-dropcursor/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-dropcursor", "description": "dropcursor extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,8 +29,8 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/extension-floating-menu/CHANGELOG.md b/packages/extension-floating-menu/CHANGELOG.md index 2cacafdfc..0d85a2d7b 100644 --- a/packages/extension-floating-menu/CHANGELOG.md +++ b/packages/extension-floating-menu/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-floating-menu + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-floating-menu diff --git a/packages/extension-floating-menu/package.json b/packages/extension-floating-menu/package.json index 5c9cee2a1..78347856e 100644 --- a/packages/extension-floating-menu/package.json +++ b/packages/extension-floating-menu/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-floating-menu", "description": "floating-menu extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,8 +29,8 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/extension-focus/CHANGELOG.md b/packages/extension-focus/CHANGELOG.md index 427b327ab..bad959319 100644 --- a/packages/extension-focus/CHANGELOG.md +++ b/packages/extension-focus/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-focus + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-focus diff --git a/packages/extension-focus/package.json b/packages/extension-focus/package.json index 836a94fdb..367fdb3e1 100644 --- a/packages/extension-focus/package.json +++ b/packages/extension-focus/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-focus", "description": "focus extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,8 +29,8 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/extension-font-family/CHANGELOG.md b/packages/extension-font-family/CHANGELOG.md index 897476209..17830b19d 100644 --- a/packages/extension-font-family/CHANGELOG.md +++ b/packages/extension-font-family/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-font-family + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-font-family diff --git a/packages/extension-font-family/package.json b/packages/extension-font-family/package.json index 624133306..dd61dff14 100644 --- a/packages/extension-font-family/package.json +++ b/packages/extension-font-family/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-font-family", "description": "font family extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,8 +29,8 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/extension-text-style": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/extension-text-style": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/extension-gapcursor/CHANGELOG.md b/packages/extension-gapcursor/CHANGELOG.md index 381d7b07c..761c67be7 100644 --- a/packages/extension-gapcursor/CHANGELOG.md +++ b/packages/extension-gapcursor/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-gapcursor + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-gapcursor diff --git a/packages/extension-gapcursor/package.json b/packages/extension-gapcursor/package.json index 54d36b1ca..b1e5133e7 100644 --- a/packages/extension-gapcursor/package.json +++ b/packages/extension-gapcursor/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-gapcursor", "description": "gapcursor extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,8 +29,8 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/extension-hard-break/CHANGELOG.md b/packages/extension-hard-break/CHANGELOG.md index e5c3d9f18..95bae8080 100644 --- a/packages/extension-hard-break/CHANGELOG.md +++ b/packages/extension-hard-break/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-hard-break + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-hard-break diff --git a/packages/extension-hard-break/package.json b/packages/extension-hard-break/package.json index 4fc55b8b9..af44b1496 100644 --- a/packages/extension-hard-break/package.json +++ b/packages/extension-hard-break/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-hard-break", "description": "hard break extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-heading/CHANGELOG.md b/packages/extension-heading/CHANGELOG.md index 678588558..6b3f01a07 100644 --- a/packages/extension-heading/CHANGELOG.md +++ b/packages/extension-heading/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-heading + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-heading diff --git a/packages/extension-heading/package.json b/packages/extension-heading/package.json index b1e16ba74..f34a75d0a 100644 --- a/packages/extension-heading/package.json +++ b/packages/extension-heading/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-heading", "description": "heading extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-highlight/CHANGELOG.md b/packages/extension-highlight/CHANGELOG.md index c9e2adc10..a9b55b394 100644 --- a/packages/extension-highlight/CHANGELOG.md +++ b/packages/extension-highlight/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-highlight + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-highlight diff --git a/packages/extension-highlight/package.json b/packages/extension-highlight/package.json index 4185945b5..a451728b4 100644 --- a/packages/extension-highlight/package.json +++ b/packages/extension-highlight/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-highlight", "description": "highlight extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-history/CHANGELOG.md b/packages/extension-history/CHANGELOG.md index 242b8d40c..e8e352091 100644 --- a/packages/extension-history/CHANGELOG.md +++ b/packages/extension-history/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-history + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-history diff --git a/packages/extension-history/package.json b/packages/extension-history/package.json index 9f6ae9fc3..f0a2c6bc0 100644 --- a/packages/extension-history/package.json +++ b/packages/extension-history/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-history", "description": "history extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,8 +29,8 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/extension-horizontal-rule/CHANGELOG.md b/packages/extension-horizontal-rule/CHANGELOG.md index 14719de6e..f74aec94b 100644 --- a/packages/extension-horizontal-rule/CHANGELOG.md +++ b/packages/extension-horizontal-rule/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-horizontal-rule + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-horizontal-rule diff --git a/packages/extension-horizontal-rule/package.json b/packages/extension-horizontal-rule/package.json index 14550c43b..fd1f6091b 100644 --- a/packages/extension-horizontal-rule/package.json +++ b/packages/extension-horizontal-rule/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-horizontal-rule", "description": "horizontal rule extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,8 +29,8 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/extension-image/CHANGELOG.md b/packages/extension-image/CHANGELOG.md index 148877db7..cc65e17a2 100644 --- a/packages/extension-image/CHANGELOG.md +++ b/packages/extension-image/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-image + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-image diff --git a/packages/extension-image/package.json b/packages/extension-image/package.json index 97224394a..d6058c030 100644 --- a/packages/extension-image/package.json +++ b/packages/extension-image/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-image", "description": "image extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-italic/CHANGELOG.md b/packages/extension-italic/CHANGELOG.md index 0125f84af..42bcebf08 100644 --- a/packages/extension-italic/CHANGELOG.md +++ b/packages/extension-italic/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-italic + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-italic diff --git a/packages/extension-italic/package.json b/packages/extension-italic/package.json index cde0091a3..9717969e0 100644 --- a/packages/extension-italic/package.json +++ b/packages/extension-italic/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-italic", "description": "italic extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-link/CHANGELOG.md b/packages/extension-link/CHANGELOG.md index dde24b21a..ed7b6f5d7 100644 --- a/packages/extension-link/CHANGELOG.md +++ b/packages/extension-link/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-link + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-link diff --git a/packages/extension-link/package.json b/packages/extension-link/package.json index 334f9b5a5..46f5379a0 100644 --- a/packages/extension-link/package.json +++ b/packages/extension-link/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-link", "description": "link extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -32,8 +32,8 @@ "linkifyjs": "^4.1.0" }, "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/extension-list-item/CHANGELOG.md b/packages/extension-list-item/CHANGELOG.md index e689ec3ea..105958281 100644 --- a/packages/extension-list-item/CHANGELOG.md +++ b/packages/extension-list-item/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-list-item + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-list-item diff --git a/packages/extension-list-item/package.json b/packages/extension-list-item/package.json index ad20d2383..b008300e8 100644 --- a/packages/extension-list-item/package.json +++ b/packages/extension-list-item/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-list-item", "description": "list item extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-mention/CHANGELOG.md b/packages/extension-mention/CHANGELOG.md index e91c4d5dc..11ec9377f 100644 --- a/packages/extension-mention/CHANGELOG.md +++ b/packages/extension-mention/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-mention + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-mention diff --git a/packages/extension-mention/package.json b/packages/extension-mention/package.json index ef8d9d34a..ce822bde9 100644 --- a/packages/extension-mention/package.json +++ b/packages/extension-mention/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-mention", "description": "mention extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,9 +29,9 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3", - "@tiptap/suggestion": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4", + "@tiptap/suggestion": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/extension-ordered-list/CHANGELOG.md b/packages/extension-ordered-list/CHANGELOG.md index e01460899..68c262eaa 100644 --- a/packages/extension-ordered-list/CHANGELOG.md +++ b/packages/extension-ordered-list/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-ordered-list + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-ordered-list diff --git a/packages/extension-ordered-list/package.json b/packages/extension-ordered-list/package.json index ebfa7b093..57b75d595 100644 --- a/packages/extension-ordered-list/package.json +++ b/packages/extension-ordered-list/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-ordered-list", "description": "ordered list extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-paragraph/CHANGELOG.md b/packages/extension-paragraph/CHANGELOG.md index 5d92834c5..5a85d3e92 100644 --- a/packages/extension-paragraph/CHANGELOG.md +++ b/packages/extension-paragraph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-paragraph + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-paragraph diff --git a/packages/extension-paragraph/package.json b/packages/extension-paragraph/package.json index d27f966c3..068a37e2c 100644 --- a/packages/extension-paragraph/package.json +++ b/packages/extension-paragraph/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-paragraph", "description": "paragraph extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-placeholder/CHANGELOG.md b/packages/extension-placeholder/CHANGELOG.md index 17b75ecc1..b8360a707 100644 --- a/packages/extension-placeholder/CHANGELOG.md +++ b/packages/extension-placeholder/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-placeholder + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-placeholder diff --git a/packages/extension-placeholder/package.json b/packages/extension-placeholder/package.json index 39fb9d42b..816e34df1 100644 --- a/packages/extension-placeholder/package.json +++ b/packages/extension-placeholder/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-placeholder", "description": "placeholder extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,8 +29,8 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/extension-strike/CHANGELOG.md b/packages/extension-strike/CHANGELOG.md index 44a64724c..1e87a33d3 100644 --- a/packages/extension-strike/CHANGELOG.md +++ b/packages/extension-strike/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-strike + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-strike diff --git a/packages/extension-strike/package.json b/packages/extension-strike/package.json index 126dc53a9..ee8bb34ef 100644 --- a/packages/extension-strike/package.json +++ b/packages/extension-strike/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-strike", "description": "strike extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-subscript/CHANGELOG.md b/packages/extension-subscript/CHANGELOG.md index 9f3714e14..8baaa8b97 100644 --- a/packages/extension-subscript/CHANGELOG.md +++ b/packages/extension-subscript/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-subscript + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-subscript diff --git a/packages/extension-subscript/package.json b/packages/extension-subscript/package.json index c98dcb7de..41db819cd 100644 --- a/packages/extension-subscript/package.json +++ b/packages/extension-subscript/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-subscript", "description": "subscript extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-superscript/CHANGELOG.md b/packages/extension-superscript/CHANGELOG.md index b767e4c34..a15606d98 100644 --- a/packages/extension-superscript/CHANGELOG.md +++ b/packages/extension-superscript/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-superscript + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-superscript diff --git a/packages/extension-superscript/package.json b/packages/extension-superscript/package.json index e4a5db298..49a423bb7 100644 --- a/packages/extension-superscript/package.json +++ b/packages/extension-superscript/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-superscript", "description": "superscript extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-table-cell/CHANGELOG.md b/packages/extension-table-cell/CHANGELOG.md index 48bcf5806..5b1af65e7 100644 --- a/packages/extension-table-cell/CHANGELOG.md +++ b/packages/extension-table-cell/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-table-cell + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-table-cell diff --git a/packages/extension-table-cell/package.json b/packages/extension-table-cell/package.json index b53aa4e1b..25f650bca 100644 --- a/packages/extension-table-cell/package.json +++ b/packages/extension-table-cell/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-table-cell", "description": "table cell extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-table-header/CHANGELOG.md b/packages/extension-table-header/CHANGELOG.md index cc56b3641..272afb4f0 100644 --- a/packages/extension-table-header/CHANGELOG.md +++ b/packages/extension-table-header/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-table-header + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-table-header diff --git a/packages/extension-table-header/package.json b/packages/extension-table-header/package.json index 96f1cb996..b1b274a98 100644 --- a/packages/extension-table-header/package.json +++ b/packages/extension-table-header/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-table-header", "description": "table cell extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-table-row/CHANGELOG.md b/packages/extension-table-row/CHANGELOG.md index 5697cb192..6dec74f56 100644 --- a/packages/extension-table-row/CHANGELOG.md +++ b/packages/extension-table-row/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-table-row + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-table-row diff --git a/packages/extension-table-row/package.json b/packages/extension-table-row/package.json index 6c68c725f..20b4512cb 100644 --- a/packages/extension-table-row/package.json +++ b/packages/extension-table-row/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-table-row", "description": "table row extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-table/CHANGELOG.md b/packages/extension-table/CHANGELOG.md index bd9007e16..d00ba30a7 100644 --- a/packages/extension-table/CHANGELOG.md +++ b/packages/extension-table/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-table + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-table diff --git a/packages/extension-table/package.json b/packages/extension-table/package.json index 8f6fb0056..734a5716d 100644 --- a/packages/extension-table/package.json +++ b/packages/extension-table/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-table", "description": "table extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,8 +29,8 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/extension-task-item/CHANGELOG.md b/packages/extension-task-item/CHANGELOG.md index 62680bc21..ae0dcd582 100644 --- a/packages/extension-task-item/CHANGELOG.md +++ b/packages/extension-task-item/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-task-item + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-task-item diff --git a/packages/extension-task-item/package.json b/packages/extension-task-item/package.json index 8c834b7fc..52a0114ad 100644 --- a/packages/extension-task-item/package.json +++ b/packages/extension-task-item/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-task-item", "description": "task item extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,8 +29,8 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/extension-task-list/CHANGELOG.md b/packages/extension-task-list/CHANGELOG.md index 95901fbec..f66eb9277 100644 --- a/packages/extension-task-list/CHANGELOG.md +++ b/packages/extension-task-list/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-task-list + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-task-list diff --git a/packages/extension-task-list/package.json b/packages/extension-task-list/package.json index fa7601f33..9e1fb1d28 100644 --- a/packages/extension-task-list/package.json +++ b/packages/extension-task-list/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-task-list", "description": "task list extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-text-align/CHANGELOG.md b/packages/extension-text-align/CHANGELOG.md index c25b17db0..24a4a8918 100644 --- a/packages/extension-text-align/CHANGELOG.md +++ b/packages/extension-text-align/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-text-align + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-text-align diff --git a/packages/extension-text-align/package.json b/packages/extension-text-align/package.json index b984700df..a4e8a71ad 100644 --- a/packages/extension-text-align/package.json +++ b/packages/extension-text-align/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-text-align", "description": "text align extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-text-style/CHANGELOG.md b/packages/extension-text-style/CHANGELOG.md index 03c7e2d1b..4a474ba38 100644 --- a/packages/extension-text-style/CHANGELOG.md +++ b/packages/extension-text-style/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-text-style + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-text-style diff --git a/packages/extension-text-style/package.json b/packages/extension-text-style/package.json index 655f8871b..956606df4 100644 --- a/packages/extension-text-style/package.json +++ b/packages/extension-text-style/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-text-style", "description": "text style extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-text/CHANGELOG.md b/packages/extension-text/CHANGELOG.md index 3bd1f2d24..59e0fc6d3 100644 --- a/packages/extension-text/CHANGELOG.md +++ b/packages/extension-text/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-text + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-text diff --git a/packages/extension-text/package.json b/packages/extension-text/package.json index 0750fc1fa..a4bdfce5a 100644 --- a/packages/extension-text/package.json +++ b/packages/extension-text/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-text", "description": "text extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-typography/CHANGELOG.md b/packages/extension-typography/CHANGELOG.md index dfd2e52de..ec8ffc2bc 100644 --- a/packages/extension-typography/CHANGELOG.md +++ b/packages/extension-typography/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-typography + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-typography diff --git a/packages/extension-typography/package.json b/packages/extension-typography/package.json index 09454ed5b..370d35b4c 100644 --- a/packages/extension-typography/package.json +++ b/packages/extension-typography/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-typography", "description": "typography extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-underline/CHANGELOG.md b/packages/extension-underline/CHANGELOG.md index de31859b2..a25555059 100644 --- a/packages/extension-underline/CHANGELOG.md +++ b/packages/extension-underline/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-underline + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-underline diff --git a/packages/extension-underline/package.json b/packages/extension-underline/package.json index 3415bee9b..851da4bc1 100644 --- a/packages/extension-underline/package.json +++ b/packages/extension-underline/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-underline", "description": "underline extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/extension-youtube/CHANGELOG.md b/packages/extension-youtube/CHANGELOG.md index 6dbf92dfb..d1caab811 100644 --- a/packages/extension-youtube/CHANGELOG.md +++ b/packages/extension-youtube/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/extension-youtube + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/extension-youtube diff --git a/packages/extension-youtube/package.json b/packages/extension-youtube/package.json index 2dd55cd4e..a5428eef3 100644 --- a/packages/extension-youtube/package.json +++ b/packages/extension-youtube/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-youtube", "description": "a youtube embed extension for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,7 +29,7 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3" + "@tiptap/core": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0" diff --git a/packages/html/CHANGELOG.md b/packages/html/CHANGELOG.md index 6a9456056..0a9544339 100644 --- a/packages/html/CHANGELOG.md +++ b/packages/html/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/html + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/html diff --git a/packages/html/package.json b/packages/html/package.json index e8ccad68a..c3799afea 100644 --- a/packages/html/package.json +++ b/packages/html/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/html", "description": "utility package to render tiptap JSON as HTML", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,8 +29,8 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/pm/CHANGELOG.md b/packages/pm/CHANGELOG.md index d47fc5fbf..72cb10d71 100644 --- a/packages/pm/CHANGELOG.md +++ b/packages/pm/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/pm + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/pm diff --git a/packages/pm/package.json b/packages/pm/package.json index 16a9ee202..38d3c5d45 100644 --- a/packages/pm/package.json +++ b/packages/pm/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/pm", "description": "prosemirror wrapper package for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index 00f6f365f..0df8e022e 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/react + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/react diff --git a/packages/react/package.json b/packages/react/package.json index fac99dc72..7c2337cb7 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/react", "description": "React components for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,12 +29,12 @@ "dist" ], "dependencies": { - "@tiptap/extension-bubble-menu": "^2.0.3", - "@tiptap/extension-floating-menu": "^2.0.3" + "@tiptap/extension-bubble-menu": "^2.0.4", + "@tiptap/extension-floating-menu": "^2.0.4" }, "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3", + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4", "@types/react": "^18.0.1", "@types/react-dom": "^18.0.0", "react": "^18.0.0", diff --git a/packages/starter-kit/CHANGELOG.md b/packages/starter-kit/CHANGELOG.md index de7593ec0..9ff748699 100644 --- a/packages/starter-kit/CHANGELOG.md +++ b/packages/starter-kit/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/starter-kit + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/starter-kit diff --git a/packages/starter-kit/package.json b/packages/starter-kit/package.json index 7b4f03413..678b66eed 100644 --- a/packages/starter-kit/package.json +++ b/packages/starter-kit/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/starter-kit", "description": "starter kit for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,25 +29,25 @@ "dist" ], "dependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/extension-blockquote": "^2.0.3", - "@tiptap/extension-bold": "^2.0.3", - "@tiptap/extension-bullet-list": "^2.0.3", - "@tiptap/extension-code": "^2.0.3", - "@tiptap/extension-code-block": "^2.0.3", - "@tiptap/extension-document": "^2.0.3", - "@tiptap/extension-dropcursor": "^2.0.3", - "@tiptap/extension-gapcursor": "^2.0.3", - "@tiptap/extension-hard-break": "^2.0.3", - "@tiptap/extension-heading": "^2.0.3", - "@tiptap/extension-history": "^2.0.3", - "@tiptap/extension-horizontal-rule": "^2.0.3", - "@tiptap/extension-italic": "^2.0.3", - "@tiptap/extension-list-item": "^2.0.3", - "@tiptap/extension-ordered-list": "^2.0.3", - "@tiptap/extension-paragraph": "^2.0.3", - "@tiptap/extension-strike": "^2.0.3", - "@tiptap/extension-text": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/extension-blockquote": "^2.0.4", + "@tiptap/extension-bold": "^2.0.4", + "@tiptap/extension-bullet-list": "^2.0.4", + "@tiptap/extension-code": "^2.0.4", + "@tiptap/extension-code-block": "^2.0.4", + "@tiptap/extension-document": "^2.0.4", + "@tiptap/extension-dropcursor": "^2.0.4", + "@tiptap/extension-gapcursor": "^2.0.4", + "@tiptap/extension-hard-break": "^2.0.4", + "@tiptap/extension-heading": "^2.0.4", + "@tiptap/extension-history": "^2.0.4", + "@tiptap/extension-horizontal-rule": "^2.0.4", + "@tiptap/extension-italic": "^2.0.4", + "@tiptap/extension-list-item": "^2.0.4", + "@tiptap/extension-ordered-list": "^2.0.4", + "@tiptap/extension-paragraph": "^2.0.4", + "@tiptap/extension-strike": "^2.0.4", + "@tiptap/extension-text": "^2.0.4" }, "repository": { "type": "git", diff --git a/packages/suggestion/CHANGELOG.md b/packages/suggestion/CHANGELOG.md index 2d74f3f79..335b0f648 100644 --- a/packages/suggestion/CHANGELOG.md +++ b/packages/suggestion/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/suggestion + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/suggestion diff --git a/packages/suggestion/package.json b/packages/suggestion/package.json index 67f34de4c..5b09ed6b8 100644 --- a/packages/suggestion/package.json +++ b/packages/suggestion/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/suggestion", "description": "suggestion plugin for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,8 +29,8 @@ "dist" ], "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3" + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4" }, "peerDependencies": { "@tiptap/core": "^2.0.0", diff --git a/packages/vue-2/CHANGELOG.md b/packages/vue-2/CHANGELOG.md index 82e138b57..0ba60e52c 100644 --- a/packages/vue-2/CHANGELOG.md +++ b/packages/vue-2/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/vue-2 + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/vue-2 diff --git a/packages/vue-2/package.json b/packages/vue-2/package.json index 4152829df..147e432c6 100644 --- a/packages/vue-2/package.json +++ b/packages/vue-2/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/vue-2", "description": "Vue components for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,12 +29,12 @@ "dist" ], "dependencies": { - "@tiptap/extension-bubble-menu": "^2.0.3", - "@tiptap/extension-floating-menu": "^2.0.3" + "@tiptap/extension-bubble-menu": "^2.0.4", + "@tiptap/extension-floating-menu": "^2.0.4" }, "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3", + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4", "vue": "^2.6.0" }, "peerDependencies": { diff --git a/packages/vue-3/CHANGELOG.md b/packages/vue-3/CHANGELOG.md index fa70419e0..36adb635c 100644 --- a/packages/vue-3/CHANGELOG.md +++ b/packages/vue-3/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/ueberdosis/tiptap/compare/v2.0.3...v2.0.4) (2023-07-17) + +**Note:** Version bump only for package @tiptap/vue-3 + + + + + ## [2.0.3](https://github.com/ueberdosis/tiptap/compare/v2.0.2...v2.0.3) (2023-04-13) **Note:** Version bump only for package @tiptap/vue-3 diff --git a/packages/vue-3/package.json b/packages/vue-3/package.json index 9cb0196f1..63287e6f7 100644 --- a/packages/vue-3/package.json +++ b/packages/vue-3/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/vue-3", "description": "Vue components for tiptap", - "version": "2.0.3", + "version": "2.0.4", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -29,12 +29,12 @@ "dist" ], "dependencies": { - "@tiptap/extension-bubble-menu": "^2.0.3", - "@tiptap/extension-floating-menu": "^2.0.3" + "@tiptap/extension-bubble-menu": "^2.0.4", + "@tiptap/extension-floating-menu": "^2.0.4" }, "devDependencies": { - "@tiptap/core": "^2.0.3", - "@tiptap/pm": "^2.0.3", + "@tiptap/core": "^2.0.4", + "@tiptap/pm": "^2.0.4", "vue": "^3.0.0" }, "peerDependencies": {