From 3a0693869d10793620e0073b0782dd34ac5aea89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Thu, 26 Aug 2021 22:32:32 +0200 Subject: [PATCH 1/6] fix: fix focus on iOS, fix #1806 --- packages/core/src/commands/focus.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/core/src/commands/focus.ts b/packages/core/src/commands/focus.ts index a5e78aea..00b078c5 100644 --- a/packages/core/src/commands/focus.ts +++ b/packages/core/src/commands/focus.ts @@ -2,6 +2,7 @@ import { EditorState, Selection, TextSelection } from 'prosemirror-state' import { RawCommands, FocusPosition } from '../types' import minMax from '../utilities/minMax' import isTextSelection from '../helpers/isTextSelection' +import isiOS from '../utilities/isiOS' function resolveSelection(state: EditorState, position: FocusPosition = null) { if (!position) { @@ -48,11 +49,18 @@ export const focus: RawCommands['focus'] = (position = null) => ({ dispatch, }) => { const delayedFocus = () => { + // focus within `requestAnimationFrame` breaks focus on iOS + // so we have to call this + if (isiOS()) { + (view.dom as HTMLElement).focus() + } + // For React we have to focus asynchronously. Otherwise wild things happen. // see: https://github.com/ueberdosis/tiptap/issues/1520 requestAnimationFrame(() => { if (!editor.isDestroyed) { view.focus() + editor.commands.scrollIntoView() } }) } From 6e71c085958d2ddc2d36786c2466bf7b752b8d1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Thu, 26 Aug 2021 22:33:34 +0200 Subject: [PATCH 2/6] Publish - @tiptap/core@2.0.0-beta.102 - @tiptap/html@2.0.0-beta.101 - @tiptap/starter-kit@2.0.0-beta.101 --- packages/core/CHANGELOG.md | 11 +++++++++++ packages/core/package.json | 2 +- packages/html/CHANGELOG.md | 8 ++++++++ packages/html/package.json | 4 ++-- packages/starter-kit/CHANGELOG.md | 8 ++++++++ packages/starter-kit/package.json | 4 ++-- 6 files changed, 32 insertions(+), 5 deletions(-) diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 2836c972..2a81d6a9 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.0-beta.102](https://github.com/ueberdosis/tiptap/compare/@tiptap/core@2.0.0-beta.101...@tiptap/core@2.0.0-beta.102) (2021-08-26) + + +### Bug Fixes + +* fix focus on iOS, fix [#1806](https://github.com/ueberdosis/tiptap/issues/1806) ([3a06938](https://github.com/ueberdosis/tiptap/commit/3a0693869d10793620e0073b0782dd34ac5aea89)) + + + + + # [2.0.0-beta.101](https://github.com/ueberdosis/tiptap/compare/@tiptap/core@2.0.0-beta.100...@tiptap/core@2.0.0-beta.101) (2021-08-24) diff --git a/packages/core/package.json b/packages/core/package.json index c63753d5..f719a033 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.0-beta.101", + "version": "2.0.0-beta.102", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", diff --git a/packages/html/CHANGELOG.md b/packages/html/CHANGELOG.md index fafbf07e..81b9a65d 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.0-beta.101](https://github.com/ueberdosis/tiptap/compare/@tiptap/html@2.0.0-beta.100...@tiptap/html@2.0.0-beta.101) (2021-08-26) + +**Note:** Version bump only for package @tiptap/html + + + + + # [2.0.0-beta.100](https://github.com/ueberdosis/tiptap/compare/@tiptap/html@2.0.0-beta.99...@tiptap/html@2.0.0-beta.100) (2021-08-24) **Note:** Version bump only for package @tiptap/html diff --git a/packages/html/package.json b/packages/html/package.json index d47bb02a..d4956347 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.0-beta.100", + "version": "2.0.0-beta.101", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -21,7 +21,7 @@ "dist" ], "dependencies": { - "@tiptap/core": "^2.0.0-beta.101", + "@tiptap/core": "^2.0.0-beta.102", "hostic-dom": "^0.8.7", "prosemirror-model": "^1.14.3" }, diff --git a/packages/starter-kit/CHANGELOG.md b/packages/starter-kit/CHANGELOG.md index 39f9973e..54d2f956 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.0-beta.101](https://github.com/ueberdosis/tiptap/compare/@tiptap/starter-kit@2.0.0-beta.100...@tiptap/starter-kit@2.0.0-beta.101) (2021-08-26) + +**Note:** Version bump only for package @tiptap/starter-kit + + + + + # [2.0.0-beta.100](https://github.com/ueberdosis/tiptap/compare/@tiptap/starter-kit@2.0.0-beta.99...@tiptap/starter-kit@2.0.0-beta.100) (2021-08-26) **Note:** Version bump only for package @tiptap/starter-kit diff --git a/packages/starter-kit/package.json b/packages/starter-kit/package.json index a0171794..edeb839f 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.0-beta.100", + "version": "2.0.0-beta.101", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -21,7 +21,7 @@ "dist" ], "dependencies": { - "@tiptap/core": "^2.0.0-beta.101", + "@tiptap/core": "^2.0.0-beta.102", "@tiptap/extension-blockquote": "^2.0.0-beta.15", "@tiptap/extension-bold": "^2.0.0-beta.15", "@tiptap/extension-bullet-list": "^2.0.0-beta.15", From 4492d069bb3ffccbf3463f81e0189c83d1045419 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Thu, 26 Aug 2021 23:03:31 +0200 Subject: [PATCH 3/6] improve demo styling --- demos/preview/Demo.vue | 6 +++--- demos/vite.config.ts | 13 ++++++++++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/demos/preview/Demo.vue b/demos/preview/Demo.vue index 3b2c987e..0aa42477 100644 --- a/demos/preview/Demo.vue +++ b/demos/preview/Demo.vue @@ -38,7 +38,7 @@
diff --git a/demos/vite.config.ts b/demos/vite.config.ts index bbfcc7d2..b27085eb 100644 --- a/demos/vite.config.ts +++ b/demos/vite.config.ts @@ -124,7 +124,18 @@ export default defineConfig({ } }) - return `export default ${JSON.stringify(files)}` + const sortedFiles = files.sort(item => { + if ( + item.name.split('/').length === 0 + && basename(item.name).startsWith('index.') + ) { + return -1 + } + + return 1 + }) + + return `export default ${JSON.stringify(sortedFiles)}` } }, }, From 8670891ae8495fed5ee0e2ca9c2a3272305649ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Thu, 26 Aug 2021 23:12:20 +0200 Subject: [PATCH 4/6] add missing dep --- demos/vite.config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/demos/vite.config.ts b/demos/vite.config.ts index b27085eb..01cc7b35 100644 --- a/demos/vite.config.ts +++ b/demos/vite.config.ts @@ -26,6 +26,7 @@ export default defineConfig({ 'prosemirror-history', 'prosemirror-dropcursor', 'prosemirror-gapcursor', + 'prosemirror-tables', 'tippy.js', 'yjs', 'y-prosemirror', From afd021fffa674199a21f5b7c98103534f03080e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Thu, 26 Aug 2021 23:28:52 +0200 Subject: [PATCH 5/6] fix a bug --- demos/vite.config.ts | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/demos/vite.config.ts b/demos/vite.config.ts index 01cc7b35..40ade7ad 100644 --- a/demos/vite.config.ts +++ b/demos/vite.config.ts @@ -33,6 +33,8 @@ export default defineConfig({ 'y-websocket', 'y-indexeddb', 'y-webrtc', + 'lowlight', + 'lowlight/lib/core', ], }, @@ -124,19 +126,33 @@ export default defineConfig({ content: fs.readFileSync(`${path}/${name}`, 'utf8'), } }) + .sort((a, b) => { + const depthA = a.name.split('/').length + const depthB = b.name.split('/').length - const sortedFiles = files.sort(item => { - if ( - item.name.split('/').length === 0 - && basename(item.name).startsWith('index.') - ) { - return -1 - } + if (depthA > depthB) { + return 1 + } - return 1 - }) + if (depthA < depthB) { + return -1 + } - return `export default ${JSON.stringify(sortedFiles)}` + const aIsIndex = basename(a.name).includes('index.') + const bIsIndex = basename(b.name).includes('index.') + + if (aIsIndex) { + return -1 + } + + if (bIsIndex) { + return 1 + } + + return 0 + }) + + return `export default ${JSON.stringify(files)}` } }, }, From e0d7b01b1cfc76f7e5fb349a4a14e810346120d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Thu, 26 Aug 2021 23:40:31 +0200 Subject: [PATCH 6/6] docs: improve types --- demos/package.json | 1 + demos/vite.config.ts | 14 +++----------- yarn.lock | 5 +++++ 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/demos/package.json b/demos/package.json index 17a197f4..534cb6a3 100644 --- a/demos/package.json +++ b/demos/package.json @@ -20,6 +20,7 @@ "@types/prosemirror-state": "^1.2.7", "@types/prosemirror-transform": "^1.1.4", "@types/prosemirror-view": "^1.17.2", + "@types/uuid": "^8.3.1", "@vitejs/plugin-react-refresh": "^1.3.6", "autoprefixer": "^10.3.1", "iframe-resizer": "^4.3.2", diff --git a/demos/vite.config.ts b/demos/vite.config.ts index 40ade7ad..e08b17b8 100644 --- a/demos/vite.config.ts +++ b/demos/vite.config.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { resolve, basename, @@ -53,7 +52,7 @@ export default defineConfig({ { name: 'raw', resolveId(id, importer) { - if (id.startsWith('raw!')) { + if (id.startsWith('raw!') && importer) { const [, relativePath] = id.split('raw!') const fullPath = join(dirname(importer), relativePath) @@ -103,7 +102,7 @@ export default defineConfig({ { name: 'source', resolveId(id, importer) { - if (id === '@source') { + if (id === '@source' && importer) { return `source!${dirname(importer)}!!${uuid()}` } }, @@ -163,7 +162,7 @@ export default defineConfig({ configureServer(viteDevServer) { return () => { viteDevServer.middlewares.use(async (req, res, next) => { - if (req.originalUrl.startsWith('/preview')) { + if (req?.originalUrl?.startsWith('/preview')) { req.url = '/preview/index.html' } @@ -183,11 +182,4 @@ export default defineConfig({ }), ], }, - - // server: { - // fs: { - // // Allow serving files from one level up to the project root - // allow: ['..'] - // } - // } }) diff --git a/yarn.lock b/yarn.lock index a0dcfe52..cd548d88 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2465,6 +2465,11 @@ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== +"@types/uuid@^8.3.1": + version "8.3.1" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.1.tgz#1a32969cf8f0364b3d8c8af9cc3555b7805df14f" + integrity sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg== + "@types/vfile-message@*": version "2.0.0" resolved "https://registry.yarnpkg.com/@types/vfile-message/-/vfile-message-2.0.0.tgz#690e46af0fdfc1f9faae00cd049cc888957927d5"