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/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..e08b17b8 100644
--- a/demos/vite.config.ts
+++ b/demos/vite.config.ts
@@ -1,4 +1,3 @@
-// @ts-nocheck
import {
resolve,
basename,
@@ -26,12 +25,15 @@ export default defineConfig({
'prosemirror-history',
'prosemirror-dropcursor',
'prosemirror-gapcursor',
+ 'prosemirror-tables',
'tippy.js',
'yjs',
'y-prosemirror',
'y-websocket',
'y-indexeddb',
'y-webrtc',
+ 'lowlight',
+ 'lowlight/lib/core',
],
},
@@ -50,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)
@@ -100,7 +102,7 @@ export default defineConfig({
{
name: 'source',
resolveId(id, importer) {
- if (id === '@source') {
+ if (id === '@source' && importer) {
return `source!${dirname(importer)}!!${uuid()}`
}
},
@@ -123,6 +125,31 @@ export default defineConfig({
content: fs.readFileSync(`${path}/${name}`, 'utf8'),
}
})
+ .sort((a, b) => {
+ const depthA = a.name.split('/').length
+ const depthB = b.name.split('/').length
+
+ if (depthA > depthB) {
+ return 1
+ }
+
+ if (depthA < depthB) {
+ return -1
+ }
+
+ 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)}`
}
@@ -135,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'
}
@@ -155,11 +182,4 @@ export default defineConfig({
}),
],
},
-
- // server: {
- // fs: {
- // // Allow serving files from one level up to the project root
- // allow: ['..']
- // }
- // }
})
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/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()
}
})
}
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",
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"